Désactiver un nœud

Bonjour à tous !

Débutant sur Node Red, j’aimerai créer un flow permettant une synchronisation d’état entre deux listes déroulante. J’ai crée ce flow :

Le problème est que le flow se lance plusieurs fois vu que les déclencheur sont modifiés pendant le flow. Sur les automatisation d’HA j’avais contourné ce problème de la façon suivante :

alias: Chambre Charlie / Synchro "Liste mode lumière (Lovelace)"
description: ""
trigger:
  - platform: state
    entity_id:
      - input_select.xh1ck2pyv6
    from: null
    to: null
    id: Interrupteur
condition: []
action:
  - service: automation.turn_off
    data:
      stop_actions: true
    target:
      entity_id: automation.chambre_charlie_synchro_liste_mode_lumiere
  - parallel:
      - if:
          - condition: state
            entity_id: input_select.xh1ck2pyv6
            state: Normal
        then:
          - service: input_select.select_option
            data:
              option: "1"
            target:
              entity_id: input_select.x9jrg6oa80
      - if:
          - condition: state
            entity_id: input_select.xh1ck2pyv6
            state: Détente
        then:
          - service: input_select.select_option
            data:
              option: "2"
            target:
              entity_id:
                - input_select.x9jrg6oa80
      - if:
          - condition: state
            entity_id: input_select.xh1ck2pyv6
            state: Veilleuse
        then:
          - service: input_select.select_option
            data:
              option: "3"
            target:
              entity_id:
                - input_select.x9jrg6oa80
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.chambre_charlie_synchro_liste_mode_lumiere
mode: single

Quelqu’un à une idée de comment réaliser ce genre de chose avec Node Red ?


version core-2023.8.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.39
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.32.1
Stage running
Available Repositories 1285
Downloaded Repositories 2
Home Assistant Cloud
logged_in true
subscription_expiration 6 juillet 2024 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled false
remote_server eu-central-1-3.ui.nabu.casa
certificate_status ready
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.4
update_channel stable
supervisor_version supervisor-2023.09.2
agent_version 1.5.1
docker_version 23.0.6
disk_total 30.8 GB
disk_used 15.6 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.6.0), Mosquitto broker (6.2.1), Zigbee2MQTT (1.32.1-1), Samba Backup (5.2.0), Node-RED (14.4.5)
Dashboards
dashboards 2
resources 1
views 14
mode storage
Recorder
oldest_recorder_run 11 septembre 2023 à 15:09
current_recorder_run 16 septembre 2023 à 22:06
estimated_db_size 5611.61 MiB
database_engine sqlite
database_version 3.41.2
___

Déjà, la « logique » de vouloir synchroniser deux listes d’état comme ça m’échappe.
Mais, bon, il y a surement une raison que l’on ne voit pas de loin.

En fait, il ne faut avoir qu’un seul appel au noeud current-state sans mettre de condition dedans.
En sortie de ce noeud, un noeud switch avec les diverses conditions et en face de chaque condition appeler le noeud call-service avec les paramètres qui vont bien.
Visuellement un truc comme ça :

Les triangles sont là parce que je n’ai rien configuré dans les noeuds.

Pour la synchro des listes, voici la réponse :

J’avoue ne pas avoir pris ce problème à la racine et voir si il n’est possible de faire un cycle inversé avec Node Red.

Ok je vois ce que tu veux dire avec le switch. On est bien d’accord que cela reviens à la même chose que ce que j’ai fait ? Mise à part que ca fasse beaucoup plus propre ?

Oui. Ca devrait même mieux marcher :slight_smile:

Pour l’aspect de la logique, j’aurais, je pense, plus fait une liste 1, 2, 3 associée à un boolean true (monte) / false (descend).
Sachant que le booleen est utilisé en test à 2 et est inversé quand on arrive à 1 ou à 3.
Mais, bon, ça doit revenir au même.

Salut !

J’ai fait comme tu m’as conseillé et effectivement c’est plus simple et surtout fonctionel ! Il faut que je sorte de ma logique des automatisation avec home assistant pour adopter celle de Node Red !

Merci de ton aide !