Node-RED - Déclencher un flow nodered depuis HA

Vous êtes nombreux à demander comment déclencher un flow nodered depuis l’interface lovelace, alors c’est parti :slight_smile:

(Certains ont aussi demandé comment empêcher un flow de se lancer si on veut le désactiver manuellement => abordé dans un sujet dédié : Node-RED - Désactiver un flow nodered depuis HA)

Le moyen le plus simple c’est de créer un input_boolean dans HA et de déclencher en fonction de l’état de cet input_boolean.

Dans HA on va créer un input_boolean :

input_boolean:
  flow1:
    name: Lancer le flow 1
    # initial sur off, pour ne pas lancer le flow au restart de HA
    initial: off

On ajoute cet input_boolean à une carte lovelace (genre entités) et on pourra le piloter via le frontend ! (on / off).
On peut aussi utiliser une carte Entité Bouton comme ceci :

type: entity-button
tap_action:
  action: call-service
  service: input_boolean.turn_on
  service_data:
    entity_id: input_boolean.flow1
hold_action:
  action: more-info
show_icon: true
show_name: true
entity: input_boolean.flow1

On va partir sur le fonctionnement suivant :

  • Je passe l’input_boolean sur ON => déclenche le flow
  • Le flow s’éxécute…
  • Le flow repasse l’input_boolean sur OFF (ben ouais sinon faudra le faire manuellement dans lovelace !)

Dans nodered on va se servir du noeud events: state comme ceci :

Puis on ajoute les noeuds qui vont bien à notre flow… Perso j’ajoute juste un noeud stop timer de 5sec pour l’exemple.
Puis enfin en dernier le noeud qui va repasser mon input_boolean à OFF, le noeud call service:

Voilà mon flow au complet :

Et la magie opère !

Have fun.

1 J'aime