Lancer flow à une heure precise

Salut à tous,

je voudrais lancer un flow, une automatisation, à une heure contenu dans un input_datetime…

Alors tous les éventements soleil pas de soucis mais les autres éventements on fait comment ?

En clair j’ai :

input_datetime_heure = « 10:23:00 »

comment lancer l’automatisation à 10h23 ?

merci

Tu peux utiliser la palette CRONPLUS
Tu recupères ton input_datetime_heure en payload que tu passes au node CRON-PLUS qui continuera le flow à l’heure indiquée.
Tout est dans la doc de la palette

Salut

@Vinceg77 si je fait ça c’est bon donc…

Non… Le payload de ta copie d’écran c’est ce qui est envoyé en sortie. Pas ce qui est utilisé en entrée.
Il faut « injecter » à cron plus la bonne syntaxe (c’est expliqué dans la doc du noeud).

salut

le flow est lancé à la bonne heure mais avec le cron j’ai une répétition et je ne veux qu’une seule fois…
Date séquence peut-être ?

C’est ça. Pour une seule fois, c’est date sequence.
Et idem, configuration via un payload injecté à cron plus.

@Wanfr le grand maître des nœuds rouges, @golfvert, s’occupe de toi, tu es sauvé ! Je crois bien que c’est lui qui m’avait parlé de Cron-Plus la première fois…
Au stade 2, si tu suis bien, il va te parler de jsonata. C’est normal, ne crains rien, accroche toi, après on ne peut plus s’en passer !
:grinning::grinning:

1 « J'aime »

@golfvert nj’ai beau cherche, même sur la bible https://discourse.nodered.org/ je ne trouve pas la manière d’écrire limit : 1

dans date séquence il semblerai que l’on puisse limite la répétition par limit, mais comment ?

il est vrai que cron plus semble plus orienté cron et donc répétitions

Pour (essayer de) trouver une (bonne) solution, il faudrait comprendre ce que tu veux faire réellement.
Est-ce que ton heure de déclenchement change tous les jours? ou est-ce qu’elle change de façon exceptionnelle?
Si tu veux déclencher à « 10:23 » seulement aujourd’hui ou tous les jours jusqu’à ce que tu mettes autre chose dans ton input_date?

Voir par exemple Using Date and Time entities to trigger flows | node-red-contrib-home-assistant-websocket

Sans cron plus :wink:

Ma date change tous les jours, elle varie de 8h à 11h30 voir plus, est est réglé par lovelace.
et a cet horaire je voudrai déclenche un automatisme identique à la fermeture des volets au coucher du soleil.
A la différence que sunset est un déclencheur et que 9h52 non

Alors l’exemple donné par kermit dans le lien que je t’ai donné doit marcher.
En gros, ton input_date devient le trigger d’un flot.

Re

alors il faut que je passe par une fonction et une boucle ?

image

mais la boucle consomme alors qu’un déclencheur non, mais si ça n’existe pas…

Non, c’est beaucoup plus simple:

[{"id":"8474c1f0.7de2f","type":"server-state-changed","z":"89990f99.a6d4e","name":"","server":"d28c9492.f419c8","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_datetime.test_time","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":340,"y":2040,"wires":[["d037fc87.aae89"]]},{"id":"d037fc87.aae89","type":"debug","z":"89990f99.a6d4e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":2040,"wires":[]},{"id":"d28c9492.f419c8","type":"server","name":"hassio","legacy":false,"addon":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

A l’heure H, l’état va changer… et hop. Le flot est déclenché.

Re

Quand je fais ça il se déclenche dès que la valeur change, donc si je met 10:12 maintenant il va se déclencher maintenant puisque le state à changé
Et dans le msg.payload du debug j’ai la valeur que je viens de rentrer
et plus grave à l’heure H rien ne ce passe

J’ai dit une bêtise. Effectivement, ce que j’ai mis ne marche pas. Comme j’avais changé pour le test, j’ai cru que c’était bon. En fait non…

Il faut utiliser le nouveau noeud time de la palette home assistant:

[{"id":"4ce7a922.27d478","type":"ha-time","z":"89990f99.a6d4e","server":"d28c9492.f419c8","name":"","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityId":"input_datetime.test_time","property":"","offset":0,"offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":false,"payload":"$entity().state","payloadType":"jsonata","debugenabled":true,"x":320,"y":2140,"wires":[["5869ebf8.743894"]]},{"id":"5869ebf8.743894","type":"debug","z":"89990f99.a6d4e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":560,"y":2140,"wires":[]},{"id":"d28c9492.f419c8","type":"server","name":"hassio","legacy":false,"addon":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Re,

Merci ! je pensais bien que c’était possible mais sans toi impossible de trouver une solution sur le net.

Bonjour à tous,

alors voici la solution pour lancer à une heure précise, mais une seule fois par jour :
et ne pas oublier de cocher repeat daily car sinon c’est une fois et c’est fini.

merci encore @golfvert