Arret automatisation suivant condition

Mon problème

Bonsoir, je me retrouve confronter à un problème que je n’arrive pas à solutionner. Je m’explique :

J’ai une automatisation que je voudrais faire fonctionner ainsi :
Lorsque le clapet avant de ma boite à lettres est ouvert,

  • si l’alarme est désactivée, mon ruban led s’allume et une annonce pour m’indiqué qu’il y a du courrier est diffsée sur mes alexa.
  • si l’alarme est activée alors l’automatisation attend que l’alarme passe en mode désactivée et mon ruban led s’allume et une annonce pour m’indiqué qu’il y a du courrier est diffsée sur mes alexa.
  • des notifications sont envoyées sur nos téléphones lorsque ceux-ci ne sont pas à la maison.

Cela fonctionne parfaitement

Par contre, lorsque j’ajoute que si la porte arrière a été ouverte je demande l’arret de l’automatisation pour ne pas avoir de notification alexa ni l’allumage du ruban cela ne fonctionne pas. L’automatisation poursuit et effectue la notification et le ruban s’allume quand même.

Une idée de mes erreurs ?

Je vous joint le code que j’ai réalisé ci-dessous
Merci par avance

alias: "[AUTO] MAISON - Gestion courrier (Arrivée)"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.ring_capteur_boite_a_lettres_avant
    to: "on"
condition: []
action:
  - if:
      - condition: state
        entity_id: alarm_control_panel.ring_alarme
        state: disarmed
    then:
      - service: media_player.volume_set
        data:
          volume_level: 0.5
        target:
          entity_id:
            - media_player.amazon_echo_4_salon
            - media_player.amazon_echo_show_8_cuisine
            - media_player.amazon_echo_dot_couloir
            - media_player.amazon_echo_dot_buanderie
      - service: scene.turn_on
        target:
          entity_id: scene.scene_ruban_led_bleu
        metadata: {}
      - service: notify.alexa_media
        data:
          message: Home Assistant vous informe que le facteur est passé !!!!
          target:
            - media_player.amazon_echo_4_salon
            - media_player.amazon_echo_show_8_cuisine
            - media_player.amazon_echo_dot_couloir
            - media_player.amazon_echo_dot_buanderie
          data:
            type: announce
      - service: media_player.volume_set
        data:
          volume_level: 0.3
        target:
          entity_id:
            - media_player.amazon_echo_4_salon
            - media_player.amazon_echo_show_8_cuisine
            - media_player.amazon_echo_dot_couloir
            - media_player.amazon_echo_dot_buanderie
    else:
      - wait_for_trigger:
          - platform: state
            entity_id:
              - alarm_control_panel.ring_alarme
            to: disarmed
            for:
              hours: 0
              minutes: 0
              seconds: 0
      - if:
          - condition: state
            entity_id: binary_sensor.ring_capteur_boite_a_lettres_arriere
            state: "on"
        then:
          - stop: Courrier retiré
        else:
          - service: media_player.volume_set
            data:
              volume_level: 0.5
            target:
              entity_id:
                - media_player.amazon_echo_4_salon
                - media_player.amazon_echo_show_8_cuisine
                - media_player.amazon_echo_dot_couloir
                - media_player.amazon_echo_dot_buanderie
          - service: scene.turn_on
            target:
              entity_id: scene.scene_ruban_led_bleu
            metadata: {}
          - service: notify.alexa_media
            data:
              message: Home Assistant vous informe que le facteur est passé !!!!
              target:
                - media_player.amazon_echo_4_salon
                - media_player.amazon_echo_show_8_cuisine
                - media_player.amazon_echo_dot_couloir
                - media_player.amazon_echo_dot_buanderie
              data:
                type: announce
          - service: media_player.volume_set
            data:
              volume_level: 0.3
            target:
              entity_id:
                - media_player.amazon_echo_4_salon
                - media_player.amazon_echo_show_8_cuisine
                - media_player.amazon_echo_dot_couloir
                - media_player.amazon_echo_dot_buanderie
  - if:
      - condition: device
        device_id: 2e40225532763a5757957e995a553d8e
        domain: device_tracker
        entity_id: device_tracker.samsung_a22_martial
        type: is_not_home
    then:
      - service: notify.mobile_app_samsung_a22_martial
        data:
          message: Le facteur est passé !!!!
          title: "NOTIFICATION HOME ASSISTANT :"
  - if:
      - condition: device
        device_id: 91bb7660fa3a6c95077d397683972b29
        domain: device_tracker
        entity_id: device_tracker.samsung_a51_sandra
        type: is_not_home
    then:
      - service: notify.mobile_app_samsung_a51_sandra
        data:
          message: Le facteur est passé !!!!
          title: "NOTIFICATION HOME ASSISTANT :"
mode: parallel
max: 10

Salut,

Ca ne viendrait pas du fait que ton test sur la porte arrière regarde l’état de la porte au moment où l’alarme est désactivée… j’imagine que tu ne reste pas avec la porte de ta boite ouverte en éteignant l’alarme…

salut, merci pour ta réponse. Effectivement, j’ai pensé à cela. Il faudrait donc que le fait d’avoir ouvert la porte reste en mémoire. mais ca je ne sais pas faire.

Par contre il est peut être possible de faire arrêter l’automatisation lorsque j’ouvre la porte. Autrement dit, je créé une automatisation avec comme déclencheur le capteur de la porte arrière de la boite à lettre et comme action l’arrêt de l’automatisation dont nous parlons. Mais là je ne vois pas quoi mettre dans la partie action.

De base je ne suis pas fan des wait for trigger quand c’est des trucs qui peuvent prendre des heures, car ton automatisation reste active. Et je ne crois pas qu’il soit possible d’arrêter une automatisation en cours.

Perso j’aurais fait ça de façon décomposée. Y’aurait plusieurs automatisations certes, mais c’est potentiellement plus simple et efficace.

J’aurais créé une entrée de type « interrupteur » qui s’active dans ton automatisation si l’alarme était activée.
Ensuite une automatisation qui se déclenche quand ton alarme se désactive, qui vérifie l’état de l’entrée interrupteur pour savoir s’il faut faire les actions.
Et une petite dernière automatisation qui va désactiver l’interrupteur si tu ouvres la porte arrière.

Après, si vraiment y’a beaucoup de logique et de conditions, Node Red est aussi une option.

je vais tenter quelque chose avec tes infos. Merci.

alors je viens de regarder comment je pourrais faire avec tes conseils et je pense avoir trouvé une solution sans avoir plus d’automatisation qu’au paravant et sans passer par le wait for trigger.

J’ai créé une entrée de type bouton nommée « COURRIER ARRIVE »

j’ai fais 2 automatisations une pour l’arrivée et une pour le depart dont voici les codes :

Pour l’arrivée du courrier si l’alarme est désactivée et si on désactive l’alarme :

alias: "[AUTO] MAISON - Notification courrier (Arrivée)"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.ring_capteur_boite_a_lettres_avant
    from: "off"
    to: "on"
    id: "01"
  - platform: state
    entity_id:
      - alarm_control_panel.ring_alarme
    to: disarmed
    id: "02"
    for:
      hours: 0
      minutes: 5
      seconds: 0
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "01"
        sequence:
          - if:
              - condition: state
                entity_id: alarm_control_panel.ring_alarme
                state: disarmed
            then:
              - service: media_player.volume_set
                data:
                  volume_level: 0.5
                target:
                  entity_id:
                    - media_player.amazon_echo_4_salon
                    - media_player.amazon_echo_dot_buanderie
                    - media_player.amazon_echo_dot_couloir
                    - media_player.echo_flex_salle_d_eau
                    - media_player.amazon_echo_show_8_cuisine
              - service: scene.turn_on
                target:
                  entity_id: scene.scene_ruban_led_bleu
                metadata: {}
              - service: notify.alexa_media
                data:
                  message: "Notification home assistant : Le facteur vient de passer !"
                  target:
                    - media_player.amazon_echo_4_salon
                    - media_player.amazon_echo_dot_buanderie
                    - media_player.amazon_echo_dot_couloir
                    - media_player.amazon_echo_show_8_cuisine
                    - media_player.amazon_echo_flex_salle_d_eau
                  data:
                    Type: announce
              - service: media_player.volume_set
                data:
                  volume_level: 0.3
                target:
                  entity_id:
                    - media_player.amazon_echo_4_salon
                    - media_player.amazon_echo_dot_buanderie
                    - media_player.amazon_echo_dot_couloir
                    - media_player.echo_flex_salle_d_eau
                    - media_player.amazon_echo_show_8_cuisine
            else:
              - service: input_boolean.turn_on
                data: {}
                target:
                  entity_id: input_boolean.test
      - conditions:
          - condition: trigger
            id: "02"
        sequence:
          - if:
              - condition: state
                entity_id: input_boolean.test
                state: "on"
            then:
              - service: media_player.volume_set
                data:
                  volume_level: 0.5
                target:
                  entity_id:
                    - media_player.amazon_echo_4_salon
                    - media_player.amazon_echo_dot_couloir
                    - media_player.amazon_echo_dot_buanderie
                    - media_player.echo_flex_salle_d_eau
                    - media_player.amazon_echo_show_8_cuisine
              - service: scene.turn_on
                target:
                  entity_id: scene.scene_ruban_led_bleu
                metadata: {}
              - service: notify.alexa_media
                data:
                  message: >-
                    Notification home assistant : Le facteur est passer pendant
                    votre absence !
                  target:
                    - media_player.amazon_echo_4_salon
                    - media_player.amazon_echo_dot_buanderie
                    - media_player.amazon_echo_dot_couloir
                    - media_player.amazon_echo_show_8_cuisine
                    - media_player.amazon_echo_flex_salle_d_eau
                  data:
                    Type: announce
              - service: media_player.volume_set
                data:
                  volume_level: 0.3
                target:
                  entity_id:
                    - media_player.amazon_echo_4_salon
                    - media_player.amazon_echo_dot_couloir
                    - media_player.amazon_echo_dot_buanderie
                    - media_player.echo_flex_salle_d_eau
                    - media_player.amazon_echo_show_8_cuisine
              - service: input_boolean.turn_off
                data: {}
                target:
                  entity_id: input_boolean.test
mode: single

et une autre pour le retrait du courrier :

alias: "[AUTO] MAISON - Notification courrier (Retrait)"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.ring_capteur_boite_a_lettres_arriere
    to: "off"
    from: "on"
condition: []
action:
  - service: input_boolean.turn_off
    data: {}
    target:
      entity_id: input_boolean.test
  - type: turn_off
    device_id: eed3dd37d4190aad411a6a0fc8febeed
    entity_id: light.ruban_leds_notifications
    domain: light
  - if:
      - condition: device
        device_id: 2e40225532763a5757957e995a553d8e
        domain: device_tracker
        entity_id: device_tracker.samsung_a22_martial
        type: is_not_home
    then:
      - service: notify.mobile_app_samsung_a22_martial
        data:
          title: "NOTIFICATION HOME ASSISTANT :"
          message: Le courrier a été retiré de la boite à lettres.
  - if:
      - condition: device
        device_id: 91bb7660fa3a6c95077d397683972b29
        domain: device_tracker
        entity_id: device_tracker.samsung_a51_sandra
        type: is_not_home
    then:
      - service: notify.mobile_app_samsung_a51_sandra
        data:
          message: Le courrier a été retiré de la boite à lettres.
          title: "NOTIFICATION HOME ASSISTANT :"
mode: single

le principe que j’ai pris du coup c’est si alarme désactivée les notifs se font sinon j’active l’entrée de type bouton. si je désactiv l’alarme et que l’entrrée de type bouton est activée les notifications se font.

Lorsque je retire le courrier cela désactiv l’entrée de type bouton quoi qu’il arrive. dans ce cas en cas de séctivation de l’alarme l’entrée de type bouton n’étant plus activée il n’y à pas de notification. Je pense que cela devrait fonctionner.

Je te tiens au courant lorsque j’aurai fais les tests demain.
Merci pour ton aide.

Finalement, j’ai réussi à tout combiner dans une seule automatisation

  • La notification en directe si l’alarme nes pas active
  • La notification 5 minutes après la désactivation de l’alarme si le courrier n’ap as été retiré avant ou pendant la tempo
  • et l’extinction de la la mpe lors du retrait du courrier lorsqu’elle est allumée.
    Encore merci pour ton aide.
    @+Martipit
1 « J'aime »