Advertisement
Guest User

Untitled

a guest
Nov 9th, 2021
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 183.75 KB | None | 0 0
  1. [{"id":"a9528598.9ecaf8","type":"subflow","name":"Volets","info":"","category":"","in":[{"x":80,"y":180,"wires":[{"id":"ff0f6b33.a60bc8"}]}],"out":[],"env":[],"color":"#FFCC66","icon":"node-red-contrib-sun-position/blind-white.png"},{"id":"cd5b479c.121618","type":"mqtt out","z":"a9528598.9ecaf8","name":"Open / Close / Position ","topic":"","qos":"0","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"94fffe91.c7ff7","x":1050,"y":240,"wires":[]},{"id":"e7be492.44c21b8","type":"switch","z":"a9528598.9ecaf8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"false","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":690,"y":180,"wires":[["ea173ee6.f077a","18dc491e.5502e7"],["ea173ee6.f077a","5c8dc2f.598583c"]]},{"id":"32ae3fe3.eb4cb","type":"mqtt out","z":"a9528598.9ecaf8","name":"Stop","topic":"","qos":"0","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"94fffe91.c7ff7","x":1010,"y":120,"wires":[]},{"id":"f4bd2590.dd03d8","type":"mqtt out","z":"a9528598.9ecaf8","name":"Force Refresh","topic":"","qos":"0","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"94fffe91.c7ff7","x":1440,"y":180,"wires":[]},{"id":"281791dc.e1b99e","type":"change","z":"a9528598.9ecaf8","name":"Set Refresh Value","rules":[{"t":"set","p":"payload","pt":"msg","to":"100","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1250,"y":180,"wires":[["f4bd2590.dd03d8"]]},{"id":"b16da4db.dd8fe8","type":"stoptimer-varidelay","z":"a9528598.9ecaf8","duration":"20","durationType":"num","units":"Second","payloadtype":"num","payloadval":"0","name":"Timer","reporting":"every_second","persist":true,"x":1070,"y":180,"wires":[["281791dc.e1b99e"],[],[]]},{"id":"ea173ee6.f077a","type":"function","z":"a9528598.9ecaf8","d":true,"name":"Set Queue + Reset Delay","func":"topic = env.get(\"topic\");\nmsg.topic = \"zwave/\"+topic+\"/38/1/targetValue/set\";\nwait = 20;\nmsg1={reset:true}; \nmsg2={payload:0, delay:wait, topic:msg.topic}; \nreturn [[msg1,msg2]];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":180,"wires":[["b16da4db.dd8fe8"]]},{"id":"aefe58e2.e9ade8","type":"function","z":"a9528598.9ecaf8","name":"Configuration","func":"msg.qos = 1;\nmsg.retain = true;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":180,"wires":[["e7be492.44c21b8"]]},{"id":"18dc491e.5502e7","type":"function","z":"a9528598.9ecaf8","name":"Set Queue","func":"topic = env.get(\"topic\");\nmsg.topic = \"zwave/\"+topic+\"/38/1/targetValue/set\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":850,"y":120,"wires":[["32ae3fe3.eb4cb"]]},{"id":"5c8dc2f.598583c","type":"function","z":"a9528598.9ecaf8","name":"Set Queue","func":"if (msg.payload == 100) {\n msg.payload = 99;\n}\ntopic = env.get(\"topic\");\nmsg.topic = \"zwave/\"+topic+\"/38/1/targetValue/set\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":850,"y":240,"wires":[["cd5b479c.121618"]]},{"id":"ff0f6b33.a60bc8","type":"delay","z":"a9528598.9ecaf8","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":200,"y":180,"wires":[["a7a5d7db.8980d8"]]},{"id":"a7a5d7db.8980d8","type":"switch","z":"a9528598.9ecaf8","name":"Motor ?","property":"topic","propertyType":"msg","rules":[{"t":"cont","v":"50/2/2","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":180,"wires":[["26b79ad2.e94586"],["aefe58e2.e9ade8"]]},{"id":"26b79ad2.e94586","type":"switch","z":"a9528598.9ecaf8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"else"}],"checkall":"true","repair":false,"outputs":1,"x":475,"y":140,"wires":[["904bc727.9b5388"]],"l":false},{"id":"904bc727.9b5388","type":"switch","z":"a9528598.9ecaf8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"else"}],"checkall":"true","repair":false,"outputs":1,"x":715,"y":140,"wires":[["ea173ee6.f077a"]],"l":false},{"id":"417de817.fdf9c8","type":"subflow","name":"Ambiance","info":"","category":"","in":[{"x":60,"y":270,"wires":[{"id":"8e9d1d88.8593d"}]}],"out":[{"x":810,"y":120,"wires":[{"id":"81f01d08.8c77f","port":0}]},{"x":810,"y":170,"wires":[{"id":"d474a5ee.ee1598","port":0}]},{"x":810,"y":220,"wires":[{"id":"7aea4055.b90c8","port":0}]},{"x":810,"y":270,"wires":[{"id":"56cb37c4.602918","port":0}]},{"x":810,"y":320,"wires":[{"id":"e520de0e.1154","port":0}]},{"x":810,"y":370,"wires":[{"id":"80114bf5.54bc18","port":0}]},{"x":810,"y":420,"wires":[{"id":"94f9a667.20a5c8","port":0}]}],"env":[],"meta":{},"color":"#3FADB5","outputLabels":["Journée","Nuit","Barbecue","Vacances","Soirée","Gaming","Télétravail"],"icon":"font-awesome/fa-sun-o","status":{"x":740,"y":270,"wires":[{"id":"d474a5ee.ee1598","port":0},{"id":"81f01d08.8c77f","port":0},{"id":"7aea4055.b90c8","port":0},{"id":"56cb37c4.602918","port":0},{"id":"e520de0e.1154","port":0},{"id":"80114bf5.54bc18","port":0},{"id":"94f9a667.20a5c8","port":0}]}},{"id":"50694675.f10cf8","type":"server-state-changed","z":"417de817.fdf9c8","name":"Mode Ambiance","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_select.mode_ambiance","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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":180,"y":200,"wires":[["8e60adcd.79787","81f01d08.8c77f","d474a5ee.ee1598","7aea4055.b90c8","56cb37c4.602918","e520de0e.1154","80114bf5.54bc18","94f9a667.20a5c8"]]},{"id":"8e60adcd.79787","type":"function","z":"417de817.fdf9c8","name":"Global Ambiance","func":"global.set('mode_ambiance',msg.payload);\nreturn {topic: \"ambiance\", payload: msg.payload}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":70,"wires":[[]]},{"id":"d474a5ee.ee1598","type":"switch","z":"417de817.fdf9c8","name":"Nuit ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Nuit","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":570,"y":170,"wires":[[]]},{"id":"81f01d08.8c77f","type":"switch","z":"417de817.fdf9c8","name":"Journée ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Journée","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":580,"y":120,"wires":[[]]},{"id":"7aea4055.b90c8","type":"switch","z":"417de817.fdf9c8","name":"Barbecue ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Barbecue","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":590,"y":220,"wires":[[]]},{"id":"56cb37c4.602918","type":"switch","z":"417de817.fdf9c8","name":"Vacances ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Vacances","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":590,"y":270,"wires":[[]]},{"id":"8e9d1d88.8593d","type":"change","z":"417de817.fdf9c8","name":"Get Ambiance","rules":[{"t":"set","p":"payload","pt":"msg","to":"mode_ambiance","tot":"global"},{"t":"set","p":"ambiance","pt":"msg","to":"mode_ambiance","tot":"global"}],"action":"","property":"","from":"","to":"","reg":false,"x":180,"y":270,"wires":[["81f01d08.8c77f","d474a5ee.ee1598","7aea4055.b90c8","56cb37c4.602918","e520de0e.1154","80114bf5.54bc18","94f9a667.20a5c8"]]},{"id":"e520de0e.1154","type":"switch","z":"417de817.fdf9c8","name":"Soirée ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Soirée","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":580,"y":320,"wires":[[]]},{"id":"80114bf5.54bc18","type":"switch","z":"417de817.fdf9c8","name":"Gaming ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Gaming","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":580,"y":370,"wires":[[]]},{"id":"94f9a667.20a5c8","type":"switch","z":"417de817.fdf9c8","name":"Télétravail ?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Télétravail","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":590,"y":420,"wires":[[]]},{"id":"da154e44.123b3","type":"subflow","name":"Présence","info":"","category":"","in":[{"x":460,"y":60,"wires":[{"id":"2671eb44.4186c4"}]}],"out":[{"x":1580,"y":30,"wires":[{"id":"32cea031.d4d47","port":0}]},{"x":1580,"y":80,"wires":[{"id":"32cea031.d4d47","port":1}]}],"env":[],"color":"#3FADB5","outputLabels":["Present","Absent"],"icon":"font-awesome/fa-female","status":{"x":1360,"y":90,"wires":[{"id":"d87b237d.e4d67","port":0}]}},{"id":"dc977e46.7f467","type":"server-state-changed","z":"da154e44.123b3","name":"Presence Clément","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.clement","entityidfiltertype":"exact","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":210,"y":160,"wires":[["4c7ad736.9e6228"]]},{"id":"d87b237d.e4d67","type":"function","z":"da154e44.123b3","name":"Global Presence","func":"return_status = false;\n\nvar current_presence = global.get('presence') || false;\n\nvar device_status = global.get(\"person\") || false;\nfor(let person in device_status) {\n status = device_status[person].status ;\n if (status === true) {\n return_status = true;\n }\n}\n\nglobal.set('presence', return_status)\n\nmsg.new_status = false;\nif (current_presence != return_status) {\n msg.new_status = true;\n}\n\nmsg.payload = return_status;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1210,"y":90,"wires":[["32cea031.d4d47","1da0852c.70695b"]]},{"id":"d0053767.c27328","type":"subflow:711f44dc.b8379c","z":"da154e44.123b3","name":"","env":[],"x":1510,"y":360,"wires":[]},{"id":"e770673d.7ce3a8","type":"server-state-changed","z":"da154e44.123b3","name":"Presence Monique & JMV","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.monique_et_jean_marie_2","entityidfiltertype":"exact","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":190,"y":460,"wires":[["92ae4293.5d926"]]},{"id":"6251682d.5c9d88","type":"server-state-changed","z":"da154e44.123b3","name":"Presence Femme de ménage","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.femme_de_menage","entityidfiltertype":"exact","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":180,"y":560,"wires":[["a182082a.5cf848"]]},{"id":"79edebf9.c75534","type":"server-state-changed","z":"da154e44.123b3","name":"Presence Nathalie","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.nathalie","entityidfiltertype":"exact","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":210,"y":260,"wires":[["634f7fae.15ce"]]},{"id":"1140678c.34ced8","type":"server-state-changed","z":"da154e44.123b3","name":"Presence Patryck & Nadine","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"person.patryck_nadine","entityidfiltertype":"exact","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":200,"y":360,"wires":[["2b91c823.32c1c8"]]},{"id":"5693d1e8.7dff","type":"function","z":"da154e44.123b3","name":"Format message","func":"msg.payload = \"\"\nmsg.title = 'Presence';\nmsg.dest = \"tel_clement;telegram_smarthome;mattermost_home\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1210,"y":360,"wires":[["d0053767.c27328"]]},{"id":"2671eb44.4186c4","type":"switch","z":"da154e44.123b3","name":"Person","property":"person","propertyType":"msg","rules":[{"t":"eq","v":"clement","vt":"str"},{"t":"eq","v":"nathalie","vt":"str"},{"t":"eq","v":"patryck_nadine","vt":"str"},{"t":"eq","v":"monique_jm","vt":"str"},{"t":"eq","v":"femme_de_menage","vt":"str"},{"t":"null"}],"checkall":"true","repair":false,"outputs":6,"x":580,"y":60,"wires":[["4c7ad736.9e6228"],["634f7fae.15ce"],["2b91c823.32c1c8"],["92ae4293.5d926"],["a182082a.5cf848"],["d87b237d.e4d67","3ee338d9.bc16e8"]]},{"id":"a182082a.5cf848","type":"function","z":"da154e44.123b3","name":"Check State","func":"msg.person = \"femme_de_menage\";\nname = \"Sylvie\";\n\nvar newState = msg.payload;\nvar currentState = global.get(\"person.\"+msg.person+\".status\")||false;\nmsg.begin = \"\" ;\nmsg.end = \"\" ;\n\nif (newState == \"home\") {\n msg.payload = true;\n global.set(\"person.\"+msg.person+\".status\",true);\n msg.message = \"Bienvenue à la maison \"+name+\" !\";\n if (currentState === false) {\n msg.begin = true;\n }\n}else{\n msg.payload = false;\n global.set(\"person.\"+msg.person+\".status\",false);\n msg.message = \"Au revoir \"+name+\" !\";\n if (currentState === true) {\n msg.end = false;\n }\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":790,"y":560,"wires":[["c7077fa8.a804f","bf9d0e10.4d4ee"]]},{"id":"9c920734.c0b038","type":"change","z":"da154e44.123b3","name":"Set Begin Date","rules":[{"t":"set","p":"person.femme_de_menage.begin","pt":"global","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":1160,"y":540,"wires":[[]]},{"id":"c7077fa8.a804f","type":"switch","z":"da154e44.123b3","name":"Present","property":"begin","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":540,"wires":[["9c920734.c0b038","d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"bf9d0e10.4d4ee","type":"switch","z":"da154e44.123b3","name":"Absent","property":"end","propertyType":"msg","rules":[{"t":"false"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":580,"wires":[["f7133e4b.c50f1","d87b237d.e4d67"]]},{"id":"f7133e4b.c50f1","type":"change","z":"da154e44.123b3","name":"Set End Date","rules":[{"t":"set","p":"person.femme_de_menage.end","pt":"global","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":1160,"y":580,"wires":[["bc7087ab.df9f98"]]},{"id":"bc7087ab.df9f98","type":"function","z":"da154e44.123b3","name":"Add Time","func":"var begin = parseInt(global.get(\"person.\"+msg.person+\".begin\")/1000);\nvar end = parseInt(global.get(\"person.\"+msg.person+\".end\")/1000);\n\nvar time = end-begin;\nvar date = new Date(null);\ndate.setSeconds(time); \ntime = date.toISOString().substr(11, 8);\n\nmsg.payload = \"\"\nmsg.title = 'Presence';\nmsg.dest = \"tel_clement;telegram_smarthome\";\n\nmsg.message = msg.message+\" (Temps : \"+time+\")\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1320,"y":580,"wires":[["d0053767.c27328"]]},{"id":"92ae4293.5d926","type":"function","z":"da154e44.123b3","name":"Check State","func":"msg.person = \"monique_jmv\";\nname = \"Monique & JMV\";\n\nvar newState = msg.payload;\nvar currentState = global.get(\"person.\"+msg.person+\".status\")||false;\nmsg.begin = \"\" ;\nmsg.end = \"\" ;\n\nif (newState == \"home\") {\n msg.payload = true;\n global.set(\"person.\"+msg.person+\".status\",true);\n msg.message = \"Bienvenue à la maison \"+name+\" !\";\n if (currentState === false) {\n msg.begin = true;\n }\n}else{\n msg.payload = false;\n global.set(\"person.\"+msg.person+\".status\",false);\n msg.message = \"Au revoir \"+name+\" !\";\n if (currentState === true) {\n msg.end = false;\n }\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":790,"y":460,"wires":[["173841e9.30baee","2d86bd50.f47302"]]},{"id":"173841e9.30baee","type":"switch","z":"da154e44.123b3","name":"Present","property":"begin","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":440,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"2d86bd50.f47302","type":"switch","z":"da154e44.123b3","name":"Absent","property":"end","propertyType":"msg","rules":[{"t":"false"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":480,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"2b91c823.32c1c8","type":"function","z":"da154e44.123b3","name":"Check State","func":"msg.person = \"patryck_nadine\";\nname = \"Patryck & Nadine\";\n\nvar newState = msg.payload;\nvar currentState = global.get(\"person.\"+msg.person+\".status\")||false;\nmsg.begin = \"\" ;\nmsg.end = \"\" ;\n\nif (newState == \"home\") {\n msg.payload = true;\n global.set(\"person.\"+msg.person+\".status\",true);\n msg.message = \"Bienvenue à la maison \"+name+\" !\";\n if (currentState === false) {\n msg.begin = true;\n }\n}else{\n msg.payload = false;\n global.set(\"person.\"+msg.person+\".status\",false);\n msg.message = \"Au revoir \"+name+\" !\";\n if (currentState === true) {\n msg.end = false;\n }\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":790,"y":360,"wires":[["4c960695.b64bb8","f965ad3c.cb3a8"]]},{"id":"4c960695.b64bb8","type":"switch","z":"da154e44.123b3","name":"Present","property":"begin","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":340,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"f965ad3c.cb3a8","type":"switch","z":"da154e44.123b3","name":"Absent","property":"end","propertyType":"msg","rules":[{"t":"false"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":380,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"634f7fae.15ce","type":"function","z":"da154e44.123b3","name":"Check State","func":"msg.person = \"nathalie\";\nname = \"Nathalie\";\n\nvar newState = msg.payload;\nvar currentState = global.get(\"person.\"+msg.person+\".status\")||false;\nmsg.begin = \"\" ;\nmsg.end = \"\" ;\n\nif (newState == \"home\") {\n msg.payload = true;\n global.set(\"person.\"+msg.person+\".status\",true);\n msg.message = \"Bienvenue à la maison \"+name+\" !\";\n if (currentState === false) {\n msg.begin = true;\n }\n}else{\n msg.payload = false;\n global.set(\"person.\"+msg.person+\".status\",false);\n msg.message = \"Au revoir \"+name+\" !\";\n if (currentState === true) {\n msg.end = false;\n }\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":790,"y":260,"wires":[["46f689ba.7135b8","90795b6b.f10608"]]},{"id":"46f689ba.7135b8","type":"switch","z":"da154e44.123b3","name":"Present","property":"begin","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":240,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"90795b6b.f10608","type":"switch","z":"da154e44.123b3","name":"Absent","property":"end","propertyType":"msg","rules":[{"t":"false"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":280,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"4c7ad736.9e6228","type":"function","z":"da154e44.123b3","name":"Check State","func":"msg.person = \"clement\";\nname = \"Clément\";\n\nvar newState = msg.payload;\nvar currentState = global.get(\"person.\"+msg.person+\".status\")||false;\nmsg.begin = \"\" ;\nmsg.end = \"\" ;\n\nif (newState == \"home\") {\n msg.payload = true;\n global.set(\"person.\"+msg.person+\".status\",true);\n msg.message = \"Bienvenue à la maison \"+name+\" !\";\n if (currentState === false) {\n msg.begin = true;\n }\n}else{\n msg.payload = false;\n global.set(\"person.\"+msg.person+\".status\",false);\n msg.message = \"Au revoir \"+name+\" !\";\n if (currentState === true) {\n msg.end = false;\n }\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":790,"y":160,"wires":[["82963abd.a91ba8","f4c00c74.644d4"]]},{"id":"82963abd.a91ba8","type":"switch","z":"da154e44.123b3","name":"Present","property":"begin","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":140,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"f4c00c74.644d4","type":"switch","z":"da154e44.123b3","name":"Absent","property":"end","propertyType":"msg","rules":[{"t":"false"}],"checkall":"true","repair":false,"outputs":1,"x":980,"y":180,"wires":[["d87b237d.e4d67","5693d1e8.7dff"]]},{"id":"32cea031.d4d47","type":"switch","z":"da154e44.123b3","name":"Absent or present ?","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1430,"y":50,"wires":[[],[]]},{"id":"3ee338d9.bc16e8","type":"debug","z":"da154e44.123b3","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":800,"y":60,"wires":[]},{"id":"8e28aa9.7ad5658","type":"function","z":"da154e44.123b3","name":"Format message","func":"msg.title = 'Presence';\nmsg.message = \"Activation du mode Absence\"\nmsg.dest = \"tel_clement;telegram_smarthome;mattermost_home\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1820,"y":170,"wires":[["de2e41cb.33614","4da060dc.59c61"]]},{"id":"87765a01.525108","type":"function","z":"da154e44.123b3","name":"Format message","func":"msg.title = 'Presence';\nmsg.message = \"Désactivation du mode Absence\"\nmsg.dest = \"tel_clement;telegram_smarthome;mattermost_home\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1820,"y":90,"wires":[["de2e41cb.33614","c9091fd5.ea565"]]},{"id":"de2e41cb.33614","type":"subflow:711f44dc.b8379c","z":"da154e44.123b3","name":"","env":[],"x":2040,"y":130,"wires":[]},{"id":"4da060dc.59c61","type":"debug","z":"da154e44.123b3","name":"Absence","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2030,"y":170,"wires":[]},{"id":"c9091fd5.ea565","type":"debug","z":"da154e44.123b3","name":"Presence","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2030,"y":90,"wires":[]},{"id":"1da0852c.70695b","type":"switch","z":"da154e44.123b3","name":"new_status ? ","property":"new_status","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":1410,"y":130,"wires":[["35a1096e.c6ec86"]]},{"id":"35a1096e.c6ec86","type":"switch","z":"da154e44.123b3","name":"Absent or present ?","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1600,"y":130,"wires":[["87765a01.525108"],["8e28aa9.7ad5658"]]},{"id":"711f44dc.b8379c","type":"subflow","name":"Notification","info":"","category":"","in":[{"x":100,"y":580,"wires":[{"id":"bb6496b6.c5fb38"}]}],"out":[],"env":[],"color":"#4A88C0","icon":"font-awesome/fa-comment","status":{"x":2160,"y":100,"wires":[{"id":"4e1a58dc.5faf88","port":0}]}},{"id":"11d2840b.c4c60c","type":"switch","z":"711f44dc.b8379c","name":"Redirect to dest","property":"dest","propertyType":"msg","rules":[{"t":"eq","v":"html5","vt":"str"},{"t":"cont","v":"tts_","vt":"str"},{"t":"cont","v":"tel_","vt":"str"},{"t":"cont","v":"mail_","vt":"str"},{"t":"cont","v":"discord_","vt":"str"},{"t":"cont","v":"mattermost_","vt":"str"},{"t":"cont","v":"telegram_","vt":"str"},{"t":"cont","v":"sms_","vt":"str"},{"t":"cont","v":"awtrix_","vt":"str"}],"checkall":"true","repair":false,"outputs":9,"x":1130,"y":580,"wires":[["4fba970c.85c0c8"],["45b1fc9f.afafc4"],["4fa3a02b.4b12f"],["e8221.6da3addf8"],["7aee817f.03b6a"],["1fd1b55c.8aa76b"],["fe563f3b.27a4"],["a3064f17.e8a538"],["4f3f2917.7e3108"]],"outputLabels":["","","mobile_clement","email","discord","","","",""]},{"id":"8b310362.7bd2d","type":"api-call-service","z":"711f44dc.b8379c","g":"5cda64bd.38daec","name":"html5","server":"7f33d7bb.9361a8","version":3,"debugenabled":false,"service_domain":"notify","service":"html5","entityId":"","data":"{\"message\":\"{{message}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1830,"y":100,"wires":[["4e1a58dc.5faf88"]]},{"id":"4fba970c.85c0c8","type":"function","z":"711f44dc.b8379c","g":"5cda64bd.38daec","name":"Check Short Message","func":"if (msg.short_message !== 'undefined' ) {\n msg.short_message = msg.message;\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1420,"y":100,"wires":[["81b3a930.d07b08"]]},{"id":"21b0610e.4e7cbe","type":"function","z":"711f44dc.b8379c","g":"ecef5432.e60ef8","name":"Get Configuration","func":"dest = msg.dest ;\nconfig = global.get(\"notif.home_assistant.dest.\"+dest) || 'undefined'\nmsg.entity_id = config;\n\nask = []\nmsg.payload = {};\nmsg.payload.data = {}\nif (msg.ask != undefined) {\n for(let key in msg.ask.data) {\n uri = msg.ask.data[key];\n ask.push({\n action: msg.ask.action,\n title: key,\n uri: ''+uri+'', \n })\n }\n\n msg.payload.data.data = {\n actions: ask\n };\n}\n\nmsg.payload.data.message = msg.message;\n\n\nif(msg.title != undefined) {\n msg.payload.data.title = msg.title; \n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1810,"y":380,"wires":[["868b8ddb.892fa"]]},{"id":"4fa3a02b.4b12f","type":"function","z":"711f44dc.b8379c","g":"ecef5432.e60ef8","name":"Check Short Message","func":"if (msg.short_message !== 'undefined' ) {\n msg.short_message = msg.message;\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1420,"y":380,"wires":[["24afc5e8.8aadfa"]]},{"id":"868b8ddb.892fa","type":"api-call-service","z":"711f44dc.b8379c","g":"ecef5432.e60ef8","name":"Home Assistant ","server":"7f33d7bb.9361a8","version":3,"debugenabled":true,"service_domain":"notify","service":"{{ entity_id }}","entityId":"","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2080,"y":380,"wires":[["e9da4b4c.c20068"]]},{"id":"ecea9947.6e5848","type":"function","z":"711f44dc.b8379c","g":"57b5e8a3.37d5e8","name":"Get Configuration","func":"dest = msg.dest ;\nconfig = global.get(\"notif.email.dest.\"+dest) || 'undefined'\nmsg.to = config;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1710,"y":500,"wires":[["bb7809ff.a41588","7bedaa16.93eda4"]]},{"id":"e8221.6da3addf8","type":"change","z":"711f44dc.b8379c","g":"57b5e8a3.37d5e8","name":"Message2Payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"message","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1410,"y":500,"wires":[["ecea9947.6e5848"]]},{"id":"bb7809ff.a41588","type":"e-mail","z":"711f44dc.b8379c","g":"57b5e8a3.37d5e8","server":"smtp.eu.mailgun.org","port":"587","secure":false,"tls":true,"name":"","dname":"","x":1970,"y":500,"wires":[]},{"id":"6d93ed07.b83094","type":"comment","z":"711f44dc.b8379c","name":"========== DOCUMENTATION EN ==========","info":"# Information\n\nThis flow aims to centralize all notifications.\n\nActualy, it's work with :\n- HTML5 (by Home Assistant)\n- Discord\n- Telegram\n- Email\n- TTS\n- Home Assistant (Mobile App)\n- SMS by HTTP\n\n# Requirement\n\n- node-red-contrib-chatbot\n- node-red-contrib-chatbot-discord\n- node-red-contrib-string\n- node-red-contrib-home-assistant-websocket\n- node-red-node-email\n\n\n# Input\n\nIn this exemple, you can find all inut :\n\n```\nmsg.title = \"Home Assistant - New version available\"\nmsg.dest = \"tel_clement;mail_clement;tts_80_hall\" \nmsg.message = \"Home Assistant : New version available => 0.113.0 \\n\nhttps://github.com/home-assistant/core/releases/tag/0.113.0\"\nmsg.short_message = \"Home Assistant : New version available (0.113.0)\"\nmsg.image = \"/data/image.jpeg\"\nmsg.document = \"/data/doc.js\"\nmsg.video = \"/data/video.mp4\"\n```\n> All inputs are not necessarily compatible with all services\n\n\n## Title / `msg.title`\n\n_Available on : Email_\n\nTitle use only for email\n\n_Exemple:_\n\n```\nmsg.title = \"Home Assistant - New version available\"\n```\n\n## Message / `msg.message`\n\n_Available on : Email / Telegram / Discord_\n\nLong version of message\n\n_Exemple:_\n\n```\nmsg.message = \"Home Assistant : New version available => 0.113.0 \\n https://github.com/home-assistant/core/releases/tag/0.113.0\"\n```\n\n## Short Message / `msg.short_message`\n_Available on : HTML5 / Home Assistant_\n\nShort Message use in \"popup'\n\n_Exemple:_\n```\nmsg.short_message = \"Home Assistant : New version available (0.113.0)\"\n```\n\n**WARNING : Message are Trim & `\\n` replace by space**\n> => If not set, i take msg.message.\n \n## Image / `msg.image`\n_Available on : Telegram_\n\n_Exemple:_\n```\nmsg.image = \"/data/image.jpeg\"\nmsg.image = \"https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__340.jpg\"\n```\n## Document / `msg.document`\n_Available on : Telegram_\n_Exemple:_\n```\nmsg.document = \"/data/doc.js\"\n```\n## Video / `msg.video`\n_Available on : Telegram_\n_Exemple:_\n```\nmsg.video = \"/data/video.mp4\"\n```\n\n## Destination / `msg.dest`\n\n_Available on : All_\n\nIs a string to contains all destination separated by \"`;`\"\n\n_Exemple:_\n\n```\nmsg.dest = \"tel_clement;mail_clement;tts_80_hall\" \n```\n\nMessage send to :\n- tel_clement \n- mail_clement\n- tts_80_hall \n\n### HTML5\nThis dest is always notify, you don't need to add this dest.\n\n### Discord \nDest must start by `discord_`\n\n_Exemple:_\n```\nmsg.dest = \"discord_communaute_news;discord_maison_information;discord_maison_network\" \n```\n\n### Home Assistant \nDest must start by `tel_`\n\n_Exemple:_\n```\nmsg.dest = \"tel_clement;tel_papa;tel_maman\n```\n### Email \nDest must start by `mail_`\n\n_Exemple:_\n```\nmsg.dest = \"mail_clement;mail_thomas\"\n```\n### Telegram\nDest must start by `telegram_`\n\n_Exemple:_\n```\nmsg.dest = \"telegram_smarthome;telegram_familly\"\n```\n### TTS\nDest must start by `tts_`\n\nFormat : `tts_{VOLUME}_{ENTITY_ID_OF_MEDIA_PLAYER}`\n\n_Exemple:_\n```\nmsg.dest = \"tts_80_hall\"\n```\n\n### SMS\nDest must start by `sms_`\n\n\n_Exemple:_\n```\nmsg.dest = \"sms_clement\"\n```\n\n# Configuration\nSubflow get configuration in global variable `notif.`\n> TTS no need configuration\n\n_Exemple:_\n\n```\nvar configuration = \n{\n \"discord\": {\n \"dest\": {\n \"discord_communaute_news\": \"https://discord.com/api/webhooks/XXXXXXXXXXXXXXXX\",\n \"discord_communaute_zwave\": \"https://discord.com/api/webhooks/YYYYYYYYYYYYYYYY\",\n \"discord_communaute_diy\": \"https://discord.com/api/webhooks/ZZZZZZZZZZZZZZZZZ\",\n }\n },\n \"home_assistant\": {\n \"dest\": {\n \"tel_clement\": \"mobile_app_oneplus_a6010\",\n \"tel_nathalie\": \"mobile_app_oneplus_a5000\"\n }\n },\n \"email\": {\n \"dest\": {\n \"mail_clement\": \"email1@domain.fr\",\n \"mail_john\": \"email2@domain.fr\",\n \"mail_bibi\": \"email3@domain.fr\" \n }\n },\n \"telegram\": {\n \"dest\": {\n \"telegram_smarthome\": \"ID1\",\n \"telegram_bot\": \"ID2\" \n }\n },\n \"mattermost\": {\n \"dest\": {\n \"mattermost_home\" : \"https://mattermost.domain.fr/hooks/XXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"mattermost_volets\" : \"https://mattermost.domain.fr/hooks/YYYYYYYYYYYYYYYYYYYYYYYY\",\n }\n },\n \"sms\": {\n \"url\": \"http://192.168.1.1:8080/?action=sendSms&number=##SMSNUMBER##&message=##MESSAGE##\",\n \"dest\": {\n \"sms_clement\": \"06XXXXXXXXX\",\n \"sms_nathalie\": \"06YYYYYYYYY\",\n }\n }\n}\nglobal.set(\"notif\",configuration)\n\nreturn msg;\n```\n\nYou can take this flow to help you to configure sublow :) \n\n\n```\n[\n {\n \"id\": \"bbda9cf1.ad8ba\",\n \"type\": \"inject\",\n \"z\": \"a9ae8a01.8a5bd8\",\n \"name\": \"\",\n \"props\": [\n {\n \"p\": \"payload\"\n }\n ],\n \"repeat\": \"\",\n \"crontab\": \"\",\n \"once\": true,\n \"onceDelay\": 0.1,\n \"topic\": \"\",\n \"payload\": \"\",\n \"payloadType\": \"date\",\n \"x\": 290,\n \"y\": 260,\n \"wires\": [\n [\n \"513d2c9.069c3d4\"\n ]\n ]\n },\n {\n \"id\": \"dacca689.055138\",\n \"type\": \"function\",\n \"z\": \"a9ae8a01.8a5bd8\",\n \"name\": \"Configurateur EXEMPLE\",\n \"func\": \"var configuration = \\n{\\n \\\"discord\\\": {\\n \\\"dest\\\": {\\n \\\"discord_communaute_news\\\": \\\"https://discord.com/api/webhooks/XXXXXXXXXXXXXXXX\\\",\\n \\\"discord_communaute_zwave\\\": \\\"https://discord.com/api/webhooks/YYYYYYYYYYYYYYYY\\\",\\n \\\"discord_communaute_diy\\\": \\\"https://discord.com/api/webhooks/ZZZZZZZZZZZZZZZZZ\\\",\\n }\\n },\\n \\\"home_assistant\\\": {\\n \\\"dest\\\": {\\n \\\"tel_clement\\\": \\\"mobile_app_oneplus_a6010\\\",\\n \\\"tel_nathalie\\\": \\\"mobile_app_oneplus_a5000\\\"\\n }\\n },\\n \\\"email\\\": {\\n \\\"dest\\\": {\\n \\\"mail_clement\\\": \\\"email1@domain.fr\\\",\\n \\\"mail_john\\\": \\\"email2@domain.fr\\\",\\n \\\"mail_bibi\\\": \\\"email3@domain.fr\\\" \\n }\\n },\\n \\\"telegram\\\": {\\n \\\"dest\\\": {\\n \\\"telegram_smarthome\\\": \\\"ID1\\\",\\n \\\"telegram_bot\\\": \\\"ID2\\\" \\n }\\n },\\n \\\"mattermost\\\": {\\n \\\"dest\\\": {\\n \\\"mattermost_home\\\" : \\\"https://mattermost.domain.fr/hooks/XXXXXXXXXXXXXXXXXXXXXXXXX\\\",\\n \\\"mattermost_volets\\\" : \\\"https://mattermost.domain.fr/hooks/YYYYYYYYYYYYYYYYYYYYYYYY\\\",\\n }\\n },\\n \\\"sms\\\": {\\n \\\"url\\\": \\\"http://192.168.1.1:8080/?action=sendSms&number=##SMSNUMBER##&message=##MESSAGE##\\\",\\n \\\"dest\\\": {\\n \\\"sms_clement\\\": \\\"06XXXXXXXXX\\\",\\n \\\"sms_nathalie\\\": \\\"06YYYYYYYYY\\\",\\n }\\n }\\n}\\nglobal.set(\\\"notif\\\",configuration)\\n\\nreturn msg;\",\n \"outputs\": 1,\n \"noerr\": 0,\n \"initialize\": \"\",\n \"finalize\": \"\",\n \"x\": 700,\n \"y\": 260,\n \"wires\": [\n []\n ]\n },\n {\n \"id\": \"513d2c9.069c3d4\",\n \"type\": \"change\",\n \"z\": \"a9ae8a01.8a5bd8\",\n \"name\": \"Remove old config\",\n \"rules\": [\n {\n \"t\": \"delete\",\n \"p\": \"notif\",\n \"pt\": \"global\"\n }\n ],\n \"action\": \"\",\n \"property\": \"\",\n \"from\": \"\",\n \"to\": \"\",\n \"reg\": false,\n \"x\": 470,\n \"y\": 260,\n \"wires\": [\n [\n \"dacca689.055138\"\n ]\n ]\n }\n]\n```\n\nExemple of input :\n\n```\n[{\"id\":\"66da3fb7.1e4ff\",\"type\":\"change\",\"z\":\"8a8a63c5.0c3c2\",\"name\":\"\",\"rules\":[{\"t\":\"set\",\"p\":\"title\",\"pt\":\"msg\",\"to\":\"Coucou\",\"tot\":\"str\"},{\"t\":\"set\",\"p\":\"message\",\"pt\":\"msg\",\"to\":\"Long Message\",\"tot\":\"str\"},{\"t\":\"set\",\"p\":\"short_message\",\"pt\":\"msg\",\"to\":\"Short Message\",\"tot\":\"str\"},{\"t\":\"set\",\"p\":\"dest\",\"pt\":\"msg\",\"to\":\"tel_clement;mail_clement\",\"tot\":\"str\"}],\"action\":\"\",\"property\":\"\",\"from\":\"\",\"to\":\"\",\"reg\":false,\"x\":740,\"y\":1880,\"wires\":[[\"7300bcc2.c97c34\"]]}]\n```","x":610,"y":240,"wires":[]},{"id":"82df49fa.94fce8","type":"split","z":"711f44dc.b8379c","name":"","splt":";","spltType":"str","arraySplt":"1","arraySpltType":"len","stream":false,"addname":"","x":460,"y":580,"wires":[["b75dca3b.2834b8"]]},{"id":"bb6496b6.c5fb38","type":"change","z":"711f44dc.b8379c","name":"Convert dest2payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"dest","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":580,"wires":[["82df49fa.94fce8"]]},{"id":"b75dca3b.2834b8","type":"delay","z":"711f44dc.b8379c","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"2","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":630,"y":580,"wires":[["91588395.e426"]]},{"id":"91588395.e426","type":"change","z":"711f44dc.b8379c","name":"Convert payload2dest","rules":[{"t":"set","p":"dest","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":580,"wires":[["11d2840b.c4c60c"]]},{"id":"8c9a6e88.26e9f","type":"comment","z":"711f44dc.b8379c","name":"========== DOCUMENTATION FR ==========","info":"# Information\n\nCe subflow va vous permettre de notifier plusieurs service en même temps.\n\nActuellement il gérée les services :\n- HTML5 (by Home Assistant)\n- Discord\n- Telegram\n- Email\n- TTS\n- Home Assistant (Mobile App)\n- SMS via HTTP\n\n# Pré-requis\n\n- node-red-contrib-chatbot\n- node-red-contrib-chatbot-discord\n- node-red-contrib-string\n- node-red-contrib-home-assistant-websocket\n- node-red-node-email\n\n\n# Entrée\n\nVoici la liste des inputs actuellement possible :\n\n```\nmsg.title = \"Home Assistant - New version available\"\nmsg.dest = \"tel_clement;mail_clement;tts_80_hall\" \nmsg.message = \"Home Assistant : New version available => 0.113.0 \\n\nhttps://github.com/home-assistant/core/releases/tag/0.113.0\"\nmsg.short_message = \"Home Assistant : New version available (0.113.0)\"\nmsg.image = \"/data/image.jpeg\"\nmsg.document = \"/data/doc.js\"\nmsg.video = \"/data/video.mp4\"\n```\n> Tout les inputs ne sont pas forcement compatible avec les differents services.\n\n## Titre / `msg.title`\n\n_Disponible sur : Email_\n\nTitre du mail.\n\n_Exemple:_\n\n```\nmsg.title = \"Home Assistant - New version available\"\n```\n\n## Message / `msg.message`\n\n_Disponible sur : Email / Telegram / Discord_\n\nVersion longue du message.\n\n_Exemple:_\n\n```\nmsg.message = \"Home Assistant : New version available => 0.113.0 \\n https://github.com/home-assistant/core/releases/tag/0.113.0\"\n```\n\n## Message court / `msg.short_message`\n\n_Disponible sur : HTML5 / Home Assistant_\n\nMessage reduit pour les services type \"popup\".\n\n_Exemple:_\n```\nmsg.short_message = \"Home Assistant : New version available (0.113.0)\"\n```\n\n**ATTENTION : Les messages est `trim` et les `\\n` sont remplacer par des espace**\n> => Si il n'est pas défini, je reprend les `msg.message`\n\n## Image / `msg.image`\n\n_Disponible sur : Telegram_\n\n_Exemple:_\n```\nmsg.image = \"/data/image.jpeg\"\nmsg.image = \"https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__340.jpg\"\n```\n## Document / `msg.document`\n\n_Disponible sur : Telegram_\n\n_Exemple:_\n```\nmsg.document = \"/data/doc.js\"\n```\n## Video / `msg.video`\n\n_Disponible sur : Telegram_\n\n_Exemple:_\n```\nmsg.video = \"/data/video.mp4\"\n```\n\n## Destinatation / `msg.dest`\nUn string qui contient la liste des services que vous désirez notifier séparer par des \"`;`\"\n\n_Exemple:_\n\n```\nmsg.dest = \"tel_clement;mail_clement;tts_80_hall\" \n```\n\nLe message sera envoyé à :\n- tel_clement \n- mail_clement\n- tts_80_hall \n\n### HTML5\nLa totalité des messages passe par ce système par défaut, pas besoin de l'ajouter en destination.\n\n### Discord \ndest doit commencer par `discord_`\n\n_Exemple:_\n```\nmsg.dest = \"discord_communaute_news;discord_maison_information;discord_maison_network\" \n```\n\n### Home Assistant \ndest doit commencer par `tel_`\n\n_Exemple:_\n```\nmsg.dest = \"tel_clement;tel_papa;tel_maman\n```\n### Email \ndest doit commencer par `mail_`\n\n_Exemple:_\n```\nmsg.dest = \"mail_clement;mail_thomas\"\n```\n### Telegram\ndest doit commencer par `telegram_`\n\n_Exemple:_\n```\nmsg.dest = \"telegram_smarthome;telegram_familly\"\n```\n### TTS\ndest doit commencer par `tts_`\n\nFormat : `tts_{VOLUME}_{ENTITY_ID_DU_MEDIA_PLAYER}`\n\n_Exemple:_\n```\nmsg.dest = \"tts_80_hall\"\n```\n### SMS\ndest doit commencer par `sms_`\n\n_Exemple:_\n```\nmsg.dest = \"sms_clement\"\n```\n\n# Configuration\n\nLe subflow récupére sa configuration via la variable Global `notif.`\n\n> TTS n'a besoin d'aucune configuration particulière\n\n_Exemple:_\n\n```\nvar configuration = \n{\n \"discord\": {\n \"dest\": {\n \"discord_communaute_news\": \"https://discord.com/api/webhooks/XXXXXXXXXXXXXXXX\",\n \"discord_communaute_zwave\": \"https://discord.com/api/webhooks/YYYYYYYYYYYYYYYY\",\n \"discord_communaute_diy\": \"https://discord.com/api/webhooks/ZZZZZZZZZZZZZZZZZ\",\n }\n },\n \"home_assistant\": {\n \"dest\": {\n \"tel_clement\": \"mobile_app_oneplus_a6010\",\n \"tel_nathalie\": \"mobile_app_oneplus_a5000\"\n }\n },\n \"email\": {\n \"dest\": {\n \"mail_clement\": \"email1@domain.fr\",\n \"mail_john\": \"email2@domain.fr\",\n \"mail_bibi\": \"email3@domain.fr\" \n }\n },\n \"telegram\": {\n \"dest\": {\n \"telegram_smarthome\": \"ID1\",\n \"telegram_bot\": \"ID2\" \n }\n },\n \"mattermost\": {\n \"dest\": {\n \"mattermost_home\" : \"https://mattermost.domain.fr/hooks/XXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"mattermost_volets\" : \"https://mattermost.domain.fr/hooks/YYYYYYYYYYYYYYYYYYYYYYYY\",\n }\n },\n \"sms\": {\n \"url\": \"http://192.168.1.1:8080/?action=sendSms&number=##SMSNUMBER##&message=##MESSAGE##\",\n \"dest\": {\n \"sms_clement\": \"06XXXXXXXXX\",\n \"sms_nathalie\": \"06YYYYYYYYY\",\n }\n }\n}\nglobal.set(\"notif\",configuration)\n\nreturn msg;\n```\n\nPour vous aidez dans la configuration voici une function qui va vous permettres de pousser votre configuration à chaque deploiement.\n\nTout ce passe dans le node `Function`.\n\n\n```\n[\n {\n \"id\": \"bbda9cf1.ad8ba\",\n \"type\": \"inject\",\n \"z\": \"a9ae8a01.8a5bd8\",\n \"name\": \"\",\n \"props\": [\n {\n \"p\": \"payload\"\n }\n ],\n \"repeat\": \"\",\n \"crontab\": \"\",\n \"once\": true,\n \"onceDelay\": 0.1,\n \"topic\": \"\",\n \"payload\": \"\",\n \"payloadType\": \"date\",\n \"x\": 290,\n \"y\": 260,\n \"wires\": [\n [\n \"513d2c9.069c3d4\"\n ]\n ]\n },\n {\n \"id\": \"dacca689.055138\",\n \"type\": \"function\",\n \"z\": \"a9ae8a01.8a5bd8\",\n \"name\": \"Configurateur EXEMPLE\",\n \"func\": \"var configuration = \\n{\\n \\\"discord\\\": {\\n \\\"dest\\\": {\\n \\\"discord_communaute_news\\\": \\\"https://discord.com/api/webhooks/XXXXXXXXXXXXXXXX\\\",\\n \\\"discord_communaute_zwave\\\": \\\"https://discord.com/api/webhooks/YYYYYYYYYYYYYYYY\\\",\\n \\\"discord_communaute_diy\\\": \\\"https://discord.com/api/webhooks/ZZZZZZZZZZZZZZZZZ\\\",\\n }\\n },\\n \\\"home_assistant\\\": {\\n \\\"dest\\\": {\\n \\\"tel_clement\\\": \\\"mobile_app_oneplus_a6010\\\",\\n \\\"tel_nathalie\\\": \\\"mobile_app_oneplus_a5000\\\"\\n }\\n },\\n \\\"email\\\": {\\n \\\"dest\\\": {\\n \\\"mail_clement\\\": \\\"email1@domain.fr\\\",\\n \\\"mail_john\\\": \\\"email2@domain.fr\\\",\\n \\\"mail_bibi\\\": \\\"email3@domain.fr\\\" \\n }\\n },\\n \\\"telegram\\\": {\\n \\\"dest\\\": {\\n \\\"telegram_smarthome\\\": \\\"ID1\\\",\\n \\\"telegram_bot\\\": \\\"ID2\\\" \\n }\\n },\\n \\\"mattermost\\\": {\\n \\\"dest\\\": {\\n \\\"mattermost_home\\\" : \\\"https://mattermost.domain.fr/hooks/XXXXXXXXXXXXXXXXXXXXXXXXX\\\",\\n \\\"mattermost_volets\\\" : \\\"https://mattermost.domain.fr/hooks/YYYYYYYYYYYYYYYYYYYYYYYY\\\",\\n }\\n },\\n \\\"sms\\\": {\\n \\\"url\\\": \\\"http://192.168.1.1:8080/?action=sendSms&number=##SMSNUMBER##&message=##MESSAGE##\\\",\\n \\\"dest\\\": {\\n \\\"sms_clement\\\": \\\"06XXXXXXXXX\\\",\\n \\\"sms_nathalie\\\": \\\"06YYYYYYYYY\\\",\\n }\\n }\\n}\\nglobal.set(\\\"notif\\\",configuration)\\n\\nreturn msg;\",\n \"outputs\": 1,\n \"noerr\": 0,\n \"initialize\": \"\",\n \"finalize\": \"\",\n \"x\": 700,\n \"y\": 260,\n \"wires\": [\n []\n ]\n },\n {\n \"id\": \"513d2c9.069c3d4\",\n \"type\": \"change\",\n \"z\": \"a9ae8a01.8a5bd8\",\n \"name\": \"Remove old config\",\n \"rules\": [\n {\n \"t\": \"delete\",\n \"p\": \"notif\",\n \"pt\": \"global\"\n }\n ],\n \"action\": \"\",\n \"property\": \"\",\n \"from\": \"\",\n \"to\": \"\",\n \"reg\": false,\n \"x\": 470,\n \"y\": 260,\n \"wires\": [\n [\n \"dacca689.055138\"\n ]\n ]\n }\n]\n```\n\nEt voici un exemple de flow d'input :\n\n```\n[{\"id\":\"66da3fb7.1e4ff\",\"type\":\"change\",\"z\":\"8a8a63c5.0c3c2\",\"name\":\"\",\"rules\":[{\"t\":\"set\",\"p\":\"title\",\"pt\":\"msg\",\"to\":\"Coucou\",\"tot\":\"str\"},{\"t\":\"set\",\"p\":\"message\",\"pt\":\"msg\",\"to\":\"Long Message\",\"tot\":\"str\"},{\"t\":\"set\",\"p\":\"short_message\",\"pt\":\"msg\",\"to\":\"Short Message\",\"tot\":\"str\"},{\"t\":\"set\",\"p\":\"dest\",\"pt\":\"msg\",\"to\":\"tel_clement;mail_clement\",\"tot\":\"str\"}],\"action\":\"\",\"property\":\"\",\"from\":\"\",\"to\":\"\",\"reg\":false,\"x\":740,\"y\":1880,\"wires\":[[\"7300bcc2.c97c34\"]]}]\n```","x":610,"y":300,"wires":[]},{"id":"3804914.3e0396e","type":"api-call-service","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Media Player : ON","server":"7f33d7bb.9361a8","version":3,"debugenabled":false,"service_domain":"media_player","service":"turn_on","entityId":"media_player.{{dest}}","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2010,"y":260,"wires":[["50d5d992.12f778"]]},{"id":"9be43a39.86fb38","type":"api-current-state","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Get Current Volume","server":"7f33d7bb.9361a8","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"media_player.{{dest}}","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":2380,"y":260,"wires":[["ce050387.d13e9"]]},{"id":"50d5d992.12f778","type":"delay","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":2200,"y":260,"wires":[["9be43a39.86fb38"]]},{"id":"5d1f7d2d.00d694","type":"api-call-service","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Set volume","server":"7f33d7bb.9361a8","version":3,"debugenabled":true,"service_domain":"media_player","service":"volume_set","entityId":"media_player.{{dest}}","data":"{\"entity_id\":\"media_player.{{ dest }}\",\"volume_level\":\"{{ volume }}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2810,"y":260,"wires":[["b8f7a36e.3e1aa"]]},{"id":"ce050387.d13e9","type":"change","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Save Current Volume","rules":[{"t":"set","p":"current_volume","pt":"msg","to":"data.attributes.volume_level","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":2600,"y":260,"wires":[["5d1f7d2d.00d694"]]},{"id":"eaee88f3.fe9138","type":"api-current-state","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Get State","server":"7f33d7bb.9361a8","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"media_player.{{dest}}","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":1680,"y":260,"wires":[["60a2789f.1842a8"]]},{"id":"45b1fc9f.afafc4","type":"function","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Split Message","func":"dest = msg.dest.split('_');\nmsg.volume = dest[1]/100;\nmsg.dest = msg.dest.replace('tts_'+dest[1]+\"_\",\"\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1400,"y":260,"wires":[["4bbdd1c0.ff6a7"]]},{"id":"b8f7a36e.3e1aa","type":"api-call-service","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Play TTS","server":"7f33d7bb.9361a8","version":3,"debugenabled":false,"service_domain":"tts","service":"google_translate_say","entityId":"media_player.{{dest}}","data":"{\"entity_id\":\"media_player.{{ dest }}\",\"message\":\"{{ message }}\",\"language\":\"fr\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2960,"y":260,"wires":[["3ed2b5a9.244f3a"]]},{"id":"5214f35f.538f4c","type":"api-call-service","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Reset volume","server":"7f33d7bb.9361a8","version":3,"debugenabled":true,"service_domain":"media_player","service":"volume_set","entityId":"media_player.{{dest}}","data":"{\"entity_id\":\"media_player.{{ dest }}\",\"volume_level\":\"{{ current_volume }}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":3440,"y":260,"wires":[["1af7d6f3.9aaa19"]]},{"id":"3ed2b5a9.244f3a","type":"delay","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":3120,"y":260,"wires":[["5d7f8264.16666c"]]},{"id":"5d7f8264.16666c","type":"api-current-state","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Get State","server":"7f33d7bb.9361a8","version":2,"outputs":2,"halt_if":"playing","halt_if_type":"str","halt_if_compare":"is","entity_id":"media_player.{{dest}}","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":3260,"y":260,"wires":[["ca608072.a3c81"],["5214f35f.538f4c"]]},{"id":"1af7d6f3.9aaa19","type":"api-call-service","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Media Player : OFF","server":"7f33d7bb.9361a8","version":3,"debugenabled":false,"service_domain":"media_player","service":"turn_off","entityId":"media_player.{{dest}}","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":3630,"y":260,"wires":[["18cbe457.1dfa6c"]]},{"id":"ca608072.a3c81","type":"link out","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"OUT : Wait idle","links":["e5fe9d8c.96704"],"x":3440,"y":220,"wires":[],"l":true},{"id":"e5fe9d8c.96704","type":"link in","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"IN : Wait idle","links":["ca608072.a3c81"],"x":2950,"y":220,"wires":[["3ed2b5a9.244f3a"]],"l":true},{"id":"60a2789f.1842a8","type":"switch","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Check status","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"},{"t":"eq","v":"idle","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1830,"y":260,"wires":[["3804914.3e0396e"],["3804914.3e0396e"]]},{"id":"81b3a930.d07b08","type":"string","z":"711f44dc.b8379c","g":"5cda64bd.38daec","name":"","methods":[{"name":"replaceAll","params":[{"type":"str","value":"\\n"},{"type":"str","value":" "}]},{"name":"trim","params":[]}],"prop":"message","propout":"message","object":"msg","objectout":"msg","x":1630,"y":100,"wires":[["8b310362.7bd2d"]]},{"id":"24afc5e8.8aadfa","type":"string","z":"711f44dc.b8379c","g":"ecef5432.e60ef8","name":"","methods":[{"name":"replaceAll","params":[{"type":"str","value":"\\n"},{"type":"str","value":" "}]},{"name":"trim","params":[]}],"prop":"message","propout":"message","object":"msg","objectout":"msg","x":1590,"y":380,"wires":[["21b0610e.4e7cbe"]]},{"id":"4bbdd1c0.ff6a7","type":"string","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"","methods":[{"name":"replaceAll","params":[{"type":"str","value":"\\n"},{"type":"str","value":" "}]},{"name":"trim","params":[]}],"prop":"message","propout":"message","object":"msg","objectout":"msg","x":1550,"y":260,"wires":[["eaee88f3.fe9138"]]},{"id":"4e1a58dc.5faf88","type":"function","z":"711f44dc.b8379c","g":"5cda64bd.38daec","name":"Log","func":"node.log(\"NOTIF / HTML5 => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2030,"y":100,"wires":[[]]},{"id":"e9da4b4c.c20068","type":"function","z":"711f44dc.b8379c","g":"ecef5432.e60ef8","name":"Log","func":"node.log(\"NOTIF / Home Assistant => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2250,"y":380,"wires":[[]]},{"id":"7bedaa16.93eda4","type":"function","z":"711f44dc.b8379c","g":"57b5e8a3.37d5e8","name":"Log","func":"node.log(\"NOTIF / Email => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2250,"y":500,"wires":[[]]},{"id":"18cbe457.1dfa6c","type":"function","z":"711f44dc.b8379c","g":"3ba17f01.1ad71","name":"Log","func":"node.log(\"NOTIF / TTS => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3790,"y":260,"wires":[[]]},{"id":"dc0af305.08c5c","type":"function","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Log","func":"node.log(\"NOTIF / Mattermost => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2510,"y":860,"wires":[[]]},{"id":"1fd1b55c.8aa76b","type":"function","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Get Configuration","func":"dest = msg.dest ;\nconfig = global.get(\"notif.mattermost.dest.\"+dest) || 'undefined'\n\nmsg.data = {};\nmsg.webhook = config;\nmsg.data.username = \"SmartHome\";\nmsg.data.icon_url = \"https://www.contextworld.com/documents/20126/237707/Smart+Home_M.Blue+Icon.png/c92f8c28-6f99-c685-d21a-85c7cf90b515?t=1544434686070\";\nmsg.data.text = msg.message;\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1410,"y":820,"wires":[["5b2efbf4.ae0024"]]},{"id":"865195e1.9bc408","type":"http request","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Post Request","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":2060,"y":820,"wires":[["5cef7e36.fb01f"]]},{"id":"320a88d2.7cb0a8","type":"function","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Format Query","func":"msg.url = msg.webhook\nmsg.method = \"POST\"\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/json';\nmsg.payload = msg.data;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1840,"y":820,"wires":[["865195e1.9bc408"]]},{"id":"5b2efbf4.ae0024","type":"json","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Convert Data to String","property":"data","action":"","pretty":false,"x":1630,"y":820,"wires":[["320a88d2.7cb0a8"]]},{"id":"abcea9a6.402238","type":"function","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Log","func":"node.log(\"NOTIF / Discord => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2510,"y":680,"wires":[[]]},{"id":"7aee817f.03b6a","type":"function","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Get Configuration","func":"dest = msg.dest ;\nconfig = global.get(\"notif.discord.dest.\"+dest) || 'undefined'\nmsg.webhook = config;\n\n// MESSAGE\nusername = msg.username || \"undefined\";\ncontent = msg.message || \"undefined\";\navatar_url = msg.avatar_url || \"undefined\";\n\n// AUTHOR\nembeds_author_name = msg.embeds_author_name || \"undefined\";\nembeds_author_icon_url = msg.embeds_author_icon_url || \"undefined\";\nembeds_author_url = msg.embeds_author_url || \"undefined\";\n\nembeds_title = msg.embeds_title || \"undefined\";\nembeds_description = msg.embeds_description || \"undefined\";\nembeds_image = msg.embeds_image || \"undefined\";\nembeds_color = msg.embeds_color || \"undefined\";\nembeds_url = msg.embeds_url || \"undefined\";\nembeds_thumbnail = msg.embeds_thumbnail || \"undefined\";\nembeds_footer = msg.embeds_footer || \"undefined\";\n\nmsg.data = {};\nembeds_data = [];\n\nif (content != \"undefined\") {\n msg.data.content = content;\n} \nif (username == \"undefined\") {\n msg.data.username = \"Node-RED\";\n}else{\n msg.data.username = username; \n}\nif (avatar_url == \"undefined\") {\n msg.data.avatar_url = \"https://silanus.fr/sin/wp-content/uploads/2018/02/node-red-icon.png\";\n}else{\n msg.data.avatar_url = avatar_url; \n}\n\nif (embeds_url != \"undefined\" || embeds_title != \"undefined\" || embeds_description != \"undefined\" || embeds_thumbnail != \"undefined\" || embeds_image != \"undefined\" || embeds_footer != \"undefined\") {\n message = {}\n \n if (embeds_author_name != \"undefined\" || embeds_author_icon_url != \"undefined\" || embeds_author_url != \"undefined\") {\n message.author = {}\n \n if(embeds_author_name != \"undefined\") {\n message.author.name = embeds_author_name;\n }\n if(embeds_author_url != \"undefined\") {\n message.author.url = embeds_author_url;\n }\n if(embeds_author_icon_url != \"undefined\") {\n message.author.icon_url = embeds_author_icon_url;\n } \n }\n \n if(embeds_title != \"undefined\") {\n message.title = msg.embeds_title;\n }\n if(embeds_description != \"undefined\") {\n message.description = msg.embeds_description;\n }\n if(embeds_color != \"undefined\") {\n message.color = parseInt(msg.embeds_color,16);\n } \n if(embeds_url != \"undefined\") {\n message.url = msg.embeds_url;\n } \n if(embeds_thumbnail != \"undefined\") {\n message.thumbnail = {};\n message.thumbnail.url = msg.embeds_thumbnail;\n }\n if(embeds_image != \"undefined\") {\n message.image = {};\n message.image.url = msg.embeds_image;\n }\n if(embeds_footer != \"undefined\") {\n message.footer = {};\n message.footer.text = msg.embeds_footer;\n }\n\n embeds_data.push(message);\n msg.data.embeds = embeds_data;\n} \n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1410,"y":640,"wires":[["e02544ec.c0c9c8"]]},{"id":"c8f2b71d.230328","type":"http request","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Post Request","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":2060,"y":640,"wires":[["e896886c.c45658"]]},{"id":"5e87cf54.db54","type":"function","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Format Query","func":"msg.url = msg.webhook\nmsg.method = \"POST\"\nmsg.headers = {};\nmsg.headers['Content-Type'] = 'application/json';\nmsg.payload = msg.data;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1840,"y":640,"wires":[["c8f2b71d.230328"]]},{"id":"e02544ec.c0c9c8","type":"json","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Convert Data to String","property":"data","action":"","pretty":false,"x":1630,"y":640,"wires":[["5e87cf54.db54"]]},{"id":"fe563f3b.27a4","type":"function","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Get Configuration","func":"dest = msg.dest ;\nconfig = global.get(\"notif.telegram.dest.\"+dest) || 'undefined'\n\nvar retour = [];\n\n// Message\nif (msg.message !== \"\") {\n payload = {\n chatId: config,\n type: 'message',\n content: msg.message\n }\n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload});\n\n// Image\nif (msg.image !== \"\") {\n payload = {\n chatId: config,\n type: 'photo',\n content: msg.image\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n// Video\nif (msg.video !== \"\") {\n payload = {\n chatId: config,\n type: 'video',\n content: msg.video\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n// Audio\nif (msg.audio !== \"\") {\n payload = {\n chatId: config,\n type: 'audio',\n content: msg.audio\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n// Location\nif (msg.location !== \"\") {\n payload = {\n chatId: config,\n type: 'location',\n content: msg.location\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n\n// Animation\nif (msg.animation !== \"\") {\n payload = {\n chatId: config,\n type: 'animation',\n content: msg.animation\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n\n// Voice\nif (msg.voice !== \"\") {\n payload = {\n chatId: config,\n type: 'voice',\n content: msg.voice\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n// Contact\nif (msg.contact !== \"\") {\n payload = {\n chatId: config,\n type: 'contact',\n content: msg.contact\n } \n}else{\n payload = {\"chatId\": none};\n}\nretour.push({payload})\n\n\nreturn retour;","outputs":8,"noerr":0,"initialize":"","finalize":"","x":1410,"y":1100,"wires":[["a1937b5e.f10f08"],["74de5d62.659ac4"],["6bccc1cf.04292"],["ba9c06f3.258228"],["fdc2c34.6b5b44"],["4adb3e12.c6031"],["8098137f.117d6"],["8c1c7eae.f4fe8"]]},{"id":"a5718a48.8221c8","type":"function","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Log","func":"node.log(\"NOTIF / Telegram => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2090,"y":1100,"wires":[[]]},{"id":"a1937b5e.f10f08","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Message ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1670,"y":960,"wires":[["bb563cb0.de18d"]]},{"id":"74de5d62.659ac4","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Image ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1660,"y":1000,"wires":[["bb563cb0.de18d"]]},{"id":"6bccc1cf.04292","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Video ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1660,"y":1040,"wires":[["bb563cb0.de18d"]]},{"id":"ba9c06f3.258228","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Audio ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1660,"y":1080,"wires":[["bb563cb0.de18d"]]},{"id":"bb563cb0.de18d","type":"telegram sender","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"","bot":"930eda8b.cf74a8","outputs":1,"x":1930,"y":1100,"wires":[["a5718a48.8221c8"]]},{"id":"8098137f.117d6","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Voice ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1660,"y":1200,"wires":[["bb563cb0.de18d"]]},{"id":"fdc2c34.6b5b44","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Location ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1670,"y":1120,"wires":[["bb563cb0.de18d"]]},{"id":"4adb3e12.c6031","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Animation ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1670,"y":1160,"wires":[["bb563cb0.de18d"]]},{"id":"8c1c7eae.f4fe8","type":"switch","z":"711f44dc.b8379c","g":"286dba59.7ed416","name":"Contact ?","property":"payload.content","propertyType":"msg","rules":[{"t":"nnull"}],"checkall":"true","repair":false,"outputs":1,"x":1660,"y":1240,"wires":[["bb563cb0.de18d"]]},{"id":"e9b7f1e.7b2dc1","type":"link out","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Retry Discord","links":["d1db25d0.686ce8"],"x":2700,"y":600,"wires":[],"l":true},{"id":"d1db25d0.686ce8","type":"link in","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"Retry Discord","links":["e9b7f1e.7b2dc1"],"x":1670,"y":600,"wires":[["5e87cf54.db54"]],"l":true},{"id":"6a81a4ef.2d8d9c","type":"link out","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Retry Mattermost","links":["2b204825.ddc228"],"x":2710,"y":780,"wires":[],"l":true},{"id":"2b204825.ddc228","type":"link in","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"Retry Mattermost","links":["6a81a4ef.2d8d9c"],"x":1650,"y":780,"wires":[["320a88d2.7cb0a8"]],"l":true},{"id":"1c900d5e.09b683","type":"delay","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":2520,"y":600,"wires":[["e9b7f1e.7b2dc1"]]},{"id":"8275ade.a46ba5","type":"delay","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":2520,"y":780,"wires":[["6a81a4ef.2d8d9c"]]},{"id":"e896886c.c45658","type":"function","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"","func":"if (msg.statusCode < 300 && msg.statusCode >= 200) {\n msg.success = true;\n}else{\n msg.success = false;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2240,"y":640,"wires":[["2e838fa7.9cc17"]]},{"id":"2e838fa7.9cc17","type":"switch","z":"711f44dc.b8379c","g":"ecdc435a.d458e","name":"","property":"payload","propertyType":"msg","rules":[{"t":"false"},{"t":"true"}],"checkall":"true","repair":false,"outputs":2,"x":2370,"y":640,"wires":[["1c900d5e.09b683"],["abcea9a6.402238"]]},{"id":"5cef7e36.fb01f","type":"function","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"","func":"if (msg.statusCode < 300 && msg.statusCode >= 200) {\n msg.success = true;\n}else{\n msg.success = false;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2240,"y":820,"wires":[["8e5741c9.438b9"]]},{"id":"8e5741c9.438b9","type":"switch","z":"711f44dc.b8379c","g":"64bee8ef.b70198","name":"","property":"payload","propertyType":"msg","rules":[{"t":"false"},{"t":"true"}],"checkall":"true","repair":false,"outputs":2,"x":2370,"y":820,"wires":[["8275ade.a46ba5"],["dc0af305.08c5c"]]},{"id":"75261914.04f268","type":"http request","z":"711f44dc.b8379c","g":"53f4a8db.b4d4","name":"SMS via HTTP","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":1620,"y":1350,"wires":[["8dd71a85.f2d438"]]},{"id":"8dd71a85.f2d438","type":"function","z":"711f44dc.b8379c","g":"53f4a8db.b4d4","name":"Log","func":"node.log(\"NOTIF / SMS => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1770,"y":1350,"wires":[[]]},{"id":"a3064f17.e8a538","type":"function","z":"711f44dc.b8379c","g":"53f4a8db.b4d4","name":"Get Configuration","func":"var dest = msg.dest ;\nvar sms_url = global.get('notif.sms.url');\nvar sms_number = global.get(\"notif.sms.dest.\"+dest) || 'undefined'\nvar message = encodeURIComponent(msg.message);\n\nmsg.method = \"POST\"\nmsg.url = sms_url.replace(\"##SMSNUMBER##\",sms_number).replace(\"##MESSAGE##\",message)\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1410,"y":1350,"wires":[["75261914.04f268"]]},{"id":"fd1b76aa.ef0938","type":"http request","z":"711f44dc.b8379c","g":"7e7775b.f8ebb8c","name":"awtrix notify","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":1610,"y":1460,"wires":[["39428588.44afda"]]},{"id":"39428588.44afda","type":"function","z":"711f44dc.b8379c","g":"7e7775b.f8ebb8c","name":"Log","func":"node.log(\"NOTIF / Awtrix => OK\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1770,"y":1460,"wires":[[]]},{"id":"4f3f2917.7e3108","type":"function","z":"711f44dc.b8379c","g":"7e7775b.f8ebb8c","name":"Get Configuration","func":"var dest = msg.dest;\nvar message = msg.message;\nvar awtrix_host = global.get(\"notif.awtrix.dest.\" + dest) || 'undefined'\n\nmsg.method = \"POST\"\nmsg.url = \"http://\" + awtrix_host + \"/api/v3/notify\"\n\nmsg.payload = {\n \"name\": \"NodeRedNotification\",\n \"icon\": 225,\n \"moveIcon\": true,\n \"lifetime\": 999999,\n \"text\": message,\n \"repeat\": 2,\n \"color\": [0, 255, 0]\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1410,"y":1460,"wires":[["fd1b76aa.ef0938"]]},{"id":"b05aae4b.366cc","type":"http in","z":"711f44dc.b8379c","name":"","url":"/notif","method":"get","upload":false,"swaggerDoc":"","x":700,"y":680,"wires":[["542e8255.5641bc","86c856c4.a9d068"]]},{"id":"542e8255.5641bc","type":"function","z":"711f44dc.b8379c","name":"","func":"msg = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":860,"y":680,"wires":[["11d2840b.c4c60c"]]},{"id":"bc0689a.817ab78","type":"http response","z":"711f44dc.b8379c","name":"","statusCode":"","headers":{},"x":1000,"y":730,"wires":[]},{"id":"86c856c4.a9d068","type":"change","z":"711f44dc.b8379c","name":"Return","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"return\":true}","tot":"json"},{"t":"set","p":"statusCode","pt":"msg","to":"200","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":730,"wires":[["bc0689a.817ab78"]]},{"id":"930eda8b.cf74a8","type":"telegram bot","botname":"Node-RED","usernames":"","chatids":"","baseapiurl":"","updatemode":"polling","pollinterval":"1000","usesocks":false,"sockshost":"","socksport":"6667","socksusername":"anonymous","sockspassword":"","bothost":"","localbotport":"8443","publicbotport":"8443","privatekey":"","certificate":"","useselfsignedcertificate":false,"sslterminated":false,"verboselogging":false},{"id":"f2a092ac.3f903","type":"tab","label":"Volets","disabled":false,"info":""},{"id":"509e2965.897ee8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_canicule_fermeture_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_canicule_fermeture_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":280,"y":2350,"wires":[["8b92ed92.5e431"]]},{"id":"4548114.c2a80f","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_canicule_degree_enable_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_canicule_degree_enable_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":270,"y":2170,"wires":[["4732a628.a915b8"]]},{"id":"4732a628.a915b8","type":"function","z":"f2a092ac.3f903","name":"canicule.degree_enable","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_canicule_degree_enable_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".canicule.degree_enable\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".canicule.degree_enable\",value);\n return msg;\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":590,"y":2170,"wires":[["b34baef5.9f785"]]},{"id":"8b92ed92.5e431","type":"function","z":"f2a092ac.3f903","name":"canicule.fermeture","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_canicule_fermeture_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".canicule.fermeture\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".canicule.fermeture\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":2350,"wires":[["b34baef5.9f785"]]},{"id":"9e53af4c.f91d7","type":"server-state-changed","z":"f2a092ac.3f903","name":"etat_volet_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.etat_volet_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":340,"y":720,"wires":[["9fdb5b9.f2a1ca8"]]},{"id":"9fdb5b9.f2a1ca8","type":"function","z":"f2a092ac.3f903","name":"volet_status","func":"var value = msg.payload;\nif( !isNaN(value) ) {\n var topic = msg.topic;\n topic = topic.replace('sensor.etat_volet_',\"\")\n var current_value = flow.get(\"volet_config.\"+topic+\".volet_status\")|| false;\n if (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".volet_status\",Number(value));\n return msg;\n }\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":720,"wires":[["1cc78c01.687954"]]},{"id":"d3755889.e29df8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_offset_pre_sunrise_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_offset_pre_sunrise_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":290,"y":1930,"wires":[["7c983d4c.a4e1d4"]]},{"id":"7c983d4c.a4e1d4","type":"function","z":"f2a092ac.3f903","name":"offset_pre_sunrise","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_offset_pre_sunrise_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".offset_pre_sunrise\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".offset_pre_sunrise\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":1930,"wires":[["78111fb.d3a43e"]]},{"id":"ba8b4a2b.1264b8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_offset_pre_sunset_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_offset_pre_sunset_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":290,"y":1990,"wires":[["1c62b266.968a2e"]]},{"id":"f97b687e.d77d08","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_offset_sunrise_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_offset_sunrise_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":300,"y":1150,"wires":[["5df8a3c0.fd791c"]]},{"id":"59a74e35.54f3f","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_offset_sunset_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_offset_sunset_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":300,"y":1230,"wires":[["a1b7f784.693968"]]},{"id":"d3e9e2e6.973fc","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_ouverture_min_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_datetime.volet_ouverture_min_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":300,"y":1350,"wires":[["d4bdbcbe.11ed3"]]},{"id":"d4bdbcbe.11ed3","type":"function","z":"f2a092ac.3f903","name":"volet_ouverture.min","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_datetime.volet_ouverture_min_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".volet_ouverture.min\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".volet_ouverture.min\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":1350,"wires":[["d62d5b.e6d522a8"]]},{"id":"6b38dad9.6dd554","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_ouverture_max_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_datetime.volet_ouverture_max_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":300,"y":1430,"wires":[["46b4a376.b05d5c"]]},{"id":"516bdfde.8c60e","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_fermeture_min_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_datetime.volet_fermeture_min_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":300,"y":1550,"wires":[["1ccea80f.e87b68"]]},{"id":"7fd00c8b.865954","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_fermeture_max_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_datetime.volet_fermeture_max_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":300,"y":1630,"wires":[["e69ecf79.e333a"]]},{"id":"1c62b266.968a2e","type":"function","z":"f2a092ac.3f903","name":"offset_pre_sunset","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_offset_pre_sunset_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".offset_pre_sunset\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".offset_pre_sunset\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":1990,"wires":[["78111fb.d3a43e"]]},{"id":"a1b7f784.693968","type":"function","z":"f2a092ac.3f903","name":"offset_sunset","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_offset_sunset_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".offset_sunset\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".offset_sunset\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":1230,"wires":[["1c530f6e.273e61"]]},{"id":"5df8a3c0.fd791c","type":"function","z":"f2a092ac.3f903","name":"offset_sunrise","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_offset_sunrise_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".offset_sunrise\")|| false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".offset_sunrise\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":1150,"wires":[["1c530f6e.273e61"]]},{"id":"46b4a376.b05d5c","type":"function","z":"f2a092ac.3f903","name":"volet_ouverture.max","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_datetime.volet_ouverture_max_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".volet_ouverture.max\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".volet_ouverture.max\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":1430,"wires":[["d62d5b.e6d522a8"]]},{"id":"1ccea80f.e87b68","type":"function","z":"f2a092ac.3f903","name":"volet_fermeture.min","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_datetime.volet_fermeture_min_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".volet_fermeture.min\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".volet_fermeture.min\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":1550,"wires":[["aa24bff1.46341"]]},{"id":"e69ecf79.e333a","type":"function","z":"f2a092ac.3f903","name":"volet_fermeture.max","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_datetime.volet_fermeture_max_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".volet_fermeture.max\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".volet_fermeture.max\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":1630,"wires":[["aa24bff1.46341"]]},{"id":"c8b05665.f7e7a8","type":"function","z":"f2a092ac.3f903","name":"Check Status","func":"volet = msg.volet\nvalue = msg.value\n\nvolet_status = flow.get(\"volet_config.\"+volet+\".status_save\") || 0;\nvolet_queue = flow.get(\"volet_config.\"+volet+\".queue\") || 1;\n\nnotif = \":\"+msg.icon+\": \"+volet.replace(\"_\",\" \").toUpperCase()+\" : \"+msg.motif; \n// notif = volet.replace(\"_\",\" \").toUpperCase()+\" : \"+msg.motif; \n\n// node.log(volet+\" => \"+volet_status+\" : \"+value);\n\nif ( volet_status != value ) {\n node.log(\"Volet : \"+volet+\" => \"+value+\"% (\"+msg.motif+\")\");\n flow.set(\"volet_config.\"+volet+\".status_save\",value);\n // global.set(\"volet_config.\"+volet+\".status_save\",value);\n flow.set(\"notif.\"+volet,notif);\n \n return {volet:volet,payload:value,notif:notif,queue:volet_queue};\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2060,"y":1740,"wires":[["85fee03c.7f57a","14f97ad7.618d85","35a669cb.31fd06"]]},{"id":"e5552f97.11ee2","type":"function","z":"f2a092ac.3f903","name":"Check Présence","func":"var presence = Boolean(global.get('presence')) || false;\nvar mode_absence_force = Boolean(global.get('mode_absence_force')) || false;\n\nvar retour = [];\n\nvar volets_config = flow.get(\"volet_config\");\n\nfor(let volet in volets_config) {\n \n volet_config = volets_config[volet];\n \n var volet_enable = volet_config.enable;\n\n if (volet_enable === true ) {\n \n var presence_enable = volet_config.presence;\n \n if ( presence_enable == \"on\") {\n // Check de la présence\n // if ( mode_absence_force == true) {\n // retour.push({volet:volet,send:true,value:volet_config.seuil.close,motif:\"Fermeture (Absence forcée)\",icon:\"lock\"});\n // }else if(presence === true ) {\n if(presence === true ) {\n retour.push({volet:volet,send:false,value:volet_config.seuil.open}); \n }else{\n retour.push({volet:volet,send:true,value:volet_config.seuil.close,motif:\"Fermeture (Absence)\",icon:\"lock\"}); \n }\n }else{\n // Pas de check de présence\n retour.push({volet:volet,send:false,value:volet_config.seuil.open}); \n }\n }\n} \n\nreturn retour;","outputs":13,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1760,"y":540,"wires":[["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"],["f1256864.e816c8"]]},{"id":"84d8e952.f633e8","type":"debug","z":"f2a092ac.3f903","name":"Présence ?","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":2130,"y":540,"wires":[]},{"id":"6fbbc41c.fca8ac","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_presence_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_presence_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":320,"y":780,"wires":[["53b2708a.a071a"]]},{"id":"78f3ad27.a8f7d4","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_night_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_night_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":330,"y":860,"wires":[["90fbe777.e362e8"]]},{"id":"53b2708a.a071a","type":"function","z":"f2a092ac.3f903","name":"presence","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_boolean.volet_presence_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".presence\")|| false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".presence\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":780,"wires":[["1cc78c01.687954"]]},{"id":"90fbe777.e362e8","type":"function","z":"f2a092ac.3f903","name":"ambiance.night","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_boolean.volet_night_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".ambiance.night\")|| false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".ambiance.night\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":860,"wires":[["1cc78c01.687954"]]},{"id":"f1256864.e816c8","type":"switch","z":"f2a092ac.3f903","name":"Présence ?","property":"send","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":true,"outputs":2,"x":1950,"y":540,"wires":[["84d8e952.f633e8","d4020098.8e576"],["84d8e952.f633e8","f082f155.20cc2"]]},{"id":"f082f155.20cc2","type":"function","z":"f2a092ac.3f903","name":"Check Ambiance","func":"var ambiance = global.get('mode_ambiance') || 0;\nvar retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nif (volet_config.enable == true) {\n\n var night_enable = volet_config.ambiance.night;\n var barbecue_enable = volet_config.ambiance.barbecue;\n var gaming_enable = volet_config.ambiance.gaming;\n \n if ( night_enable == \"on\" || barbecue_enable == \"on\" || gaming_enable == \"on\") {\n if ( ambiance == \"Nuit\" ) {\n retour.push({volet:volet,send:true,value:volet_config.seuil.close,motif:\"Fermeture (Ambiance Nuit)\",icon:\"zzz\"}); \n }else if (ambiance == \"Barbecue\") {\n retour.push({volet:volet,send:true,value:volet_config.seuil.open,motif:\"Ouverture (Ambiance Barbecue)\",icon:\"partying_face\"});\n }else if (ambiance == \"Gaming\") {\n retour.push({volet:volet,send:true,value:volet_config.seuil.close,motif:\"Fermeture (Ambiance Gaming)\",icon:\"video_game\"}); \n }else{\n retour.push({volet:volet,send:false,value:volet_config.seuil.open}); \n }\n }else{\n retour.push({volet:volet,send:false,value:volet_config.seuil.open}); \n }\n \n return retour;\n \n}","outputs":13,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2150,"y":680,"wires":[["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"],["72081053.d9b6e"]]},{"id":"72081053.d9b6e","type":"switch","z":"f2a092ac.3f903","name":"Ambiance ?","property":"send","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":true,"outputs":2,"x":2350,"y":680,"wires":[["203b8d46.421ea2","77664051.c998e"],["203b8d46.421ea2","4bf1b634.3812a8"]]},{"id":"203b8d46.421ea2","type":"debug","z":"f2a092ac.3f903","name":"Ambiance ?","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":2550,"y":680,"wires":[]},{"id":"4bf1b634.3812a8","type":"function","z":"f2a092ac.3f903","name":"Check Canicule","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar sun_altitude = global.get('sun_altitude') || 0;\nvar current_temperature = global.get('meteo.tempc') || 0;\nvar canicule_enable = volet_config.canicule.enable;\nvar canicule_degree_enable = volet_config.canicule.degree_enable;\nvar canicule_degree_disable = volet_config.canicule.degree_disable;\nvar canicule_altitude = volet_config.canicule.altitude;\nvar canicule_status = volet_config.canicule.status;\nvar canicule_fermeture = volet_config.canicule.fermeture;\n\nif ( canicule_enable == \"on\") {\n // Mode canicule activé\n // node.log(current_temperature+\" >= \"+canicule_degree_enable+\" && \"+canicule_altitude+\" <= \"+sun_altitude);\n if ( current_temperature >= canicule_degree_enable && canicule_altitude <= sun_altitude) {\n // Canicule détecter, fermeture du volet\n // node.log(\"=> Mode Canicule\");\n flow.set(\"volet_config.\"+volet+\".canicule.status\",true);\n \n // Inversion de la valeur pour %fermeture au lieu de %ouverture\n canicule_fermeture = 100 - canicule_fermeture;\n if (canicule_fermeture == 100) canicule_fermeture = 99; \n \n retour.push({volet:volet,send:true,value:canicule_fermeture,motif:\"Canicule, Semi-Fermeture (+ de \"+canicule_degree_enable+\"°C)\",icon:\"sunglasses\"}); \n }else{\n // node.log(\"=> Mode Normal\");\n if (canicule_status === true) {\n // Volet actuellement en mode canicule\n if ( current_temperature <= canicule_degree_disable || canicule_altitude > sun_altitude ) {\n retour.push({volet:volet,send:true,value:volet_config.seuil.open,motif:\"Canicule, Température normal (- de \"+canicule_degree_disable+\"°C) ou altitude ou (- de \"+canicule_altitude+\"°)\",icon:\"sun_with_face\"}); \n flow.set(\"volet_config.\"+volet+\".canicule.status\",false);\n }\n }else{\n // Température normal\n retour.push({volet:volet,send:false,value:volet_config.seuil.open}); \n }\n }\n}else{\n // Pas de check de cannicule\n retour.push({volet:volet,send:false,value:volet_config.seuil.open}); \n}\n\nreturn retour;","outputs":13,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2560,"y":800,"wires":[["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"],["2511c23c.8ed47e"]]},{"id":"fc9b772e.a657d8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_canicule_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_canicule_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":320,"y":2110,"wires":[["aa696a3a.5d77e8"]]},{"id":"aa696a3a.5d77e8","type":"function","z":"f2a092ac.3f903","name":"canicule.enable","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_boolean.volet_canicule_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".canicule.enable\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".canicule.enable\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":620,"y":2110,"wires":[["b34baef5.9f785"]]},{"id":"b33783cb.d8339","type":"function","z":"f2a092ac.3f903","name":"Config Volets","func":"flow.set('volet_config.cuisine_pignon.enable', true);\nflow.set('volet_config.cuisine_pignon.seuil.close', 0);\nflow.set('volet_config.cuisine_pignon.seuil.open', 99);\nflow.set('volet_config.cuisine_pignon.queue', 1);\nflow.set('volet_config.cuisine_pignon.group', 2);\nflow.set('volet_config.cuisine_pignon.mqtt.sunrise','nodered/volet/cuisine_pignon/sunrise');\nflow.set('volet_config.cuisine_pignon.mqtt.sunset','nodered/volet/cuisine_pignon/sunset');\n\nflow.set('volet_config.cuisine_jardin.enable', true);\nflow.set('volet_config.cuisine_jardin.seuil.close', 0);\nflow.set('volet_config.cuisine_jardin.seuil.open', 99);\nflow.set('volet_config.cuisine_jardin.queue', 1);\nflow.set('volet_config.cuisine_jardin.group', 3);\nflow.set('volet_config.cuisine_jardin.mqtt.sunrise','nodered/volet/cuisine_jardin/sunrise');\nflow.set('volet_config.cuisine_jardin.mqtt.sunset','nodered/volet/cuisine_jardin/sunset');\n\nflow.set('volet_config.cuisine_porte.enable', true);\nflow.set('volet_config.cuisine_porte.seuil.close', 0);\nflow.set('volet_config.cuisine_porte.seuil.open', 99);\nflow.set('volet_config.cuisine_porte.queue', 1);\nflow.set('volet_config.cuisine_porte.group', 3);\nflow.set('volet_config.cuisine_porte.mqtt.sunrise','nodered/volet/cuisine_porte/sunrise');\nflow.set('volet_config.cuisine_porte.mqtt.sunset','nodered/volet/cuisine_porte/sunset');\n\nflow.set('volet_config.salle_a_manger.enable', true);\nflow.set('volet_config.salle_a_manger.seuil.close', 0);\nflow.set('volet_config.salle_a_manger.seuil.open', 99);\nflow.set('volet_config.salle_a_manger.queue', 2);\nflow.set('volet_config.salle_a_manger.group', 3);\nflow.set('volet_config.salle_a_manger.mqtt.sunrise','nodered/volet/salle_a_manger/sunrise');\nflow.set('volet_config.salle_a_manger.mqtt.sunset','nodered/volet/salle_a_manger/sunset');\n\nflow.set('volet_config.salon_jardin.enable', true);\nflow.set('volet_config.salon_jardin.seuil.close', 0);\nflow.set('volet_config.salon_jardin.seuil.open', 99);\nflow.set('volet_config.salon_jardin.queue', 2);\nflow.set('volet_config.salon_jardin.group', 4);\nflow.set('volet_config.salon_jardin.mqtt.sunrise','nodered/volet/salon_jardin/sunrise');\nflow.set('volet_config.salon_jardin.mqtt.sunset','nodered/volet/salon_jardin/sunset');\n\nflow.set('volet_config.salon_spa.enable', true);\nflow.set('volet_config.salon_spa.seuil.close', 0);\nflow.set('volet_config.salon_spa.seuil.open', 99);\nflow.set('volet_config.salon_spa.queue', 2);\nflow.set('volet_config.salon_spa.group', 5);\nflow.set('volet_config.salon_spa.mqtt.sunrise','nodered/volet/salon_spa/sunrise');\nflow.set('volet_config.salon_spa.mqtt.sunset','nodered/volet/salon_spa/sunset');\n\nflow.set('volet_config.chambre_rdc_jardin.enable', true);\nflow.set('volet_config.chambre_rdc_jardin.seuil.close', 0);\nflow.set('volet_config.chambre_rdc_jardin.seuil.open', 99);\nflow.set('volet_config.chambre_rdc_jardin.queue', 3);\nflow.set('volet_config.chambre_rdc_jardin.group', 4);\nflow.set('volet_config.chambre_rdc_jardin.mqtt.sunrise','nodered/volet/chambre_rdc_jardin/sunrise');\nflow.set('volet_config.chambre_rdc_jardin.mqtt.sunset','nodered/volet/chambre_rdc_jardin/sunset');\n\nflow.set('volet_config.chambre_rdc_devant.enable', true);\nflow.set('volet_config.chambre_rdc_devant.seuil.close', 0);\nflow.set('volet_config.chambre_rdc_devant.seuil.open', 99);\nflow.set('volet_config.chambre_rdc_devant.queue', 3);\nflow.set('volet_config.chambre_rdc_devant.group', 6);\nflow.set('volet_config.chambre_rdc_devant.mqtt.sunrise','nodered/volet/chambre_rdc_devant/sunrise');\nflow.set('volet_config.chambre_rdc_devant.mqtt.sunset','nodered/volet/chambre_rdc_devant/sunset');\n\nflow.set('volet_config.salle_de_bain.enable', true);\nflow.set('volet_config.salle_de_bain.seuil.close',0);\nflow.set('volet_config.salle_de_bain.seuil.open', 99);\nflow.set('volet_config.salle_de_bain.queue', 4);\nflow.set('volet_config.salle_de_bain.group', 6);\nflow.set('volet_config.salle_de_bain.mqtt.sunrise','nodered/volet/salle_de_bain/sunrise');\nflow.set('volet_config.salle_de_bain.mqtt.sunset','nodered/volet/salle_de_bain/sunset');\n\nflow.set('volet_config.buanderie.enable', true);\nflow.set('volet_config.buanderie.seuil.close', 0);\nflow.set('volet_config.buanderie.seuil.open', 99);\nflow.set('volet_config.buanderie.queue', 4);\nflow.set('volet_config.buanderie.group', 6);\nflow.set('volet_config.buanderie.mqtt.sunrise','nodered/volet/buanderie/sunrise');\nflow.set('volet_config.buanderie.mqtt.sunset','nodered/volet/buanderie/sunset');\n\nflow.set('volet_config.bureau.enable', true);\nflow.set('volet_config.bureau.seuil.close', 0);\nflow.set('volet_config.bureau.seuil.open', 99);\nflow.set('volet_config.bureau.queue', 4);\nflow.set('volet_config.bureau.group', 7);\nflow.set('volet_config.bureau.mqtt.sunrise','nodered/volet/bureau/sunrise');\nflow.set('volet_config.bureau.mqtt.sunset','nodered/volet/bureau/sunset');\n\nflow.set('volet_config.garage.enable', false);\nflow.set('volet_config.garage.seuil.close', 0);\nflow.set('volet_config.garage.seuil.open', 99);\nflow.set('volet_config.garage.queue', 5);\nflow.set('volet_config.garage.group', 2);\nflow.set('volet_config.garage.mqtt.sunrise','nodered/volet/garage/sunrise');\nflow.set('volet_config.garage.mqtt.sunset','nodered/volet/garage/sunset');\n\nflow.set('volet_config.chambre_parents.enable', false);\nflow.set('volet_config.chambre_parents.seuil.close', 0);\nflow.set('volet_config.chambre_parents.seuil.open', 99);\nflow.set('volet_config.chambre_parents.queue', 6);\nflow.set('volet_config.chambre_parents.group', 6);\nflow.set('volet_config.chambre_parents.mqtt.sunrise','nodered/volet/chambre_parents/sunrise');\nflow.set('volet_config.chambre_parents.mqtt.sunset','nodered/volet/chambre_parents/sunset');\n\nflow.set('volet_config.grenier.enable', false);\nflow.set('volet_config.grenier.seuil.close', 0);\nflow.set('volet_config.grenier.seuil.open', 99);\nflow.set('volet_config.grenier.queue', 6);\nflow.set('volet_config.grenier.group', 2);\nflow.set('volet_config.grenier.mqtt.sunrise','nodered/volet/grenier/sunrise');\nflow.set('volet_config.grenier.mqtt.sunset','nodered/volet/grenier/sunset');\n\nflow.set('volet_config.chloe.enable', false);\nflow.set('volet_config.chloe.seuil.close', 0);\nflow.set('volet_config.chloe.seuil.open', 99);\nflow.set('volet_config.chloe.queue', 7);\nflow.set('volet_config.chloe.group', 3);\nflow.set('volet_config.chloe.mqtt.sunrise','nodered/volet/chloe/sunrise');\nflow.set('volet_config.chloe.mqtt.sunset','nodered/volet/chloe/sunset');\n\nflow.set('volet_config.simon.enable', false);\nflow.set('volet_config.simon.seuil.close', 0);\nflow.set('volet_config.simon.seuil.open', 99);\nflow.set('volet_config.simon.queue', 7);\nflow.set('volet_config.simon.group', 4);\nflow.set('volet_config.simon.mqtt.sunrise','nodered/volet/simon/sunrise');\nflow.set('volet_config.simon.mqtt.sunset','nodered/volet/simon/sunset');\n\nflow.set('volet_config.palier.enable', false);\nflow.set('volet_config.palier.seuil.close', 0);\nflow.set('volet_config.palier.seuil.open', 99);\nflow.set('volet_config.palier.queue', 7);\nflow.set('volet_config.palier.group', 3);\nflow.set('volet_config.palier.mqtt.sunrise','nodered/volet/palier/sunrise');\nflow.set('volet_config.palier.mqtt.sunset','nodered/volet/palier/sunset');\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":320,"wires":[["89c37543.63d928"]]},{"id":"5cd218ef.217e68","type":"function","z":"f2a092ac.3f903","name":"Check Horaire","func":"var debug = flow.get('debug');\nvar retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\ndate = new Date();\n// date = new Date(\"volet_fermeture_max : Sun Jul 26 2020 18:00:00 GMT+0200 (Central European Summer Time)\");\n\nvar sunrise = Number(global.get('sunrise')) || 0;\nvar sunset = Number(global.get('sunset')) || 0;\nvar sunrise_timestamp = global.get('sunrise_timestamp') || 0;\nvar sunset_timestamp = global.get('sunset_timestamp') || 0;\n\n// Configuration du volet\nvar volet_ouverture_min = volet_config.volet_ouverture.min;\nvar volet_ouverture_max = volet_config.volet_ouverture.max;\nvar volet_fermeture_min = volet_config.volet_fermeture.min;\nvar volet_fermeture_max = volet_config.volet_fermeture.max;\nvar offset_pre_sunrise = volet_config.offset_pre_sunrise;\nvar offset_pre_sunset = volet_config.offset_pre_sunset;\nvar seuil_pre_sunrise = volet_config.seuil_pre_sunrise;\nvar seuil_pre_sunset = volet_config.seuil_pre_sunset;\nvar pre_action = volet_config.pre_action;\nvar offset_sunrise = volet_config.offset_sunrise;\nvar offset_sunset = volet_config.offset_sunset;\n\n// inverson du seuil de pre_sunset\nseuil_pre_sunset = 100 - seuil_pre_sunset;\nif (seuil_pre_sunrise == 100) seuil_pre_sunrise = 99; \nif (seuil_pre_sunset == 100) seuil_pre_sunset = 99; \n \n// Convertion en objet Date\nsplit = volet_ouverture_min.split(':');\nvolet_ouverture_min = new Date(); volet_ouverture_min.setHours(+split[0]); volet_ouverture_min.setMinutes(split[1]); volet_ouverture_min.setSeconds(split[2]);\nsplit = volet_ouverture_max.split(':');\nvolet_ouverture_max = new Date(); volet_ouverture_max.setHours(+split[0]); volet_ouverture_max.setMinutes(split[1]); volet_ouverture_max.setSeconds(split[2]);\nsplit = volet_fermeture_min.split(':');\nvolet_fermeture_min = new Date(); volet_fermeture_min.setHours(+split[0]); volet_fermeture_min.setMinutes(split[1]); volet_fermeture_min.setSeconds(split[2]);\nsplit = volet_fermeture_max.split(':');\nvolet_fermeture_max = new Date(); volet_fermeture_max.setHours(+split[0]); volet_fermeture_max.setMinutes(split[1]); volet_fermeture_max.setSeconds(split[2]);\n\n// Ajoute de l'offset \nsunrise = new Date(sunrise_timestamp);\nsunrise = new Date(sunrise.getTime() + offset_sunrise*1000 * 60 );\nsunset = new Date(sunset_timestamp);\nsunset = new Date(sunset.getTime() + offset_sunset*1000 * 60 );\n\n// Remplacement des valeurs si inférieur au min/max\nif ( sunrise <= volet_ouverture_min ) sunrise = new Date(volet_ouverture_min);\nif ( sunrise >= volet_ouverture_max ) sunrise = new Date(volet_ouverture_max);\nif ( sunset <= volet_fermeture_min ) sunset = new Date(volet_fermeture_min);\nif ( sunset >= volet_fermeture_max ) sunset = new Date(volet_fermeture_max);\n\n// Calcul des seuils de pré-ouverture/fermeture\npre_sunrise = new Date(sunrise.getTime() + offset_pre_sunrise*1000 * 60 );\npre_sunset = new Date(sunset.getTime() + offset_pre_sunrise*1000 * 60 );\n\nif ( date >= sunrise && date < pre_sunset) { \n // Journée\n retour.push({volet:volet,send:true,value:volet_config.seuil.open,dest:volet_config.seuil.open,motif:\"Ouverture Journée\",icon:\"sun_with_face\"}); \n}else if( date >= pre_sunrise && date < sunrise && pre_action == \"on\" ) {\n // Pre-Ouverture\n retour.push({volet:volet,send:true,value:seuil_pre_sunrise,dest:volet_config.seuil.open,motif:\"Pre-Ouverture (\"+offset_pre_sunrise+\"%)\",icon:\"sunrise\"}); \n}else if( date >= pre_sunset && date < sunset && pre_action == \"on\" ) { \n // Pre-Fermeture\n retour.push({volet:volet,send:true,value:seuil_pre_sunset,dest:volet_config.seuil.close,motif:\"Pre-Fermeture (\"+offset_pre_sunset+\"%)\",icon:\"city_sunset\"}); \n}else{ \n // Nuit\n retour.push({volet:volet,send:true,value:volet_config.seuil.close,dest:volet_config.seuil.close,motif:\"Nuit\",icon:\"new_moon\"}); \n} \n\nreturn retour;\n\nfunction addZero(i) {\n if (i < 10) {\n i = \"0\" + i;\n }\n return i;\n}","outputs":13,"noerr":0,"initialize":"","finalize":"","x":2960,"y":960,"wires":[["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"],["81a8334.656e9d"]]},{"id":"ba3f3f52.df0af","type":"sun-position","z":"f2a092ac.3f903","name":"Azimuth Check","positionConfig":"56ff61b5.178f1","rules":[{"valueLow":"260","valueLowType":"num","valueHigh":"10","valueHighType":"num"},{"valueLow":"121","valueLowType":"num","valueHigh":"319","valueHighType":"num"},{"valueLow":"123","valueLowType":"num","valueHigh":"329","valueHighType":"num"},{"valueLow":"56","valueLowType":"num","valueHigh":"226","valueHighType":"num"},{"valueLow":"325","valueLowType":"num","valueHigh":"139","valueHighType":"num"},{"valueLow":"312","valueLowType":"num","valueHigh":"107","valueHighType":"num"}],"onlyOnChange":"true","topic":"","outputs":7,"start":"sunrise","startType":"pdsTime","startOffset":0,"startOffsetType":"none","startOffsetMultiplier":60000,"end":"sunset","endType":"pdsTime","endOffset":0,"endOffsetType":"none","endOffsetMultiplier":60000,"x":2960,"y":620,"wires":[["b5c1294d.755a88"],["e12c87b1.d093c8"],["e08c7d3a.a1bf3"],["4090e1ae.966dd"],["e84f3bbc.688478"],["f9fd6ea2.4bc45"],["b0933064.61625"]]},{"id":"fd588fe5.510f6","type":"debug","z":"f2a092ac.3f903","name":"2 : Cuisine Pignon & Garage","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3560,"y":580,"wires":[]},{"id":"3d7bdaf4.fb17b6","type":"debug","z":"f2a092ac.3f903","name":"3 : Salle a Manger","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3530,"y":620,"wires":[]},{"id":"5b3f78c.1bd1088","type":"comment","z":"f2a092ac.3f903","name":"Info Output","info":"\n2 :\n - Cuisine Pignon\n - Garage\n - Grenier\n\n3 : \n - Cuisine Jardin\n - Cuisine Porte\n - Salle à manger\n - Palier\n - Chloé\n\n4 :\n - Salon Jardin\n - Chambre RDC Jardin\n - Simon\n\n5 :\n - Salon Spa\n\n6 :\n - Chambre RDC Devant\n - Salle de bain RDC\n - Buanderie\n - Chambre Parents Devant\n\n7 : \n - Bureau","x":2950,"y":520,"wires":[]},{"id":"2511c23c.8ed47e","type":"switch","z":"f2a092ac.3f903","name":"Canicule ?","property":"send","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":true,"outputs":2,"x":2760,"y":800,"wires":[["ba3f3f52.df0af","76f7a8ef.37ad68"],["76f7a8ef.37ad68","5cd218ef.217e68"]]},{"id":"3d41563c.89a64a","type":"debug","z":"f2a092ac.3f903","name":"4 : Salon Jardin","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3520,"y":660,"wires":[]},{"id":"fc1efbc8.a0a8d8","type":"debug","z":"f2a092ac.3f903","name":"5 : Salon Spa","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3510,"y":700,"wires":[]},{"id":"a5159ac8.ef99b8","type":"debug","z":"f2a092ac.3f903","name":"6 : Devant","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3510,"y":740,"wires":[]},{"id":"9ce1e18c.38766","type":"debug","z":"f2a092ac.3f903","name":"7 : Bureau","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3510,"y":780,"wires":[]},{"id":"e12c87b1.d093c8","type":"function","z":"f2a092ac.3f903","name":"Filter","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar group = 2;\n\nif (volet_config.group == group) {\n return msg; \n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3330,"y":580,"wires":[["fd588fe5.510f6","ef552079.d84b1"]]},{"id":"e08c7d3a.a1bf3","type":"function","z":"f2a092ac.3f903","name":"Filter","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar group = 3;\n\nif (volet_config.group == group) {\n return msg; \n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3330,"y":620,"wires":[["3d7bdaf4.fb17b6","ef552079.d84b1"]]},{"id":"76f7a8ef.37ad68","type":"debug","z":"f2a092ac.3f903","name":"Canicule ?","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2950,"y":800,"wires":[]},{"id":"4090e1ae.966dd","type":"function","z":"f2a092ac.3f903","name":"Filter","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar group = 4;\n\nif (volet_config.group == group) {\n return msg; \n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3330,"y":660,"wires":[["3d41563c.89a64a","ef552079.d84b1"]]},{"id":"e84f3bbc.688478","type":"function","z":"f2a092ac.3f903","name":"Filter","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar group = 5;\n\nif (volet_config.group == group) {\n return msg; \n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3330,"y":700,"wires":[["ef552079.d84b1","fc1efbc8.a0a8d8"]]},{"id":"f9fd6ea2.4bc45","type":"function","z":"f2a092ac.3f903","name":"Filter","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar group = 6;\n\nif (volet_config.group == group) {\n return msg; \n}\n\n","outputs":1,"noerr":0,"x":3330,"y":740,"wires":[["a5159ac8.ef99b8","ef552079.d84b1"]]},{"id":"b0933064.61625","type":"function","z":"f2a092ac.3f903","name":"Filter","func":"var retour = [];\nvar volet = msg.volet;\nvar volet_config = flow.get(\"volet_config.\"+volet);\n\nvar group = 7;\n\nif (volet_config.group == group) {\n return msg; \n}\n\n","outputs":1,"noerr":0,"x":3330,"y":780,"wires":[["9ce1e18c.38766","ef552079.d84b1"]]},{"id":"ef552079.d84b1","type":"switch","z":"f2a092ac.3f903","name":"Send Action","property":"send","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":true,"outputs":1,"x":3455,"y":440,"wires":[["37837fc5.9b9ce"]],"l":false},{"id":"77664051.c998e","type":"switch","z":"f2a092ac.3f903","name":"Send Action","property":"send","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":true,"outputs":1,"x":2495,"y":440,"wires":[["ef552079.d84b1"]],"l":false},{"id":"d4020098.8e576","type":"switch","z":"f2a092ac.3f903","name":"Send Action","property":"send","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":true,"outputs":1,"x":2075,"y":440,"wires":[["77664051.c998e"]],"l":false},{"id":"58dc11f8.17256","type":"switch","z":"f2a092ac.3f903","name":"#The_End","property":"payload","propertyType":"msg","rules":[{"t":"else"}],"checkall":"true","repair":true,"outputs":1,"x":3610,"y":940,"wires":[["62f1b70c.5affe8"]]},{"id":"94967158.88b8b","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_preaction_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_preaction_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":320,"y":1750,"wires":[["63ee335f.f0c9ec"]]},{"id":"63ee335f.f0c9ec","type":"function","z":"f2a092ac.3f903","name":"pre_action","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_boolean.volet_preaction_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".pre_action\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".pre_action\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":630,"y":1750,"wires":[["78111fb.d3a43e"]]},{"id":"a7d0eca1.a9d91","type":"function","z":"f2a092ac.3f903","name":"Disable Debug","func":"flow.set('debug',false);\n\nreturn msg;","outputs":1,"noerr":0,"x":620,"y":200,"wires":[["763d37b0.4223a8"]]},{"id":"74685b61.3964f4","type":"inject","z":"f2a092ac.3f903","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":340,"y":200,"wires":[["a7d0eca1.a9d91"]]},{"id":"a1a626e4.9c4b98","type":"function","z":"f2a092ac.3f903","name":"Enable Debug","func":"flow.set('debug',true);\n\nreturn msg;","outputs":1,"noerr":0,"x":620,"y":120,"wires":[["763d37b0.4223a8"]]},{"id":"466d9f28.00a33","type":"inject","z":"f2a092ac.3f903","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":340,"y":120,"wires":[["a1a626e4.9c4b98"]]},{"id":"51ee11c6.315de","type":"simple-queue","z":"f2a092ac.3f903","name":"Cuisine","firstMessageBypass":true,"bypassInterval":"0","x":3000,"y":1580,"wires":[["da6ca17a.13a0d"]]},{"id":"da6ca17a.13a0d","type":"switch","z":"f2a092ac.3f903","name":"Filter Volets","property":"volet","propertyType":"msg","rules":[{"t":"eq","v":"cuisine_pignon","vt":"str"},{"t":"eq","v":"cuisine_jardin","vt":"str"},{"t":"eq","v":"cuisine_porte","vt":"str"},{"t":"eq","v":"salle_a_manger","vt":"str"},{"t":"eq","v":"salon_jardin","vt":"str"},{"t":"eq","v":"salon_spa","vt":"str"},{"t":"eq","v":"chambre_rdc_jardin","vt":"str"},{"t":"eq","v":"chambre_rdc_devant","vt":"str"},{"t":"eq","v":"salle_de_bain","vt":"str"},{"t":"eq","v":"buanderie","vt":"str"},{"t":"eq","v":"bureau","vt":"str"},{"t":"eq","v":"garage","vt":"str"},{"t":"eq","v":"chambre_parents","vt":"str"},{"t":"eq","v":"grenier","vt":"str"},{"t":"eq","v":"chloe","vt":"str"},{"t":"eq","v":"simon","vt":"str"},{"t":"eq","v":"palier","vt":"str"}],"checkall":"true","repair":false,"outputs":17,"x":3230,"y":1740,"wires":[["b07f2c17.66446","499354c.df7faac"],["b07f2c17.66446","3cbdb06d.6211a"],["b07f2c17.66446","6f14c1ef.f5ebe"],["b07f2c17.66446","4a8b4ae.ff310b4"],["b07f2c17.66446","fa0add23.73309"],["b07f2c17.66446","13af7e8f.c86b01"],["b07f2c17.66446","8d293261.0e04c"],["b07f2c17.66446","613c1e00.1300c4"],["b07f2c17.66446","1054f1f9.72fbee"],["b07f2c17.66446","c65e116e.a72da"],["b07f2c17.66446","8056ccad.38374"],["b07f2c17.66446","672d4512.4cd4ac"],["43d4dc0c.7470f4"],["31caf46.0a8a10c"],["fa5d4151.6aca3"],["1b138573.f6f6eb"],["bf2e96aa.d851f8"]]},{"id":"fdb5fa87.f524a8","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["6eb1cfa5.d1951","96756a97.47c9d8"],"x":2915,"y":1580,"wires":[["51ee11c6.315de"]]},{"id":"6eb1cfa5.d1951","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 1","links":["fdb5fa87.f524a8"],"x":4060,"y":1620,"wires":[],"l":true},{"id":"73e5ecc2.8c9004","type":"function","z":"f2a092ac.3f903","name":"Format Message","func":"notif = flow.get('notif');\nshort_message = \"Changement de status des volets\"\nfull_message = \"\";\nfor (var key in notif) {\n full_message = full_message+\" \"+notif[key]+'\\n';\n}\n\nvar date = new Date();\ndate = (\"0\" + (date.getDay() + 1)).slice(-2)+\"/\"+(\"0\" + (date.getMonth() + 1)).slice(-2)+\"/\"+date.getYear()+\" - \"+(\"0\" + (date.getHours() + 1)).slice(-2)+\":\"+(\"0\" + (date.getMinutes() + 1)).slice(-2);\n\nfull_message=\":clock1: **\"+date+\" :**\\n\"+full_message;\n\nif (full_message !== \"\") {\n notif = flow.set('notif',[]);\n return {message:full_message,short_message:short_message,dest: \"discord_maison_volets;mattermost_volets\"};\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2480,"y":1620,"wires":[["d50c66f2.32e0a8"]]},{"id":"85fee03c.7f57a","type":"stoptimer3","z":"f2a092ac.3f903","duration":"1","durationType":"num","units":"Second","payloadtype":"num","payloadval":"0","name":"","x":2280,"y":1620,"wires":[["73e5ecc2.8c9004"],[]]},{"id":"5b72e430.fb94ac","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_seuil_pre_sunrise_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_seuil_pre_sunrise_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":290,"y":1810,"wires":[["712d9196.d5fe4"]]},{"id":"712d9196.d5fe4","type":"function","z":"f2a092ac.3f903","name":"seuil_pre_sunrise","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_seuil_pre_sunrise_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".seuil_pre_sunrise\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".seuil_pre_sunrise\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":1810,"wires":[["78111fb.d3a43e"]]},{"id":"16173a85.2fdb85","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_seuil_pre_sunset_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_seuil_pre_sunset_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":290,"y":1870,"wires":[["79f0364b.ace6b8"]]},{"id":"79f0364b.ace6b8","type":"function","z":"f2a092ac.3f903","name":"seuil_pre_sunset","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_seuil_pre_sunset_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".seuil_pre_sunset\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".seuil_pre_sunset\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":1870,"wires":[["78111fb.d3a43e"]]},{"id":"761041d6.c3169","type":"simple-queue","z":"f2a092ac.3f903","name":"Séjour","firstMessageBypass":true,"bypassInterval":"0","x":2990,"y":1640,"wires":[["da6ca17a.13a0d"]]},{"id":"3db88eed.533ce2","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 2","links":["4d854862.011818"],"x":4060,"y":1660,"wires":[],"l":true},{"id":"4d854862.011818","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["3db88eed.533ce2","697ef080.f4c21"],"x":2915,"y":1640,"wires":[["761041d6.c3169"]]},{"id":"14f97ad7.618d85","type":"switch","z":"f2a092ac.3f903","name":"Select Queue","property":"queue","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"6","vt":"str"},{"t":"eq","v":"7","vt":"str"}],"checkall":"true","repair":false,"outputs":7,"x":2700,"y":1740,"wires":[["51ee11c6.315de"],["761041d6.c3169"],["ed6facfc.d3c27"],["adfb37ed.6a3b88"],["d4a78638.edc928"],["a25b83c5.fc15e"],["47eb469f.c6c1c8"]]},{"id":"ed6facfc.d3c27","type":"simple-queue","z":"f2a092ac.3f903","name":"Ch. RDC","firstMessageBypass":true,"bypassInterval":"0","x":3000,"y":1700,"wires":[["da6ca17a.13a0d"]]},{"id":"adfb37ed.6a3b88","type":"simple-queue","z":"f2a092ac.3f903","name":"Facade","firstMessageBypass":true,"bypassInterval":"0","x":3000,"y":1760,"wires":[["da6ca17a.13a0d"]]},{"id":"a25b83c5.fc15e","type":"simple-queue","z":"f2a092ac.3f903","name":"Etages","firstMessageBypass":true,"bypassInterval":"0","x":3000,"y":1880,"wires":[["da6ca17a.13a0d"]]},{"id":"5a6b6c10.3c6a84","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 3","links":["e9779d47.69bb5"],"x":4060,"y":1700,"wires":[],"l":true},{"id":"3a92313f.b0e74e","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 4","links":["fa8c2cf0.b70d5"],"x":4060,"y":1740,"wires":[],"l":true},{"id":"217d1d6b.aa38d2","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 5","links":["412fd449.bda29c"],"x":4060,"y":1780,"wires":[],"l":true},{"id":"e9779d47.69bb5","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["5a6b6c10.3c6a84","a2e71452.b5eba8"],"x":2915,"y":1700,"wires":[["ed6facfc.d3c27"]]},{"id":"fa8c2cf0.b70d5","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["3a92313f.b0e74e","4b0d41db.7b772"],"x":2915,"y":1760,"wires":[["adfb37ed.6a3b88"]]},{"id":"aad3b572.a54648","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["eb0f7b0c.082b68","6bf51e46.2f28f"],"x":2915,"y":1880,"wires":[["a25b83c5.fc15e"]]},{"id":"7bc152ee.48e7ec","type":"change","z":"f2a092ac.3f903","name":"Next in queue","rules":[{"t":"set","p":"trigger","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":3640,"y":1740,"wires":[["fc8cee1e.c451b"]]},{"id":"fc8cee1e.c451b","type":"switch","z":"f2a092ac.3f903","name":"Select Queue","property":"queue","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"},{"t":"eq","v":"2","vt":"str"},{"t":"eq","v":"3","vt":"str"},{"t":"eq","v":"4","vt":"str"},{"t":"eq","v":"5","vt":"str"},{"t":"eq","v":"6","vt":"str"},{"t":"eq","v":"7","vt":"str"}],"checkall":"true","repair":false,"outputs":7,"x":3820,"y":1740,"wires":[["6eb1cfa5.d1951"],["3db88eed.533ce2"],["5a6b6c10.3c6a84"],["3a92313f.b0e74e"],["217d1d6b.aa38d2"],["6bf51e46.2f28f"],["55705e3a.cb43a"]]},{"id":"b07f2c17.66446","type":"delay","z":"f2a092ac.3f903","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":3440,"y":1740,"wires":[["7bc152ee.48e7ec"]]},{"id":"81a8334.656e9d","type":"switch","z":"f2a092ac.3f903","name":"Pre-open/close ?","property":"dest","propertyType":"msg","rules":[{"t":"eq","v":"value","vt":"msg"},{"t":"else"}],"checkall":"true","repair":true,"outputs":2,"x":3210,"y":960,"wires":[["d2fed4d9.44e308","978d5d2a.f68ad"],["50199a90.0601f4"]]},{"id":"50199a90.0601f4","type":"function","z":"f2a092ac.3f903","name":"Status != Dest","func":"current_status = flow.get('volet_config.'+msg.volet+\".volet_status\") || 100;\n\nif ( current_status != msg.dest && current_status != 100) {\n // node.log(current_status+\" : \"+msg.dest);\n return msg;\n}","outputs":1,"noerr":0,"x":3420,"y":940,"wires":[["58dc11f8.17256"]]},{"id":"499354c.df7faac","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1200,"wires":[["d56ddce4.38215"],["d56ddce4.38215"]]},{"id":"3cbdb06d.6211a","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":3440,"y":1260,"wires":[["6db41e7d.81715"],["6db41e7d.81715"],["6db41e7d.81715"]]},{"id":"6f14c1ef.f5ebe","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1320,"wires":[["43f8398e.865b28"],["43f8398e.865b28"]]},{"id":"4a8b4ae.ff310b4","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1400,"wires":[["a84a3d0c.63d15"],["a84a3d0c.63d15"]]},{"id":"fa0add23.73309","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1460,"wires":[["e0e90e16.d615b"],["e0e90e16.d615b"]]},{"id":"13af7e8f.c86b01","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1520,"wires":[["26e4d8dd.68ba78"],["26e4d8dd.68ba78"]]},{"id":"8d293261.0e04c","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1620,"wires":[["67d1af44.50635"],["67d1af44.50635"]]},{"id":"613c1e00.1300c4","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1680,"wires":[["228030c8.484f8"],["228030c8.484f8"]]},{"id":"1054f1f9.72fbee","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1800,"wires":[["e00d8f4a.d8574"],["e00d8f4a.d8574"]]},{"id":"c65e116e.a72da","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1880,"wires":[["2dac3344.e1642c"],["2dac3344.e1642c"]]},{"id":"8056ccad.38374","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":1960,"wires":[["7d4fbadf.cfa5b4"],["7d4fbadf.cfa5b4"]]},{"id":"43d4dc0c.7470f4","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":2120,"wires":[["3346ee9e.3c3b72"],["3346ee9e.3c3b72"]]},{"id":"672d4512.4cd4ac","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":2040,"wires":[["f2e44660.e04cd8"],["f2e44660.e04cd8"]]},{"id":"fa5d4151.6aca3","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":2280,"wires":[["acd2c1ac.be5ff"],["acd2c1ac.be5ff"]]},{"id":"31caf46.0a8a10c","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":2200,"wires":[["f8fa361f.02edf8"],["f8fa361f.02edf8"]]},{"id":"1b138573.f6f6eb","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":2360,"wires":[["d8b40653.9fdac8"],["d8b40653.9fdac8"]]},{"id":"bf2e96aa.d851f8","type":"switch","z":"f2a092ac.3f903","name":"Debug ?","property":"debug","propertyType":"flow","rules":[{"t":"false"},{"t":"null"}],"checkall":"true","repair":false,"outputs":2,"x":3440,"y":2440,"wires":[["822122b0.792a1"],["822122b0.792a1"]]},{"id":"d4a78638.edc928","type":"simple-queue","z":"f2a092ac.3f903","name":"Garage","firstMessageBypass":true,"bypassInterval":"0","x":3000,"y":1820,"wires":[["da6ca17a.13a0d"]]},{"id":"412fd449.bda29c","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["eb0f7b0c.082b68","217d1d6b.aa38d2"],"x":2915,"y":1820,"wires":[["d4a78638.edc928"]]},{"id":"47eb469f.c6c1c8","type":"simple-queue","z":"f2a092ac.3f903","name":"Velux","firstMessageBypass":true,"bypassInterval":"0","x":2990,"y":1940,"wires":[["da6ca17a.13a0d"]]},{"id":"d4771643.321818","type":"link in","z":"f2a092ac.3f903","name":"Reset Queue","links":["eb0f7b0c.082b68","c7d2cbf2.e756e8","55705e3a.cb43a"],"x":2915,"y":1940,"wires":[["47eb469f.c6c1c8"]]},{"id":"6bf51e46.2f28f","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 6","links":["aad3b572.a54648"],"x":4060,"y":1820,"wires":[],"l":true},{"id":"55705e3a.cb43a","type":"link out","z":"f2a092ac.3f903","name":"Reset Queue 7","links":["ba7379a2.0d6eb8","d4771643.321818"],"x":4060,"y":1860,"wires":[],"l":true},{"id":"30ed8f23.17c3","type":"comment","z":"f2a092ac.3f903","name":"=============================== DEBUG ===============================","info":"","x":400,"y":60,"wires":[]},{"id":"c484c62d.6e4e78","type":"comment","z":"f2a092ac.3f903","name":"============================== CONFIG ==============================","info":"","x":400,"y":260,"wires":[]},{"id":"a1aa084a.2445c8","type":"comment","z":"f2a092ac.3f903","name":"============================ GET FLOW ==============================","info":"","x":400,"y":400,"wires":[]},{"id":"bb9ffb19.809fa8","type":"comment","z":"f2a092ac.3f903","name":"========================= GLOBAL CONFIG ===========================","info":"","x":400,"y":660,"wires":[]},{"id":"a3c8feb2.41fb6","type":"comment","z":"f2a092ac.3f903","name":"====================== OFFSET SUNRISE/SUNSET ========================","info":"","x":400,"y":1090,"wires":[]},{"id":"6b448fda.bea2a","type":"comment","z":"f2a092ac.3f903","name":"======================== SUNRISE MIN/MAX ==========================","info":"","x":400,"y":1290,"wires":[]},{"id":"4a9e7aa2.d36954","type":"comment","z":"f2a092ac.3f903","name":"========================= SUNSET MIN/MAX ==========================","info":"","x":400,"y":1490,"wires":[]},{"id":"d069c441.4ac398","type":"comment","z":"f2a092ac.3f903","name":"======================= PRE SUNRISE/SUNSET =========================","info":"","x":400,"y":1690,"wires":[]},{"id":"cbba34e1.9f9288","type":"comment","z":"f2a092ac.3f903","name":"============================ CANICULE ==============================","info":"","x":400,"y":2050,"wires":[]},{"id":"8bd87bc7.3a98c8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_barbecue_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_barbecue_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":320,"y":920,"wires":[["a7ea5abe.00fc08"]]},{"id":"a7ea5abe.00fc08","type":"function","z":"f2a092ac.3f903","name":"ambiance.barbecue","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_boolean.volet_barbecue_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".ambiance.barbecue\")|| false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".ambiance.barbecue\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":920,"wires":[["1cc78c01.687954"]]},{"id":"b2828b63.f9ab18","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_canicule_degree_disable_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_canicule_degree_disable_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":270,"y":2230,"wires":[["364ec4a9.a9e52c"]]},{"id":"364ec4a9.a9e52c","type":"function","z":"f2a092ac.3f903","name":"canicule.degree_disable","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_canicule_degree_disable_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".canicule.degree_disable\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".canicule.degree_disable\",value);\n return msg;\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":590,"y":2230,"wires":[["b34baef5.9f785"]]},{"id":"74cadb7c.a9b164","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_canicule_altitude_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.volet_canicule_altitude_","entityidfiltertype":"regex","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":290,"y":2290,"wires":[["e9f4f84b.12e318"]]},{"id":"e9f4f84b.12e318","type":"function","z":"f2a092ac.3f903","name":"canicule.altitude","func":"var value = Number(msg.payload);\nvar topic = msg.topic;\ntopic = topic.replace('input_number.volet_canicule_altitude_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".canicule.altitude\") || false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".canicule.altitude\",value);\n return msg;\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":2290,"wires":[["b34baef5.9f785"]]},{"id":"b34baef5.9f785","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":830,"y":2230,"wires":[["294d852c.ff052a","5e89bc61.f29a14"]]},{"id":"78111fb.d3a43e","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":1870,"wires":[["294d852c.ff052a","ce9e3e33.f78c2"]]},{"id":"aa24bff1.46341","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":1590,"wires":[["294d852c.ff052a","63177f39.45716"]]},{"id":"d62d5b.e6d522a8","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":810,"y":1390,"wires":[["294d852c.ff052a","2c5c4a45.07c8c6"]]},{"id":"1c530f6e.273e61","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":1190,"wires":[["294d852c.ff052a","a9c8260c.09daa8"]]},{"id":"1cc78c01.687954","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":860,"wires":[["294d852c.ff052a","5c2671a4.068ee"]]},{"id":"20431242.8edfae","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":500,"wires":[["294d852c.ff052a","3b8394ca.33abbc"]]},{"id":"763d37b0.4223a8","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":160,"wires":[["294d852c.ff052a"]]},{"id":"37837fc5.9b9ce","type":"link out","z":"f2a092ac.3f903","name":"To Check Status","links":["f525c969.421dd8"],"x":3780,"y":440,"wires":[],"l":true},{"id":"f525c969.421dd8","type":"link in","z":"f2a092ac.3f903","name":"","links":["5512c524.62835c","37837fc5.9b9ce","d2fed4d9.44e308","62f1b70c.5affe8"],"x":1945,"y":1740,"wires":[["c8b05665.f7e7a8"]]},{"id":"3ece2ff9.93224","type":"inject","z":"f2a092ac.3f903","name":"Test Open","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Debug Open","payload":"5","payloadType":"num","x":1740,"y":1660,"wires":[["9ac90746.509968","ef2ca2e6.3faf6","2be5cebc.d4bdd2"]]},{"id":"6f2859b.2b1b5a8","type":"inject","z":"f2a092ac.3f903","name":"Test Close","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Debug Close","payload":"0","payloadType":"num","x":1740,"y":1820,"wires":[["9ac90746.509968","2be5cebc.d4bdd2","ef2ca2e6.3faf6"]]},{"id":"9ac90746.509968","type":"change","z":"f2a092ac.3f903","name":"cuisine_jardin","rules":[{"t":"set","p":"volet","pt":"msg","to":"cuisine_jardin","tot":"str"},{"t":"set","p":"send","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"value","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"icon","pt":"msg","to":"moon","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1800,"y":1740,"wires":[["c8b05665.f7e7a8"]]},{"id":"ef2ca2e6.3faf6","type":"change","z":"f2a092ac.3f903","name":"cuisine_pignon","rules":[{"t":"set","p":"volet","pt":"msg","to":"cuisine_pignon","tot":"str"},{"t":"set","p":"send","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"value","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1800,"y":1700,"wires":[[]]},{"id":"2be5cebc.d4bdd2","type":"change","z":"f2a092ac.3f903","name":"cuisine_porte","rules":[{"t":"set","p":"volet","pt":"msg","to":"cuisine_porte","tot":"str"},{"t":"set","p":"send","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"value","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1800,"y":1780,"wires":[[]]},{"id":"19d40acf.2ca865","type":"comment","z":"f2a092ac.3f903","name":"Force State for debug","info":"","x":1740,"y":1600,"wires":[]},{"id":"ae3b3fc6.4d715","type":"comment","z":"f2a092ac.3f903","name":"Notification","info":"","x":2270,"y":1580,"wires":[]},{"id":"d2fed4d9.44e308","type":"link out","z":"f2a092ac.3f903","name":"To Check Status","links":["f525c969.421dd8"],"x":3420,"y":880,"wires":[],"l":true},{"id":"62f1b70c.5affe8","type":"link out","z":"f2a092ac.3f903","name":"To Check Status","links":["f525c969.421dd8"],"x":3780,"y":940,"wires":[],"l":true},{"id":"294d852c.ff052a","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":160,"wires":[["e1bda88b.2e7208","415e066e.14abd8"]]},{"id":"89c37543.63d928","type":"function","z":"f2a092ac.3f903","name":"Merge","func":"\nreturn msg;","outputs":1,"noerr":0,"x":810,"y":320,"wires":[["294d852c.ff052a"]]},{"id":"b5c1294d.755a88","type":"function","z":"f2a092ac.3f903","name":"Check Pos","func":"var array_pos = msg.payload.pos;\nvar retour = [];\nvar i = 2;\nvar id = 0;\nvar value = false;\n\nfor(let output in array_pos) {\n \n id = array_pos;\n value = array_pos[output];\n \n if ( value === false ) {\n retour.push({group:i,value:99});\n }else{\n retour.push({group:i,value:100});\n }\n \n i=i+1;\n} \n\nreturn retour;","outputs":6,"noerr":0,"initialize":"","finalize":"","x":3150,"y":520,"wires":[["59a57643.badb28"],["59a57643.badb28"],["59a57643.badb28"],["59a57643.badb28"],["59a57643.badb28"],["59a57643.badb28"]]},{"id":"59a57643.badb28","type":"function","z":"f2a092ac.3f903","name":"Open ?","func":"var volet_config = flow.get(\"volet_config\")\nvar volet_group = msg.group;\nvar volet_value = msg.value;\n\nfor(let volet in volet_config) {\n group = volet_config[volet].group;\n if(volet_group == group && volet_value != 100) {\n msg.volet = volet;\n msg.value = volet_config[volet].seuil.open;\n msg.motif = \"Canicule, Ouverture (Volet hors Azimuth)\"\n msg.icon = \"sun_with_face\"\n return msg;\n }\n} \n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":3320,"y":520,"wires":[["ef552079.d84b1","b2746f84.f03b7"]]},{"id":"b2746f84.f03b7","type":"debug","z":"f2a092ac.3f903","name":"Result","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":3490,"y":520,"wires":[]},{"id":"5c2671a4.068ee","type":"debug","z":"f2a092ac.3f903","name":"GLOBAL CONFIG","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1030,"y":860,"wires":[]},{"id":"a9c8260c.09daa8","type":"debug","z":"f2a092ac.3f903","name":"OFFSET","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1000,"y":1190,"wires":[]},{"id":"2c5c4a45.07c8c6","type":"debug","z":"f2a092ac.3f903","name":"SUNRISE MIN/MAX","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1040,"y":1390,"wires":[]},{"id":"63177f39.45716","type":"debug","z":"f2a092ac.3f903","name":"SUNSET MIN/MAX","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1030,"y":1590,"wires":[]},{"id":"ce9e3e33.f78c2","type":"debug","z":"f2a092ac.3f903","name":"PRE SUNRISE/SUNSET","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1040,"y":1870,"wires":[]},{"id":"5e89bc61.f29a14","type":"debug","z":"f2a092ac.3f903","name":"CANICULE","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1010,"y":2230,"wires":[]},{"id":"3b8394ca.33abbc","type":"debug","z":"f2a092ac.3f903","name":"AMBIANCE / PRESENCE","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1050,"y":500,"wires":[]},{"id":"b1706a97.59a1f8","type":"change","z":"f2a092ac.3f903","name":"Sunrise","rules":[{"t":"set","p":"payload","pt":"msg","to":"sunrise","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"mqtt_sunrise","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":130,"wires":[["977170af.00f06"]]},{"id":"977170af.00f06","type":"mqtt out","z":"f2a092ac.3f903","name":"","topic":"","qos":"0","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"94fffe91.c7ff7","x":1740,"y":160,"wires":[]},{"id":"ab6ff7ef.9c3928","type":"change","z":"f2a092ac.3f903","name":"Sunset","rules":[{"t":"set","p":"payload","pt":"msg","to":"sunset","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"mqtt_sunset","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":190,"wires":[["977170af.00f06"]]},{"id":"978d5d2a.f68ad","type":"debug","z":"f2a092ac.3f903","name":"Check Horaire ?","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":3420,"y":1000,"wires":[]},{"id":"d50c66f2.32e0a8","type":"subflow:711f44dc.b8379c","z":"f2a092ac.3f903","name":"","env":[{"name":"topic","value":"maison_volets","type":"str"}],"x":2670,"y":1620,"wires":[]},{"id":"b11165db.b3fba8","type":"subflow:da154e44.123b3","z":"f2a092ac.3f903","name":"","env":[],"x":620,"y":600,"wires":[["20431242.8edfae","3dfc4dde.474492"],[]]},{"id":"a322e919.b180b8","type":"subflow:417de817.fdf9c8","z":"f2a092ac.3f903","name":"","env":[],"x":620,"y":490,"wires":[["20431242.8edfae"],["20431242.8edfae"],["20431242.8edfae"],["20431242.8edfae"],["20431242.8edfae"],["20431242.8edfae"],["20431242.8edfae"]]},{"id":"40b669f6.da86a8","type":"mqtt in","z":"f2a092ac.3f903","name":"Bureau","topic":"nodered/volet/bureau/set","qos":"2","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2150,"y":3060,"wires":[["b0873b0a.4bdc08"]]},{"id":"b0873b0a.4bdc08","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Bureau","env":[{"name":"topic","value":"bureau/volet","type":"str"}],"x":2320,"y":3060,"wires":[]},{"id":"fdb95d0a.fb371","type":"mqtt in","z":"f2a092ac.3f903","name":"Cuisine Pignon","topic":"nodered/volet/cuisine_pignon/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1560,"y":2340,"wires":[["d749650.b53de98"]]},{"id":"d749650.b53de98","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Cuisine Pignon","env":[{"name":"topic","value":"cuisine/volet_pignon","type":"str"}],"x":1780,"y":2340,"wires":[]},{"id":"f1f25f3.d39dca","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Bureau","topic":"zwave/bureau/volet/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2120,"y":3120,"wires":[["b0873b0a.4bdc08"]]},{"id":"4794358e.95ec2c","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Cuisine Pignon","topic":"zwave/cuisine/volet_pignon/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1540,"y":2400,"wires":[["d749650.b53de98"]]},{"id":"cbf3f6c0.408288","type":"mqtt in","z":"f2a092ac.3f903","name":"Cuisine Jardin","topic":"nodered/volet/cuisine_jardin/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2130,"y":2340,"wires":[["d41fa1d3.14109"]]},{"id":"d41fa1d3.14109","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Cuisine Jardin","env":[{"name":"topic","value":"cuisine/volet_jardin","type":"str"}],"x":2340,"y":2340,"wires":[]},{"id":"578e8e9b.ef1eb","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Cuisine Jardin","topic":"zwave/cuisine/volet_jardin/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2100,"y":2400,"wires":[["d41fa1d3.14109"]]},{"id":"20f0f677.64200a","type":"mqtt in","z":"f2a092ac.3f903","name":"Cuisine Porte","topic":"nodered/volet/cuisine_porte/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2630,"y":2340,"wires":[["f4885507.f7a458"]]},{"id":"f4885507.f7a458","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Cuisine Porte","env":[{"name":"topic","value":"cuisine/volet_porte","type":"str"}],"x":2840,"y":2340,"wires":[]},{"id":"542cc101.53e42","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Cuisine Porte","topic":"zwave/cuisine/volet_porte/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2600,"y":2400,"wires":[["f4885507.f7a458"]]},{"id":"5037ffdd.91697","type":"mqtt in","z":"f2a092ac.3f903","name":"Salle à manger","topic":"nodered/volet/salle_a_manger/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1560,"y":2580,"wires":[["5078b3ed.a5f73c"]]},{"id":"5078b3ed.a5f73c","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salle à manger","env":[{"name":"topic","value":"sejour/volet_sam","type":"str"}],"x":1780,"y":2580,"wires":[]},{"id":"e8663dd0.6a7d6","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Salle à manger","topic":"zwave/sejour/volet_sam/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1540,"y":2640,"wires":[["5078b3ed.a5f73c"]]},{"id":"4eddd1ee.3729f","type":"mqtt in","z":"f2a092ac.3f903","name":"Salon Jardin","topic":"nodered/volet/salon_jardin/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2130,"y":2580,"wires":[["6def6b97.3bba54"]]},{"id":"6def6b97.3bba54","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salon Jardin","env":[{"name":"topic","value":"sejour/volet_jardin","type":"str"}],"x":2330,"y":2580,"wires":[]},{"id":"c64a2fcb.2abe3","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Séjour Jardin","topic":"zwave/sejour/volet_jardin/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2100,"y":2640,"wires":[["6def6b97.3bba54"]]},{"id":"6f2b64d2.d1c7bc","type":"mqtt in","z":"f2a092ac.3f903","name":"Salon Spa","topic":"nodered/volet/salon_spa/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2640,"y":2580,"wires":[["9bd8d09a.610da"]]},{"id":"9bd8d09a.610da","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salon Spa","env":[{"name":"topic","value":"sejour/volet_spa","type":"str"}],"x":2830,"y":2580,"wires":[]},{"id":"373cdb88.66ee44","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Salon Spa","topic":"zwave/sejour/volet_spa/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2610,"y":2640,"wires":[["9bd8d09a.610da"]]},{"id":"a0a4c824.c0a158","type":"mqtt in","z":"f2a092ac.3f903","name":"Chambre RDC Jardin","topic":"nodered/volet/chambre_rdc_jardin/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1540,"y":2820,"wires":[["f8dd9902.222418"]]},{"id":"f8dd9902.222418","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Chambre RDC Jardin","env":[{"name":"topic","value":"chambre_rdc/volet_jardin","type":"str"}],"x":1800,"y":2820,"wires":[]},{"id":"22c324f6.51f07c","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Chambre RDC Jardin","topic":"zwave/chambre_rdc/volet_jardin/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1520,"y":2880,"wires":[["f8dd9902.222418"]]},{"id":"3200f726.62bf48","type":"mqtt in","z":"f2a092ac.3f903","name":"Chambre RDC Facade","topic":"nodered/volet/chambre_rdc_facade/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2100,"y":2820,"wires":[["c50e4a33.cc7c38"]]},{"id":"c50e4a33.cc7c38","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Chambre RDC Facade","env":[{"name":"topic","value":"chambre_rdc/volet_facade","type":"str"}],"x":2360,"y":2820,"wires":[]},{"id":"b3698289.1b1ed","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Chambre RDC Facade","topic":"zwave/chambre_rdc/volet_facade/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2070,"y":2880,"wires":[["c50e4a33.cc7c38"]]},{"id":"192c60c4.8875ef","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":1590,"y":2220,"wires":[["d749650.b53de98"]]},{"id":"11c24dbd.748552","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":1590,"y":2260,"wires":[["d749650.b53de98"]]},{"id":"a0239151.fb4d2","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"str","x":1590,"y":2300,"wires":[["d749650.b53de98"]]},{"id":"c0fe60e2.7ecb4","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2150,"y":2220,"wires":[["d41fa1d3.14109"]]},{"id":"72216a26.873624","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2150,"y":2260,"wires":[["d41fa1d3.14109"]]},{"id":"d9a5dcd7.1b78e","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2150,"y":2300,"wires":[["d41fa1d3.14109"]]},{"id":"52be3df3.22ffa4","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2650,"y":2220,"wires":[["f4885507.f7a458"]]},{"id":"7ed59dec.1d9d04","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2650,"y":2260,"wires":[["f4885507.f7a458"]]},{"id":"4a67aecc.cdca4","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2650,"y":2300,"wires":[["f4885507.f7a458"]]},{"id":"3baba61e.f7733a","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":1590,"y":2460,"wires":[["5078b3ed.a5f73c"]]},{"id":"90aa5dc3.3c319","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":1590,"y":2500,"wires":[["5078b3ed.a5f73c"]]},{"id":"e76194b.e0f8468","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"str","x":1590,"y":2540,"wires":[["5078b3ed.a5f73c"]]},{"id":"2aab2b69.c395e4","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2150,"y":2460,"wires":[["6def6b97.3bba54"]]},{"id":"a9ea831a.c55c3","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2150,"y":2500,"wires":[["6def6b97.3bba54"]]},{"id":"a78b4449.edd018","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2150,"y":2540,"wires":[["6def6b97.3bba54"]]},{"id":"467eb490.f86afc","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2650,"y":2460,"wires":[["9bd8d09a.610da"]]},{"id":"5aa28377.5363fc","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2650,"y":2500,"wires":[["9bd8d09a.610da"]]},{"id":"ef7ab9e7.5d8638","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2650,"y":2540,"wires":[["9bd8d09a.610da"]]},{"id":"5782e5c5.5d881c","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":1590,"y":2700,"wires":[["f8dd9902.222418"]]},{"id":"7f454b8f.fb5234","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":1590,"y":2740,"wires":[["f8dd9902.222418"]]},{"id":"504610f1.b30f7","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"str","x":1590,"y":2780,"wires":[["f8dd9902.222418"]]},{"id":"ade35506.125078","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2150,"y":2700,"wires":[["c50e4a33.cc7c38"]]},{"id":"1bcbe1cd.c1e99e","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2150,"y":2740,"wires":[["c50e4a33.cc7c38"]]},{"id":"a3c1e62c.2e51f8","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2150,"y":2780,"wires":[["c50e4a33.cc7c38"]]},{"id":"fd41868a.9a78f8","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2150,"y":2940,"wires":[["b0873b0a.4bdc08"]]},{"id":"47735c34.9eb474","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2150,"y":2980,"wires":[["b0873b0a.4bdc08"]]},{"id":"cae10ee1.dc319","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2150,"y":3020,"wires":[["b0873b0a.4bdc08"]]},{"id":"17d36535.6b0ecb","type":"mqtt in","z":"f2a092ac.3f903","name":"Salle de bain","topic":"nodered/volet/salle_de_bain/set","qos":"1","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2630,"y":2820,"wires":[["367e43d7.620eec"]]},{"id":"367e43d7.620eec","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salle de bain","env":[{"name":"topic","value":"salle_de_bain/volet","type":"str"}],"x":2830,"y":2820,"wires":[]},{"id":"e28ac786.6d58a8","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Salle de bain","topic":"zwave/salle_de_bain/volet/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2600,"y":2880,"wires":[["367e43d7.620eec"]]},{"id":"75c68542.ef101c","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2650,"y":2700,"wires":[["367e43d7.620eec"]]},{"id":"e09b9cef.ce8f8","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2650,"y":2740,"wires":[["367e43d7.620eec"]]},{"id":"cede90b7.38a88","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2650,"y":2780,"wires":[["367e43d7.620eec"]]},{"id":"7faa458f.63d44c","type":"mqtt in","z":"f2a092ac.3f903","name":"Buanderie","topic":"nodered/volet/buanderie/set","qos":"2","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1580,"y":3060,"wires":[["72266a14.34c974"]]},{"id":"72266a14.34c974","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Buanderie","env":[{"name":"topic","value":"buanderie/volet","type":"str"}],"x":1770,"y":3060,"wires":[]},{"id":"a8937d4a.96149","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Buanderie","topic":"zwave/buanderie/volet/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":1550,"y":3120,"wires":[["72266a14.34c974"]]},{"id":"c658fc3a.14b32","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":1590,"y":2940,"wires":[["72266a14.34c974"]]},{"id":"450d3258.47fbac","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":1590,"y":2980,"wires":[["72266a14.34c974"]]},{"id":"c6efde8b.adb2d","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"str","x":1590,"y":3020,"wires":[["72266a14.34c974"]]},{"id":"6147c594.abea5c","type":"mqtt in","z":"f2a092ac.3f903","name":"Garage","topic":"nodered/volet/garage/set","qos":"2","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2650,"y":3060,"wires":[["cd5f1d6c.64e0e"]]},{"id":"cd5f1d6c.64e0e","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Garage","env":[{"name":"topic","value":"garage/volet","type":"str"}],"x":2820,"y":3060,"wires":[]},{"id":"77a0e5b7.f935fc","type":"mqtt in","z":"f2a092ac.3f903","name":"Moteur Garage","topic":"zwave/garage/volet/50/2/2","qos":"0","datatype":"auto","broker":"94fffe91.c7ff7","nl":false,"rap":false,"inputs":0,"x":2620,"y":3120,"wires":[["cd5f1d6c.64e0e"]]},{"id":"abd9dc22.a1195","type":"inject","z":"f2a092ac.3f903","name":"UP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"99","payloadType":"num","x":2650,"y":2940,"wires":[["cd5f1d6c.64e0e"]]},{"id":"c66ade34.60a88","type":"inject","z":"f2a092ac.3f903","name":"DOWN","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":2650,"y":2980,"wires":[["cd5f1d6c.64e0e"]]},{"id":"2a98e08f.2d1","type":"inject","z":"f2a092ac.3f903","name":"STOP","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"STOP","payloadType":"str","x":2650,"y":3020,"wires":[["cd5f1d6c.64e0e"]]},{"id":"d56ddce4.38215","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Cuisine Pignon","env":[{"name":"topic","value":"cuisine/volet_pignon","type":"str"}],"x":3600,"y":1200,"wires":[]},{"id":"6db41e7d.81715","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Cuisine Jardin","env":[{"name":"topic","value":"cuisine/volet_jardin","type":"str"}],"x":3600,"y":1260,"wires":[]},{"id":"43f8398e.865b28","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Cuisine Porte","env":[{"name":"topic","value":"cuisine/volet_porte","type":"str"}],"x":3600,"y":1320,"wires":[]},{"id":"a84a3d0c.63d15","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salle à manger","env":[{"name":"topic","value":"sejour/volet_sam","type":"str"}],"x":3600,"y":1400,"wires":[]},{"id":"e0e90e16.d615b","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salon Jardin","env":[{"name":"topic","value":"sejour/volet_jardin","type":"str"}],"x":3590,"y":1460,"wires":[]},{"id":"26e4d8dd.68ba78","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salon Spa","env":[{"name":"topic","value":"sejour/volet_spa","type":"str"}],"x":3590,"y":1520,"wires":[]},{"id":"67d1af44.50635","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Chambre RDC Jardin","env":[{"name":"topic","value":"chambre_rdc/volet_jardin","type":"str"}],"x":3620,"y":1620,"wires":[]},{"id":"228030c8.484f8","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Chambre RDC Facade","env":[{"name":"topic","value":"chambre_rdc/volet_facade","type":"str"}],"x":3620,"y":1680,"wires":[]},{"id":"e00d8f4a.d8574","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Salle de bain","env":[{"name":"topic","value":"salle_de_bain/volet","type":"str"}],"x":3590,"y":1800,"wires":[]},{"id":"f2e44660.e04cd8","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Garage","env":[{"name":"topic","value":"garage/volet","type":"str"}],"x":3580,"y":2040,"wires":[]},{"id":"7d4fbadf.cfa5b4","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Bureau","env":[{"name":"topic","value":"bureau/volet","type":"str"}],"x":3580,"y":1960,"wires":[]},{"id":"2dac3344.e1642c","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Buanderie","env":[{"name":"topic","value":"buanderie/volet","type":"str"}],"x":3590,"y":1880,"wires":[]},{"id":"3346ee9e.3c3b72","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Chambre Parents","env":[{"name":"topic","value":"chambre_parent/volet","type":"str"}],"x":3610,"y":2120,"wires":[]},{"id":"f8fa361f.02edf8","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Grenier","env":[{"name":"topic","value":"grenier/volet","type":"str"}],"x":3580,"y":2200,"wires":[]},{"id":"acd2c1ac.be5ff","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Chloé","env":[{"name":"topic","value":"chloe/volet","type":"str"}],"x":3570,"y":2280,"wires":[]},{"id":"d8b40653.9fdac8","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Simon","env":[{"name":"topic","value":"simon/volet","type":"str"}],"x":3570,"y":2360,"wires":[]},{"id":"822122b0.792a1","type":"subflow:a9528598.9ecaf8","z":"f2a092ac.3f903","name":"Palier","env":[{"name":"topic","value":"palier/volet","type":"str"}],"x":3570,"y":2440,"wires":[]},{"id":"30f02f7d.ea232","type":"inject","z":"f2a092ac.3f903","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":330,"y":320,"wires":[["b33783cb.d8339"]]},{"id":"f4ac5117.6518d","type":"inject","z":"f2a092ac.3f903","name":"Présent","props":[{"p":"payload"},{"p":"person","v":"clement","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"home","payloadType":"str","x":470,"y":570,"wires":[["b11165db.b3fba8"]]},{"id":"a6067fe5.dedd8","type":"inject","z":"f2a092ac.3f903","name":"Absent","props":[{"p":"payload"},{"p":"person","v":"clement","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"not home","payloadType":"str","x":470,"y":620,"wires":[["b11165db.b3fba8"]]},{"id":"35a669cb.31fd06","type":"debug","z":"f2a092ac.3f903","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2240,"y":1790,"wires":[]},{"id":"8b1cfbb2.e9b928","type":"function","z":"f2a092ac.3f903","name":"","func":"volets = flow.get(\"volet_config\");\nretour = []\nfor(let id in volets) {\n sunrise = volets[id].sunrise;\n sunset = volets[id].sunset;\n retour.push({\n \"volet\": id,\n \"sunrise\": sunrise,\n \"sunset\": sunset,\n \"mqtt_sunrise\": volets[id].mqtt.sunrise,\n \"mqtt_sunset\": volets[id].mqtt.sunset\n }); \n} \n\nreturn [retour];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1370,"y":160,"wires":[["b1706a97.59a1f8","ab6ff7ef.9c3928"]]},{"id":"e1bda88b.2e7208","type":"function","z":"f2a092ac.3f903","name":"Offset calcul","func":"var debug = flow.get('debug');\n\ndate = new Date();\n// date = new Date(\"Sat Jun 27 2020 19:59:00 GMT+0200 (Central European Summer Time)\");\n\nvar sunrise = Number(global.get('sunrise')) || 0;\nvar sunset = Number(global.get('sunset')) || 0;\nvar sunrise_timestamp = global.get('sunrise_timestamp') || 0;\nvar sunset_timestamp = global.get('sunset_timestamp') || 0;\n\n\nvar volets_config = flow.get(\"volet_config\");\nfor(let volet in volets_config) {\n \n volet_config = volets_config[volet];\n\n var volet_enable = volet_config.enable;\n\n if (volet_enable === true ) {\n \n // Configuration du volet\n var volet_ouverture_min = volet_config.volet_ouverture.min;\n var volet_ouverture_max = volet_config.volet_ouverture.max;\n var volet_fermeture_min = volet_config.volet_fermeture.min;\n var volet_fermeture_max = volet_config.volet_fermeture.max;\n var offset_pre_sunrise = volet_config.offset_pre_sunrise;\n var offset_pre_sunset = volet_config.offset_pre_sunset;\n var seuil_pre_sunrise = volet_config.seuil_pre_sunrise;\n var seuil_pre_sunset = volet_config.seuil_pre_sunset;\n var pre_action = volet_config.pre_action;\n var offset_sunrise = volet_config.offset_sunrise;\n var offset_sunset = volet_config.offset_sunset;\n\n // inverson du seuil de pre_sunset\n seuil_pre_sunset = 100 - seuil_pre_sunset;\n if (seuil_pre_sunrise == 100) seuil_pre_sunrise = 99; \n if (seuil_pre_sunset == 100) seuil_pre_sunset = 99; \n \n // Convertion en objet Date\n split = volet_ouverture_min.split(':');\n volet_ouverture_min = new Date(); volet_ouverture_min.setHours(+split[0]); volet_ouverture_min.setMinutes(split[1]); volet_ouverture_min.setSeconds(split[2]);\n split = volet_ouverture_max.split(':');\n volet_ouverture_max = new Date(); volet_ouverture_max.setHours(+split[0]); volet_ouverture_max.setMinutes(split[1]); volet_ouverture_max.setSeconds(split[2]);\n split = volet_fermeture_min.split(':');\n volet_fermeture_min = new Date(); volet_fermeture_min.setHours(+split[0]); volet_fermeture_min.setMinutes(split[1]); volet_fermeture_min.setSeconds(split[2]);\n split = volet_fermeture_max.split(':');\n volet_fermeture_max = new Date(); volet_fermeture_max.setHours(+split[0]); volet_fermeture_max.setMinutes(split[1]); volet_fermeture_max.setSeconds(split[2]);\n \n \n // Ajoute de l'offset \n sunrise = new Date(sunrise_timestamp);\n sunrise = new Date(sunrise.getTime() + offset_sunrise*1000 * 60 );\n sunset = new Date(sunset_timestamp);\n sunset = new Date(sunset.getTime() + offset_sunset*1000 * 60 );\n \n // Remplacement des valeurs si inférieur au min/max\n if ( sunrise <= volet_ouverture_min ) sunrise = new Date(volet_ouverture_min);\n if ( sunrise >= volet_ouverture_max ) sunrise = new Date(volet_ouverture_max);\n if ( sunset <= volet_fermeture_min ) sunset = new Date(volet_fermeture_min);\n if ( sunset >= volet_fermeture_max ) sunset = new Date(volet_fermeture_max);\n \n // Calcul des seuils de pré-ouverture/fermeture\n pre_sunrise = new Date(sunrise.getTime() + offset_pre_sunrise*1000 * 60 );\n pre_sunset = new Date(sunset.getTime() + offset_pre_sunrise*1000 * 60 );\n \n if (debug === true && volet == \"cuisine_jardin\") {\n node.log(\"================================================\");\n node.log(\"Sunrise : \"+sunrise);\n node.log(\"Sunset : \"+sunset);\n node.log(\"=================================================\"); \n node.log(\"-------------------------------------------------\"); \n node.log(\"volet_ouverture_min : \"+volet_ouverture_min);\n node.log(\"volet_ouverture_max : \"+volet_ouverture_max);\n node.log(\"volet_fermeture_min : \"+volet_fermeture_min);\n node.log(\"volet_fermeture_max : \"+volet_fermeture_max);\n node.log(\"offset_pre_sunrise : \"+offset_pre_sunrise);\n node.log(\"offset_pre_sunset : \"+offset_pre_sunset);\n node.log(\"seuil_pre_sunrise : \"+seuil_pre_sunrise);\n node.log(\"seuil_pre_sunset : \"+seuil_pre_sunset); \n node.log(\"offset_sunrise : \"+offset_sunrise);\n node.log(\"offset_sunset : \"+offset_sunset); \n node.log(\"------------------- \"+volet+\" -------------------------\"); \n node.log(\"Time : \"+addZero(date.getHours())+\":\"+addZero(date.getMinutes()));\n node.log(\" New Sunrise : \"+addZero(sunrise.getHours())+\":\"+addZero(sunrise.getMinutes()));\n node.log(\" Pre Sunrise : \"+addZero(pre_sunrise.getHours())+\":\"+addZero(pre_sunrise.getMinutes()));\n node.log(\" New Sunset : \"+addZero(sunset.getHours())+\":\"+addZero(sunset.getMinutes()));\n node.log(\" Pre Sunset : \"+addZero(pre_sunset.getHours())+\":\"+addZero(pre_sunset.getMinutes())); \n node.log(\"-------------------------------------------------\"); \n }\n \n flow.set('volet_config.'+volet+'.sunrise',addZero(sunrise.getHours())+\":\"+addZero(sunrise.getMinutes()));\n flow.set('volet_config.'+volet+'.sunset',addZero(sunset.getHours())+\":\"+addZero(sunset.getMinutes()));\n }\n}\n\nreturn msg;\n\nfunction addZero(i) {\n if (i < 10) {\n i = \"0\" + i;\n }\n return i;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1200,"y":160,"wires":[["8b1cfbb2.e9b928"]]},{"id":"7a16695a.1f20d8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_mode_auto","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_mode_auto","entityidfiltertype":"regex","outputinitially":true,"state_type":"habool","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,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":310,"y":2420,"wires":[["1cb80354.c16f9d"]]},{"id":"1cb80354.c16f9d","type":"function","z":"f2a092ac.3f903","name":"enable.nodered","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('volet_mode_auto')\nvar current_value = flow.get(\"flow_enable\") || 0;\nif (current_value != value || current_value === 0) {\n flow.set(\"flow_enable\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":610,"y":2420,"wires":[["b34baef5.9f785"]]},{"id":"415e066e.14abd8","type":"switch","z":"f2a092ac.3f903","name":"Enable ?","property":"flow_enable","propertyType":"flow","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":1410,"y":540,"wires":[["4be66761.ccf498"]]},{"id":"97c1a644.c15cc8","type":"function","z":"f2a092ac.3f903","d":true,"name":"Format Message","func":"notif = flow.get('notif');\nshort_message = \"Changement de status des volets\"\nfull_message = \"\";\nfor (var key in notif) {\n full_message = full_message+notif[key]+'\\n';\n}\n\nif (full_message !== \"\") {\n notif = flow.set('notif',[]);\n return {message:full_message,short_message:short_message,dest: \"discord_maison_volets;mattermost_volets\"};\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":2480,"y":1560,"wires":[[]]},{"id":"6da19923.e034e8","type":"server-state-changed","z":"f2a092ac.3f903","name":"volet_gaming_","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_gaming_","entityidfiltertype":"regex","outputinitially":true,"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","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":320,"y":990,"wires":[["ca278930.1270f8"]]},{"id":"ca278930.1270f8","type":"function","z":"f2a092ac.3f903","name":"ambiance.gaming","func":"var value = msg.payload;\nvar topic = msg.topic;\ntopic = topic.replace('input_boolean.volet_gaming_',\"\")\nvar current_value = flow.get(\"volet_config.\"+topic+\".ambiance.gaming\")|| false;\nif (current_value != value || current_value === false) {\n flow.set(\"volet_config.\"+topic+\".ambiance.gaming\",value);\n return msg; \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":990,"wires":[["1cc78c01.687954"]]},{"id":"4be66761.ccf498","type":"delay","z":"f2a092ac.3f903","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":1560,"y":540,"wires":[["e5552f97.11ee2"]]},{"id":"a708e10.d2adf2","type":"server-state-changed","z":"f2a092ac.3f903","name":"Mode Abscence Force","server":"7f33d7bb.9361a8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.volet_mode_absent","entityidfiltertype":"exact","outputinitially":false,"state_type":"habool","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,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":280,"y":2540,"wires":[["b6fb79e1.c66a78"]]},{"id":"b6fb79e1.c66a78","type":"change","z":"f2a092ac.3f903","d":true,"name":"mode_absence_force","rules":[{"t":"set","p":"mode_absence_force","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":2540,"wires":[["b34baef5.9f785"]]},{"id":"3dfc4dde.474492","type":"change","z":"f2a092ac.3f903","d":true,"name":"mode_absence_force","rules":[{"t":"set","p":"mode_absence_force","pt":"global","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1040,"y":600,"wires":[[]]},{"id":"7f33d7bb.9361a8","type":"server","name":"Home Assistant","version":2,"addon":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30"},{"id":"56ff61b5.178f1","type":"position-config","name":"Maison","isValide":"true","longitude":"0","latitude":"0","angleType":"deg","timeZoneOffset":"99","timeZoneDST":"0","stateTimeFormat":"3","stateDateFormat":"12"},{"id":"94fffe91.c7ff7","type":"mqtt-broker","name":"Mosquitto","broker":"mosquitto.mosquitto","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement