# concierge-health-ha-package.yaml.draft # ---------------------------------------------------------------------------- # Paquet Home Assistant pour la SANTÉ du concierge véhicule (alerte d'échec d'auth). # À intégrer par le PROPRIÉTAIRE (la config HA lui appartient) : copier le contenu dans # un package (config/packages/) ou dans la config existante, vérifier, puis recharger # les helpers concernés (ou redémarrer HA). # # Ces entités sont best-effort côté concierge : s'il manque, il n'échoue pas — mais tant # qu'elles n'existent pas, l'affichage et le battement de cœur ne s'affichent pas dans HA. # # ⚠️ max: 255 est OBLIGATOIRE sur input_text : le défaut est 100 et un libellé plus long # est rejeté EN SILENCE (même piège que le helper airtria_vehicle_label). # ---------------------------------------------------------------------------- input_boolean: concierge_monitor_enabled: name: Concierge — alertes activées icon: mdi:bell-ring input_text: concierge_status: name: Concierge — état max: 255 icon: mdi:car-electric input_datetime: concierge_last_run: name: Concierge — dernier passage has_date: true has_time: true icon: mdi:heart-pulse # --- Optionnel mais recommandé : capteur de FRAÎCHEUR du battement de cœur -------------- # Le battement de cœur ne sert que si quelque chose le SURVEILLE. Ce capteur passe à # "problem" si le concierge n'a pas écrit depuis > 20 min (le cron tourne toutes les # quelques minutes) — il rend visible un concierge mort AVANT même d'avoir pu écrire un # statut (conteneur tombé, cron arrêté). C'est le « HA crie quand le service se tait ». template: - binary_sensor: - name: Concierge figé unique_id: concierge_heartbeat_stale device_class: problem state: > {% set t = states('input_datetime.concierge_last_run') %} {% if t in ['unknown', 'unavailable', ''] %} off {% else %} {{ (as_timestamp(now()) - as_timestamp(t)) > 1200 }} {% endif %} # --- Optionnel : notifier quand figé (adapter le service notify.* et l'entity_id) ------ # automation: # - alias: Concierge figé -> notifier # trigger: # - platform: state # entity_id: binary_sensor.concierge_fige # vérifier l'entity_id réel généré # to: "on" # for: { minutes: 5 } # condition: # - condition: state # entity_id: input_boolean.concierge_monitor_enabled # state: "on" # action: # - service: notify.whatsapp # <- adapter à ton service # data: # message: "⚠️ Concierge véhicule figé : plus de passage depuis > 20 min."