Optimisation de flux

Bonjour,

Je ne connais pas tous les nœuds et astuces de Node Red, mais j’avance tranquillement…
Quelle serait selon vous la meilleure façon d’optimiser ce flux qui demande à chaque fois de connaître l’état de l’alarme ?
Merci pour vos conseils,
Flow

[{"id":"1da58cc48ab1b4d1","type":"inject","z":"afd5deb31ca9e1cd","name":"Start 6:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 06 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"off","payloadType":"str","x":830,"y":120,"wires":[["94b67e7f40ed4bc2"]]},{"id":"b37b4825f8d9db81","type":"api-call-service","z":"afd5deb31ca9e1cd","name":"Ouvrir VR 1","server":"f1388c55.bbcd1","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1270,"y":120,"wires":[[]]},{"id":"94b67e7f40ed4bc2","type":"api-current-state","z":"afd5deb31ca9e1cd","name":"Alarme ON","server":"f1388c55.bbcd1","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.groupe_1_ss","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1050,"y":120,"wires":[[],["b37b4825f8d9db81","4088c166b58896cb"]]},{"id":"cc5bdd191ec4afd8","type":"inject","z":"afd5deb31ca9e1cd","name":"Start 7:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 07 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"off","payloadType":"str","x":830,"y":180,"wires":[["ee5678f4787175d8"]]},{"id":"ee5678f4787175d8","type":"api-current-state","z":"afd5deb31ca9e1cd","name":"Alarme ON","server":"f1388c55.bbcd1","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.groupe_1_ss","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1050,"y":180,"wires":[[],["a3ea742f50e691ad","dcfc8ee854792b0f"]]},{"id":"a3ea742f50e691ad","type":"api-call-service","z":"afd5deb31ca9e1cd","name":"Ouvrir VR 2","server":"f1388c55.bbcd1","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1270,"y":180,"wires":[[]]},{"id":"dcfc8ee854792b0f","type":"api-call-service","z":"afd5deb31ca9e1cd","name":"Ouvrir VR 3","server":"f1388c55.bbcd1","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1270,"y":240,"wires":[[]]},{"id":"4088c166b58896cb","type":"api-call-service","z":"afd5deb31ca9e1cd","name":"Light 1 ON","server":"f1388c55.bbcd1","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1270,"y":80,"wires":[[]]},{"id":"f1388c55.bbcd1","type":"server","name":"Home Assistant RBT","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":false}]

Hello

Optimiser de quel point de vue :

  • pour la création des flow ?
  • pour les performances ?

Techniquement tu as 2 flows qui se déclenchent 1 fois par jour, donc fonctionnellement il y a peu de chose à optimiser

Bonjour Pulpy-Luke,

En fait, c’est pour éviter d’avoir à chaque fois le même nœud Alarme.
J’ai des actions qui se déclenchent tout au long de la journée et à chaque fois, je dois regarder si l’alarme est sur ON ou OFF.
Peut-être d’ailleurs faudrait-il commencer par tester la position de l’alarme mais je ne sais pas quel node utiliser…

Pour des actions ponctuelles, c’est pas la peine de faire compliquer et le plus simple c’est faire comme ça.
Récupérer une info de l’alarme permanente, c’est faisable, mais ça m’empêchera pas de mettre un noeud test (IF par exemple) à la place

1 « J'aime »

Je suis d’accord avec l’approche de @Pulpy-Luke
Si néanmoins, on veut faire autrement…
En utilisant le noeud cron plus. On peut donner un nom à chaque planification. En envoyant au noeud cron-plus l’ordre de désactiver les planifications appelées par exemple alarm_off elles ne s’executeront plus.

Avec les exemples donnés ici, 2 flots avec 2 actions, ça ne sert à rien. Si on a un truc beaucoup plus complexe, ça peut être pratique…

Justement, j’ai une dizaine de flux de ce type en VR et éclairages, et presqu’autant en chauffage.
Je vais voir ce que l’on peut faire avec Cron Plus… mais un exemple serait le bienvenu.

Le noeud node-red-contrib-cron-plus (node) - Node-RED inclut un exemple très complet qui présente toutes les fonctionnalités.

Pour aller dans le sens de @golfvert

un node complexe et plein de ressources :wink:

Merci pour ces infos, je regarde tout cela.