Automatisation -Détection porte ouverte au moment de mettre l'alarme

Bonjour,
Je souhaite créer une automatisation qui me permettrait au moment où j’arme l’alarme d’avoir un message me signalant qu’une porte est restée ouverte et donc de désactiver l’alarme avant qu’elle ne se déclenche pour rien.
En effet il m’est arrivé plusieurs fois de partir en oubliant de fermer la porte de mon sous-sol et vue la temporisation de départ de quitter la maison avec une alarme qui va se déclencher plusieurs minutes après mon départ !
C’est bien la temporisation qui me pose problème car j’avais fait une automatisation exécutant : si alarme activée et qu’une porte est ouverte, alors message sur mon Google home et désactivation alarme.
Ça marche sauf que l’information Quand de mon automatisation c’est alarme activée…qui n’apparaît qu’au bout de la temporisation !
Il faut donc que je puisse prendre en compte non pas Alarme activée mais commande armement Alarme et je sais pas où trouver ce paramètre.

Hello,

Tu es avec Alarmo ?
Si oui, tu as tout un tas d’évènements publiés par Alarme que tu peux catcher avec une automatisation pour faire ton controle: GitHub - nielsfaber/alarmo: Easy to use alarm system integration for Home Assistant

Tu peux t’aider de Outils de dev/Evènements pour surveiller les évènements et voir leur contenu :

Un exemple d’automatisation qui se déclenche sur évènement :

alias: Gestion des events de Solar Optimizer
description: Notifie les modifiations de status de Solar Optimizer
mode: parallel
max: 50
triggers:
  - event_type: solar_optimizer_change_power_event
    id: power_event
    trigger: event
  - event_type: solar_optimizer_state_change_event
    id: state_change
    trigger: event
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: power_event
        sequence:
[...]
      - conditions:
          - condition: trigger
            id: state_change
        sequence:
[...]

A adapter à ton cas bien sur.

1 « J'aime »

Merci pour ton retour.
J’ai regardé le github, mais j’ai du mal à identifier l’événement cde armement et la syntaxe.
J’ai également regardé les événements et la possibilité d’écouter un événement.
Mais comme je n’ai pas la syntaxe je n’ai pas pu mettre l’événement qui m’intéresse en écoute.
De plus je n’ai pas compris où l’on visualise cet évènement sur écoute.
En tout état de cause ce que je veux faire doit passer par du yaml ?

Texte

Tous les event de type ARM_xxx ont l’air de se déclencher à l’armement. Après il faut chercher un peu, je ne l’ai jamais fait.

Bonjour,
Je reviens sur ce sujet que j’avais laissé de côté pour finaliser l’automatisation complète de mon chauffage et la surveillance des consommations (tout marche !).
J’ai regardé la doc sur les événements mais pas compris comment les utiliser dans une automatisation.


Que signifie l’indication Ecouteur actifs et le nombre d’écouteurs ?
La liste affichée est une liste initiale prédéfinie ?
Où trouver l’évènement auquel s’abonner ?
Du mal à comprendre la différence entre événements de changement d’état et entité événement …

La séquence que je voudrais mettre en place :

  • j’arme l’alarme (Alarmo)
  • comme j’ai mis une tempo elle doit être dans le mode arming
  • pendant cette tempo je teste la fermeture de la porte qui m’intéresse
  • si OK l’armement se poursuit jusqu’à l’état Armé à le fin de la tempo de sortie
  • si NOK l’armement s’arrête et un message sur mon Google Hub signale le problème
    Je bute sur le premier point : comment tester l’état Arming ?

Bonjour, si tu es avec Alarmo: tu crées dans le menu ACTIONS d’alarmo une notification.
comme ceci :

tu peux en créer une autre avec une notification vers ton google hub.

a l’armement le message sera envoyé en spécifiant le capteur resté ouvert

2 « J'aime »

Je teste, je teste …
J’ai créé cette notification


Mais quand je lance Essai :

Du mal à comprendre ce message d’erreur…
extra keys not allowed ?
Pb identification de mon media player ?

tu comfigures par l’ui ou en yaml , je te conseille par l’ui puis quand tout marchera par yaml.
ci dessous ma config, il faut faire une notification

service: notify.alexa_media_echo_dot_patrick
data:
  title: ""
  message: L'alarme n'a pas pu être armée, en cause:{{open_sensors|lang=fr}}
  data:
    type: tts

si tu cliques sur essai tu entendras le message sauf le capteur concerné ,c’est normal

En utilisant la conf UI, si je mets comme action Allumer une lampe, ça fonctionne.
Par contre si je veux lancer un message sur mon media player, dans l’UI l’entité media player n’est pas proposée ?
C’est pourquoi j’avais tenté le yaml…sans succès

de ce que tu me dis tu prends ACTIONS/actions il faut prendre ACTIONS/notifications.
là tu dois trouver tout tes players.

Merci, ça marche !
Par contre le volume sonore est insufisant pour entendre correctement, donc il faut que je puisse le régler fort avant d’envoyer le message.
J’ai cherché sur le forum et j’ai trouvé ceci :

service: media_player.volume_set
metadata: {}
data:
  volume_level: 0.5
target:
  entity_id: media_player.salon

Par contre je n’arrive pas à l’intégrer dans le code yaml de la notification :

service: tts.cloud_say
data:
  message: >-
    L'alarme n'a pas pu être armée pour le moment, à cause de :
    {{open_sensors}}.
  entity_id: media_player.salon

J’ai essayé de mettre le code réglage avant celui d’envoi du message mais ça ne marche pas (quand j’enregistre la notification et que je la rouvre, seul le code de la notification apparaît…)
Je suis nul en yaml (j’apprends doucement, difficilement…) et mes seuls actions sont du couper/coller…
En balayant le forum j’ai vu du code où l’appel à plusieurs services consécutifs nécessitait une commande sequence.
C’est la piste ?
Question complémentaire : si mon code pour l’action est faux, aucun signalment contrairement à File Editor. Où puis-je tester du code seul ?

Ajoute une action avec l’augmentation de volume avant la diffusion du message.

Bob

Si je choisis une action je n’ai pas accès à l’entité media player dans la liste déroulante des entités utilisables…

Dans les actions il faut aller dans Lecteur multimédia → Régler le volume.

Bob

Bonjour, je crains que ce que tu souhaites faire ne soit pas possible avec alarmo.

ce que je te propose est à tester ,bien sur.
c’est de rajouter une automatisation qui se déclenche quand alarmo s’arme et met le volume à un certain niveau.

description: ""
mode: single
triggers:
  - device_id: f7eccbdd7c945ded04b5a936f2c59dc4
    domain: alarm_control_panel
    entity_id: alarmo_controle_panel
    type: arming
    trigger: device
conditions: []
actions:
  - action: media_player.volume_set
    target:
      entity_id: media_player.salon
    data:
      volume_level: 0.5

ensuite tu laisses l’action d’alarmo tel que

le souci possible c’est le temps réaction du media player pour mettre le volume et jouer ton message. il se peut que cela se fasse en meme temps c’est à tester.

Si ça ne marche pas il faut creer un script et passer par ACTIONS/action.
tu me diras j’essaierai de t’aiguiller.

1 « J'aime »

Hello,

Je n’ai pas testé avec alarmo mais l’automation externe de @Patrick44fr doit fonctionner

en complément je met la sequence que j’utilise ailleurs, pour que le son reprenne son volume après la lecture du message, j’utilise sur plusieurs media player donc faudra sans doute retoucher.

        sequence:
          - action: media_player.volume_set
            target:
              entity_id: "{{ media_playerx }}"
            data:
              volume_level: 0.8
          - target:
              entity_id: tts.google_en_com
            data:
              cache: true
              media_player_entity_id: "{{ media_playerx }}"
              message: "{{ message }}"
              language: fr
            action: tts.speak
          - wait_template: "{{ is_state('media_playerx', 'playing') }}"
            timeout: "00:00:01"
          - wait_template: "{{ is_state('media_playerx', 'idle') }}"
            timeout: "00:00:05"
          - action: media_player.volume_set
            target:
              entity_id: "{{ media_playerx }}"
            data:
              volume_level: 0.5

cdt

je viens de tester une autre méthode qui me parait (cela reste subjectif) plus élégante :

Créer un script pour régler le volume:

sequence:
  - action: media_player.volume_set
    target:
      entity_id: media_player.patrick_s_bose_portable_smart_speaker
    data:
      volume_level: 0.5

ensuite dans alarmo créer une action dans ACTIONS qui se lancera à l’armement (délai de sortie)
et exécutera le script créé précedemmement

laisser la notification en cas déchec de l’armement

pas de yaml à créer donc plus simple,

En résumé, à chaque fois que tu mettras ton alarme tu regléras le volume + fort si tout se passe bien on s’arrete là, si ça se passe mal tu auras le message indiquant le capteur qui empeche l’armement. si tu veux pousser plus loin pour le retour du volume tu peux t’inspirer du message @freetronic

y a plus qu’à tester

Merci pour vos infos !
Avant d’aller plus loin dans la mise en place d’un message signalant que ma porte garage était restée ouverte, j’ai voulu d’abord tester que Alarmo réagissait correctement à cette configuration.
Et surprise quand j’arme l’alarme aucun message signalant qu’un des capteurs n’est pas dans le bon état.
J’ai programmé un délai de sortie assez long (4 mn). Est-ce que Alarmo teste l’état de mon capteur uniquement à la fin de ce délai ? Et décide armement impossible…quand je suis parti
Dans ce cas ça me servirait à rien car j’ai besoin d’être alerté au moment où j’arme l’alarme.
J’ai besoin de cette temporisation car il m’arrive d’oublier quelque chose avant de partir (mes lunettes par exemple !) et je peux entrer dans mon bureau pour les récupérer sans avoir à désactiver puis réactiver l’alarme.
Je n’ai pas trouvé dans la configuration Alarmo comment préciser que pendant le délai de sortie mes capteurs de mouvement ne devaient pas être pris en compte, mais que l’état d’un capteur ouverture porte devait être immédiatement testé et entraîner Armement impossible si pas dans le bon état.

PROBLEME RESOLU !
Je n’avais pas bien interprété le paramètre Utiliser délai de sortie. En décochant j’obtiens bien Armement impossible et le message sur ma Google Home.
Pour l’instant c’est l’essentiel !
Avec vos infos je vais continuer à traiter le problème de réglage volume.

Bonjour, je suis preneur de cette information car nous avons eu cela un moment sur Fibaro, je trouvais ça pratique.
Par contre, je débute donc il y a des termes que je ne comprends pas.
Vous voulez dire quoi par UI ? C’est où qu’on met ce code ?
Merci de votre aide.