Automatisation a partir d'une alert

bonjour,

j’essaie de programmer une automation ( fermeture de mon portail ) avec comme déclenchement une alerte qui me prévient que le portail est ouvert
je veux utiliser l’alerte car celle-ci me renvoie l’info tant que le portail n’est pas fermé
mon code :

  alias: Portail Somfy resté ouvert
  description: ''
  trigger:
  - platform: state
    entity_id: alert.fermeture_portail
    to: 'on'
    for: 00:00:00
  condition:
  - condition: device
    type: is_on
    device_id: 56e4ba4b5228a8d91c178ee57b29dc67
    entity_id: switch.position_portail_somfy
    domain: switch
  action:
  - service: notify.telegram_lucien
    data:
      message: fermeture portail somfy OK !!!!
  mode: single
  max: 10

mais cela ne marche qu’une seule fois l’alerte m’es bien renvoyée mais l’automation elle ne fonctionne qu’une seule fois
merci pour votre aide

System Health

version core-2021.4.6
installation_type Home Assistant Supervised
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 4.19.0-14-amd64
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4882
Installed Version 1.11.3
Stage running
Available Repositories 778
Installed Repositories 17
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Debian GNU/Linux 10 (buster)
update_channel stable
supervisor_version supervisor-2021.04.0
docker_version 19.03.13
disk_total 112.9 GB
disk_used 50.9 GB
healthy true
supported true
supervisor_api ok
version_api ok
installed_addons Samba share (9.3.1), Glances (0.11.2), Log Viewer (0.10.2), Mosquitto broker (5.1.1), Terminal & SSH (9.1.0), File editor (5.2.0), HA Scheduler (0.15), Simple Scheduler (0.16.10), InfluxDB (4.0.4), Grafana (6.3.1), Duck DNS (1.12.5), Node-RED (9.0.1), Visual Studio Code (3.3.0), ESPHome (1.16.2)
Lovelace
dashboards 2
resources 5
views 9
mode storage

Je ne comprends pas pourquoi tu passes par une automatisation…

Le but de l’alerte est justement de te notifier.

L’intégration alert se passe d’automatisation.

merci d’etre si rapide

ce que je veux c’est que l’automation se relance jusqu’a ce que le portail se ferme ( il y a des loupés quelquefois du côté du Wifi) et je n’ai rien trouvé pour relancer l’automation donc comme l’alert est relancer 10 fois je l’utilise
si vous avez une autre solution je prends (je débute dans l’automation :grinning: :grinning:)

mon code n’etait pas complet j’avais oublié des lignes a la fin
le voici complet :

- id: '1605862028180'
  alias: Portail Somfy resté ouvert
  description: ''
  trigger:
  - platform: state
    entity_id: alert.fermeture_portail
    to: 'on'
    for: 00:00:00
  condition:
  - condition: device
    type: is_on
    device_id: 56e4ba4b5228a8d91c178ee57b29dc67
    entity_id: switch.position_portail_somfy
    domain: switch
  action:
  - service: notify.telegram_lucien
    data:
      message: fermeture portail somfy OK !!!!
  - service: homeassistant.turn_on
    target:
      entity_id: switch.relais_portail_somfy
  mode: single
  max: 10

Peux tu partager également le code de l’alerte ?

le voici

fermeture_portail:
  name: Portail Somfy est ouvert
  message: Portail Somfy resté ouvert
  entity_id: binary_sensor.portail_somfy_garage_up
  state: "on"
  repeat: 20
  can_acknowledge: true
  skip_first: false
  notifiers:
    - telegram_lucien
#       - telegram_groupe

je pense que le mieux est de sois augmenter le nombre d’alerte (mettre 9999 par exemple)

Sinon, il faut laisser tomber l’alerte et mettre en place une automatisation qui boucle tant que le capteur à Vrai → Exemple sur le forum

Tu veux partir sur quoi ? si tu as besoin d’aide pour l’adaptation de l’automatisation, n’hésites pas :

- id: 'portail_ouvert'
  alias: portail ouvert
  description: ''
  trigger:
    - platform: state
      entity_id: binary_sensor.portail_somfy_garage_up
      to: 'on'
  condition: []
  action:
    repeat:    
      - device_id: 9d322b5b
        domain: mobile_app
        type: notify
        message: 'La température est en dessous de 19° '
        title: Alerte Maternité
      - delay:
          minutes: 1
    until:
        - condition: state
          entity_id: binary_sensor.portail_somfy_garage_up
          state: 'off'
  mode: single

je partirais bien sur la deuxième solution mais je ne comprends pas comment le portail se ferme
cela correspond a quoi

  • device_id: 9d322b5b

le repeat je ne savais pas !!!
j’ai essayer çà mais cela marche pas

- id: '1605862028180'
  alias: Portail Somfy resté ouvert
  description: ''
  trigger:
  - platform: state
    entity_id: binary_sensor.portail_somfy_garage_up
    to: 'on'
  condition: []
  action:
  - repeat:
      while:
      - condition: state
        entity_id: binary_sensor.portail_somfy_garage_up
        state: 'on'
      sequence:
      - service: homeassistant.turn_on
        target:
          entity_id: switch.relais_portail_somfy
  mode: single
  max: 10

il met combien de temps à se fermer le portail ? car ce serait bien de conserver le délai comme dans l’exemple que je t’'ai donné…

En adaptant à ton cas, ça donne :

id: 'portail_ouvert'
alias: portail ouvert
description: ''
trigger:
  - platform: state
    entity_id: binary_sensor.portail_somfy_garage_up
    state: 'on'
    for:
      minutes: 10 #déclenchement si le portail est ouvert depuis 10min
condition: []
action:
  repeat:    
    sequence: #il manquait ça ! 
      - service: homeassistant.turn_on
        target:
          entity_id: switch.relais_portail_somfy
      - delay:
          minutes: 1 #temps de fermeture estimé du portail avant de vérifier s'il est toujours ouvert
    until:
      - condition: state
        entity_id: binary_sensor.portail_somfy_garage_up
        state: 'off'
mode: single

quand je programme l’automation dans l’interface graphique je n’ai pas le choix " appeler un service " dans type d’action repeat

Il te faut cliquer sur le bouton en dessous AJOUTER UNE ACTION.

Tu peux copier/coller ce que je t’ai mis :

j’ai copié ton code comme tu m’a fait voir ( je ne savais pas qu’on pouvait faire comme çà :grinning: :grinning:
mais quand je suvegarde j’ai l’erreur suivante:

Message malformed: expected a dictionary for dictionary value @ data[‹ action ›][0][‹ repeat ›]

bonjour,

SVP aurais-tu une solution ? merci

j’ai copié ton code comme tu m’a fait voir ( je ne savais pas qu’on pouvait faire comme çà :grinning: :grinning:
mais quand je suvegarde j’ai l’erreur suivante:

Message malformed: expected a dictionary for dictionary value @ data[‹ action ›][0][‹ repeat ›]

Effectivement !

Il manquait la clé sequence:sweat_smile:

J’ai édité le post :+1:

merci
mais maintenant j’ai cette erreur
Message malformed: extra keys not allowed @ data[‹ state ›]