[Projet] Alarm Card : j'ai besoin de vos entités d'alarme

Salut à tous, et @Freeman59 en particulier,

Suite à ta demande sur le fil de la Gate Card, je regarde s'il y a matière à faire une carte alarme dans le même esprit : tuile compacte, icône colorée selon l'état et alignée avec les autres cartes, et surtout la date du dernier armement et du dernier désarmement.

Le souci, c'est que je n'ai pas de centrale relié a HA chez moi. J'ai bien 4 entités alarm_control_panel (via Arlo), de quoi prototyper, mais elles sont sans code PIN et sans les états intermédiaires d'une vraie alarme. Donc avant d'écrire quoi que ce soit, j'aimerais voir de vraies configs.

Si vous avez une alarme dans HA, ça m'aiderait beaucoup d'avoir :

  1. La centrale et l'intégration utilisée (Alarmo, Somfy, Ajax, Verisure, Diagral...).
  2. Le contenu d'Outils de développement / États pour votre entité d'alarme : l'état et le bloc d'attributs complet (pensez à masquer ce qui est perso). Si votre intégration sort des états exotiques, ça m'intéresse particulièrement : chez moi Arlo renvoie un Schedule qui n'existe pas dans le standard HA, et il faudra bien le gérer.
  3. Faut-il un code pour armer et désarmer ? Et voulez-vous pouvoir le taper sur la carte, ou surtout pas ?
  4. Les modes que vous utilisez réellement (absent, présent, nuit, partiel).
  5. Vos entités annexes : batterie, autoprotection, sirène, capteur de dernier déclenchement.
  6. Votre rétention recorder (purge_keep_days), 10 jours par défaut.
  7. Si vous utilisez déjà une carte alarme, ce qui vous manque dedans.

Le point 6 n'est pas là par hasard. La date du dernier armement ne peut pas venir de last_changed : cet attribut est réécrit à chaque redémarrage de Home Assistant (chez moi, un simple redémarrage l'a remis à zéro sur 1813 entités d'un coup), il ne concerne que l'état courant, et il ne donnera donc jamais les deux dates. Il faut aller la chercher dans l'historique, et c'est la rétention du recorder qui décide de ce qui est encore lisible. Si l'alarme est restée armée trois semaines et que le recorder ne garde que 10 jours, le dernier désarmement est tout simplement hors de portée.

Et le point 3 est celui qui change le plus l'ampleur du projet : une carte avec pavé de code, ce n'est pas la même histoire qu'une carte à deux boutons.

Merci d'avance à ceux qui prendront deux minutes pour répondre :slightly_smiling_face:

Hello ! Ravi de voir que ce projet t'enchante, j'en demandais pas tant ^^

Pour répondre à tes questions j'y vais dans l'ordre :

  1. J'utilise une alarme Somfy Protect
  2. L'intégration passe par Homekit et est relativement pauvre

  1. J'ai jamais réussi à placer un code pour désarmer l'alarme. Et la seule fois ou j'avais un style clavier, je devais aussi mettre le code pour "armer", ce qui n'était pas vraiment utile

Dans mon cas, j'utilise l'alarme comme un simple bouton ON/OFF, car j'affiche le dashboard sur l'écran de la voiture. Une fois passé le portail, j'active l'alarme et le script se met en route : coupure des équipements (clims ...), fermeture de la porte d'entrée, du garage et du portail
Par contre en désactivant l'alarme, je n'ouvre rien automatiquement

  1. Je n'utilise que le mode absent
  2. Malheureusement je ne réccupère aucune info des batteries, sirène ... Je vais creuser si y a une autre intégration que celle passant par Homekit
  3. J'ai redémarré HA et comme tu peux le voir sur la capture, j'ai que l'état d'hier de visible et si je regarde l'activité, je remonte au 30 aout donc 10j en effet
  4. J'en utilise donc pas car j'ai pas réussi à faire ce que je voulais vraiment

Voila de mon côté

Bon, j'avais survolé à l'époque la version SomfyMQTT, en fait c'est bien mieux que la version Homekit !

Info d'un badge et d'un capteur de mouvement sur une porte :

D'un détecteur de mouvement et de l'alarme générale (avec possibilité de gérer l'état :

Sirènes extérieure et intérieure :

Le link :

Le relais :

Voilà :slight_smile:

Bonjour,
Pour répondre aussi dans l'ordre :
1 - J'utilise Alarmo


2- Outils et états standard utilisé avec Alarmo
3 - Pas de codes pour armer l'alarme mais codes ou badges pour désarmer avec la possibilité de rentrer un code sur la carte.
4 - Modes utilisés : Absent, Présent et Nuit. Le mode Vacances est inactif dans Alarmo et géré à part pour la simulation de présence.

5 - Entité annexe : sirène Frient, pour l'instant.
6 - Recorder modifié dans configuration.yaml :
recorder: purge_keep_days: 21
7 - La carte Alarmo Card est complète et propose justement la possibilité d'afficher ou pas le clavier. Le format de cette carte me convient bien pour un affichage sur écran ou mobile.

Voilà pour moi.

Merci à vous deux, ça avance plus vite que prévu :slightly_smiling_face:

Vos captures ont déjà tranché trois points de conception.

  1. @Freeman59 tu as fourni sans le vouloir la meilleure démonstration du problème que je décrivais au point 6. Tu avais redémarré HA avant de faire tes captures : ta fenêtre d'entité affiche "Désactivée, il y a 17 minutes", pendant que le journal d'activité juste à côté dit "Hier 8 septembre, Désactivée, 17:40:18". C'est exactement l'écart que la carte doit corriger, et c'est précisément ce qu'une tuile qui lit last_changed afficherait de faux.

  2. Toujours chez toi : la même alarme Somfy expose trois modes via HomeKit (Présent, Absent, Nuit) et seulement deux via SomfyMQTT (Absent, Nuit). Les boutons devront donc être déduits de l'entité et pas dessinés en dur, sinon j'affiche des boutons morts chez la moitié des gens.

  3. @Ulysse ton journal d'activité montre la séquence complète : Activation à 08:33:37, puis Activée (vacances) à 08:34:37, soit 60 secondes de délai de sortie. Ça tranche une ambiguïté que je n'avais pas vue : la "date du dernier armement" doit être le moment où l'alarme arrive réellement en armé, pas le début du délai de sortie. La carte ignorera donc les états intermédiaires.

Il me manque encore trois choses.

D'abord du texte, plutôt que des images. Les captures montrent le rendu, mais pas les attributs. Si vous pouvez passer par Outils de développement / États, choisir votre entité d'alarme et copier le bloc Attributs en texte, ça me donnerait les trois lignes qui décident de tout : supported_features (les modes réellement disponibles), puis code_format et code_arm_required (qui déterminent si HA réclame un code, et à quel moment).

Ensuite, @Freeman59 : c'est quoi, ton entité Maison_history ? C'est un select, actuellement sur unknown. Si SomfyMQTT y publie l'historique des événements de la centrale, c'est peut-être une source de date native, et ça m'éviterait de passer par le recorder. Ça vaut le coup de regarder ce que contient sa liste de choix.

Enfin, une question à laquelle personne n'a répondu, et c'est la plus importante pour moi. Je suis allé regarder de plus près ce qui existe déjà, et autant être honnête : la carte tile native de HA fait déjà l'icône, l'état et les boutons de mode, avec n'importe quelle intégration, et elle sait même afficher l'ancienneté du dernier changement. Sauf que cette ancienneté, c'est justement last_changed, donc la valeur fausse après un redémarrage.

Ce qu'il me resterait d'unique, c'est donc la bonne date, lue dans l'historique, et les deux dates à la fois : dernier armement et dernier désarmement. Est-ce que ça vaut une carte de plus à vos yeux, ou est-ce que je me fais plaisir tout seul ? Dites-le franchement, ça ne me vexera pas, et ça m'évitera de coder trois soirs pour rien :rofl:.

Pour le clavier : @Ulysse en a besoin pour désarmer, donc je ne l'écarte pas, il passera juste après le reste.

Petite mise à jour, et autant être transparent tout de suite.

En creusant le magasin HACS avant de me lancer, je suis tombé sur une carte que je ne connaissais pas et qui pourrait déjà couvrir une bonne partie du besoin : Alarm and Security Card, de cataseven.

Elle est dans le magasin HACS par défaut, maintenue, et contrairement à l'alarmo-card elle fonctionne avec n'importe quelle entité alarm_control_panel, pas seulement Alarmo. Elle propose le clavier, les modes, la visualisation des zones ouvertes, un bloc automations, le compte à rebours si vous êtes sous Alarmo, et surtout un bloc "Activity" qui liste les derniers événements de l'alarme.

@Ulysse elle devrait particulièrement t'intéresser, vu que tu es sous Alarmo et que tu utilises déjà le clavier.
@Freeman59 pour ton usage bouton ON/OFF depuis l'écran de la voiture, elle est sans doute surdimensionnée, mais ça vaut le coup d'y jeter un œil avant que je code quoi que ce soit.

Ce qu'elle ne fait pas, d'après ses options : son bloc Activity est un flux des dernières heures, avec hours_to_show à 6 et max_items à 4 par défaut. Une alarme armée depuis avant-hier n'y affiche donc rien. Ce n'est pas "armée depuis quand", c'est "que s'est-il passé récemment". Et c'est un grand panneau multi-sections, pas une tuile qu'on aligne dans une rangée à côté d'autres cartes.

Ma question est donc très concrète : installez-la, essayez-la, et dites-moi si elle vous suffit.

Si oui, je m'arrête là, et je vous aurai fait gagner du temps à tous les deux. Si non, dites-moi précisément ce qui manque, et je saurai exactement quoi construire au lieu de deviner.

Pendant que vous testez, deux petites choses qui me serviront dans les deux cas :

  • le bloc Attributs en texte de votre entité d'alarme (Outils de développement / États), pour voir supported_features, code_format et code_arm_required ;
  • @Freeman59 ce que contient ton entité Maison_history : c'est un select, actuellement sur unknown, et si SomfyMQTT y publie l'historique de la centrale, ça change tout pour moi.

Bonjour,

Mon alarme est une Tyxal+ de chez Deltadore.

une vue de alarm_control_panel

code_format: null
changed_by: null
code_arm_required: false
device_id: 1605XXXXXX
endpoint_id: 1605XXXXX
id: '1605XXXXX_1605XXXXX'
alarm_name: Tyxal Alarm
name: Tyxal Alarm
device_type: alarm_control_panel
alarmState: 'OFF'
alarmMode: 'OFF'
alarmTechnical: false
alarmSOS: false
unitAutoProtect: false
unitBatteryDefect: false
unackedEvent: true
systAutoProtect: false
systBatteryDefect: true
systSupervisionDefect: true
systOpenIssue: true
systSectorDefect: false
systTechnicalDefect: false
videoLinkDefect: false
remoteSurveyDefect: false
simDefect: false
networkDefect: false
inactiveProduct: true
liveCheckRunning: false
zone1State: 'OFF'
zone2State: 'OFF'
zone3State: 'OFF'
zone4State: 'OFF'
zone5State: 'OFF'
zone6State: UNUSED
zone7State: UNUSED
zone8State: UNUSED
outTemperature: 22.5
gsmLevel: 6
irv1State: AVAILABLE
irv2State: UNAVAILABLE
irv3State: UNAVAILABLE
irv4State: UNAVAILABLE
kernelUpToDate: true
friendly_name: Alarme
supported_features: 63

une idée de la page Alarme Tyxal+

un clavier avec demande de code apparait dès que l'on veut "Activer"
le code est indiquer dans l'intégration en clair.

Si cela peut t'aider dans la création de ta carte.
Bonne lecture.

J'y ai jeter un œil : effectivement la carte est sympa. Je vais essayer dès que faire se peut.
Merci pour l'info.

Hello, j'vais tester la carte en effet, c'est peut être pas utile de tout réécrire si ca existe déjà :slight_smile:

Voilà le bloc attributs :
code_format: null
changed_by: Gérard
code_arm_required: false
arm_mode: null
next_state: disarmed
open_sensors: null
bypassed_sensors: null
delay: null
last_triggered: null
friendly_name: Alarmo
supported_features: 15

Premier test : la carte réponds de la même façon que la carte Alarmo Card. Pas de soucis de mon côté, ça correspond à ce que je souhaite avec des options en plus.