Besoin d'aide sur automatisme nodered

Bonjour

J’ai besoin de votre aide pour résoudre un souci avec un flow nodered

Quand j’active mon alarme (passage de OFF à ON), je ferme les volets roulant arrière de la maison.
Pour ce flow pas de problème.

quand je désactive l’alarme (passage de ON à OFF) , j’ouvre les volets arrière a condition que ce soit entre 9H et 20H. cela fonctionne. Mais je me suis aperçu que lorsque je ferme les volets dans la journée , les volets s’ouvre automatiquement au bout d’une minute.

Comment faire pour que le flow ne réalise qu’une seule fois automatisme, quand l’alarme passe de ON à OFF et qu’il ne répété pas l’action toutes les minutes ?

Ci dessous mon flow.qui pose probleme

[{"id":"7d663dcd0e6e55a8","type":"trigger-state","z":"1943a307437f530f","name":"Input Alarme OFF","server":"64fc7b21.810404","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityid":"binary_sensor.shelly_alarme_channel_1_input","entityidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","propertyType":"current_state","propertyValue":"new_state.state","comparatorType":"is","comparatorValueDatatype":"str","comparatorValue":"off"},{"targetType":"this_entity","targetValue":"","propertyType":"previous_state","propertyValue":"old_state.state","comparatorType":"is","comparatorValueDatatype":"str","comparatorValue":"on"}],"inputs":0,"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"habool","enableInput":false,"x":130,"y":200,"wires":[["df8ec33131f2c9db"],[]]},{"id":"e48e663989cf95a5","type":"api-call-service","z":"1943a307437f530f","d":true,"name":"Ouverture volets automatique","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":[],"entityId":["cover.volet_v1_fictif","cover.volet_v2_fictif","cover.volet_v3_fictif","cover.volet_v4_fictif"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1010,"y":160,"wires":[[]]},{"id":"fa5a97a378a87f37","type":"time-range-switch","z":"1943a307437f530f","name":"9h à 17h","lat":"","lon":"","startTime":"09:00","endTime":"17:00","startOffset":0,"endOffset":0,"x":640,"y":160,"wires":[["e48e663989cf95a5","79088fe4c0305be9"],[]]},{"id":"f9e590813bb0571f","type":"time-range-switch","z":"1943a307437f530f","name":"9h à 20h","lat":"","lon":"","startTime":"09:00","endTime":"19:30","startOffset":0,"endOffset":0,"x":640,"y":240,"wires":[["30b160932468247c","79088fe4c0305be9"],[]]},{"id":"df8ec33131f2c9db","type":"cronplus","z":"1943a307437f530f","name":"","outputField":"payload","timeZone":"","persistDynamic":false,"commandResponseMsgOutput":"fanOut","outputs":4,"options":[{"name":"hiver","topic":"topic1","payloadType":"default","payload":"","expressionType":"cron","expression":"0 * * * JAN,FEB,MAR,NOV,DEC *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"},{"name":"ete","topic":"topic2","payloadType":"default","payload":"","expressionType":"cron","expression":"0 * * * APR,MAY,JUN,JUL,AUG,SEP *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":360,"y":200,"wires":[["fa5a97a378a87f37"],["f9e590813bb0571f"],[],[]]},{"id":"30b160932468247c","type":"api-call-service","z":"1943a307437f530f","d":true,"name":"Ouverture volets automatique","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"cover","service":"open_cover","areaId":[],"deviceId":[],"entityId":["cover.volet_v1_fictif","cover.volet_v2_fictif","cover.volet_v3_fictif","cover.volet_v4_fictif"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1010,"y":240,"wires":[[]]},{"id":"79088fe4c0305be9","type":"api-call-service","z":"1943a307437f530f","name":"Telegram Info Ouverture","server":"64fc7b21.810404","version":5,"debugenabled":false,"domain":"notify","service":"telegram_pascal_ha","areaId":[],"deviceId":[],"entityId":[],"data":"{\t   \"message\":\"Ouverture Volet (alarme)\",\t   \"title\":\"INFO : Volets\"\t}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":990,"y":80,"wires":[[]]},{"id":"64fc7b21.810404","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

Bon je pense avoir solutionné mon probleme.

J’ai mis le Triger-state (ON à OFF) entre le CRON et le Time-Range

Salut,

Justement je vois même pas à quoi sert le cron … même avant ton Trigger-state
(je n’ai pas importé le flow je rate pê un truc)

Salut, tu peux essayer en ajoutant le node filter qui laisse passer le msg uniquement si sa valeur change

C’est inclus dans le trigger-state (to _> from)

Tu peux également utiliser le node Events: State

Je pense que ton node trigger:state n’est pas configuré correctement.
Tu sors un boolean et tu testes un string ?

Le cron-plus envoi un msg toutes les minutes…
même s’il n’a rien en amont.

Le cron me sert a sélectionner les mois d’hiver (DEC,JANV,FEV et MARS) pour autoriser ouverture entre 9H et 17H
et Été (les autres mois) pour avoir ouverture entre 9H et 20H ceci afin d’éviter d’ouvrir les volets quand il commence a faire nuit (bon y avait peut être plus simple…)

En plaçant le triger-state entre le CRon et le Timerange sa fonctionne.

Pour le state type j’ai essayé avec string et boolean, Sa ne change rien

Le filtre idem sa ne change pas

Oui c’est ce que j’ai vu avec la notification (test) un message chaque minute, du coup j’ai mis le triger-state après pour que l’action ne se réalise que au changement d’état de l’alarme. dans cette configuration sa fonctionne.

Mouais …
En principe : dans la chaine NR le premier node est déclencheur… ça n’a pas de sens de commencer par vérifier si tu es en été ou en hiver… Tu mélanges 2 flows/concept je pense :

  • la gestion de l’alarme
  • la gestion des volets le soir

Quand on part on active l’alarme et les volets se ferment à l’arrière de la maison.
En fait le but c’est que les volets s’ouvre quand on rentre et que l’on désactive l’alarme.
(mais pas si il fait déjà nuit).

Dans ce cas, il faut tester en fonction de l’heure du coucher du soleil.

1 « J'aime »

Oui j’ai compris le principe,d’ailleurs : tu vois bien que dans ta formulation le concept de « nuit » arrive APRES l’ordre de bascule de l’alarme…
Donc ordre de bascule => test si nuit => test si fermé => fermeture

La modification que j’ai effectué a l’air de fonctionner.
Je vais tester demain pour voir si c’est bon.

Merci de votre aide à tous :+1:

Bonjour a tous

pouvez vous me dire sil dans nodered, il y a un nœud pour utiliser certains mois de l’année en condition (Juin,Juillet,Aout) ?
J’ai fait des recherches, mais je n’ai pas trouvé

Merci pour votre aide

Bien sur !! Il y a tout avec NodeRed :slight_smile:
Voir within time · rdmtc/node-red-contrib-sun-position Wiki · GitHub qui vient de la palette node-red-contrib-sun-position (node) - Node-RED

2 « J'aime »

Merci pour ton aide

C’est bien ce nœud dont j’ai besoin, Mais je le trouve pas dans la liste de nœud, et dans manage palet il n’apparait pas quand je fais une recherche.

J’ai bien un nœud « Time range » mais je n’ai pas toutes ces options.

Comment faut il faire ?

Dans « Manage palette », aller dans « install » et taper, par exemple, sun-position. Et c’est là…

Merci Golfvert :+1:

J’avais mis within time :pensive: sa voulais pas…Mais c’est bon maintenant. (Sa parait simple et pourtant il y a toujours un truc qui coince).

J’ai une autre question :
J’utilise ce flow pour récupérer la température extérieur

[{"id":"27118ef16aa43549","type":"tab","label":"ESSAI","disabled":false,"info":"","env":[]},{"id":"9a293f07da31aa66","type":"http request","z":"27118ef16aa43549","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"https://www.prevision-meteo.ch/services/json/paris","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"x":330,"y":80,"wires":[["c0d51df1c2b68304"]]},{"id":"c0d51df1c2b68304","type":"function","z":"27118ef16aa43549","name":"Temperature Ext.","func":"msg.payload = msg.payload.current_condition.tmp;\nreturn msg;","outputs":3,"noerr":0,"initialize":"","finalize":"","libs":[],"x":570,"y":80,"wires":[["123623f7bb06e160","a893a33070527d27"],[],[]]},{"id":"123623f7bb06e160","type":"ui_gauge","z":"27118ef16aa43549","name":"Gauge Temperature","group":"6c702cc1ec7e06c8","order":0,"width":0,"height":0,"gtype":"gage","title":"gauge","label":"units","format":"{{value}}","min":"1","max":"25","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","className":"","x":860,"y":140,"wires":[]},{"id":"a893a33070527d27","type":"debug","z":"27118ef16aa43549","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":830,"y":80,"wires":[]},{"id":"c6f66778678964fd","type":"inject","z":"27118ef16aa43549","name":"Interval 15","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"900","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":80,"wires":[["9a293f07da31aa66"]]},{"id":"6c702cc1ec7e06c8","type":"ui_group","name":"temperature","tab":"976debfa91fd1483","order":1,"disp":true,"width":"6","collapse":true,"className":""},{"id":"976debfa91fd1483","type":"ui_tab","name":"Maison ARGENTEUIL","icon":"dashboard","disabled":false,"hidden":false}]

Je voudrais pouvoir récuperer la valeur de la temperature ext. afin de l’afficher dans mon dashboard.
J’ai essayé avec le noeud « Gauge », mais sa fonctionne pas.