Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 17:45
KvNwPPr schreef op woensdag 7 juli 2021 @ 23:21:
Ik heb een Zigbee ECO-DIM.07 Led dimmer icm zigbee2mqtt.
De automatisering werkt perfect: gaat aan als er beweging is, en gaat na 5 minuten geen beweging weer uit.

Ik wil de automatisering ook uit (1 uur) kunnen zetten als de knop handmatig wordt bediend. Bv. in een situatie dat je veel licht wilt, of juist geen licht.
Dit krijg ik helaas niet voor elkaar.

Ik heb er een traffic light tussen gezet die de automatisering tijdelijk stop moet zetten. Dat werkt, maar het probleem is de automatisering ook wordt gedeactiveerd als het licht automatisch via beweging aangaat. De dimmer geeft namelijk hetzelfde signaal (state = on/off) door als bij handmatige bediening met de knop.

iemand een slim idee hoe ik dit wel voor elkaar krijg?

code:
1
[{"id":"98d74849.845618","type":"comment","z":"5eae6cdb.023f34","name":"Lamp AAN bij beweging in keuken","info":"","x":220,"y":840,"wires":[]},{"id":"d10f5418.8457a8","type":"change","z":"5eae6cdb.023f34","name":"UIT","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"OFF\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":1120,"wires":[["8d8a399a.f52678"]],"icon":"node-red/light.png"},{"id":"486e5ebc.7ff7b","type":"stoptimer","z":"5eae6cdb.023f34","duration":"5","units":"Minute","payloadtype":"num","payloadval":"0","name":"5m","x":590,"y":1120,"wires":[["6c2ffd15.832724"],[]]},{"id":"526d79bd.ba36f8","type":"switch","z":"5eae6cdb.023f34","name":"beweging?","property":"payload.occupancy","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":1080,"wires":[["6a0420e0.a411c","486e5ebc.7ff7b"],["486e5ebc.7ff7b"]]},{"id":"6a0420e0.a411c","type":"switch","z":"5eae6cdb.023f34","name":"licht <= 75?","property":"payload.illuminance","propertyType":"msg","rules":[{"t":"lte","v":"9979","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":570,"y":1040,"wires":[["8c5c0568.de2428"],["6c2ffd15.832724"]]},{"id":"8c5c0568.de2428","type":"traffic","z":"5eae6cdb.023f34","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":true,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"block","ignore_case_stop":true,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":830,"y":1040,"wires":[["13268be7.96e0e4"]]},{"id":"6c2ffd15.832724","type":"traffic","z":"5eae6cdb.023f34","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":true,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"block","ignore_case_stop":true,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":830,"y":1120,"wires":[["d10f5418.8457a8"]]},{"id":"13268be7.96e0e4","type":"change","z":"5eae6cdb.023f34","name":"AAN","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness\":\"253\",\"state\":\"ON\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":1040,"wires":[["8d8a399a.f52678"]],"icon":"node-red/light.png"},{"id":"c5941ffd.0a366","type":"mqtt-json","z":"5eae6cdb.023f34","name":"motion sensor keuken","topic":"zigbee2mqtt/motion_sensor_keuken","property":"","qos":"2","broker":"9ca728fa.8b9898","x":180,"y":1080,"wires":[["526d79bd.ba36f8"]]},{"id":"8d8a399a.f52678","type":"mqtt out","z":"5eae6cdb.023f34","name":"dimmer keuken","topic":"zigbee2mqtt/dimmer_keuken/set","qos":"2","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ca728fa.8b9898","x":1160,"y":1080,"wires":[],"icon":"node-red/light.svg","info":"{\r\n  \"brightness_move\": -40, // Starts moving brightness down at 40 units per second\r\n  \"brightness_move\": 0, // Stop moving brightness\r\n  \"brightness_step\": 40 // Increases brightness by 40\r\n}"},{"id":"f3e7c398.db478","type":"change","z":"5eae6cdb.023f34","name":"block","rules":[{"t":"set","p":"payload","pt":"msg","to":"block","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":900,"wires":[["8c5c0568.de2428"]]},{"id":"2697b404.faf3ec","type":"stoptimer","z":"5eae6cdb.023f34","duration":"1","units":"Hour","payloadtype":"str","payloadval":"allow","name":"1h","x":580,"y":940,"wires":[[],["8c5c0568.de2428"]]},{"id":"37118b04.f09cc4","type":"change","z":"5eae6cdb.023f34","name":"block","rules":[{"t":"set","p":"payload","pt":"msg","to":"block","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":1220,"wires":[["6c2ffd15.832724"]]},{"id":"7022d3a9.dd4dfc","type":"stoptimer","z":"5eae6cdb.023f34","duration":"1","units":"Hour","payloadtype":"str","payloadval":"allow","name":"1h","x":610,"y":1260,"wires":[[],["6c2ffd15.832724"]]},{"id":"ad9fc4fa.1e1808","type":"mqtt-json","z":"5eae6cdb.023f34","name":"dimmer keuken","topic":"zigbee2mqtt/dimmer_keuken","property":"","qos":"2","broker":"9ca728fa.8b9898","x":200,"y":920,"wires":[["92ba06ff.759ae8"]]},{"id":"9d5417fa.df6508","type":"mqtt-json","z":"5eae6cdb.023f34","name":"dimmer keuken","topic":"zigbee2mqtt/dimmer_keuken","property":"","qos":"2","broker":"9ca728fa.8b9898","x":240,"y":1240,"wires":[["c9a8a9a4.0b2e68"]]},{"id":"92ba06ff.759ae8","type":"switch","z":"5eae6cdb.023f34","name":"","property":"payload.state","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":920,"wires":[["f3e7c398.db478","2697b404.faf3ec"],["f3e7c398.db478","2697b404.faf3ec"]]},{"id":"c9a8a9a4.0b2e68","type":"switch","z":"5eae6cdb.023f34","name":"","property":"payload.state","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":1240,"wires":[["37118b04.f09cc4","7022d3a9.dd4dfc"],["37118b04.f09cc4","7022d3a9.dd4dfc"]]},{"id":"9ca728fa.8b9898","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.2.11","port":"1883","tls":"","clientid":"Node-red","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]



[Afbeelding]
Even checken; je dimmer geeft ook OFF?

Waarom lopen zowel je True/ON & False/OFF naar je timer? Je timer wordt dus eerst getriggered als ie ON signaal krijgt, vervolgens gereset bij OFF signaal.

Daarnaast snap ik het "Dat werkt, maar het probleem is de automatisering ook wordt gedeactiveerd als het licht automatisch via beweging aangaat. De dimmer geeft namelijk hetzelfde signaal (state = on/off) door als bij handmatige bediening met de knop." stuk niet helemaal.

De dimmer geeft hetzelfde signaal door als bij bediening met de knop?

Acties:
  • 0 Henk 'm!

  • LJ80
  • Registratie: Februari 2007
  • Laatst online: 23-07 16:08
Ik ben echt helemaal nieuw met node-red.
Zojuist heb ik het op mijn raspberry pi geinstalleerd, waar ook Domoticz, en Mosquitto op draait.
Nu kan ik met het aanmaken van het Zigbee2MQTT Admin Panel alleen verbinden als TLS uit staat.

Is dit een veiligheids risico om dit uit te laten?
Zoja hoe krijg ik dit in Mosquitto voor elkaar dat er wel verbinding via TLS gemaakt wordt?

Alvast bedankt, hopelijk kan iemand mij een schopje in de juiste richting geven.

Acties:
  • +1 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

LJ80 schreef op maandag 12 juli 2021 @ 20:32:
Ik ben echt helemaal nieuw met node-red.
Zojuist heb ik het op mijn raspberry pi geinstalleerd, waar ook Domoticz, en Mosquitto op draait.
Nu kan ik met het aanmaken van het Zigbee2MQTT Admin Panel alleen verbinden als TLS uit staat.

Is dit een veiligheids risico om dit uit te laten?
Zoja hoe krijg ik dit in Mosquitto voor elkaar dat er wel verbinding via TLS gemaakt wordt?

Alvast bedankt, hopelijk kan iemand mij een schopje in de juiste richting geven.
Zolang je Rpi niet aan het internet hangt zou ik me niet te druk maken.

Ik zou beginnen met de boel leren en wat meer inzicht te krijgen, als je zoiets als passwordmanager er naast houd kan je daarin per server/service wat gegevens / data opslaan .. wat het wel makkelijker houd om het bij te houden

btw ik zou me meer focussen om text documentje(s) / export van configs en (automatische) backups van je setup te doen .. als je een foutje maakt waarbij je vanaf het begin weer wilt starten moet je alles niet weer opnieuw uitvinden

Tja vanalles


Acties:
  • 0 Henk 'm!

  • LJ80
  • Registratie: Februari 2007
  • Laatst online: 23-07 16:08
Bedankt voor de tips!
De RPI is opgenomen in mijn thuis netwerk.
Maar ik heb geen open poorten naar het internet als het goed is.
Domoticz gebruik ik alleen lokaal.

Acties:
  • 0 Henk 'm!

  • Claes Maarten
  • Registratie: Augustus 2016
  • Laatst online: 19-09 19:17
Ik gebruik het dashboard van Node-RED en heb daar een formulier op staan. Ik gebruik dit om mijn meterstanden (nog geen slimme meters en ‘domme’ watermeter) in te voeren in Influx. Door het weg vallen van het toonfrequentsignaal draait nu nog maar een kWh-meter en dus de andere blijft staan. Oftewel ik moet elke dag de zelfde waarde invoeren. Nu zat ik te denken is het mogelijk om het formulier al vast te vullen met verwachte waardes (in het geval van de niet draaiende kWh-meter een bekende waarde)? Ik heb zelf al het een en ander geprobeerd en gezocht op het internet maar heb niks kunnen vinden. Zijn hier mensen met (zoek)tips?

Acties:
  • 0 Henk 'm!

  • KvNwPPr
  • Registratie: Februari 2014
  • Laatst online: 10-08 10:41
denuz schreef op donderdag 8 juli 2021 @ 17:36:
[...]


Even checken; je dimmer geeft ook OFF?

Waarom lopen zowel je True/ON & False/OFF naar je timer? Je timer wordt dus eerst getriggered als ie ON signaal krijgt, vervolgens gereset bij OFF signaal.

Daarnaast snap ik het "Dat werkt, maar het probleem is de automatisering ook wordt gedeactiveerd als het licht automatisch via beweging aangaat. De dimmer geeft namelijk hetzelfde signaal (state = on/off) door als bij handmatige bediening met de knop." stuk niet helemaal.

De dimmer geeft hetzelfde signaal door als bij bediening met de knop?
Even checken; je dimmer geeft ook OFF?
Ja, dat doet ie idd.
Waarom lopen zowel je True/ON & False/OFF naar je timer? Je timer wordt dus eerst getriggered als ie ON signaal krijgt, vervolgens gereset bij OFF signaal.
De stoptimer wordt gereset bij elke ON/OFF trigger van de motion sensor. Ik trigger ook bij een ON signaal omdat ik wil voorkomen dat na 1 OFF signaal de timer gaat lopen, en mijn lamp na 5 minuten uitgaat, terwijl in de 5 minuten daarna wel beweging is geweest. Dit had ik beter weg kunnen laten in het voorbeeld omdat dat niet relevant is voor mijn probleem :).
Daarnaast snap ik het "Dat werkt, maar het probleem is de automatisering ook wordt gedeactiveerd als het licht automatisch via beweging aangaat. De dimmer geeft namelijk hetzelfde signaal (state = on/off) door als bij handmatige bediening met de knop." stuk niet helemaal.

De dimmer geeft hetzelfde signaal door als bij bediening met de knop?
Ja, die geeft hetzelfde signaal en dat is precies mijn probleem. Hoe kan ik nu een onderscheid maken in handmatige en automatische bediening van de dimmer als die hetzelfde signaal doorgeven?

Acties:
  • +1 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 17:45
KvNwPPr schreef op dinsdag 13 juli 2021 @ 23:40:
[...]


[...]
Ja, dat doet ie idd.


[...]
De stoptimer wordt gereset bij elke ON/OFF trigger van de motion sensor. Ik trigger ook bij een ON signaal omdat ik wil voorkomen dat na 1 OFF signaal de timer gaat lopen, en mijn lamp na 5 minuten uitgaat, terwijl in de 5 minuten daarna wel beweging is geweest. Dit had ik beter weg kunnen laten in het voorbeeld omdat dat niet relevant is voor mijn probleem :).


[...]


Ja, die geeft hetzelfde signaal en dat is precies mijn probleem. Hoe kan ik nu een onderscheid maken in handmatige en automatische bediening van de dimmer als die hetzelfde signaal doorgeven?
Aah.... nu snap ik het pas...
Op basis van de motion geef je MQTT berichten door aan de dimmer. Maar de dimmer gebruik je ook nog met de hand. Sorry hoor 8)7. In dat geval kan ik wel wat bedenken... ik maak even een kleine flow.

@KvNwPPr
Ik kom voor nu op zoiets;....
code:
1
[{"id":"18dd73be.2d04fc","type":"comment","z":"a01c54dd.2e2098","name":"Lamp AAN bij beweging in keuken","info":"","x":180,"y":140,"wires":[]},{"id":"ae61e2b6.7e994","type":"change","z":"a01c54dd.2e2098","name":"UIT","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"OFF\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":420,"wires":[["e25bda30.e80268","5de0f36d.5898dc"]],"icon":"node-red/light.png"},{"id":"91c47036.9ca11","type":"switch","z":"a01c54dd.2e2098","name":"beweging?","property":"payload.occupancy","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":330,"y":380,"wires":[["1b17ff5d.a749a1","891f3b7f.6a6f98"],["891f3b7f.6a6f98"]]},{"id":"1b17ff5d.a749a1","type":"switch","z":"a01c54dd.2e2098","name":"licht <= 75?","property":"payload.illuminance","propertyType":"msg","rules":[{"t":"lte","v":"9979","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":530,"y":300,"wires":[["55e37a11.c17dd4"],["891f3b7f.6a6f98"]]},{"id":"c6d10892.fae0e8","type":"change","z":"a01c54dd.2e2098","name":"AAN","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness\":\"253\",\"state\":\"ON\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":320,"wires":[["e25bda30.e80268","5de0f36d.5898dc"]],"icon":"node-red/light.png"},{"id":"891f3b7f.6a6f98","type":"trigger","z":"a01c54dd.2e2098","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"5","extend":false,"overrideDelay":true,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":590,"y":400,"wires":[["9f0c0986.7d6c98"]]},{"id":"e25bda30.e80268","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"beweging","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1320,"y":240,"wires":[["5f842786.cd2958"]]},{"id":"5f842786.cd2958","type":"delay","z":"a01c54dd.2e2098","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1560,"y":240,"wires":[["df269bd4.14cf58"]]},{"id":"df269bd4.14cf58","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"maaknietuit","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1780,"y":240,"wires":[[]]},{"id":"3074b9f4.8742a6","type":"switch","z":"a01c54dd.2e2098","name":"","property":"payload.state","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":330,"y":680,"wires":[["58375757.ab0778"],["6b41e609.aee218"]]},{"id":"58375757.ab0778","type":"switch","z":"a01c54dd.2e2098","name":"check flow != beweging","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"beweging","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":510,"y":660,"wires":[["f75f16f1.502978"]]},{"id":"f75f16f1.502978","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"keukendimmer","pt":"msg","to":"handmatig","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":660,"wires":[["891f3b7f.6a6f98","f4c3fe4e.f5e94"]]},{"id":"5de0f36d.5898dc","type":"debug","z":"a01c54dd.2e2098","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"zigbeelamp","targetType":"msg","statusVal":"","statusType":"auto","x":1400,"y":420,"wires":[]},{"id":"f4c3fe4e.f5e94","type":"change","z":"a01c54dd.2e2098","name":"AAN","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness\":\"253\",\"state\":\"ON\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":620,"wires":[["5de0f36d.5898dc","5a8fa80a.91ceb8"]],"icon":"node-red/light.png"},{"id":"81fe57e6.aa2f78","type":"inject","z":"a01c54dd.2e2098","name":"dimmer","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":680,"wires":[["3074b9f4.8742a6"]]},{"id":"8bd7a72e.ecfe28","type":"inject","z":"a01c54dd.2e2098","name":"beweging","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":90,"y":360,"wires":[["91c47036.9ca11"]]},{"id":"6b41e609.aee218","type":"switch","z":"a01c54dd.2e2098","name":"check flow != beweging","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"beweging","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":510,"y":720,"wires":[["12e8772b.1def79"]]},{"id":"60cd118a.07fb4","type":"change","z":"a01c54dd.2e2098","name":"UIT","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"OFF\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":720,"wires":[["5de0f36d.5898dc","5a8fa80a.91ceb8"]],"icon":"node-red/light.png"},{"id":"12e8772b.1def79","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"keukendimmer","pt":"msg","to":"handmatig","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":720,"wires":[["60cd118a.07fb4","891f3b7f.6a6f98"]]},{"id":"5a8fa80a.91ceb8","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"handmatig","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1260,"y":760,"wires":[["4631c7f8.861588"]]},{"id":"4631c7f8.861588","type":"delay","z":"a01c54dd.2e2098","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1450,"y":760,"wires":[["e406b9f1.8da9c8"]]},{"id":"e406b9f1.8da9c8","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"maaknietuit","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1660,"y":760,"wires":[[]]},{"id":"55e37a11.c17dd4","type":"switch","z":"a01c54dd.2e2098","name":"check flow != handmatig","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"handmatig","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":790,"y":320,"wires":[["c6d10892.fae0e8"]]},{"id":"9f0c0986.7d6c98","type":"switch","z":"a01c54dd.2e2098","name":"check flow != handmatig","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"handmatig","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":810,"y":420,"wires":[["ae61e2b6.7e994"]]}]


Ik heb helaas geen vergelijkbaar device. Ik denk dat je aan de slag moet met een variabele (nu gekozen voor flow). Als er motion is gedetecteerd ( en dus de lichten aan gaan o.b.v motion) de variabele op beweging zetten, dit gebeurt ook als de lichten uitgaan o.b.v. motion.

Als de dimmer output geeft en de variabele staat niet op motion dan is het dus handmatig geweest. Ik heb je stoptimer trouwens vervangen door een trigger. Deze kan je o.a. delayen door msg.delay. Heeft mijn voorkeur boven stoptimer. En ik heb je MQTT berichten even weggehaald omdat ik anders mn nodered niet kon deployen.

[ Voor 111% gewijzigd door denuz op 14-07-2021 00:43 ]


Acties:
  • 0 Henk 'm!

  • KvNwPPr
  • Registratie: Februari 2014
  • Laatst online: 10-08 10:41
denuz schreef op dinsdag 13 juli 2021 @ 23:47:
[...]

Aah.... nu snap ik het pas...
Op basis van de motion geef je MQTT berichten door aan de dimmer. Maar de dimmer gebruik je ook nog met de hand. Sorry hoor 8)7. In dat geval kan ik wel wat bedenken... ik maak even een kleine flow.

@KvNwPPr
Ik kom voor nu op zoiets;....
code:
1
[{"id":"18dd73be.2d04fc","type":"comment","z":"a01c54dd.2e2098","name":"Lamp AAN bij beweging in keuken","info":"","x":180,"y":140,"wires":[]},{"id":"ae61e2b6.7e994","type":"change","z":"a01c54dd.2e2098","name":"UIT","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"OFF\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":420,"wires":[["e25bda30.e80268","5de0f36d.5898dc"]],"icon":"node-red/light.png"},{"id":"91c47036.9ca11","type":"switch","z":"a01c54dd.2e2098","name":"beweging?","property":"payload.occupancy","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":330,"y":380,"wires":[["1b17ff5d.a749a1","891f3b7f.6a6f98"],["891f3b7f.6a6f98"]]},{"id":"1b17ff5d.a749a1","type":"switch","z":"a01c54dd.2e2098","name":"licht <= 75?","property":"payload.illuminance","propertyType":"msg","rules":[{"t":"lte","v":"9979","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":530,"y":300,"wires":[["55e37a11.c17dd4"],["891f3b7f.6a6f98"]]},{"id":"c6d10892.fae0e8","type":"change","z":"a01c54dd.2e2098","name":"AAN","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness\":\"253\",\"state\":\"ON\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":320,"wires":[["e25bda30.e80268","5de0f36d.5898dc"]],"icon":"node-red/light.png"},{"id":"891f3b7f.6a6f98","type":"trigger","z":"a01c54dd.2e2098","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"5","extend":false,"overrideDelay":true,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":590,"y":400,"wires":[["9f0c0986.7d6c98"]]},{"id":"e25bda30.e80268","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"beweging","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1320,"y":240,"wires":[["5f842786.cd2958"]]},{"id":"5f842786.cd2958","type":"delay","z":"a01c54dd.2e2098","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1560,"y":240,"wires":[["df269bd4.14cf58"]]},{"id":"df269bd4.14cf58","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"maaknietuit","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1780,"y":240,"wires":[[]]},{"id":"3074b9f4.8742a6","type":"switch","z":"a01c54dd.2e2098","name":"","property":"payload.state","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":330,"y":680,"wires":[["58375757.ab0778"],["6b41e609.aee218"]]},{"id":"58375757.ab0778","type":"switch","z":"a01c54dd.2e2098","name":"check flow != beweging","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"beweging","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":510,"y":660,"wires":[["f75f16f1.502978"]]},{"id":"f75f16f1.502978","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"keukendimmer","pt":"msg","to":"handmatig","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":660,"wires":[["891f3b7f.6a6f98","f4c3fe4e.f5e94"]]},{"id":"5de0f36d.5898dc","type":"debug","z":"a01c54dd.2e2098","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"zigbeelamp","targetType":"msg","statusVal":"","statusType":"auto","x":1400,"y":420,"wires":[]},{"id":"f4c3fe4e.f5e94","type":"change","z":"a01c54dd.2e2098","name":"AAN","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness\":\"253\",\"state\":\"ON\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":620,"wires":[["5de0f36d.5898dc","5a8fa80a.91ceb8"]],"icon":"node-red/light.png"},{"id":"81fe57e6.aa2f78","type":"inject","z":"a01c54dd.2e2098","name":"dimmer","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":680,"wires":[["3074b9f4.8742a6"]]},{"id":"8bd7a72e.ecfe28","type":"inject","z":"a01c54dd.2e2098","name":"beweging","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":90,"y":360,"wires":[["91c47036.9ca11"]]},{"id":"6b41e609.aee218","type":"switch","z":"a01c54dd.2e2098","name":"check flow != beweging","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"beweging","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":510,"y":720,"wires":[["12e8772b.1def79"]]},{"id":"60cd118a.07fb4","type":"change","z":"a01c54dd.2e2098","name":"UIT","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"OFF\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":720,"wires":[["5de0f36d.5898dc","5a8fa80a.91ceb8"]],"icon":"node-red/light.png"},{"id":"12e8772b.1def79","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"keukendimmer","pt":"msg","to":"handmatig","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":720,"wires":[["60cd118a.07fb4","891f3b7f.6a6f98"]]},{"id":"5a8fa80a.91ceb8","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"handmatig","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1260,"y":760,"wires":[["4631c7f8.861588"]]},{"id":"4631c7f8.861588","type":"delay","z":"a01c54dd.2e2098","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1450,"y":760,"wires":[["e406b9f1.8da9c8"]]},{"id":"e406b9f1.8da9c8","type":"change","z":"a01c54dd.2e2098","name":"","rules":[{"t":"set","p":"keukendimmer","pt":"flow","to":"maaknietuit","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1660,"y":760,"wires":[[]]},{"id":"55e37a11.c17dd4","type":"switch","z":"a01c54dd.2e2098","name":"check flow != handmatig","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"handmatig","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":790,"y":320,"wires":[["c6d10892.fae0e8"]]},{"id":"9f0c0986.7d6c98","type":"switch","z":"a01c54dd.2e2098","name":"check flow != handmatig","property":"keukendimmer","propertyType":"flow","rules":[{"t":"neq","v":"handmatig","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":810,"y":420,"wires":[["ae61e2b6.7e994"]]}]


Ik heb helaas geen vergelijkbaar device. Ik denk dat je aan de slag moet met een variabele (nu gekozen voor flow). Als er motion is gedetecteerd ( en dus de lichten aan gaan o.b.v motion) de variabele op beweging zetten, dit gebeurt ook als de lichten uitgaan o.b.v. motion.

Als de dimmer output geeft en de variabele staat niet op motion dan is het dus handmatig geweest. Ik heb je stoptimer trouwens vervangen door een trigger. Deze kan je o.a. delayen door msg.delay. Heeft mijn voorkeur boven stoptimer. En ik heb je MQTT berichten even weggehaald omdat ik anders mn nodered niet kon deployen.
Bedankt voor het meedenken! Dit werkt exact zoals ik het in m'n hoofd had maar niet voor elkaar kreeg. _/-\o_

Acties:
  • 0 Henk 'm!

  • Waah
  • Registratie: Maart 2009
  • Laatst online: 15:47
Simpele vraag waarschijnlijk, maar kan het antwoord niet vinden.

Ik heb een Event:state van een bewegingssensor. Bij beweging gaan de lampen aan, geen beweging wacht die 4 minuten. Na 4 minuten checkt die of de motion sensor aan staat en zo niet gaan de lampen uit.

Alleen nu bedacht ik mij: Als er beweging is, dan begint die bij het begin, met de Event:state.
Vervolgens meld de sensor dat er géén beweging meer is.

Begint die weer bij het begin, dus die Event:state?
Of begint die niet opnieuw omdat hij nog bezig is met het verwerken van een timer of andere actie?

Als die bij het begin begint bij elke Event-change, dan maakt dat het schrijven van de Node-Red activiteiten een stuk simpeler. Want dan kunnen alle checks er wel uit :+

Afbeeldingslocatie: https://tweakers.net/i/2X0m-gb60nodPfR_LaQA54Xcd2A=/800x/filters:strip_exif()/f/image/tM9xBJKA63fwwsWz4r0fpfwX.png?f=fotoalbum_large
Dan kan ik dus van de bovenste, naar de onderste. En aangezien ik nog tijden, lichtmeters etc ga toevoegen in deze node maakt dat best uit :+

[ Voor 37% gewijzigd door Waah op 29-07-2021 10:58 ]


Acties:
  • 0 Henk 'm!

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Waah schreef op donderdag 29 juli 2021 @ 10:53:
Simpele vraag waarschijnlijk, maar kan het antwoord niet vinden.

Ik heb een Event:state van een bewegingssensor. Bij beweging gaan de lampen aan, geen beweging wacht die 4 minuten. Na 4 minuten checkt die of de motion sensor aan staat en zo niet gaan de lampen uit.

Alleen nu bedacht ik mij: Als er beweging is, dan begint die bij het begin, met de Event:state.
Vervolgens meld de sensor dat er géén beweging meer is.

Begint die weer bij het begin, dus die Event:state?
Of begint die niet opnieuw omdat hij nog bezig is met het verwerken van een timer of andere actie?
Gekoppeld aan Home-Assistant? Zo ja, dan kan je beter een "Wait Until" node gebruiken? Die wacht gewoon tot de motion gestopt is

Owner of DBIT Consultancy | DJ BassBrewer


Acties:
  • 0 Henk 'm!

  • Waah
  • Registratie: Maart 2009
  • Laatst online: 15:47
DennusB schreef op donderdag 29 juli 2021 @ 10:54:
[...]


Gekoppeld aan Home-Assistant? Zo ja, dan kan je beter een "Wait Until" node gebruiken? Die wacht gewoon tot de motion gestopt is
Normaal wel. Maar deze sensor checkt 1x per minuut. Als ik dan toevallig even niet in beeld ben, gaat meteen het licht uit. En dat wil ik dus niet. Gebruik het in de keuken, en als ik dan net ff niet gezien wordt sta ik meteen in het donker. Vandaar de 4 minuten timer.

Voor de woonkamer wil ik 15 minuten gebruiken bijvoorbeeld. Aangezien ik nooit langer dan 12 minuten stil zit volgens de sensor O-)

Maar ben vooral benieuwd hoe die Event-state en de flow dan werkt. Gooit die alles overboord als er een nieuwe event state is? Of maakt die dan eerst netjes zijn flow af

Acties:
  • 0 Henk 'm!

  • Cafun
  • Registratie: Maart 2002
  • Laatst online: 03-08 19:31
Ik gebruik ook de timer voor deze dingen.
Licht in bijvoorbeeld de gang gaat pas uit wanneer er 3 minuten geen beweging is.
Wanneer er binnen die 3 minuten wél beweging is, geef ik een STOP payload aan de timer, zodat de timer stopt.
Wanneer de bewegingssensor dan weer op geen beweging komt te staan, gaat de timer weer lopen (timer begint opnieuw).

[ Voor 3% gewijzigd door Cafun op 31-07-2021 07:02 ]


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 16:34
Ik probeer een notificatie te sturen naar mijn mobiel.
In de testflow heb wil ik de huidige soundmode uitlezen en in de notificatie zetten. Ik krijg de notificatie binnen, maar ik krijg niet de juiste data door.
Ik krijg in de notificatie "[object Object]" i.p.v. "Dolby Digital".
Kan iemand mij helpen wat ik hier fout doe?

Afbeeldingslocatie: https://tweakers.net/i/Z1JOCtagKANHf3yLSkHx2WrelcE=/800x/filters:strip_exif()/f/image/MfuMrOB7zGi4QLT8orlyT5ek.png?f=fotoalbum_large

code:
1
[{"id":"2a22613d859626fc","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"84b5d1f61967836d","type":"api-current-state","z":"2a22613d859626fc","name":"","server":"779d12e2.03b0bc","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"media_player.denon_avr_x2500h","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":420,"y":120,"wires":[["fe48b116a3526204"]]},{"id":"a868d9a62974ce2d","type":"inject","z":"2a22613d859626fc","name":"click to test","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"","payload":"10","payloadType":"num","x":120,"y":120,"wires":[["84b5d1f61967836d"]]},{"id":"fe48b116a3526204","type":"function","z":"2a22613d859626fc","name":"Telegram [STATUS]","func":"var mypayload = msg.data.attributes.sound_mode_raw;\n\nmsg.payload = {\n//    type : 'message',\n//    content :\n//    value :\n//    'soundmode: ' +\n    mypayload\n}\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":750,"y":120,"wires":[["56de75afb628106b","8813860bb5be78d7"]]},{"id":"8813860bb5be78d7","type":"api-call-service","z":"2a22613d859626fc","name":"Notify ","server":"779d12e2.03b0bc","version":3,"debugenabled":true,"service_domain":"notify","service":"mobile_app_mi_a2","entityId":"","data":"{\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":790,"y":280,"wires":[[]]},{"id":"56de75afb628106b","type":"debug","z":"2a22613d859626fc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":950,"y":120,"wires":[]},{"id":"779d12e2.03b0bc","type":"server","name":"Home Assistant","version":1,"legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true}]

Acties:
  • 0 Henk 'm!
@CAD-tekenaar Dat klinkt alsof je current_state als een array of iets dergelijks uit HA komt. Heb je een debug message van wat je als current state terug krijgt?

Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 16:34
lolgast schreef op maandag 16 augustus 2021 @ 11:33:
@CAD-tekenaar Dat klinkt alsof je current_state als een array of iets dergelijks uit HA komt. Heb je een debug message van wat je als current state terug krijgt?
Ik zie bij Function Node: "Function tried to send a message of type string"

Acties:
  • 0 Henk 'm!

  • ThaHandy
  • Registratie: Juli 2001
  • Laatst online: 19-09 14:05

ThaHandy

Discovery Channel

Nu ik eindelijk een raw binary seriële data -> via buffer parser (mist CRC check, anyone? ) -> Functie -> SQL database aan de praat heb.....
DATA: (Remeha data voor de gene die dat interesseren.)

["0x02","0x01","0xFE","0x06","0x48","0x02","0x01","0x9D","0x18","0x2F","0x18","0x00","0x80","0x00","0x80","0x80","0xF3","0x00","0x80","0xDE","0x12","0x00","0x80","0x28","0x23","0x64","0x19","0x00","0x80","0x00","0x00","0x00","0x00","0x00","0xBC","0x02","0x00","0x00","0x00","0x00","0x00","0x00","0x00","0x11","0xC2","0x03","0x10","0x00","0xFF","0xFF","0x00","0x00","0x00","0x00","0xFF","0xFF","0x12","0x00","0x9D","0x18","0x00","0x00","0x00","0x00","0x80","0x00","0x00","0x00","0x00","0x00","0x00","0x37","0x42","0x03"]

Output na de parser
JSON:
1
[63.01,63.01,48.300000000000004,90]

met
Java:
1
2
3
4
msg.topic = "INSERT INTO ketel_1 (aanvoer_temp,retour_temp,automaat_temp,cv_setpoint) VALUES (?,?,?,?)";
msg.payload=[msg.payload.aanvoer_temp,msg.payload.aanvoer_temp,msg.payload.automaat_temp,msg.payload.cv_setpoint];

return msg;
.....heb ik echt mijn vraagtekens hoe ik een deel van de onderstaande M-BUS JSON "array" van een warmte meter in de SQL database krijg.

JSON:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{"SlaveInformation":
{"Id":44774115,"Manufacturer":"TCH","Version":49,"ProductName":"","Medium":"Heat: Outlet","AccessNumber":94,"Status":70,"Signature":0},
"DataRecord":
[
{"id":0,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Energy (kWh)","Value":1059984,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":1,"Function":"Instantaneous value","StorageNumber":0,"Tariff":1,"Device":0,"Unit":"Energy (kWh)","Value":0,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":2,"Function":"Instantaneous value","StorageNumber":0,"Tariff":2,"Device":0,"Unit":"Volume (m m^3)","Value":914532,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":3,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Volume (m m^3)","Value":13759939,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":4,"Function":"Value during error state","StorageNumber":0,"Unit":"Power (W)","Value":"DDDDEBBD","Timestamp":"2021-08-15T16:23:47Z"},
{"id":5,"Function":"Value during error state","StorageNumber":0,"Unit":"Volume flow (m m^3/h)","Value":"DDEBBD","Timestamp":"2021-08-15T16:23:47Z"},
{"id":6,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Flow temperature (1e-1 deg C)","Value":290,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":7,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Return temperature (1e-1 deg C)","Value":289,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":8,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Temperature Difference (1e-1  deg C)","Value":1,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":9,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Operating time (days)","Value":3300,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":10,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Time Point (time & date)","Value":"2021-08-15T22:22:00","Timestamp":"2021-08-15T16:23:47Z"},
{"id":11,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Energy (kWh)","Value":1059984,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":12,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Volume (m m^3)","Value":13759939,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":13,"Function":"Instantaneous value","StorageNumber":1,"Tariff":1,"Device":0,"Unit":"Energy (kWh)","Value":0,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":14,"Function":"Instantaneous value","StorageNumber":1,"Tariff":2,"Device":0,"Unit":"Volume (m m^3)","Value":914532,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":15,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Time Point (date)","Value":"2020-12-31","Timestamp":"2021-08-15T16:23:47Z"},
{"id":16,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Time Point (date)","Value":"2021-12-31","Timestamp":"2021-08-15T16:23:47Z"},
{"id":17,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Energy (kWh)","Value":1059984,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":18,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Volume (m m^3)","Value":13759939,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":19,"Function":"Instantaneous value","StorageNumber":3,"Tariff":1,"Device":0,"Unit":"Energy (kWh)","Value":0,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":20,"Function":"Instantaneous value","StorageNumber":3,"Tariff":2,"Device":0,"Unit":"Volume (m m^3)","Value":914532,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":21,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Time Point (date)","Value":"2021-06-30","Timestamp":"2021-08-15T16:23:47Z"},
{"id":22,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Time Point (date)","Value":"2022-06-30","Timestamp":"2021-08-15T16:23:47Z"}
],
"primaryID":0,"lastUpdate":"2021-08-15T16:23:48.337Z","error":null}


Ik heb hulp nodig met een function node om van array id 0,1 t/m 8 de naam te gebruiken van "unit" met de bijbehorende waarde van "Value" en deze op dezelfde manier de database zet als de remeha waardes/voorbeeld.


Er is een voorbeeld beschikbaar....
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
    "results": [
        {
            "id": 1,
            "subject": "",
            "status": "new1",
            "created_at": "2019-08-20T21:42:38Z",
            "description": "Foo Foo1"
        },
        {
            "id": 2,
            "subject": "",
            "status": "new2",
            "created_at": "2019-08-21T02:27:55Z",
            "description": "Foo Bar2"
        },
        {
            "id": 3,
            "subject": "",
            "status": "new3",
            "created_at": "2019-08-21T02:27:55Z",
            "description": "Bar Foo3"
        }
    ],
    "count": 3
}


....met de bijbehorende functie node, maar geen idee hoe ik deze moet interpreteren om deze aan te passen maar mijn wensen.
Java:
1
2
3
4
5
6
m = msg.payload.results

for(x=0;x<m.length;x++){
    t = "insert into table set element='"+m[x].status+"', description='"+m[x].description+"'"
    node.send({topic:t})
}

Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 18-09 20:10

Dylantje2

sorry Bricklayere here :-)

He Hoi..
Ik gebruik Domoticz als domotica systeem.
Nu zijn er allerlei plugins te vinden voor vele zaken, maar vaak zijn plugins eol en geven nog wel eens python problemen.
Tasmota met mqtt is een veel gebruikte software met allerlei opties en plugins.

Maar ik probeer zoveel mogelijk in "eigen beheer" te houden....
Ik ben bezig met een nr om het vermogen/verbruik van een stekkerschakelaar uit te lezen.
Zodat dit werk buiten een plugin om.

Wat ik zoek is een actuele teller, nu alleen de dagteller.
En een totaal teller..
En als bonus, evt de wifi status en schakeling [ maar dat kan ook via tasmota zelf ]
Afbeeldingslocatie: https://tweakers.net/i/7f0gnx4IVdRHqexFQoLkaxWA3tg=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/u8ESmhX8GHbYMuoaypBnBunS.png?f=user_large
Of evt leren hoe ik alles uit kan lezen...

Wat ik heb:
Afbeeldingslocatie: https://tweakers.net/i/sNmhac19fcv61nIrws4VPaw74Po=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/21IXkQbjCR1is1j99cZygZUr.png?f=user_large
Waarbij de actuele teller niet werkt, als hij verbruikt.

Flow:
code:
1
[{"id":"24b71e68.2d44c2","type":"mqtt in","z":"80487fd4.6aef3","name":"WPBoiler","topic":"tele/Tasmota-WPBoiler/SENSOR","qos":"1","datatype":"json","broker":"8c54b13e.efee5","x":100,"y":80,"wires":[["9f59eb4b.5815c8","4fc0db31.dbb234"]]},{"id":"9f59eb4b.5815c8","type":"change","z":"80487fd4.6aef3","name":"","rules":[{"t":"move","p":"payload.ENERGY.Power","pt":"msg","to":"power","tot":"msg"},{"t":"move","p":"payload.ENERGY.Total","pt":"msg","to":"energy","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":80,"wires":[["c2d5e0f2.b3ba3"]]},{"id":"c2d5e0f2.b3ba3","type":"function","z":"80487fd4.6aef3","name":"","func":"msg.energy = msg.energy * 1000;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":550,"y":80,"wires":[["dbb7f50c.9be888"]]},{"id":"dbb7f50c.9be888","type":"template","z":"80487fd4.6aef3","name":"WPBoiler 13475 [ WPB Boiler Tot NR\t","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"udevice\", \"idx\": 13475, \"nvalue\": 0,  \"svalue\": \"{{power}};{{energy}}\"}","output":"json","x":890,"y":80,"wires":[["efdaa1ed.81968","bd104913.3cffa8"]]},{"id":"efdaa1ed.81968","type":"mqtt out","z":"80487fd4.6aef3","name":"","topic":"domoticz/in","qos":"2","retain":"","broker":"8c54b13e.efee5","x":1190,"y":80,"wires":[]},{"id":"bd104913.3cffa8","type":"debug","z":"80487fd4.6aef3","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","x":1120,"y":140,"wires":[]},{"id":"4fc0db31.dbb234","type":"debug","z":"80487fd4.6aef3","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":340,"y":160,"wires":[]},{"id":"8c54b13e.efee5","type":"mqtt-broker","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":15,"cleansession":true,"birthQos":"0","willQos":"0"}]


Afbeeldingslocatie: https://tweakers.net/i/F4yihsoRp_QkoC5eJzduqU2iVzs=/800x/filters:strip_exif()/f/image/CZFQaqk19UicMHiySZ8bQvrS.png?f=fotoalbum_large

Mqqt explorer:
code:
1
{"Time":"2021-08-22T11:25:27","ENERGY":{"TotalStartTime":"2020-04-29T09:56:11","Total":1436.175,"Yesterday":1.788,"Today":1.567,"Period":62,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":0,"Current":0.000}}

Afbeeldingslocatie: https://tweakers.net/i/0EeRAf34Q3k1baZ313dPCzg1z8c=/800x/filters:strip_exif()/f/image/gYfsaIsVsGjplsNHt5dSqzLD.png?f=fotoalbum_large

Hopelijk een zetje de richtingen in...
Ben trots op mezelf als ik ook maar iets met NR werkend kan krijgen:-)

zonneboiler, pelletkachel, 36 panels, Atlantic Wpb, pana 5 Kw H, Heishamon, Domoticz, Grafana, Solarmeters, PVO: https://pvoutput.org/list.jsp?id=15321&sid=19520


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

ThaHandy schreef op dinsdag 17 augustus 2021 @ 18:35:
Nu ik eindelijk een raw binary seriële data -> via buffer parser (mist CRC check, anyone? ) -> Functie -> SQL database aan de praat heb.....


[...]

.....heb ik echt mijn vraagtekens hoe ik een deel van de onderstaande M-BUS JSON "array" van een warmte meter in de SQL database krijg.

JSON:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{"SlaveInformation":
{"Id":44774115,"Manufacturer":"TCH","Version":49,"ProductName":"","Medium":"Heat: Outlet","AccessNumber":94,"Status":70,"Signature":0},
"DataRecord":
[
{"id":0,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Energy (kWh)","Value":1059984,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":1,"Function":"Instantaneous value","StorageNumber":0,"Tariff":1,"Device":0,"Unit":"Energy (kWh)","Value":0,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":2,"Function":"Instantaneous value","StorageNumber":0,"Tariff":2,"Device":0,"Unit":"Volume (m m^3)","Value":914532,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":3,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Volume (m m^3)","Value":13759939,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":4,"Function":"Value during error state","StorageNumber":0,"Unit":"Power (W)","Value":"DDDDEBBD","Timestamp":"2021-08-15T16:23:47Z"},
{"id":5,"Function":"Value during error state","StorageNumber":0,"Unit":"Volume flow (m m^3/h)","Value":"DDEBBD","Timestamp":"2021-08-15T16:23:47Z"},
{"id":6,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Flow temperature (1e-1 deg C)","Value":290,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":7,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Return temperature (1e-1 deg C)","Value":289,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":8,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Temperature Difference (1e-1  deg C)","Value":1,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":9,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Operating time (days)","Value":3300,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":10,"Function":"Instantaneous value","StorageNumber":0,"Unit":"Time Point (time & date)","Value":"2021-08-15T22:22:00","Timestamp":"2021-08-15T16:23:47Z"},
{"id":11,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Energy (kWh)","Value":1059984,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":12,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Volume (m m^3)","Value":13759939,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":13,"Function":"Instantaneous value","StorageNumber":1,"Tariff":1,"Device":0,"Unit":"Energy (kWh)","Value":0,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":14,"Function":"Instantaneous value","StorageNumber":1,"Tariff":2,"Device":0,"Unit":"Volume (m m^3)","Value":914532,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":15,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Time Point (date)","Value":"2020-12-31","Timestamp":"2021-08-15T16:23:47Z"},
{"id":16,"Function":"Instantaneous value","StorageNumber":1,"Unit":"Time Point (date)","Value":"2021-12-31","Timestamp":"2021-08-15T16:23:47Z"},
{"id":17,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Energy (kWh)","Value":1059984,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":18,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Volume (m m^3)","Value":13759939,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":19,"Function":"Instantaneous value","StorageNumber":3,"Tariff":1,"Device":0,"Unit":"Energy (kWh)","Value":0,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":20,"Function":"Instantaneous value","StorageNumber":3,"Tariff":2,"Device":0,"Unit":"Volume (m m^3)","Value":914532,"Timestamp":"2021-08-15T16:23:47Z"},
{"id":21,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Time Point (date)","Value":"2021-06-30","Timestamp":"2021-08-15T16:23:47Z"},
{"id":22,"Function":"Instantaneous value","StorageNumber":3,"Tariff":0,"Device":0,"Unit":"Time Point (date)","Value":"2022-06-30","Timestamp":"2021-08-15T16:23:47Z"}
],
"primaryID":0,"lastUpdate":"2021-08-15T16:23:48.337Z","error":null}


Ik heb hulp nodig met een function node om van array id 0,1 t/m 8 de naam te gebruiken van "unit" met de bijbehorende waarde van "Value" en deze op dezelfde manier de database zet als de remeha waardes/voorbeeld.


Er is een voorbeeld beschikbaar....
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
    "results": [
        {
            "id": 1,
            "subject": "",
            "status": "new1",
            "created_at": "2019-08-20T21:42:38Z",
            "description": "Foo Foo1"
        },
        {
            "id": 2,
            "subject": "",
            "status": "new2",
            "created_at": "2019-08-21T02:27:55Z",
            "description": "Foo Bar2"
        },
        {
            "id": 3,
            "subject": "",
            "status": "new3",
            "created_at": "2019-08-21T02:27:55Z",
            "description": "Bar Foo3"
        }
    ],
    "count": 3
}


....met de bijbehorende functie node, maar geen idee hoe ik deze moet interpreteren om deze aan te passen maar mijn wensen.
Java:
1
2
3
4
5
6
m = msg.payload.results

for(x=0;x<m.length;x++){
    t = "insert into table set element='"+m[x].status+"', description='"+m[x].description+"'"
    node.send({topic:t})
}
Denk niet dat je sql informatie handig is ..

via de exec node kan je commandline queries uitvoeren of de mysql node toevoegen
zie https://www.w3schools.com/sql/ om je meer inzicht te geven.

Als ik een database zelf aan zou leggen zou ik de ID(x) een unieke naam geven als je later de ID wijzigt of andere dingen doet kan je alsnog data weer koppelen.

het is best even puzzelen hoe je uberhaupt data uit een string trekt .. ik gebruik een online java editor
https://playcode.io/new/

hierin plak ik de functie node 1ste regel
msg.payload = "bla,bla" ( iets wat ik direct uit de debug window copy functie gecopieert heb )

je kan soms uit een array/object halen door "msg.payload[0] " waarbij 0 staat voor de eerste value uit een string maar dat variert heel erg aan de definitie en array/object/string/json soort dat je als input krijgt

het voordeel van de online editor is dat ik tijdens het tikken direct resultaat uit de "console.log" functie zie als het er is .

als je 1maal weet hoe je het eruit trekt heb je ook meer een idee hoe je het er weer terug instopt ..

Tja vanalles


Acties:
  • 0 Henk 'm!

  • ThaHandy
  • Registratie: Juli 2001
  • Laatst online: 19-09 14:05

ThaHandy

Discovery Channel

vso schreef op zondag 22 augustus 2021 @ 13:36:
[...]

Denk niet dat je sql informatie handig is ..

via de exec node kan je commandline queries uitvoeren of de mysql node toevoegen
zie https://www.w3schools.com/sql/ om je meer inzicht te geven.

Als ik een database zelf aan zou leggen zou ik de ID(x) een unieke naam geven als je later de ID wijzigt of andere dingen doet kan je alsnog data weer koppelen.

het is best even puzzelen hoe je uberhaupt data uit een string trekt .. ik gebruik een online java editor
https://playcode.io/new/

hierin plak ik de functie node 1ste regel
msg.payload = "bla,bla" ( iets wat ik direct uit de debug window copy functie gecopieert heb )

je kan soms uit een array/object halen door "msg.payload[0] " waarbij 0 staat voor de eerste value uit een string maar dat variert heel erg aan de definitie en array/object/string/json soort dat je als input krijgt

het voordeel van de online editor is dat ik tijdens het tikken direct resultaat uit de "console.log" functie zie als het er is .

als je 1maal weet hoe je het eruit trekt heb je ook meer een idee hoe je het er weer terug instopt ..
De huidige indeling is:

Afbeeldingslocatie: https://tweakers.net/i/eWKt_xWOwcxybMLzWPwKJYHkuw4=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/N91EcC0F8ubLqrZ32KvoWNR1.jpg?f=user_large

waarbij ik deze waardes heb en zelf deze een naam heb gegeven in de functie:
JSON:
1
[63.00,63.00,48.00,90]


Gezien de warmtemeter JSON output way anders is heb ik hier dus moeite mee om een functie te maken om de juiste data hier uit te halen en deze op te slaan op deze zelfde manier als hierboven dmv. 1 functie.

[ Voor 51% gewijzigd door ThaHandy op 23-08-2021 13:54 ]


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Dylantje2 schreef op zondag 22 augustus 2021 @ 12:40:
He Hoi..
Ik gebruik Domoticz als domotica systeem.
Nu zijn er allerlei plugins te vinden voor vele zaken, maar vaak zijn plugins eol en geven nog wel eens python problemen.
Tasmota met mqtt is een veel gebruikte software met allerlei opties en plugins.

Maar ik probeer zoveel mogelijk in "eigen beheer" te houden....
Ik ben bezig met een nr om het vermogen/verbruik van een stekkerschakelaar uit te lezen.
Zodat dit werk buiten een plugin om.

Wat ik zoek is een actuele teller, nu alleen de dagteller.
En een totaal teller..
En als bonus, evt de wifi status en schakeling [ maar dat kan ook via tasmota zelf ]
[Afbeelding]
Of evt leren hoe ik alles uit kan lezen...

Wat ik heb:
[Afbeelding]
Waarbij de actuele teller niet werkt, als hij verbruikt.

Flow:
code:
1
[{"id":"24b71e68.2d44c2","type":"mqtt in","z":"80487fd4.6aef3","name":"WPBoiler","topic":"tele/Tasmota-WPBoiler/SENSOR","qos":"1","datatype":"json","broker":"8c54b13e.efee5","x":100,"y":80,"wires":[["9f59eb4b.5815c8","4fc0db31.dbb234"]]},{"id":"9f59eb4b.5815c8","type":"change","z":"80487fd4.6aef3","name":"","rules":[{"t":"move","p":"payload.ENERGY.Power","pt":"msg","to":"power","tot":"msg"},{"t":"move","p":"payload.ENERGY.Total","pt":"msg","to":"energy","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":80,"wires":[["c2d5e0f2.b3ba3"]]},{"id":"c2d5e0f2.b3ba3","type":"function","z":"80487fd4.6aef3","name":"","func":"msg.energy = msg.energy * 1000;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":550,"y":80,"wires":[["dbb7f50c.9be888"]]},{"id":"dbb7f50c.9be888","type":"template","z":"80487fd4.6aef3","name":"WPBoiler 13475 [ WPB Boiler Tot NR\t","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"udevice\", \"idx\": 13475, \"nvalue\": 0,  \"svalue\": \"{{power}};{{energy}}\"}","output":"json","x":890,"y":80,"wires":[["efdaa1ed.81968","bd104913.3cffa8"]]},{"id":"efdaa1ed.81968","type":"mqtt out","z":"80487fd4.6aef3","name":"","topic":"domoticz/in","qos":"2","retain":"","broker":"8c54b13e.efee5","x":1190,"y":80,"wires":[]},{"id":"bd104913.3cffa8","type":"debug","z":"80487fd4.6aef3","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","x":1120,"y":140,"wires":[]},{"id":"4fc0db31.dbb234","type":"debug","z":"80487fd4.6aef3","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":340,"y":160,"wires":[]},{"id":"8c54b13e.efee5","type":"mqtt-broker","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":15,"cleansession":true,"birthQos":"0","willQos":"0"}]


[Afbeelding]

Mqqt explorer:
code:
1
{"Time":"2021-08-22T11:25:27","ENERGY":{"TotalStartTime":"2020-04-29T09:56:11","Total":1436.175,"Yesterday":1.788,"Today":1.567,"Period":62,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":0,"Current":0.000}}

[Afbeelding]

Hopelijk een zetje de richtingen in...
Ben trots op mezelf als ik ook maar iets met NR werkend kan krijgen:-)
doe
output wp boiler --> nieuwe functie node
stop hierin
code:
1
2
msg.payload=  msg.payload["Time"] + "blablabla" + msg.payload["power"] 
return msg;

de output van de function naar een debug node
test dit eens

ik gebruik zelf msg.payload["DS18B20-1"].Temperature om temp sensors van tasmota uit te lezen

de mqtt node staat ingesteld als volgt "tele/tasmota_F3E414/SENSOR" waar je "sensor" ook in kan stellen als # (wildcard symbool)

als je nog niet weet hoe kan je beter alles opdelen in hele kleine stukjes .. en overal debug nodes tussen zetten. als je meer grip hebt kan je alles condenseren tot 1 functie

[ Voor 4% gewijzigd door vso op 23-08-2021 15:29 ]

Tja vanalles


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

ThaHandy schreef op maandag 23 augustus 2021 @ 13:53:
[...]

De huidige indeling is:

[Afbeelding]

waarbij ik deze waardes heb en zelf deze een naam heb gegeven in de functie:
JSON:
1
[63.00,63.00,48.00,90]


Gezien de warmtemeter JSON output way anders is heb ik hier dus moeite mee om een functie te maken om de juiste data hier uit te halen en deze op te slaan op deze zelfde manier als hierboven dmv. 1 functie.
belangrijkste is hoe je waarde voor waarde uit de json haalt dat kan via zoals het voorbeeld die ik hierboven geef

msg.payload["keynaam"] = value (bv msg.payload["aanvoer_temp"]
of
msg.payload["keynaam"].value = (bv msg.payload["aanvoer_temp"].string
of
msg.payload["keylocatie"] = (bv msg.payload["0"])

hoe exact verschilt of je met json/array/objecten werkt oid .. pff

wat ik doe ik probeer 1 specifiek item uit te lezen
"invoer" --> functie --> debug node ..

maar de online editor https://playcode.io/new/

doe ik (code = voorbeeld weet niet of het werkt)
code:
1
2
3
4
var testdata = "de string die ik wil testen"  bv ["id":"231", "id2":"testtext"] 
en dan 
msg = test["0"] 
log.console (msg);


Alleen [ ] of { } en ( ) maakt best verschil ..

anyway .. ga je eerst focussen om de string in het format te krijgen dat je wilt hebben

je kan via een commandline sql insert (vorige post) ook testen of je data kan toevoegen /verwijderen .. als je een werkende commandline hebt kan je die via een exec node toevoegen

msg.payload in een debug ziet er dus zo uit
"table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);"
of
code:
1
2
3
msg.payload = 
                "tabelnaam" + "(" + "kolom1" ... etc ")
                 "VALUES" + "(" + "waarde1" + "waarde2"


De exec node is bv "commandline commando" (INSERT INTO) + msg. payload (dit is een vinkje setten)
het is dus belangrijk dat je de payload in de juiste format hebt

Tja vanalles


Acties:
  • 0 Henk 'm!

  • etienne001
  • Registratie: September 2005
  • Laatst online: 18-09 00:38
Ben een beetje aan het stoeien met een flow voor vakantie verlichting..

Via het web heb ik een voorbeeldje gevonden, echter blijf ik vast lopen dat (naar mijn idee) de lampen niet worden gevonden.

Afbeeldingslocatie: https://tweakers.net/i/nBhmCKbq8FUcu7UvM_v0QvjX-3w=/800x/filters:strip_icc():strip_exif()/f/image/jl6FmscjE7e18cYUw9XlIZHA.jpg?f=fotoalbum_large

Ik zie bij get entities de melding No Results.
Die functie heb ik als onderstaand gemaakt:

Afbeeldingslocatie: https://tweakers.net/i/HIxdyzp9n61MIuOJTL3knA2h8ow=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/ttpNrhgPnwF2yyhxj9tQIMmV.jpg?f=user_large

De groep bestaat werkelijk, ga ik in mijn entiteiten kijken en kies die groep dan zie ik ook de lampen daarin staan en kan ik ze allemaal of stuk voor stuk schakelen.
Wat doe ik hierin fout?

De gehele code:
code:
1
 [{"id":"1a0cd89eb59ba85c","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"aa02fa4a.a35548","type":"inject","z":"1a0cd89eb59ba85c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"*/1 16-23 * * *","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":150,"y":440,"wires":[["7e966ac8.609524"]]},{"id":"cfa1b8e4.8d4a08","type":"time-range-switch","z":"1a0cd89eb59ba85c","name":"","lat":"52.04516","lon":"5.87182","startTime":"sunset","endTime":"23:59","startOffset":0,"endOffset":0,"x":528,"y":440,"wires":[["c7efc558.da1bc8"],[]]},{"id":"a41f4d83.d45c4","type":"ha-get-entities","z":"1a0cd89eb59ba85c","name":"","server":"1942d160.7834af","version":0,"rules":[{"property":"entity_id","logic":"in_group","value":"group.vacation_lights","valueType":"str"},{"property":"state","logic":"is","value":"off","valueType":"str"}],"output_type":"random","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":838,"y":440,"wires":[["f3897d20.fffee"]]},{"id":"c7efc558.da1bc8","type":"function","z":"1a0cd89eb59ba85c","name":"25%","func":"const random = Math.round(Math.random() * 100);\n\nif(random < 75) {\n    node.status({fill: \"red\", text: random});\n    return;\n}\n\nnode.status({fill: \"green\", text: random});\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":690,"y":380,"wires":[["a41f4d83.d45c4"]]},{"id":"f3897d20.fffee","type":"api-call-service","z":"1a0cd89eb59ba85c","name":"turn on","server":"1942d160.7834af","version":3,"debugenabled":false,"service_domain":"homeassistant","service":"turn_on","entityId":"{{payload.entity_id}}","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":970,"y":440,"wires":[["20fce293.98ce8e"]]},{"id":"20fce293.98ce8e","type":"delay","z":"1a0cd89eb59ba85c","name":"","pauseType":"random","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"5","randomLast":"36","randomUnits":"minutes","drop":false,"x":1132,"y":440,"wires":[["3d851328.fb1b8c"]]},{"id":"3d851328.fb1b8c","type":"api-call-service","z":"1a0cd89eb59ba85c","name":"turn off","server":"1942d160.7834af","version":3,"debugenabled":false,"service_domain":"homeassistant","service":"turn_off","entityId":"{{payload.entity_id}}","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","x":1266,"y":440,"wires":[[]]},{"id":"7e966ac8.609524","type":"api-current-state","z":"1a0cd89eb59ba85c","name":"Vakantieknop aan?","server":"1942d160.7834af","version":2,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is_not","entity_id":"input_boolean.vacation_mode","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":330,"y":440,"wires":[[],["cfa1b8e4.8d4a08"]]},{"id":"1942d160.7834af","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Acties:
  • +1 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Laatst online: 14:56
Je geeft de actie toch door bij de 'turn on' node, wat doet de get entities node?

Acties:
  • +1 Henk 'm!
@etienne001 Get entities doet precies dat, hij haalt alle entities op die aan de voorwaarde voldoen en gooit ze in een array. Die wil je niet gebruiken hier.

Wat jij (denk ik) wilt, is bij de 'turn on' call-service node de groepnaam 'group.vacation_lights' invullen en dan zou het moeten werken

Acties:
  • 0 Henk 'm!

  • etienne001
  • Registratie: September 2005
  • Laatst online: 18-09 00:38
@I-King en @lolgast thnxs voor de tip, ik zal die eens verwijderen en met de call-service gaan testen.

Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Ben sinds een paar dagen bezig met HomeAssistant en Node Red. Ik zie mooi mogelijkheden :)

Heb even snel een node red flow in elkaar gezet die om de 30 seconden status info uit mijn Pioneer (Kuro) TV ophaalt via tcp/ip, en deze in een msg.payload zet, die ik uiteraard kan zien in de node red debug window.

Maar... ik wil die info uiteraard in een (mooie) 'card' oid in het HomeAssistent dashboard zien. Ik heb werkelijk geen idee hoe ik info uit Node red kan tonen in Homeassistant...

Iemand die me wat op weg kan helpen?

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
jowi schreef op zondag 29 augustus 2021 @ 15:49:
Ben sinds een paar dagen bezig met HomeAssistant en Node Red. Ik zie mooi mogelijkheden :)

Heb even snel een node red flow in elkaar gezet die om de 30 seconden status info uit mijn Pioneer (Kuro) TV ophaalt via tcp/ip, en deze in een msg.payload zet, die ik uiteraard kan zien in de node red debug window.

Maar... ik wil die info uiteraard in een (mooie) 'card' oid in het HomeAssistent dashboard zien. Ik heb werkelijk geen idee hoe ik info uit Node red kan tonen in Homeassistant...

Iemand die me wat op weg kan helpen?
kan via MQTT, maar ik zou beginnen met in Node-Red de home assistant (websocket) nodes te installeren, en in home assistant de node-red integratie. (via HACS meen ik)

Je kunt dan in node-red een entity-node gebruiken om je data bij HA te krijgen

Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Ik heb Node red al als add-on IN HomeAssistant draaien; maakt dat nog wat uit?
(HomeAssistant draait zelf in een VM op mijn UNRAID nas)

[ Voor 27% gewijzigd door jowi op 29-08-2021 16:43 ]


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
jowi schreef op zondag 29 augustus 2021 @ 16:33:
Ik heb Node red al als add-on IN HomeAssistant draaien; maakt dat nog wat uit?
(HomeAssistant draait zelf in een VM op mijn UNRAID nas)
daar ben ik niet bekend mee, maar volgens dit verhaal zou dan alles out-of-the-box moeten werken. als het goed is moet je dan bij node-red een hele rits home-assistant nodes hebben in je "palette"

Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Ja, daar lijkt het wel op. Heb inmiddels ook MTTQ draaien, ik kan vanuit node red berichten publishen, maar hoe ik die in home assistant kan laten zien in een 'dashboard' op een 'card' is me nog een raadsel... laat staan hoe ik zo'n card zelf kan (op)maken etc. Komende dagen maar eens verder zoeken. Ik ben sowieso nog niet helemaal thuis in de terminologie van home assistent.

Ik kom inderdaad wel veel voorbeelden tegen van hoe node red info van home assistant krijgt, of hoe node red dan 'devices' van ha kan uitlezen en aansturen, maar ik wil dus de andere kant op, ik wil informatie van node red laten zien op het dashboard.

[ Voor 25% gewijzigd door jowi op 29-08-2021 20:53 ]


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

jowi schreef op zondag 29 augustus 2021 @ 20:51:
Ja, daar lijkt het wel op. Heb inmiddels ook MTTQ draaien, ik kan vanuit node red berichten publishen, maar hoe ik die in home assistant kan laten zien in een 'dashboard' op een 'card' is me nog een raadsel... laat staan hoe ik zo'n card zelf kan (op)maken etc. Komende dagen maar eens verder zoeken. Ik ben sowieso nog niet helemaal thuis in de terminologie van home assistent.

Ik kom inderdaad wel veel voorbeelden tegen van hoe node red info van home assistant krijgt, of hoe node red dan 'devices' van ha kan uitlezen en aansturen, maar ik wil dus de andere kant op, ik wil informatie van node red laten zien op het dashboard.
je kan kijken of er een pioneer intergratie is voordat je node-red + websockets enzv gaat doen.

Maar ik probeer hetzelfde voor mijn foscam vd1 deurbel

als ik het goed begrijp maak je een nieuw mqtt ding dus in de mqtt node doe je
<groep>/<device+nummer> .. nummer is meer dat je onderscheid kan maken oid ..
zoals
televisie/pioneertv-123
hieronder groepeer je de meuk
voorbeeld:

televisie/pioneertv-123/power
televisie/pioneertv-123/power/on
televisie/pioneertv-123/power/state
televisie/pioneertv-123/network

voor mqtt moet je een speciale "setting" doen zoals
televisie/pioneertv-123/homeassistant="true" oid ..

Kijk hier hoe ze een deurbell intergeren https://kleypot.com/fully...rbell-for-home-assistant/ let op het mqtt gebeuren wat ik hierboven uitleg en hoe ze dit in HA intergeren..

ik zou me eerst focussen op mqtt bericht via NodeRed en dan home assisant ..

Tja vanalles


Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Ik begrijp sowiso nog niet goed hoe dat lovelace dashboard etc werkt en hoe je daar iets van een device oid kunt tonen anders dan wat je krijgt via de discovery. Laat staan hoe ik dat aan kan passen en mooi kan maken, Een hoop om uit te zoeken dus :) ik ga eerst de topics hier maar eens doornemen.

[ Voor 8% gewijzigd door jowi op 29-08-2021 21:49 ]


Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Ik krijg nu via MQTT netjes een bericht van de NodeRed 'Kuro' flow met alle info, en die krijg ik ook op een simpele manier in het dashboard te zien :) Nu eens kijken hoe ik dat een beetje vorm kan geven. Erg verslavend dit!

Acties:
  • +1 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
jowi schreef op maandag 30 augustus 2021 @ 15:04:
Ik krijg nu via MQTT netjes een bericht van de NodeRed 'Kuro' flow met alle info, en die krijg ik ook op een simpele manier in het dashboard te zien :) Nu eens kijken hoe ik dat een beetje vorm kan geven. Erg verslavend dit!
mooi he :Y

Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Jazeker. Maar ik zit al wel meteen aan de limieten van de standaard kaartjes zie ik. Ik krijg nu iets van 10 items (key/pair values) binnen via MQTT op dit topic en alleen als de tv aan staat wil ik ze allemaal laten zien in de card. Er moet dus wat intelligentie in de cards komen, IF NOT standby==TRUE THEN show alles, dat soort dingen. Geen idee hoe dat moet. Ik zal denk ik een eigen 'card' moeten fabrieken heb ik zo'n idee.

Informatie over hoe je precies eigen cards kunt maken en een soort 'reference' over hoe die yaml van de cards er uit ziet en wat er mogelijk is zit erg verstopt, heb het nog niet echt kunnen vinden. Zal vast wel ergens op de homeassistant site staan neem ik aan... ik zal ook dat HACS (?) eens installeren.

Acties:
  • 0 Henk 'm!
@jowi Misschien moet je het hier even proberen, ipv in het Node-RED topic :)
Home Assistant: Open source Python3 home automation - deel 4

Acties:
  • 0 Henk 'm!

  • jowi
  • Registratie: Februari 2011
  • Laatst online: 28-04-2023
Ja sorry, helemaal gelijk :)

Nog even plaatjes en de code voor degene die dat leuk vinden van wat ik in NR heb gemaakt en hoe dat er dan nu in HA uitziet:

Afbeeldingslocatie: https://tweakers.net/i/JGbUBhueXDcpOohSWL3W_obhWJE=/232x232/filters:strip_exif()/f/image/YKkAxdlVdxoelFJhk6ElHf3W.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/mgsDGvzA6FUwLK5O0ef7uaksirM=/232x232/filters:strip_exif()/f/image/0ABRytrALGFxVNFA3Aqq2DXQ.png?f=fotoalbum_tile


code:
1
[{"id":"1680c88d9504c0fd","type":"tab","label":"Pioneer Kuro TCP test","disabled":false,"info":""},{"id":"8df21cddf638971d","type":"tcp request","z":"1680c88d9504c0fd","server":"192.168.1.5","port":"4201","out":"sit","splitc":" ","name":"Kuro KRP600M","x":240,"y":340,"wires":[["59edb9c9ab2eb557"]]},{"id":"59edb9c9ab2eb557","type":"function","z":"1680c88d9504c0fd","name":"response","func":"var result = msg.payload.toString();\nvar command = result.substring(0,3);\nvar response = result.substring(3);\n\nvar Msg = { command, response };\nreturn Msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":400,"y":340,"wires":[["9fef02f1e84f9194"]]},{"id":"9227b70776ce21d5","type":"split","z":"1680c88d9504c0fd","name":"for each cmd","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":290,"y":160,"wires":[["84bb493d5d9f1de9"]]},{"id":"d58be7bfc0977cdf","type":"template","z":"1680c88d9504c0fd","name":"commands","field":"payload","fieldType":"msg","format":"handlebars","syntax":"plain","template":"QAP\nQS3\nQS4\nAVS\nCOMPLETE","output":"str","x":290,"y":120,"wires":[["9227b70776ce21d5"]]},{"id":"e688e10fd052fcf2","type":"inject","z":"1680c88d9504c0fd","name":"Every 10s","props":[],"repeat":"10","crontab":"","once":true,"onceDelay":"0,1","topic":"","x":110,"y":120,"wires":[["d58be7bfc0977cdf"]]},{"id":"84bb493d5d9f1de9","type":"function","z":"1680c88d9504c0fd","name":"**CMD","func":"if(msg.payload!=\"COMPLETE\")\n{\n    msg.payload = \"**\" + msg.payload;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":160,"wires":[["66287f8b6cc7ec49"]]},{"id":"9fef02f1e84f9194","type":"switch","z":"1680c88d9504c0fd","name":"","property":"command","propertyType":"msg","rules":[{"t":"eq","v":"QS4","vt":"str"},{"t":"eq","v":"QAP","vt":"str"},{"t":"eq","v":"QS3","vt":"str"},{"t":"eq","v":"AVS","vt":"str"},{"t":"eq","v":"XXX","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":530,"y":340,"wires":[["cd24b96f82a99487"],["02a46b1fa3507064"],["7787fca2b0592fe4"],["9bcf4478688d8083"],[]]},{"id":"cd24b96f82a99487","type":"function","z":"1680c88d9504c0fd","name":"QS4","func":"//IN5830DIG***    1080P 60.00E\nvar signal = msg.response.substring(16,21) + msg.response.substring(21,24).trim();\nvar standby = false;\n//var topic = 1;\n\n//set input\nvar input;\nswitch(msg.response.substring(0,3)) {\n  case \"IN1\": input = \"Input 1\"; break;\n  case \"IN2\": input = \"Input 2\"; break;\n  case \"IN3\": input = \"Input 3\"; break;\n  case \"IN4\": input = \"Input 4\"; break;\n  case \"IN5\": input = \"Input 5\"; break;\n  case \"IN6\": input = \"Input 6\"; break;\n  default: input = \"Unknown\";\n}\n\nif(msg.response.substring(2,3)==\"*\")\n{\n    standby = true;\n}\n\nvar screensize;\nswitch(msg.response.substring(5,6)) {\n  case \"0\": screensize = \"Dot by Dot\"; break;\n  case \"1\": screensize = \"4:3\"; break;\n  case \"2\": screensize = \"Full 1080i\"; break;\n  case \"3\": screensize = \"Zoom\"; break;\n  case \"4\": screensize = \"Cinema\"; break;\n  case \"5\": screensize = \"Wide\"; break;\n  case \"6\": screensize = \"Full 14:9\"; break;\n  case \"7\": screensize = \"Cinema 14:9\"; break;\n  case \"8\": screensize = \"Full2 1035i\"; break;\n  case \"A\": screensize = \"Wide 2\"; break;\n  case \"B\": screensize = \"Auto\"; break;\n  default: screensize = \"Unknown\";\n}\n\n//msg.topic = topic;\nmsg.payload = {  standby, input, signal, screensize};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":280,"wires":[["8b6a3629f9681967"]]},{"id":"02a46b1fa3507064","type":"function","z":"1680c88d9504c0fd","name":"QAP","func":"//KRP-600M**********83\n//var topic = 2\nvar model = msg.response.substring(0,18).replace(/\\*/g, \"\");\n\n//msg.topic = 2;\nmsg.payload = { model};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":320,"wires":[["8b6a3629f9681967"]]},{"id":"7787fca2b0592fe4","type":"function","z":"1680c88d9504c0fd","name":"QS3","func":"//HIUK000199EW045100420000015800007976+33.0---.-+46.1****5F\n//var topic = 3;\nvar hours = msg.response.substring(15,21).replace(/^0+/, '');\nvar minutes = msg.response.substring(21,23);\nvar runtime = hours;// + \"h \" + minutes + \"m\" \nvar temperature = msg.response.substring(40,44);\nvar temperature_max = msg.response.substring(50,54);\n\n\nmsg.payload = { runtime, temperature, temperature_max};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":360,"wires":[["8b6a3629f9681967"]]},{"id":"9bcf4478688d8083","type":"function","z":"1680c88d9504c0fd","name":"AVS","func":"//HIUK000199EW045100420000015800007976+33.0---.-+46.1****5F\n//var topic = 4;\nvar avmode;\n\nswitch(msg.response.substring(0,3)) {\n  case \"S01\": avmode = \"Standard\"; break;\n  case \"S02\": avmode = \"Dynamic\"; break;\n  case \"S03\": avmode = \"Movie\"; break;\n  case \"S04\": avmode = \"Game\"; break;\n  case \"S05\": avmode = \"Sport\"; break;\n  case \"S06\": avmode = \"Pure\"; break;\n  case \"S07\": avmode = \"User\"; break;\n  case \"S08\": avmode = \"ISF-Day\"; break;\n  case \"S09\": avmode = \"ISF_Night\"; break;\n  case \"S10\": avmode = \"Optimum\"; break;\n  case \"S11\": avmode = \"ISF_Auto\"; break;\n  default: avmode = \"Unknown\";\n}\n\nmsg.payload = { avmode};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":400,"wires":[["8b6a3629f9681967"]]},{"id":"9dd07a21535ddf66","type":"join","z":"1680c88d9504c0fd","name":"Collect","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":890,"y":380,"wires":[["13f4fdf433be2678"]]},{"id":"441aed641706d89d","type":"switch","z":"1680c88d9504c0fd","name":"Complete?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"COMPLETE","vt":"str"},{"t":"neq","v":"COMPLETE","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":200,"wires":[["f09299d52c3e738e"],["8df21cddf638971d"]]},{"id":"f09299d52c3e738e","type":"change","z":"1680c88d9504c0fd","name":"Yes, complete","rules":[{"t":"move","p":"payload","pt":"msg","to":"complete","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":240,"wires":[["8b6a3629f9681967"]]},{"id":"2972739fb3ab857b","type":"comment","z":"1680c88d9504c0fd","name":"join when complete","info":"This signals the joiner to collect all messages","x":710,"y":200,"wires":[]},{"id":"66287f8b6cc7ec49","type":"delay","z":"1680c88d9504c0fd","name":"10 msg/s","pauseType":"rate","timeout":"4","timeoutUnits":"seconds","rate":"10","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"x":280,"y":200,"wires":[["441aed641706d89d"]]},{"id":"13f4fdf433be2678","type":"mqtt out","z":"1680c88d9504c0fd","name":"publish","topic":"home/av/kuro","qos":"1","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"cf30bc9baf8ab196","x":940,"y":420,"wires":[]},{"id":"bd5c0b55c2071c8d","type":"mqtt in","z":"1680c88d9504c0fd","name":"subscribe","topic":"home/av/kuro","qos":"2","datatype":"auto","broker":"cf30bc9baf8ab196","nl":false,"rap":true,"rh":0,"x":1100,"y":420,"wires":[["0043c6782b1b9649"]]},{"id":"0043c6782b1b9649","type":"debug","z":"1680c88d9504c0fd","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1250,"y":420,"wires":[]},{"id":"8b6a3629f9681967","type":"change","z":"1680c88d9504c0fd","name":"Cleanup","rules":[{"t":"delete","p":"command","pt":"msg"},{"t":"delete","p":"response","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":880,"y":340,"wires":[["9dd07a21535ddf66"]]},{"id":"cf30bc9baf8ab196","type":"mqtt-broker","name":"","broker":"192.168.1.163","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"msg.payload","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"sessionExpiry":""}]

[ Voor 216% gewijzigd door jowi op 31-08-2021 12:02 ]


Acties:
  • 0 Henk 'm!

  • etienne001
  • Registratie: September 2005
  • Laatst online: 18-09 00:38
Ik ben me weer wat aan het puzzelen maar ik ben bang dat ik toch de logica van node-red niet helemaal begrijp oid.

Ik heb een centrale afzuiging.
Nu wil ik graag dat bij een vochtgehalte boven de 75% in de badkamer de box op max toerental gaat lopen.
Oké dat krijg ik werkend, is het lager dan gaat hij weer naar laag toerental.

Nu dacht ik dat ik de co2 melder in de woonkamer er even simpelweg bij te zetten.
De switch in onderstaand kijkt naar true/false in de payload van beide.
Afbeeldingslocatie: https://tweakers.net/i/mKBP_oiAsQZ2G241X8DZwgXZzyI=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/k02ktoPYO7L2sQm0oqn3OQCU.jpg?f=user_large

Wat er nu dus gebeurd is dat de box gaat pendelen bij het veranderen van één van beide waardes.
Moet ik dan die switch veranderen voor iets anders?

Acties:
  • +1 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 19-09 21:45
etienne001 schreef op zaterdag 4 september 2021 @ 23:52:
Ik ben me weer wat aan het puzzelen maar ik ben bang dat ik toch de logica van node-red niet helemaal begrijp oid.

Ik heb een centrale afzuiging.
Nu wil ik graag dat bij een vochtgehalte boven de 75% in de badkamer de box op max toerental gaat lopen.
Oké dat krijg ik werkend, is het lager dan gaat hij weer naar laag toerental.

Nu dacht ik dat ik de co2 melder in de woonkamer er even simpelweg bij te zetten.
De switch in onderstaand kijkt naar true/false in de payload van beide.
[Afbeelding]

Wat er nu dus gebeurd is dat de box gaat pendelen bij het veranderen van één van beide waardes.
Moet ik dan die switch veranderen voor iets anders?
Vermoedelijk komt alleen deze waarde binnen als er een waarde verandert.

b.v. Luchtvochtigheid 75 en CO2 800:

Als CO2 801 wordt dan springt de ventilatie aan. Als vervolgens de luchtvochtigheid 74 wordt dan gaat hij weer uit (ongeacht wat de CO2 waarde is). als de CO2 dan 802 wordt gaat hij weer aan.

Je moet naar beide waardes kijken voordat hij een handeling doet.

Volgens mij moet je eerst een join gebruiken. Want binnen join kun je aangeven dat hij op 2 waardes moet wachten. Controleer daarbij ook of de ventilator al aanstaat.

Dus:

- 1 van de 2 waardes te hoog EN ventilator uit = ventilator aan
- 1 van de 2 waardes te hoog en ventilator staat aan = niks doen
- geen van de waardes te hoog en ventilator staat aan = ventilator uit
- geen van de waardes te hoog en ventilator staat uit = niks doen

Acties:
  • 0 Henk 'm!

  • etienne001
  • Registratie: September 2005
  • Laatst online: 18-09 00:38
grote_oever schreef op zondag 5 september 2021 @ 00:08:
[...]


Vermoedelijk komt alleen deze waarde binnen als er een waarde verandert.

b.v. Luchtvochtigheid 75 en CO2 800:

Als CO2 801 wordt dan springt de ventilatie aan. Als vervolgens de luchtvochtigheid 74 wordt dan gaat hij weer uit (ongeacht wat de CO2 waarde is). als de CO2 dan 802 wordt gaat hij weer aan.

Je moet naar beide waardes kijken voordat hij een handeling doet.

Volgens mij moet je eerst een join gebruiken. Want binnen join kun je aangeven dat hij op 2 waardes moet wachten. Controleer daarbij ook of de ventilator al aanstaat.

Dus:

- 1 van de 2 waardes te hoog EN ventilator uit = ventilator aan
- 1 van de 2 waardes te hoog en ventilator staat aan = niks doen
- geen van de waardes te hoog en ventilator staat aan = ventilator uit
- geen van de waardes te hoog en ventilator staat uit = niks doen
Thnxs ik zal me eens gaan verdiepen in de join functie.

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 17:44
grote_oever in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"grote_oever schreef op zondag 5 september 2021
Volgens mij moet je eerst een join gebruiken. Want binnen join kun je aangeven dat hij op 2 waardes moet wachten. Controleer daarbij ook of de ventilator al aanstaat.
Is het niet makkelijker en sneller om, als een van beide waardes verandert, via de current state node de andere waarde op te vragen in HA?

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
Hallo Allemaal,

Ik ben nu al een tijdje bezig met Node-red. Over het algemeen lukken mn projectjes wel.
Ik loop nu alleen vast in een flow waar ik een AND functie nodig heb. En ik kom hiermee niet verder.

Ik wil een bepaalde functie activeren wanneer ik in de ochtend tussen 7 en 12 beweging in mijn woonkamer zie.
Wie kan me op weg helpen?

Afbeeldingslocatie: https://tweakers.net/i/Gh8f5XdhR94-QQPlA_VD5ja3w0Q=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/HoSfiP0YQBLzRqy15LVD64NS.png?f=user_large

Acties:
  • +1 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
De uitgang van "beweging in kamer" koppelen aan ingang van "tijd tussen...". Wanneer de tijd dan tussen je ingestelde waarden zit, zal het bericht doorgestuurd worden en kan je in een volgende blok die functie activeren.

[ Voor 3% gewijzigd door GORby op 09-09-2021 11:37 ]


  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
GORby schreef op donderdag 9 september 2021 @ 11:37:
De uitgang van "beweging in kamer" koppelen aan ingang van "tijd tussen...". Wanneer de tijd dan tussen je ingestelde waarden zit, zal het bericht doorgestuurd worden en kan je in een volgende blok die functie activeren.
Zo simpel....
Ik dacht dat de ingang van bigtimer voor testen was.
Ik ga het zo proberen. Dank je!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
GORby schreef op donderdag 9 september 2021 @ 11:37:
De uitgang van "beweging in kamer" koppelen aan ingang van "tijd tussen...". Wanneer de tijd dan tussen je ingestelde waarden zit, zal het bericht doorgestuurd worden en kan je in een volgende blok die functie activeren.
Helaas, dit werkt niet.
Wanneer de beweging getriggerd wordt wordt de functie aan het einde aangeroepen, onafhankelijk van de ingestelde tijd helaas.

Wanneer de motion detected is, gaat de Bigtimer op Temp. override

[ Voor 27% gewijzigd door Obelixxx op 09-09-2021 12:16 ]


  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Volgens mij is de ingang van Big Timer enkel bedoeld om de timer qua settings aan te passen, niet om een flow te starten waarbij Big Timer dan als gate fungeert.

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
Tsurany schreef op donderdag 9 september 2021 @ 12:23:
Volgens mij is de ingang van Big Timer enkel bedoeld om de timer qua settings aan te passen, niet om een flow te starten waarbij Big Timer dan als gate fungeert.
Dat idee heb ik inderdaad ook.
Dat is ook het gedrag dat ik zie.

Op welke manier zou ik het dan wel kunnen oplossen? Ik zoek dus een AND functie.
Beweging gezien, en tijd tussen x en y, dan radio aan.

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Obelixxx schreef op donderdag 9 september 2021 @ 12:25:
[...]


Dat idee heb ik inderdaad ook.
Dat is ook het gedrag dat ik zie.

Op welke manier zou ik het dan wel kunnen oplossen? Ik zoek dus een AND functie.
Beweging gezien, en tijd tussen x en y, dan radio aan.
Volgens mij kan dat niet. Wellicht gewoon een functions node gebruiken na de beweging trigger? Even wat simpele Javascript en je hebt dit ook voor elkaar. Daarna een switch voor de routing.

[ Voor 3% gewijzigd door Tsurany op 09-09-2021 12:30 ]

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Obelixxx
Ik gebruik schedex daarvoor.
Net even geprutst met de bewegingsdetectie van de camera

code:
1
[{"id":"2b4f3f733fdd70a7","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"2ffc5ce8be70f9cb","type":"debug","z":"2b4f3f733fdd70a7","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":770,"y":100,"wires":[]},{"id":"8c82fa0e80bf76f1","type":"schedex","z":"2b4f3f733fdd70a7","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"7:00","ontopic":"","onpayload":"on","onoffset":0,"onrandomoffset":0,"offtime":"12:00","offtopic":"","offpayload":"off","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":570,"y":100,"wires":[["2ffc5ce8be70f9cb"]]},{"id":"b94702fc05262f49","type":"server-state-changed","z":"2b4f3f733fdd70a7","name":"","server":"a230fa69.44ecb8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.dahua_motion_alarm","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","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":250,"y":100,"wires":[["8c82fa0e80bf76f1"]]},{"id":"a230fa69.44ecb8","type":"server","name":"Home Assistant","version":1,"legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Edit: misschien toch niet helemaal super

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
Tsurany schreef op donderdag 9 september 2021 @ 12:29:
[...]

Volgens mij kan dat niet. Wellicht gewoon een functions node gebruiken na de beweging trigger? Even wat simpele Javascript en je hebt dit ook voor elkaar.
Daar was ik al bang voor, ben geen developer, dus code gaat snel te ver voor me.
Maar ga het proberen.

Dank je!

Acties:
  • +1 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
Ik doe dat met within-time-switch. Afhankelijk van het tijdstip wordt het bericht naar uitgang 1 of 2 gerouteerd.
https://github.com/rdmtc/...position/wiki/within-time

Acties:
  • +1 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Obelixxx schreef op donderdag 9 september 2021 @ 12:30:
[...]


Daar was ik al bang voor, ben geen developer, dus code gaat snel te ver voor me.
Maar ga het proberen.

Dank je!
Dan zou ik een van de plugins die hierboven genoemd zijn gebruiken.

SMA SB5.0 + 16x Jinko 310wp OWO + 10x Jinko 310wp WNW |--|--| Daikin 4MXM68N + 1x FTXA50AW + 3x FTXM20N


  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
GORby schreef op donderdag 9 september 2021 @ 12:31:
Ik doe dat met within-time-switch. Afhankelijk van het tijdstip wordt het bericht naar uitgang 1 of 2 gerouteerd.
https://github.com/rdmtc/...position/wiki/within-time
Maar dan heb je toch nog steeds een AND functie nodig?

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
Tsurany schreef op donderdag 9 september 2021 @ 12:32:
[...]

Dan zou ik een van de plugins die hierboven genoemd zijn gebruiken.
Je doelt op Schedex? Ga ik even installeren.

Acties:
  • +1 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
Nee hoor, doordat het bericht beweging uitsluitend doorgestuurd wordt binnen het tijdsbestek dat jij wil, is dat geregeld.

Afbeeldingslocatie: https://tweakers.net/i/bPTjsqNZAQ1VmpGMmKi3yt29-6k=/800x/filters:strip_exif()/f/image/Z0WmnVkejHRB2PCJQSVFIHXB.png?f=fotoalbum_large

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
Ik heb hier even een inject gezet en een functieblok als actie, omdat ik dezelfde input node niet heb, maar het idee is hetzelfde.

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
Afbeeldingslocatie: https://tweakers.net/i/0lXlbjtXAeZYrLUYj3YFfv1rrUs=/800x/filters:strip_exif()/f/image/y9Vo0WTcTOvTxXNrynLCY5pD.png?f=fotoalbum_large

Da's een voorbeeldje wat ik ermee doe, en voor de verandering eens zonder code. Afhankelijk van het tijdstip van de dag en of de actie al eens gebeurd is, ga ik de HomeWizard scene aanpassen wanneer er op de knop gedrukt wordt, of wanneer de Hue sensor beweging detecteert. In dit voorbeeld heb ik de time-switch node gebruikt, wat voor de meeste dingen voldoende is. Wanneer je afhankelijk van de dag van de week bijvoorbeeld andere tijdstippen wil hanteren, is die within-time-switch handiger.

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
GORby schreef op donderdag 9 september 2021 @ 12:37:
Nee hoor, doordat het bericht beweging uitsluitend doorgestuurd wordt binnen het tijdsbestek dat jij wil, is dat geregeld.

[Afbeelding]
Heb je wellicht een voorzet voor de code die in de functie komt?

Acties:
  • +1 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
Obelixxx schreef op donderdag 9 september 2021 @ 12:45:
[...]
Heb je wellicht een voorzet voor de code die in de functie komt?
Daar moet zelfs helemaal geen code staan, maar dat kan gewoon een "zet licht aan" blokje zijn. Ik heb daar gewoon een lege functieblok gezet en een overzichtelijke naam gegeven voor de duidelijkheid.

Acties:
  • +1 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19-09 22:52
De "code" van het laatste voorbeeld ter illustratie van wat je zonder javascript kan

code:
1
[{"id":"7151c07c.72609","type":"hue-switch","z":"3e2b14ad.eecfac","name":"Living room central switch","bridge":"a092cdca.b3743","sensorid":"35","skipevents":false,"universalevents":false,"x":150,"y":1300,"wires":[["4ff3762.5310f88","63454c60.3b8024"]]},{"id":"4ff3762.5310f88","type":"debug","z":"3e2b14ad.eecfac","name":"Hue - central switch","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":390,"y":1260,"wires":[]},{"id":"d94eb61a.1ad4a8","type":"switch","z":"3e2b14ad.eecfac","name":"short released","property":"payload.action","propertyType":"msg","rules":[{"t":"eq","v":"short released","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":380,"y":1340,"wires":[["2fd80a39.5d1a46"]]},{"id":"2fd80a39.5d1a46","type":"time-switch","z":"3e2b14ad.eecfac","name":"","lat":"50.9485","lon":"5.1112","startTime":"6:00","endTime":"16:00","startOffset":0,"endOffset":0,"x":610,"y":1300,"wires":[["5aebf51.bc79c0c"],["51fd3c14.b594b4"]]},{"id":"5aebf51.bc79c0c","type":"switch","z":"3e2b14ad.eecfac","name":"morningSwitched","property":"morningSwitched","propertyType":"flow","rules":[{"t":"true"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":810,"y":1300,"wires":[[],["d8d3c5f7.8be7a8"]]},{"id":"2cf61ee5.ccdcf2","type":"change","z":"3e2b14ad.eecfac","name":"set morningSwitched","rules":[{"t":"set","p":"morningSwitched","pt":"flow","to":"true","tot":"bool"},{"t":"set","p":"nightSwitched","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":1300,"wires":[["f4ab2d64.bb4d1"]]},{"id":"d8d3c5f7.8be7a8","type":"http request","z":"3e2b14ad.eecfac","name":"HW Home preset","method":"GET","ret":"obj","paytoqs":false,"url":"http://10.0.3.21/PASSWORD_REMOVED/preset/0","tls":"","persist":false,"proxy":"","authType":"","x":1030,"y":1300,"wires":[["5e63e4f0.d31f4c","8b84f22a.987c5"]]},{"id":"51fd3c14.b594b4","type":"time-switch","z":"3e2b14ad.eecfac","name":"","lat":"50.9485","lon":"5.1112","startTime":"21:00","endTime":"05:00","startOffset":0,"endOffset":0,"x":610,"y":1360,"wires":[["42edb70b.268208"],["794eee90.cdcbf"]]},{"id":"42edb70b.268208","type":"switch","z":"3e2b14ad.eecfac","name":"nightSwitched","property":"nightSwitched","propertyType":"flow","rules":[{"t":"true"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":800,"y":1360,"wires":[[],["2da0e977.02f246"]]},{"id":"d1bb6d86.984fc","type":"change","z":"3e2b14ad.eecfac","name":"set nightSwitched","rules":[{"t":"set","p":"nightSwitched","pt":"flow","to":"true","tot":"bool"},{"t":"set","p":"morningSwitched","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1390,"y":1360,"wires":[["57f63eb8.ed712"]]},{"id":"2da0e977.02f246","type":"http request","z":"3e2b14ad.eecfac","name":"HW Night preset","method":"GET","ret":"obj","paytoqs":false,"url":"http://10.0.3.21/PASSWORD_REMOVED/preset/2","tls":"","persist":false,"proxy":"","authType":"","x":1020,"y":1360,"wires":[["af1081e9.1c106"]]},{"id":"5e63e4f0.d31f4c","type":"debug","z":"3e2b14ad.eecfac","name":"outside valid time range","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1050,"y":1420,"wires":[]},{"id":"f4ab2d64.bb4d1","type":"debug","z":"3e2b14ad.eecfac","name":"morning","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1600,"y":1300,"wires":[]},{"id":"57f63eb8.ed712","type":"debug","z":"3e2b14ad.eecfac","name":"night","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1590,"y":1360,"wires":[]},{"id":"794eee90.cdcbf","type":"change","z":"3e2b14ad.eecfac","name":"reset vars","rules":[{"t":"set","p":"nightSwitched","pt":"flow","to":"false","tot":"bool"},{"t":"set","p":"morningSwitched","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":1420,"wires":[["5e63e4f0.d31f4c"]]},{"id":"1ed37582.dd4dba","type":"comment","z":"3e2b14ad.eecfac","name":"Trigger homewizard scene based on time of day and button on central Hue switch","info":"","x":320,"y":1220,"wires":[]},{"id":"63454c60.3b8024","type":"switch","z":"3e2b14ad.eecfac","name":"if button Off","property":"payload.name","propertyType":"msg","rules":[{"t":"eq","v":"Off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":1300,"wires":[["d94eb61a.1ad4a8"]]},{"id":"e0646554.beb4d8","type":"hue-motion","z":"3e2b14ad.eecfac","name":"Living room motion E","bridge":"a092cdca.b3743","sensorid":"52","skipevents":false,"universalevents":false,"x":140,"y":1380,"wires":[["4ff3762.5310f88","a44e4e4f.07d04"]]},{"id":"a44e4e4f.07d04","type":"switch","z":"3e2b14ad.eecfac","name":"Motion?","property":"payload.motion","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":360,"y":1380,"wires":[["9abf8c9f.07dba"]]},{"id":"8b84f22a.987c5","type":"switch","z":"3e2b14ad.eecfac","name":"OK?","property":"statusCode","propertyType":"msg","rules":[{"t":"eq","v":"200","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1210,"y":1300,"wires":[["2cf61ee5.ccdcf2"]]},{"id":"af1081e9.1c106","type":"switch","z":"3e2b14ad.eecfac","name":"OK?","property":"statusCode","propertyType":"msg","rules":[{"t":"eq","v":"200","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1210,"y":1360,"wires":[["d1bb6d86.984fc"]]},{"id":"9abf8c9f.07dba","type":"time-switch","z":"3e2b14ad.eecfac","name":"","lat":"50.9485","lon":"5.1112","startTime":"6:30","endTime":"16:00","startOffset":0,"endOffset":0,"x":370,"y":1420,"wires":[["5aebf51.bc79c0c"],[]]},{"id":"a55529dc.4ac278","type":"inject","z":"3e2b14ad.eecfac","name":"5:00","repeat":"","crontab":"00 05 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":610,"y":1420,"wires":[["794eee90.cdcbf"]]},{"id":"a092cdca.b3743","type":"hue-bridge","name":"Philips hue","bridge":"10.0.3.11","key":"l3SOkE4vaPgjzJ3jELboDnkNNvF9ilWL2DJf31ck","interval":"3000","disableupdates":false}]

Acties:
  • +1 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
GORby schreef op donderdag 9 september 2021 @ 12:46:
[...]


Daar moet zelfs helemaal geen code staan, maar dat kan gewoon een "zet licht aan" blokje zijn. Ik heb daar gewoon een lege functieblok gezet en een overzichtelijke naam gegeven voor de duidelijkheid.
Het is gelukt, dank alles!
Ik had niet gezien dat er een time node gebruikt was.
Werkt nu perfect

Acties:
  • 0 Henk 'm!

  • Bumpy_NL
  • Registratie: December 2007
  • Laatst online: 16:07
Ik maak gebruik van zigbee2mqtt en ik wil de smart functionaliteit van in NR verwerken. Mij programmeer vaardigheden zijn wat matig en ik weet niet nog niet hoe ik het exact wil inrchten, maar ik loop al tegen 1 ding aan. Ik wil als een lamp verbing maakt (lamp aanzetten met de fysieke schakelaar) dat de lamp status (brightness e.d.) naar een globale variable worden weggeschreven. De status en de naam van de lamp komt via MQTT binnen. De globale variable wil ik de naam geven van de lamp. Hier kom ik niet uit en ik weet uberhaupt niet of het mogelijk is. Iemand suggesties? Dit heb ik nu:
code:
1
2
var msg.topic=global.get(msg.topic) || {};
global.set(msg.topic, {msg.payload.brightness, msg.payload.color_temp});

En hier heb ik wat meer info over globale variablen gevonden: https://stevesnoderedguide.com/node-red-variables.

Edit: Gelukt!
code:
1
2
3
4
5
6
7
if (msg.payload.state=="ON"){
    if(msg.payload.color_mode=="color_temp"){
        global.set(msg.topic, {"brightness": msg.payload.brightness, "color_mode": msg.payload.color_mode, "color_temp": msg.payload.color_temp});
        msg.payload=global.get(msg.topic); 
    }
}
return msg;

[ Voor 16% gewijzigd door Bumpy_NL op 14-09-2021 16:23 ]


Acties:
  • 0 Henk 'm!

  • schumi2004
  • Registratie: Februari 2004
  • Laatst online: 09:49
Ik kom er niet uit en ik denk dat ik wat hulp nodig heb.
Ik heb met wat hulp een flow gemaakt in HassIO/Node-Red waarbij mijn verlichting automatisch aan en uit gaan op basis van input van een PIR maar dat deze met behulp van een input boolean (toggle) overruled kan worden zodat de PIR niets meer kan doen, dit werkt.

Nu wil ik echter dat m.b.v een bigtimer ik deze boolean op on of off kan zetten maar kom er niet uit.
Ik kan hem wel off schakelen met een inject node maar het mooie van die bigtimer is dat ik deze op basis van sunset of sunrise kan schakelen.

Ik heb dus heel simpel een bigtimer node met hierachter een service node om deze boolean te zetten echter krijg ik constant errors om mijn oren als: "Call-service error. extra keys not allowed @ data['message']"

Hoe kan ik nu een input boolean op on of off zetten m.b.v. een bigtimer?
Ben met {"message":"{{payload}}"} bezig geweest etc maar helaas en ik zou een toggle kunnen gebruiken zoals het nu staat maar dat gaat alleen maar issues geven omdat je op een bepaald moment niet meer de status van die boolean kunt garanderen.

Afbeeldingslocatie: https://tweakers.net/i/tbLaLqC5vrViwzXfx2fGV1GsGsc=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/uourzGShBo5JLNmjwVydm4DD.jpg?f=user_large

Acties:
  • +1 Henk 'm!
@schumi2004 Waarom zet je niet gewoon een 'time-range' node tussen je automatisering? Dan kan je boolean daar weer achter. Zolang het niet donker is doet de stand van de boolean er niet toe :)
Afbeeldingslocatie: https://i.imgur.com/uRwBYhL.png
Afbeeldingslocatie: https://i.imgur.com/cEiYjBy.png

Acties:
  • 0 Henk 'm!

  • schumi2004
  • Registratie: Februari 2004
  • Laatst online: 09:49
@lolgast Thanks, hoe simpel kan het zijn ;)

[ Voor 190% gewijzigd door schumi2004 op 20-09-2021 22:03 ]


  • oltk
  • Registratie: Augustus 2007
  • Laatst online: 15-09 08:57
Al tijden wil ik een "override" in mijn lichtjes aan / uit automatisering. Ik doe dat met node red. Gewoon de usual: als het donker wordt gaan lichten aan, en na een bepaalde tijd gaan ze uit. Maar ik wil een "override": Een schakelaar om en de lichten gaan weer aan. En een andere schakelaar en de lichten gaan weer uit. En in de ochtend reset de override zich en in de avond gewoon weer business as usual. Handig voor feestjes enzo (om 00:30 gezellig alle lichten uit wordt niet altijd op prijs gesteld :+ )

Nu kom ik op mijn vraag. Ik heb een aqara dubbele schakelaar (niet H1, blijkbaar zijn die er ook?) gekocht. Zigbee. Bij aanmelden op mijn conbee 2 gewoon the usual: apparaat gevonden, aanmelden, naam geven (en gebied) en apparaat is toegevoegd.

Maar ik kan maar geen entiteiten vinden, behalve het batterij entiteit. Alleen het apparaat. Als ik op het apparaat zoek kan ik wel automatiseringen aanmaken: een keer eerste knop, dubbel eerste knop, lang eerste knop etc etc. Hoe kan ik dit in node red benaderen? Kan ik een apparaat ook aansturen? alle entity state nodes vinden het ding niet als apparaat. Of kan ik ergens een entity aanmaken uit de opties die het apparaat aangeeft??

Afbeeldingslocatie: https://tweakers.net/i/bRo9xAs-tTfLYHDQGABtsZHtfp0=/800x/filters:strip_exif()/f/image/lrK5rcRbPHwg3NA8RwMHaOi4.png?f=fotoalbum_large

Edit: ik gebruik deze optie maar. Zo kan ik een entiteit triggeren die ik in node-red kan toepassen.
wat onhandig (want ik moet switchen tussen HA automatisering en node-red) maar het werkt

[ Voor 6% gewijzigd door oltk op 23-09-2021 22:37 ]


  • pyotr
  • Registratie: Oktober 2000
  • Laatst online: 14-09 13:59
Aanhakend op @schumi2004, ik wil een knop maken die tussen 6:00-21:30 een andere lamp schakelt dan tussen 21:30-06:00

Op zich simpel, alleen lijkt mijn NR (draaiend als Docker image op een QNAP) UTC te gebruiken en ik wil uiteraard schakelen op lokale tijd. Ik heb de coordinaten van mijn woonplaats in de 'time range' node ingevoerd, maar dit leidt niet tot de lokale tijd. Keihard een offset van 2 uur invoeren levert weer gedoe op bij omschakelen naar wintertijd, dus liever niet.

Tips?
@pyotr Heb je de timezone environment variabele al ingesteld op TZ=Europe/Amsterdam?
https://nodered.org/docs/...d/docker#setting-timezone

  • pyotr
  • Registratie: Oktober 2000
  • Laatst online: 14-09 13:59
@lolgast thanks, dat was de oplossing. Werkt als een trein nu.

Acties:
  • 0 Henk 'm!

  • Zweetkonijn
  • Registratie: Maart 2019
  • Laatst online: 12-09 18:52

Zweetkonijn

Domotica Enthousiast

Afbeeldingslocatie: https://tweakers.net/i/fLwF0cw397XpKRSdcF3450K_gz4=/800x/filters:strip_icc():strip_exif()/f/image/RvApjYlngMHzpeZA9evUgzlp.jpg?f=fotoalbum_large

Iemand enig idee waarom deze automatisatie niet wilt runnen?
sensor.recycleapp_morgen is momenteel 'restafval'. Maar toch start hij niet.

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Zweetkonijn schreef op dinsdag 28 september 2021 @ 21:19:
[Afbeelding]

Iemand enig idee waarom deze automatisatie niet wilt runnen?
sensor.recycleapp_morgen is momenteel 'restafval'. Maar toch start hij niet.
er is waarschijnlijk 1 keer een state change geweest en die is niet om 19:30 dus dan is het klaar.
ik denk dat je beter kunt triggeren op de tijd en vervolgens de huidige status van de sensor opvragen.

Acties:
  • 0 Henk 'm!

  • Zweetkonijn
  • Registratie: Maart 2019
  • Laatst online: 12-09 18:52

Zweetkonijn

Domotica Enthousiast

Step5 schreef op dinsdag 28 september 2021 @ 21:51:
[...]

er is waarschijnlijk 1 keer een state change geweest en die is niet om 19:30 dus dan is het klaar.
ik denk dat je beter kunt triggeren op de tijd en vervolgens de huidige status van de sensor opvragen.
Thanks Step5! Dat werkt inderdaad wel.
De flow werkt zoals het hoort nu _/-\o_

  • d-vine
  • Registratie: Augustus 2006
  • Laatst online: 18:07
oltk schreef op donderdag 23 september 2021 @ 20:58:
Al tijden wil ik een "override" in mijn lichtjes aan / uit automatisering. Ik doe dat met node red. Gewoon de usual: als het donker wordt gaan lichten aan, en na een bepaalde tijd gaan ze uit. Maar ik wil een "override": Een schakelaar om en de lichten gaan weer aan. En een andere schakelaar en de lichten gaan weer uit. En in de ochtend reset de override zich en in de avond gewoon weer business as usual. Handig voor feestjes enzo (om 00:30 gezellig alle lichten uit wordt niet altijd op prijs gesteld :+ )
Ik weet niet precies hoe je jou automatisering hebt met je lichten maar het is ook handig om deze naast licht om beweging te laten triggeren waarna en timer loopt die je kan aanpassen waar nodig

Ik ben pas 2 weken geleden begonnen om mijn automations van Fibaro (gebruik die als z-wave controller) om te zetten naar node-red. en afgelopen week mijn smart lights scene omgezet wat nu aardig goed werkt en eenvoudig aanpassingen kan krijgen.
Ik moet mijn sleepstate nog integreren bijvoorbeeld.

Bij mij gaan de lichten pas aan op beweging met een bepaalde lage lux waarde en dan per time of day wordt een bepaalde dim waarde aangezet van de lamp(en) die motion triggert een timer en als deze afloopt schakelt het licht uit.
Op zolder en in de woonkamer check ik daarnaast ook of een wallplug een bepaalde wattage heeft dus als je TV kijkt komt deze boven een x waarde en daarmee stop ik de timer van mijn "smart" lights.
TV uit wattage onder x niveau en de timer loopt weer waarna de lichten automatisch uit gaan.

Je kan dit natuurlijk ook doen met een boolean of trigger van een switch. Of als extra bv guest mode (moet ik ook nog maken want dat had ik in mijn fibaro)
als je een feestje hebt, TV systeem staat uit en je geen wallpluiig power check hebt.

Acties:
  • +1 Henk 'm!

  • oltk
  • Registratie: Augustus 2007
  • Laatst online: 15-09 08:57
d-vine schreef op woensdag 29 september 2021 @ 08:53:
[...]


Ik weet niet precies hoe je jou automatisering hebt met je lichten maar het is ook handig om deze naast licht om beweging te laten triggeren waarna en timer loopt die je kan aanpassen waar nodig

Ik ben pas 2 weken geleden begonnen om mijn automations van Fibaro (gebruik die als z-wave controller) om te zetten naar node-red. en afgelopen week mijn smart lights scene omgezet wat nu aardig goed werkt en eenvoudig aanpassingen kan krijgen.
Ik moet mijn sleepstate nog integreren bijvoorbeeld.

Bij mij gaan de lichten pas aan op beweging met een bepaalde lage lux waarde en dan per time of day wordt een bepaalde dim waarde aangezet van de lamp(en) die motion triggert een timer en als deze afloopt schakelt het licht uit.
Op zolder en in de woonkamer check ik daarnaast ook of een wallplug een bepaalde wattage heeft dus als je TV kijkt komt deze boven een x waarde en daarmee stop ik de timer van mijn "smart" lights.
TV uit wattage onder x niveau en de timer loopt weer waarna de lichten automatisch uit gaan.

Je kan dit natuurlijk ook doen met een boolean of trigger van een switch. Of als extra bv guest mode (moet ik ook nog maken want dat had ik in mijn fibaro)
als je een feestje hebt, TV systeem staat uit en je geen wallpluiig power check hebt.
Ik heb inderdaad ook een bewegingsmelder. De lichten gaan sowieso alleen automatisch aan in de woonkamer. Daar zijn de meeste "sfeerlichtjes". En die gaan altijd aan, afhankelijk van lux-waarde. Ook deels inbraakpreventie: geen verschillen in tijdvakken (vakantie ineens alles donker). De bewegingsmelder registreert dat er toch nog iemand rondscharrelt na sluitingstijd :+ en houdt dan de lichten aan. Of, als iemand doodstil op de bank zat op sliep, gooit de bewegingsmelder de lichten weer aan.

De override kan inderdaad veel beter via een boolean. Ik heb even moeten zoeken hoe dat werkt. Want ik wil 2 dingen: een fysieke -WAF proof- schakelaar waarmee je de boolean kan instellen. En in node-red de boolean aflezen en veranderen indien nodig,

Ik heb nu het volgende:
de (Aqara) schakelaar kan je in apparaten instellen: een keer klikken = permanent aan (boolean toggle_on op aan) en twee keer klikken = permanent uit (boolean toggle_off op aan). Beide booleans tegelijk aan kan niet, dus tegelijk met boolean aan zetten wordt de andere op "uit" gezet (dat moet ikzelf natuurlijk instellen, dat doe ik in node-red). Beiden uit = automatisch.
Het koste me wat tijd om erachter te komen dat ik de boolean moet aanroepen als "service" -> input_boolean_turnon

In node red kan ik de status aflezen en afhankelijk daarvan zeggen of de lichten wel / niet automatisch aangaan resp. uitgaan. Dus ik zet direct na het aflezen van de bewegingsmelder en lichtsensor een check op de boolean.

In node red moest ik daarnaast een klein strengetje maken dat de schakelaar indrukken (dus de boolean wordt gezet) ook meteen de lichten aan resp. uit zet. Immediate action dus. Overigens is het wijzigen van de boolean in node-red weer een call op het domein:homeassistant , service: turn_off. Kwestie van uitproberen.

Nu werkt het :)

[ Voor 3% gewijzigd door oltk op 29-09-2021 19:54 ]


  • pyotr
  • Registratie: Oktober 2000
  • Laatst online: 14-09 13:59
Hoe maak je een hotelschakeling in NR?

Ik heb twee (fysieke) drukknoppen die naar MQTT posten, en een MQTT topic voor een Shelly lamp. Leek mij een simpele kwestie van beide queues te koppelen aan een node die een flow variabele toggled tussen 'on' en 'off' (en verder de input van de knoppen negeert) en deze nieuwe state in msg.payload zet:

code:
1
[{"id":"498739857f5eb7bd","type":"mqtt in","z":"0f9191487668eb6c","name":"Hallway Front Door","topic":"shellies/switch_06/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":110,"y":1060,"wires":[["9c7f45f540056e3a"]]},{"id":"7d5414c5e2336612","type":"mqtt in","z":"0f9191487668eb6c","name":"Hallway Living Door","topic":"shellies/switch_07/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":110,"y":1140,"wires":[["9c7f45f540056e3a"]]},{"id":"9c7f45f540056e3a","type":"rbe","z":"0f9191487668eb6c","name":"changes only","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":310,"y":1100,"wires":[["fa1c8087243a49cb"]]},{"id":"ba442d221aead8f7","type":"mqtt out","z":"0f9191487668eb6c","name":"Hallway Lights","topic":"shellies/gu10_03/color/0/command","qos":"1","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"7e44a51ed417f4ed","x":800,"y":1100,"wires":[]},{"id":"fa1c8087243a49cb","type":"change","z":"0f9191487668eb6c","name":"Toggle HallwayLights State","rules":[{"t":"set","p":"hallwayLights","pt":"flow","to":"(flow.hallwayLights = 'on' ? 'off' : 'on')","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"flow.hallwayLights","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":1100,"wires":[["ba442d221aead8f7","bccf795f675c8715"]]},{"id":"bccf795f675c8715","type":"debug","z":"0f9191487668eb6c","name":"the message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":790,"y":1160,"wires":[]},{"id":"7e44a51ed417f4ed","type":"mqtt-broker","name":"broker","broker":"10.1.10.11","port":"1883","clientid":"nodered","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"nodered","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]


Maar dat werkt dus niet, er gebeurt helemaal niks; volgens het debug window heeft de msg helemaal geen payload meer. Wat zie ik over het hoofd?

  • I-King
  • Registratie: Maart 2003
  • Laatst online: 14:56
Los van dat ik het via HA regel, maar je kunt toch ipv on of off toggle gebruiken? Dan kun je dat commando altijd sturen.

Acties:
  • 0 Henk 'm!

  • pyotr
  • Registratie: Oktober 2000
  • Laatst online: 14-09 13:59
De Shelly documentatie rept niet over een toggle commando: "shellies/shellycolorbulb-<deviceid>/color/0/command accepts on and off payloads"

Ik kan het gewoon proberen natuurlijk, maar ik zou toch ook graag weten hoe je states bijhoudt in NR en daarmee payloads kunt manipuleren.

Acties:
  • +1 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 17:45
pyotr schreef op donderdag 30 september 2021 @ 21:05:
Hoe maak je een hotelschakeling in NR?

Ik heb twee (fysieke) drukknoppen die naar MQTT posten, en een MQTT topic voor een Shelly lamp. Leek mij een simpele kwestie van beide queues te koppelen aan een node die een flow variabele toggled tussen 'on' en 'off' (en verder de input van de knoppen negeert) en deze nieuwe state in msg.payload zet:

code:
1
[{"id":"498739857f5eb7bd","type":"mqtt in","z":"0f9191487668eb6c","name":"Hallway Front Door","topic":"shellies/switch_06/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":110,"y":1060,"wires":[["9c7f45f540056e3a"]]},{"id":"7d5414c5e2336612","type":"mqtt in","z":"0f9191487668eb6c","name":"Hallway Living Door","topic":"shellies/switch_07/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":110,"y":1140,"wires":[["9c7f45f540056e3a"]]},{"id":"9c7f45f540056e3a","type":"rbe","z":"0f9191487668eb6c","name":"changes only","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":310,"y":1100,"wires":[["fa1c8087243a49cb"]]},{"id":"ba442d221aead8f7","type":"mqtt out","z":"0f9191487668eb6c","name":"Hallway Lights","topic":"shellies/gu10_03/color/0/command","qos":"1","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"7e44a51ed417f4ed","x":800,"y":1100,"wires":[]},{"id":"fa1c8087243a49cb","type":"change","z":"0f9191487668eb6c","name":"Toggle HallwayLights State","rules":[{"t":"set","p":"hallwayLights","pt":"flow","to":"(flow.hallwayLights = 'on' ? 'off' : 'on')","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"flow.hallwayLights","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":1100,"wires":[["ba442d221aead8f7","bccf795f675c8715"]]},{"id":"bccf795f675c8715","type":"debug","z":"0f9191487668eb6c","name":"the message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":790,"y":1160,"wires":[]},{"id":"7e44a51ed417f4ed","type":"mqtt-broker","name":"broker","broker":"10.1.10.11","port":"1883","clientid":"nodered","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"nodered","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]


Maar dat werkt dus niet, er gebeurt helemaal niks; volgens het debug window heeft de msg helemaal geen payload meer. Wat zie ik over het hoofd?
Het definieren van je msg.payload gaat niet goed.
Je hebt nu:
Afbeeldingslocatie: https://tweakers.net/i/mtvHfFSglQuD4whbgXBQKpZna8Y=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/Au5P0huKEZPeV0ruvdiQaUy6.png?f=user_large
Dit moet worden:

Afbeeldingslocatie: https://tweakers.net/i/pUko5pEX54JVqn8jWtgFtbs5REw=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/4OhQTlaIIUkey1QIkgTwDZOO.png?f=user_large
Dan als nog werkt het niet... dit komt door : (flow.hallwayLights = 'on' ? 'off' : 'on'). Nu ben ik niet bekend met JSonata dus daar kan ik je niet verder bij helpen. Ik gebruik liever Node-red node's ipv Jsonata als het kan :).

Ik zou het als volgt doen:

code:
1
[{"id":"bccf795f675c8715","type":"debug","z":"22a7c96c.2e4376","name":"the message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1270,"y":1300,"wires":[]},{"id":"b59923ee879d9232","type":"inject","z":"22a7c96c.2e4376","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"shellies/switch_06/input/0","payload":"off","payloadType":"str","x":290,"y":1200,"wires":[["3bfb5d3af4c20928"]]},{"id":"c8eceae744578a66","type":"inject","z":"22a7c96c.2e4376","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"shellies/switch_07/input/0","payload":"on","payloadType":"str","x":280,"y":1400,"wires":[["3bfb5d3af4c20928"]]},{"id":"d118779877cb7d73","type":"inject","z":"22a7c96c.2e4376","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"shellies/switch_07/input/0","payload":"off","payloadType":"str","x":260,"y":1460,"wires":[["3bfb5d3af4c20928"]]},{"id":"0e8b0815793e1a1b","type":"inject","z":"22a7c96c.2e4376","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"shellies/switch_06/input/0","payload":"on","payloadType":"str","x":280,"y":1140,"wires":[["3bfb5d3af4c20928"]]},{"id":"498739857f5eb7bd","type":"mqtt in","z":"22a7c96c.2e4376","name":"Hallway Front Door","topic":"shellies/switch_06/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":230,"y":1260,"wires":[[]]},{"id":"7d5414c5e2336612","type":"mqtt in","z":"22a7c96c.2e4376","name":"Hallway Living Door","topic":"shellies/switch_07/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":230,"y":1340,"wires":[[]]},{"id":"335df2d45b28a05c","type":"change","z":"22a7c96c.2e4376","name":"flow hallwayLights on","rules":[{"t":"set","p":"hallwayLights","pt":"flow","to":"on","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"hallwayLights","tot":"flow"},{"t":"delete","p":"topic","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1020,"y":1320,"wires":[["bccf795f675c8715","9bb99f6e07e806f1"]]},{"id":"abf1a76ec9acd1c1","type":"switch","z":"22a7c96c.2e4376","name":"huidige status van flow","property":"hallwayLights","propertyType":"flow","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":720,"y":1280,"wires":[["ca2680045ebf3c4b"],["335df2d45b28a05c"],["335df2d45b28a05c"]]},{"id":"ca2680045ebf3c4b","type":"change","z":"22a7c96c.2e4376","name":"flow hallwayLights off","rules":[{"t":"set","p":"hallwayLights","pt":"flow","to":"off","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"hallwayLights","tot":"flow"},{"t":"delete","p":"topic","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":1220,"wires":[["bccf795f675c8715","9bb99f6e07e806f1"]]},{"id":"3bfb5d3af4c20928","type":"rbe","z":"22a7c96c.2e4376","name":"changes only","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":500,"y":1280,"wires":[["abf1a76ec9acd1c1"]]},{"id":"9bb99f6e07e806f1","type":"mqtt out","z":"22a7c96c.2e4376","name":"Hallway Lights","topic":"shellies/gu10_03/color/0/command","qos":"1","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"7e44a51ed417f4ed","x":1300,"y":1200,"wires":[]},{"id":"7e44a51ed417f4ed","type":"mqtt-broker","name":"broker","broker":"10.1.10.11","port":"1883","clientid":"nodered","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"nodered","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]



Afbeeldingslocatie: https://tweakers.net/i/u3gsgCKi_AvD6g3Th58a4DPEqQE=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/gBKltgs9vo0ta4Vu2wxZVkRI.png?f=user_large
In de laatste change node delete ik ook nog even het topic.. dit topic wat je hier delete is namelijk het topic van je hallway door. Ik weet niet of als je het topic doorgeeft naar je light deze override in je MQTT out node.

Acties:
  • 0 Henk 'm!

  • Peet3kabo
  • Registratie: Augustus 2018
  • Laatst online: 17-09 19:33
Ik ben al een tijdje aan het stoeien met Nodered in Home Assistant.
Wat ik wil bereiken dat ik de pomp van mijn vloerverwarming uitschakel als er geen warmtevraag is.
Wat ik nu heb is een signaal van de OTGW in HA welke ik als trigger gebruik.
Aan is vloerverwarming aan
Uit is vloerverwaming uit na 30 minuten om de warmte nog wat effect te laten hebben en om te voorkomen dat de pomp (label A) pomp te vaak schakelt. De fabrikant schrijft voor om dat niet vaker dan 4 keer per uur te doen.
Op zich werkt het behalve dat de 30 minuten geen 30 minuten is en hij schakelt nu nog steeds constant in en uit om de paar minuten dus de schakeling heeft weinig effect.
Naar mijn idee moet de teller gereset worden op het moment dat er weer warmte vraag is binnen de 30 minuten en pas weer beginnen bij een uit signaal.
Ik kan niet helemaal vinden hoe ik dat voor elkaar krijg, nu komt dat ook mede doordat ik helemaal nog niet thuis ben in Nodered.
Wellicht dat mensen hier mij in de juiste richting kunnen sturen of helpen.
Wat ik nu heb is:
Afbeeldingslocatie: https://tweakers.net/i/5uo8QMX1A_tS_1fhj5VLlAv_Tso=/800x/filters:strip_exif()/f/image/26vttLaNnWfx2bYJXQQ5Kmrf.png?f=fotoalbum_large

Hebben jullie meer info nodig dan verschaf ik die graag en roepen jullie maar.........

Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 09:02

Gizz

Dunder-Mifflin, Inc.

Peet3kabo schreef op zondag 3 oktober 2021 @ 14:51:
Hebben jullie meer info nodig dan verschaf ik die graag en roepen jullie maar.........
Je flow delen maakt het altijd makkelijker. Niet in de laatste plaats omdat de tekst op een node niet altijd overeen hoeft te komen met wat er daadwerkelijk ingesteld is binnen een node :)

Hamburgermenuutje > Export > flow selecteren > Copy to clipboard

Vooruitlopend op je flow denk ik dat het handig is om met een trigger node aan de slag te gaan. Daar kun je namelijk een delay instellen en een reset uitvoeren.

@etienne001 Ik zie je vraag over het aansturen van de ventilatie en het pendelen nu pas, maar wellicht heb je wat aan mijn flow.

Hier wordt gekeken naar de CO2-waarde van 3 sensoren, een fijnstofsensor en de luchtvochtigheid in de badkamer. Alle waardes worden bewaard, vervolgens wordt gekeken wat de hoogste waarde is en op basis daarvan wordt mijn mechanische ventilatie aangestuurd.

Afbeeldingslocatie: https://tweakers.net/i/EbdXyF7_dvhyf32Z6UbqdgJnwOI=/800x/filters:strip_exif()/f/image/jbo3wMU3Q4RnrUtzsmbp2Ukn.png?f=fotoalbum_large

code:
1
[{"id":"aa4a2e4.2bdda5","type":"tab","label":"Ventilatie","disabled":false,"info":""},{"id":"94ec1d38.dfaf08","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 huiskamer","topic":"CO2_huiskamer/CO2/PPM","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","x":80,"y":100,"wires":[["f1f72bf8.de8248"]]},{"id":"d384eb24.c9325","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 kantoor","topic":"co2-kantoor/sensor/mh-z19_co2_value/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":70,"y":160,"wires":[["3427eef6.3d8a92"]]},{"id":"1bf8a2ff.9e107d","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 slaapkamer","topic":"co2-slaapkamer/sensor/mh-z19_co2_value/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":80,"y":220,"wires":[["6267266f.578af"]]},{"id":"f1f72bf8.de8248","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co21","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":100,"wires":[["5dc83540.8dec6c"]]},{"id":"3427eef6.3d8a92","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co22","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":160,"wires":[["5dc83540.8dec6c"]]},{"id":"5dc83540.8dec6c","type":"change","z":"aa4a2e4.2bdda5","name":"choose highest value","rules":[{"t":"set","p":"co2","pt":"msg","to":"$max([$flowContext(\"co21\"), $flowContext(\"co22\"), $flowContext(\"co23\"),  $flowContext(\"fijnstof\"), $flowContext(\"hum\")])\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":180,"wires":[["2e53a4e7.895e94"]]},{"id":"6267266f.578af","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co23","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":220,"wires":[["5dc83540.8dec6c"]]},{"id":"2e53a4e7.895e94","type":"range","z":"aa4a2e4.2bdda5","minin":"500","maxin":"1000","minout":"0","maxout":"1023","action":"clamp","round":true,"property":"co2","name":"","x":720,"y":180,"wires":[["68a6f2d5.03ef6c","f66a226a.569638"]]},{"id":"13ebf47f.756f74","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"Vochtigheid badkamer","topic":"zigbee2mqtt/Badkamer","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":100,"y":300,"wires":[["15ebdcd8.9d9b23"]]},{"id":"15ebdcd8.9d9b23","type":"switch","z":"aa4a2e4.2bdda5","name":"","property":"payload.humidity","propertyType":"msg","rules":[{"t":"gte","v":"70.00","vt":"num"},{"t":"lt","v":"70.00","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":310,"y":300,"wires":[["135c945e.f9b18c"],["852c1516.2ea978"]]},{"id":"135c945e.f9b18c","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"hum","pt":"flow","to":"2000","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":300,"wires":[["5dc83540.8dec6c"]]},{"id":"852c1516.2ea978","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"hum","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":360,"wires":[["5dc83540.8dec6c"]]},{"id":"3e4fc9d8.a39c96","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"Fijnstof 10ppm","topic":"fijnstofkeuken/sensor/particulate_matter_100m_concentration/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":80,"y":40,"wires":[["276db04c.74f9e"]]},{"id":"e11d67aa.17a9c8","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"fijnstof","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":40,"wires":[["5dc83540.8dec6c"]]},{"id":"276db04c.74f9e","type":"range","z":"aa4a2e4.2bdda5","minin":"10","maxin":"20","minout":"0","maxout":"1200","action":"clamp","round":true,"property":"payload","name":"","x":260,"y":40,"wires":[["e11d67aa.17a9c8"]]},{"id":"f66a226a.569638","type":"template","z":"aa4a2e4.2bdda5","name":"PWM command","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"PWM,14,{{co2}},0,1500","output":"str","x":920,"y":180,"wires":[["9cd629f6.c4ff18"]]},{"id":"9cd629f6.c4ff18","type":"mqtt out","z":"aa4a2e4.2bdda5","name":"","topic":"ESP_mechanischeventilatie/cmd","qos":"","retain":"","broker":"c9b2091b.ca27b8","x":1160,"y":180,"wires":[]},{"id":"68a6f2d5.03ef6c","type":"range","z":"aa4a2e4.2bdda5","minin":"0","maxin":"1023","minout":"0","maxout":"100","action":"scale","round":true,"property":"co2","name":"","x":740,"y":240,"wires":[["be7853dfe4393814"]]},{"id":"450207e2e16f19e9","type":"mqtt out","z":"aa4a2e4.2bdda5","name":"","topic":"ESP_mechanischeventilatie/percentage","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"c9b2091b.ca27b8","x":1040,"y":300,"wires":[]},{"id":"be7853dfe4393814","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"co2","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":300,"wires":[["450207e2e16f19e9"]]},{"id":"c9b2091b.ca27b8","type":"mqtt-broker","name":"","broker":"192.168.1.2","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


Omdat ik deze flow ooit begonnen ben met CO2-waardes zet ik de fijnstofwaarde en de luchtvochtigheid ook om naar een fake-CO2-waarde zodat alles 'eerlijk' met elkaar vergeleken kan worden.

De hoogste CO2-waarde wordt met een range node omgezet naar een waarde van 0-1023. Dit is omdat ik een 'PWM naar 0-10V'-bordje aanstuur voor het aansturen van de mechanische ventilatie. En bij PWM is 0 het laagst en 1023 het hoogst :) Het stukje met de range-node van 0-100 stuurt niks aan, dat zorgt er alleen voor dat ik in Home Assistant netjes te zien krijg op welk percentage snelheid de mechanische ventilatie wordt aangestuurd.

[ Voor 107% gewijzigd door Gizz op 03-10-2021 15:42 ]

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!

  • Peet3kabo
  • Registratie: Augustus 2018
  • Laatst online: 17-09 19:33
Gizz schreef op zondag 3 oktober 2021 @ 15:13:
[...]

Je flow delen maakt het altijd makkelijker. Niet in de laatste plaats omdat de tekst op een node niet altijd overeen hoeft te komen met wat er daadwerkelijk ingesteld is binnen een node :)

Hamburgermenuutje > Export > flow selecteren > Copy to clipboard

Vooruitlopend op je flow denk ik dat het handig is om met een trigger node aan de slag te gaan. Daar kun je namelijk een delay instellen en een reset uitvoeren.
Ah ok duidelijk, even kijken of dat gaat lukken....

code:
1
[{"id":"72d7e960249c1716","type":"tab","label":"Vloerverwarming","disabled":false,"info":""},{"id":"92df7c52c5408c9c","type":"tab","label":"Switch als light","disabled":false,"info":""},{"id":"6f6248cad1c7cf71","type":"tab","label":"Verlichting","disabled":false,"info":""},{"id":"b08467d5.010fe8","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"d09216c8762bc1e5","type":"server-state-changed","z":"72d7e960249c1716","name":"Ketel aan op CV","server":"b08467d5.010fe8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.slave_ch_active_boiler_otgw","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":"","forType":"num","forUnits":"seconds","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":100,"y":360,"wires":[["63137b1d954412b3"]]},{"id":"63137b1d954412b3","type":"switch","z":"72d7e960249c1716","name":"Vloerverwarming schakelaar aan/uit","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":340,"y":360,"wires":[["21da7e4a8c963f92"],["a8bc6b315401c579"]]},{"id":"21da7e4a8c963f92","type":"api-call-service","z":"72d7e960249c1716","name":"Vloerverwarming aan","server":"b08467d5.010fe8","version":3,"debugenabled":false,"service_domain":"switch","service":"turn_on","entityId":"switch.on_off_plug_in_unit_4","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":340,"wires":[["9e8079abee5910dc"]]},{"id":"f023d972facbf9d4","type":"api-call-service","z":"72d7e960249c1716","name":"Vloerverwarming uit","server":"b08467d5.010fe8","version":3,"debugenabled":false,"service_domain":"switch","service":"turn_off","entityId":"switch.on_off_plug_in_unit_4","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":400,"wires":[["20cbc1ac48b7e4e8"]]},{"id":"a8bc6b315401c579","type":"delay","z":"72d7e960249c1716","name":"","pauseType":"delay","timeout":"30","timeoutUnits":"minutes","rate":"1","nbRateUnits":"16","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"x":590,"y":400,"wires":[["f023d972facbf9d4"]]},{"id":"9e8079abee5910dc","type":"debug","z":"72d7e960249c1716","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1010,"y":340,"wires":[]},{"id":"20cbc1ac48b7e4e8","type":"debug","z":"72d7e960249c1716","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1010,"y":400,"wires":[]},{"id":"9d8e66925663dd8d","type":"server-state-changed","z":"92df7c52c5408c9c","name":"Switch samen met lichten","server":"b08467d5.010fe8","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.alle_verlichting","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"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":150,"y":160,"wires":[["3258a8c42f864dd4"]]},{"id":"3258a8c42f864dd4","type":"switch","z":"92df7c52c5408c9c","name":"Switch On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":380,"y":160,"wires":[["17f363a3717d5a10"],["c9fe4a5f590b619e"]]},{"id":"17f363a3717d5a10","type":"api-call-service","z":"92df7c52c5408c9c","name":"","server":"b08467d5.010fe8","version":3,"debugenabled":false,"service_domain":"switch","service":"turn_on","entityId":"Switc switch.on_off_plug_in_unit_3, switch.on_off_plug_in_unit_5","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":630,"y":120,"wires":[["32f6704f31629709"]]},{"id":"c9fe4a5f590b619e","type":"api-call-service","z":"92df7c52c5408c9c","name":"","server":"b08467d5.010fe8","version":3,"debugenabled":false,"service_domain":"switch","service":"turn_off","entityId":"Switc switch.on_off_plug_in_unit_3, switch.on_off_plug_in_unit_5","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":630,"y":200,"wires":[["591e2bd74e5e1584"]]},{"id":"32f6704f31629709","type":"debug","z":"92df7c52c5408c9c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":810,"y":120,"wires":[]},{"id":"591e2bd74e5e1584","type":"debug","z":"92df7c52c5408c9c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":810,"y":200,"wires":[]},{"id":"86de781d02f79d51","type":"time-range-switch","z":"6f6248cad1c7cf71","name":"06:00 - 08:00","lat":"","lon":"","startTime":"06:00","endTime":"8:00","startOffset":0,"endOffset":0,"x":210,"y":120,"wires":[["8060de5687f97dbb"],[]]},{"id":"8060de5687f97dbb","type":"switch","z":"6f6248cad1c7cf71","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":120,"wires":[["c4e709ddfa822186"],["13f5c744d970d57f"]]},{"id":"c4e709ddfa822186","type":"api-call-service","z":"6f6248cad1c7cf71","name":"Alle lichten aan","server":"b08467d5.010fe8","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.alle_verlichting","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":670,"y":100,"wires":[["2b36ec6f3fe95f8a"]]},{"id":"13f5c744d970d57f","type":"api-call-service","z":"6f6248cad1c7cf71","name":"Alle lichten uit","server":"b08467d5.010fe8","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.alle_verlichting","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":670,"y":180,"wires":[["2b36ec6f3fe95f8a"]]},{"id":"2b36ec6f3fe95f8a","type":"debug","z":"6f6248cad1c7cf71","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":890,"y":140,"wires":[]},{"id":"52578a87c35183e4","type":"comment","z":"6f6248cad1c7cf71","name":"Verlichting ochtend","info":"","x":190,"y":80,"wires":[]}]


Kun je hier wat mee of moet ik het anders hier neerzetten.
Trigger node zoiets zat ik ook al aan te denken idd, maar had dat niet helemaal duidelijk

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Peet3kabo schreef op zondag 3 oktober 2021 @ 14:51:
Ik ben al een tijdje aan het stoeien met Nodered in Home Assistant.
Wat ik wil bereiken dat ik de pomp van mijn vloerverwarming uitschakel als er geen warmtevraag is.
Wat ik nu heb is een signaal van de OTGW in HA welke ik als trigger gebruik.
Aan is vloerverwarming aan
Uit is vloerverwaming uit na 30 minuten om de warmte nog wat effect te laten hebben en om te voorkomen dat de pomp (label A) pomp te vaak schakelt. De fabrikant schrijft voor om dat niet vaker dan 4 keer per uur te doen.
Op zich werkt het behalve dat de 30 minuten geen 30 minuten is en hij schakelt nu nog steeds constant in en uit om de paar minuten dus de schakeling heeft weinig effect.
Naar mijn idee moet de teller gereset worden op het moment dat er weer warmte vraag is binnen de 30 minuten en pas weer beginnen bij een uit signaal.
Ik kan niet helemaal vinden hoe ik dat voor elkaar krijg, nu komt dat ook mede doordat ik helemaal nog niet thuis ben in Nodered.
Wellicht dat mensen hier mij in de juiste richting kunnen sturen of helpen.
Wat ik nu heb is:
[Afbeelding]

Hebben jullie meer info nodig dan verschaf ik die graag en roepen jullie maar.........
Die timer moet inderdaad ook een reset krijgen, anders loopt die door en kan een dus die "off" flow voortzetten terwijl dat allang niet meer moet.
Door msg.reset op true te sturen naar die timer wordt hij gereset.
voorbeeld:
Afbeeldingslocatie: https://tweakers.net/i/bMgElsFbLrrHEhD5bhav9QVJ3AQ=/800x/filters:strip_exif()/f/image/n79dwkrfO6I4vsVhRSffWp07.png?f=fotoalbum_large
de change node:
Afbeeldingslocatie: https://tweakers.net/i/Bi7eZW2IdzoigS9HQ_iYs_6WluQ=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/34DR9znFLvKWRxQfHvc4FSC0.png?f=user_large

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
pyotr schreef op donderdag 30 september 2021 @ 21:05:
Hoe maak je een hotelschakeling in NR?

Ik heb twee (fysieke) drukknoppen die naar MQTT posten, en een MQTT topic voor een Shelly lamp. Leek mij een simpele kwestie van beide queues te koppelen aan een node die een flow variabele toggled tussen 'on' en 'off' (en verder de input van de knoppen negeert) en deze nieuwe state in msg.payload zet:

code:
1
[{"id":"498739857f5eb7bd","type":"mqtt in","z":"0f9191487668eb6c","name":"Hallway Front Door","topic":"shellies/switch_06/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":110,"y":1060,"wires":[["9c7f45f540056e3a"]]},{"id":"7d5414c5e2336612","type":"mqtt in","z":"0f9191487668eb6c","name":"Hallway Living Door","topic":"shellies/switch_07/input/0","qos":"1","datatype":"auto","broker":"7e44a51ed417f4ed","nl":false,"rap":true,"rh":0,"x":110,"y":1140,"wires":[["9c7f45f540056e3a"]]},{"id":"9c7f45f540056e3a","type":"rbe","z":"0f9191487668eb6c","name":"changes only","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":310,"y":1100,"wires":[["fa1c8087243a49cb"]]},{"id":"ba442d221aead8f7","type":"mqtt out","z":"0f9191487668eb6c","name":"Hallway Lights","topic":"shellies/gu10_03/color/0/command","qos":"1","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"7e44a51ed417f4ed","x":800,"y":1100,"wires":[]},{"id":"fa1c8087243a49cb","type":"change","z":"0f9191487668eb6c","name":"Toggle HallwayLights State","rules":[{"t":"set","p":"hallwayLights","pt":"flow","to":"(flow.hallwayLights = 'on' ? 'off' : 'on')","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"flow.hallwayLights","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":1100,"wires":[["ba442d221aead8f7","bccf795f675c8715"]]},{"id":"bccf795f675c8715","type":"debug","z":"0f9191487668eb6c","name":"the message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":790,"y":1160,"wires":[]},{"id":"7e44a51ed417f4ed","type":"mqtt-broker","name":"broker","broker":"10.1.10.11","port":"1883","clientid":"nodered","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"nodered","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]


Maar dat werkt dus niet, er gebeurt helemaal niks; volgens het debug window heeft de msg helemaal geen payload meer. Wat zie ik over het hoofd?
In JSONata moet je $flowContext('xx') gebruiken.
code:
1
2
3
(
   $flowContext('hallwayLights') = 'on' ? 'off' : 'on'
)


Dit gaat ook fout in je "set payload" gedeelte, al kun je daar ook direct "flow".hallwayLights aangeven (zoals eerder opgemerkt)
Afbeeldingslocatie: https://tweakers.net/i/dZA3Rxz6oTu0RiFxm2x2re2hpc4=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/1LY4llXey0JnekrvtSuaWytN.png?f=user_large

Acties:
  • 0 Henk 'm!

  • Woodski
  • Registratie: Maart 2006
  • Laatst online: 13:59
Ik kom er niet uit met bigtimer.. Wie kan me helpen.

Wat ik wil is de keuze tussen auto en off
Die keuze lukt maar "off" is "OFF temp override" en die gaat de volgende dag weer aan.
Ik wil dat off ook echt uit is.

Volgens mij heeft bigtimer geen volledig uit dus zoek ik iets die ik er achter zet.
Bijvoorbeeld een function die ik bedien met de off optie maar ik loop hier op stuk.

Afbeeldingslocatie: https://tweakers.net/i/3G6I_zCS8B6tROTYZt9zcjXF5_E=/800x/filters:strip_exif()/f/image/6KqreFCYkTIbmgxWmuWBLQo7.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • etienne001
  • Registratie: September 2005
  • Laatst online: 18-09 00:38
Gizz schreef op zondag 3 oktober 2021 @ 15:13:
[...]

@etienne001 Ik zie je vraag over het aansturen van de ventilatie en het pendelen nu pas, maar wellicht heb je wat aan mijn flow.

Hier wordt gekeken naar de CO2-waarde van 3 sensoren, een fijnstofsensor en de luchtvochtigheid in de badkamer. Alle waardes worden bewaard, vervolgens wordt gekeken wat de hoogste waarde is en op basis daarvan wordt mijn mechanische ventilatie aangestuurd.

[Afbeelding]

code:
1
[{"id":"aa4a2e4.2bdda5","type":"tab","label":"Ventilatie","disabled":false,"info":""},{"id":"94ec1d38.dfaf08","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 huiskamer","topic":"CO2_huiskamer/CO2/PPM","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","x":80,"y":100,"wires":[["f1f72bf8.de8248"]]},{"id":"d384eb24.c9325","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 kantoor","topic":"co2-kantoor/sensor/mh-z19_co2_value/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":70,"y":160,"wires":[["3427eef6.3d8a92"]]},{"id":"1bf8a2ff.9e107d","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 slaapkamer","topic":"co2-slaapkamer/sensor/mh-z19_co2_value/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":80,"y":220,"wires":[["6267266f.578af"]]},{"id":"f1f72bf8.de8248","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co21","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":100,"wires":[["5dc83540.8dec6c"]]},{"id":"3427eef6.3d8a92","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co22","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":160,"wires":[["5dc83540.8dec6c"]]},{"id":"5dc83540.8dec6c","type":"change","z":"aa4a2e4.2bdda5","name":"choose highest value","rules":[{"t":"set","p":"co2","pt":"msg","to":"$max([$flowContext(\"co21\"), $flowContext(\"co22\"), $flowContext(\"co23\"),  $flowContext(\"fijnstof\"), $flowContext(\"hum\")])\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":180,"wires":[["2e53a4e7.895e94"]]},{"id":"6267266f.578af","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co23","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":220,"wires":[["5dc83540.8dec6c"]]},{"id":"2e53a4e7.895e94","type":"range","z":"aa4a2e4.2bdda5","minin":"500","maxin":"1000","minout":"0","maxout":"1023","action":"clamp","round":true,"property":"co2","name":"","x":720,"y":180,"wires":[["68a6f2d5.03ef6c","f66a226a.569638"]]},{"id":"13ebf47f.756f74","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"Vochtigheid badkamer","topic":"zigbee2mqtt/Badkamer","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":100,"y":300,"wires":[["15ebdcd8.9d9b23"]]},{"id":"15ebdcd8.9d9b23","type":"switch","z":"aa4a2e4.2bdda5","name":"","property":"payload.humidity","propertyType":"msg","rules":[{"t":"gte","v":"70.00","vt":"num"},{"t":"lt","v":"70.00","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":310,"y":300,"wires":[["135c945e.f9b18c"],["852c1516.2ea978"]]},{"id":"135c945e.f9b18c","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"hum","pt":"flow","to":"2000","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":300,"wires":[["5dc83540.8dec6c"]]},{"id":"852c1516.2ea978","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"hum","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":360,"wires":[["5dc83540.8dec6c"]]},{"id":"3e4fc9d8.a39c96","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"Fijnstof 10ppm","topic":"fijnstofkeuken/sensor/particulate_matter_100m_concentration/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":80,"y":40,"wires":[["276db04c.74f9e"]]},{"id":"e11d67aa.17a9c8","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"fijnstof","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":40,"wires":[["5dc83540.8dec6c"]]},{"id":"276db04c.74f9e","type":"range","z":"aa4a2e4.2bdda5","minin":"10","maxin":"20","minout":"0","maxout":"1200","action":"clamp","round":true,"property":"payload","name":"","x":260,"y":40,"wires":[["e11d67aa.17a9c8"]]},{"id":"f66a226a.569638","type":"template","z":"aa4a2e4.2bdda5","name":"PWM command","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"PWM,14,{{co2}},0,1500","output":"str","x":920,"y":180,"wires":[["9cd629f6.c4ff18"]]},{"id":"9cd629f6.c4ff18","type":"mqtt out","z":"aa4a2e4.2bdda5","name":"","topic":"ESP_mechanischeventilatie/cmd","qos":"","retain":"","broker":"c9b2091b.ca27b8","x":1160,"y":180,"wires":[]},{"id":"68a6f2d5.03ef6c","type":"range","z":"aa4a2e4.2bdda5","minin":"0","maxin":"1023","minout":"0","maxout":"100","action":"scale","round":true,"property":"co2","name":"","x":740,"y":240,"wires":[["be7853dfe4393814"]]},{"id":"450207e2e16f19e9","type":"mqtt out","z":"aa4a2e4.2bdda5","name":"","topic":"ESP_mechanischeventilatie/percentage","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"c9b2091b.ca27b8","x":1040,"y":300,"wires":[]},{"id":"be7853dfe4393814","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"co2","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":300,"wires":[["450207e2e16f19e9"]]},{"id":"c9b2091b.ca27b8","type":"mqtt-broker","name":"","broker":"192.168.1.2","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


Omdat ik deze flow ooit begonnen ben met CO2-waardes zet ik de fijnstofwaarde en de luchtvochtigheid ook om naar een fake-CO2-waarde zodat alles 'eerlijk' met elkaar vergeleken kan worden.

De hoogste CO2-waarde wordt met een range node omgezet naar een waarde van 0-1023. Dit is omdat ik een 'PWM naar 0-10V'-bordje aanstuur voor het aansturen van de mechanische ventilatie. En bij PWM is 0 het laagst en 1023 het hoogst :) Het stukje met de range-node van 0-100 stuurt niks aan, dat zorgt er alleen voor dat ik in Home Assistant netjes te zien krijg op welk percentage snelheid de mechanische ventilatie wordt aangestuurd.
Thnxs! Hier kan ik zeker wel wat mee _/-\o_

Acties:
  • 0 Henk 'm!

  • H143
  • Registratie: Juli 2006
  • Laatst online: 12:20
afgelopen week heb ik een mail gekregen van mindergas dat mijn api is ingetrokken omdat ik tevaak mijn meterstanden naar mindergas upload
nu hoeft dit ook niet de hele dag door gebeuren maar alleen maar 'savonds om 23.59
is er een node die dit verzorgd en alleen een bericht op een specifieke tijd door kan geven?
een inject node is geen mogelijkheid omdat hij de gegeven via mqtt binnenhaalt

Acties:
  • 0 Henk 'm!
@H143 Welk systeem gebruik je voor het uitlezen van je meterstanden? Misschien ondersteund die een /get (of soortgelijks) om een push te forceren op een ander topic.

En anders wellicht met de timerange node? Waardoor het verkeer geblokkeerd wordt tenzij het 23:59 is?

Acties:
  • 0 Henk 'm!

  • H143
  • Registratie: Juli 2006
  • Laatst online: 12:20
nee helaas geen Get mogelijkheid de enige mogelijkheid om het uit te lezen is dmv mqtt

Acties:
  • 0 Henk 'm!
@H143 Korter kon het antwoord niet ofwel? Welk systeem gebruik je dan? DSMR heeft bijvoorbeeld ook een webapi die je kunt gebruiken om de stand uit te lezen, maar als je niet laat weten wat je gebruikt kun je ook niet geholpen worden.

De timerange node is ook gewoon nog steeds een prima optie overigens..

Acties:
  • 0 Henk 'm!

  • Sabbi
  • Registratie: December 2000
  • Laatst online: 16:38

Sabbi

je denkt aan mij.

H143 schreef op maandag 4 oktober 2021 @ 10:08:
afgelopen week heb ik een mail gekregen van mindergas dat mijn api is ingetrokken omdat ik tevaak mijn meterstanden naar mindergas upload
nu hoeft dit ook niet de hele dag door gebeuren maar alleen maar 'savonds om 23.59
is er een node die dit verzorgd en alleen een bericht op een specifieke tijd door kan geven?
een inject node is geen mogelijkheid omdat hij de gegeven via mqtt binnenhaalt
Je kan een Throttle node toevoegen in je flow, en die op Throttle by Time, 24 hours zetten. Zo doe ik het ook voor mindergas.nl

Daarna ook nog even een random delay tussen 0 en 30 minuten erin zetten, dan post je niet elke dag op hetzelfde tijdstip en ben je helemaal compliant met de regels van mindergas.

[ Voor 12% gewijzigd door Sabbi op 04-10-2021 10:51 ]


Acties:
  • 0 Henk 'm!

  • Woodski
  • Registratie: Maart 2006
  • Laatst online: 13:59
Woodski schreef op maandag 4 oktober 2021 @ 09:27:
Ik kom er niet uit met bigtimer.. Wie kan me helpen.

Wat ik wil is de keuze tussen auto en off
Die keuze lukt maar "off" is "OFF temp override" en die gaat de volgende dag weer aan.
Ik wil dat off ook echt uit is.

Volgens mij heeft bigtimer geen volledig uit dus zoek ik iets die ik er achter zet.
Bijvoorbeeld een function die ik bedien met de off optie maar ik loop hier op stuk.

[Afbeelding]
Of wat korter door de bocht vragen.
Ik heb een switch node met on/off die werkt
Hoe kan ik daar iets achter zetten om die on/off te overrulen en permanent off te doen

Afbeeldingslocatie: https://tweakers.net/i/3G6I_zCS8B6tROTYZt9zcjXF5_E=/800x/filters:strip_exif()/f/image/6KqreFCYkTIbmgxWmuWBLQo7.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 17:45
Woodski schreef op maandag 4 oktober 2021 @ 13:44:
[...]

Of wat korter door de bocht vragen.
Ik heb een switch node met on/off die werkt
Hoe kan ik daar iets achter zetten om die on/off te overrulen en permanent off te doen

[Afbeelding]
Input boolean maken in home assistant. Deze kan je dan schakelen in HA,(of via automations).

Deze zet je vervolgens in je flow met de check state node.

Acties:
  • 0 Henk 'm!

  • H143
  • Registratie: Juli 2006
  • Laatst online: 12:20
lolgast schreef op maandag 4 oktober 2021 @ 10:43:
@H143 Korter kon het antwoord niet ofwel? Welk systeem gebruik je dan? DSMR heeft bijvoorbeeld ook een webapi die je kunt gebruiken om de stand uit te lezen, maar als je niet laat weten wat je gebruikt kun je ook niet geholpen worden.

De timerange node is ook gewoon nog steeds een prima optie overigens..
Bedankt heb nu eerst eenntime range gebruikt ik maak gebruik van een modbus kwh meter en een kamstrup warmtemeter om mijn warmtepomp te monitoren vandaar dat ik geen get methode kan toepassen

Acties:
  • 0 Henk 'm!

  • Peet3kabo
  • Registratie: Augustus 2018
  • Laatst online: 17-09 19:33
Step5 schreef op zondag 3 oktober 2021 @ 20:02:
[...]

Die timer moet inderdaad ook een reset krijgen, anders loopt die door en kan een dus die "off" flow voortzetten terwijl dat allang niet meer moet.
Door msg.reset op true te sturen naar die timer wordt hij gereset.
voorbeeld:
[Afbeelding]
de change node:
[Afbeelding]
Nu geprobeerd met de door jou voorgestelde reset aan de timer, op het moment aan het testen en kom er op terug als ik gezien heb wat hij doet. Nu iig niet afgeschakeld op moment dat er even geen warmtevraag was.

Acties:
  • 0 Henk 'm!

  • Woodski
  • Registratie: Maart 2006
  • Laatst online: 13:59
denuz schreef op maandag 4 oktober 2021 @ 15:43:
[...]

Input boolean maken in home assistant. Deze kan je dan schakelen in HA,(of via automations).

Deze zet je vervolgens in je flow met de check state node.
Ik ben hier niet uit gekomen, maar...
Bigtimer heeft naast on/off/auto ook de input stop en die werkt voor me :)

Acties:
  • 0 Henk 'm!

  • pyotr
  • Registratie: Oktober 2000
  • Laatst online: 14-09 13:59
Dank voor alle hulp, ik heb nu de verlichting in de hal helemaal naar wens ingericht:

Afbeeldingslocatie: https://tweakers.net/i/S8BjlJl5CJUdb_hBPIRWqgyc-gQ=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/fZDLBFflsH6UsaGQNmGR7nO1.png?f=user_large

Normaalgesproken zorgt de bewegingsdetector dat er (indien nodig) licht is via een stel LEDs die in in de muur heb ingebouwd. 's Nachts worden deze niet geschakeld, wat dat is best wel veel licht, dan wordt één van de vier Shelly RGB LEDs aan het plafond gedimd rood aangezet. De twee wandschakelaars werken nu als hotelschakeling om alle vier de plafondlampen aan/uit te zetten.

Volgende projectje wordt een lichtsensor zoeken die naar MQTT kan posten, en kijken of er iets te verzinnen is om m'n telefoon als een soort aanwezigheidsmelder te laten fungeren. Of misschien hebben jullie andere truuks om de lampen uit te laten als het donker wordt maar je niet thuis bent?

Acties:
  • 0 Henk 'm!

  • Raider095
  • Registratie: November 2014
  • Laatst online: 02-11-2021
H143 schreef op maandag 4 oktober 2021 @ 18:40:
Bedankt heb nu eerst eenntime range gebruikt ik maak gebruik van een modbus kwh meter en een kamstrup warmtemeter om mijn warmtepomp te monitoren vandaar dat ik geen get methode kan toepassen
Of eventueel de delay node? Die kun je ook op "rate limit" zetten en vervolgens "Drop intermediate messages" aanvinken. Als ik jouw verhaal zo lees dan zou dit de lading moeten dekken?

Hmm, je wil vermoedelijk echt op het einde van de dag posten zeker? Om de hoeveel tijd krijg jij een meterstand binnen via MQTT? Je zou nog een combi kunnen doen van een timerange en een delay zoals boven beschreven. De timerange focust zich dan op het einde van de dag. Als je die range groot genoeg maakt zodat je zeker weet dat er minimaal 1 post is, dan kan die delay ervoor zorgen dat het beperkt blijft tot 1 post.

Als ik dit zelf zou moeten bouwen dan zou ik een functie schrijven, maar zonder coding zou je zoiets kunnen proberen? Vermoedelijk is het geen ramp dat je kort voor mindernacht een handvol posts doet, maar zelf zou ik, als meerdere posts geen verdere meerwaarde hebben, het dan ook willen beperken tot daadwerkelijk 1 post :)

Acties:
  • 0 Henk 'm!

  • Jesse-
  • Registratie: Oktober 2015
  • Laatst online: 11:47
pyotr schreef op maandag 4 oktober 2021 @ 19:24:
Volgende projectje wordt een lichtsensor zoeken die naar MQTT kan posten, en kijken of er iets te verzinnen is om m'n telefoon als een soort aanwezigheidsmelder te laten fungeren. Of misschien hebben jullie andere truuks om de lampen uit te laten als het donker wordt maar je niet thuis bent?
Kan je niet checken of je telefoon verbonden is met je WiFi netwerk voor aanwezigheidsdetectie?

Acties:
  • 0 Henk 'm!

  • d-vine
  • Registratie: Augustus 2006
  • Laatst online: 18:07
pyotr schreef op maandag 4 oktober 2021 @ 19:24:

Volgende projectje wordt een lichtsensor zoeken die naar MQTT kan posten, en kijken of er iets te verzinnen is om m'n telefoon als een soort aanwezigheidsmelder te laten fungeren. Of misschien hebben jullie andere truuks om de lampen uit te laten als het donker wordt maar je niet thuis bent?
Ik heb het als volgt nu gedaan
Ben nog bezig met de laatste migratie fase van mijn Fibaro scene's naar HA node-red maar als wij niet thuis zijn wordt de motion sensor niet getriggerd en gaan de lampen ook niet aan.

Heb nu aardig mijn smart light scene van fibaro in node red zitten.

Alleen als er beweging is en de Lux waarde is onder een X waarde gaan de lichten aan op een ingestelde sterkte afhankelijk van een tijd van de dag (ochtend/ dag avond nacht) met een timer om ze weer automatisch uit te laten gaan
Is het te licht in de kamer gaan de lichten niet aan, of als de lichten aan zijn en het wordt te licht in de kamer dan gaan de lichten uit.
Ik kan altijd een override maken door handmatig mijn schakelaar te bedienen.
De timer wordt overruled door een wallplug power meting als deze boven een waarde is ( als we TV kijken bv.)
en gaat weer lopen als deze eronder komt.

Wij hebben via onze UniFi koppeling de telefoons als trackers die dan als we beide Away zijn de input select van presence state ook op Away zet en als we langer weg zijn op Holiday.
Je kan met dit en de andere geconfigureerde input selects natuurlijk je nodige wensen in vervulling laten gaan.
Bij ons gaat de deur ook automatisch op slot mochten we dat zijn vergeten.

Ik moet nog iets maken dat bij Away status alles voor de zekerheid uit wordt gezet. volgens mij kun je in HA ook lichten in groups zetten waardoor je alles in een keer kan schakelen.
Maar aangezien mijn smart lights goed werken gaan ze altijd wel uit als we er niet zijn.

Ik wil juist bij Away mode een presence simulation mode maken die loopt in de avond als we weg zijn maar ook met een bepaalde bedtijd weer uit gaat.

Acties:
  • 0 Henk 'm!

  • etienne001
  • Registratie: September 2005
  • Laatst online: 18-09 00:38
Gizz schreef op zondag 3 oktober 2021 @ 15:13:
[...]

@etienne001 Ik zie je vraag over het aansturen van de ventilatie en het pendelen nu pas, maar wellicht heb je wat aan mijn flow.

Hier wordt gekeken naar de CO2-waarde van 3 sensoren, een fijnstofsensor en de luchtvochtigheid in de badkamer. Alle waardes worden bewaard, vervolgens wordt gekeken wat de hoogste waarde is en op basis daarvan wordt mijn mechanische ventilatie aangestuurd.

[Afbeelding]

code:
1
[{"id":"aa4a2e4.2bdda5","type":"tab","label":"Ventilatie","disabled":false,"info":""},{"id":"94ec1d38.dfaf08","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 huiskamer","topic":"CO2_huiskamer/CO2/PPM","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","x":80,"y":100,"wires":[["f1f72bf8.de8248"]]},{"id":"d384eb24.c9325","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 kantoor","topic":"co2-kantoor/sensor/mh-z19_co2_value/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":70,"y":160,"wires":[["3427eef6.3d8a92"]]},{"id":"1bf8a2ff.9e107d","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"CO2 slaapkamer","topic":"co2-slaapkamer/sensor/mh-z19_co2_value/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":80,"y":220,"wires":[["6267266f.578af"]]},{"id":"f1f72bf8.de8248","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co21","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":100,"wires":[["5dc83540.8dec6c"]]},{"id":"3427eef6.3d8a92","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co22","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":160,"wires":[["5dc83540.8dec6c"]]},{"id":"5dc83540.8dec6c","type":"change","z":"aa4a2e4.2bdda5","name":"choose highest value","rules":[{"t":"set","p":"co2","pt":"msg","to":"$max([$flowContext(\"co21\"), $flowContext(\"co22\"), $flowContext(\"co23\"),  $flowContext(\"fijnstof\"), $flowContext(\"hum\")])\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":180,"wires":[["2e53a4e7.895e94"]]},{"id":"6267266f.578af","type":"change","z":"aa4a2e4.2bdda5","name":"store","rules":[{"t":"set","p":"co23","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":220,"wires":[["5dc83540.8dec6c"]]},{"id":"2e53a4e7.895e94","type":"range","z":"aa4a2e4.2bdda5","minin":"500","maxin":"1000","minout":"0","maxout":"1023","action":"clamp","round":true,"property":"co2","name":"","x":720,"y":180,"wires":[["68a6f2d5.03ef6c","f66a226a.569638"]]},{"id":"13ebf47f.756f74","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"Vochtigheid badkamer","topic":"zigbee2mqtt/Badkamer","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":100,"y":300,"wires":[["15ebdcd8.9d9b23"]]},{"id":"15ebdcd8.9d9b23","type":"switch","z":"aa4a2e4.2bdda5","name":"","property":"payload.humidity","propertyType":"msg","rules":[{"t":"gte","v":"70.00","vt":"num"},{"t":"lt","v":"70.00","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":310,"y":300,"wires":[["135c945e.f9b18c"],["852c1516.2ea978"]]},{"id":"135c945e.f9b18c","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"hum","pt":"flow","to":"2000","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":300,"wires":[["5dc83540.8dec6c"]]},{"id":"852c1516.2ea978","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"hum","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":360,"wires":[["5dc83540.8dec6c"]]},{"id":"3e4fc9d8.a39c96","type":"mqtt in","z":"aa4a2e4.2bdda5","name":"Fijnstof 10ppm","topic":"fijnstofkeuken/sensor/particulate_matter_100m_concentration/state","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","nl":false,"rap":false,"x":80,"y":40,"wires":[["276db04c.74f9e"]]},{"id":"e11d67aa.17a9c8","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"fijnstof","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":40,"wires":[["5dc83540.8dec6c"]]},{"id":"276db04c.74f9e","type":"range","z":"aa4a2e4.2bdda5","minin":"10","maxin":"20","minout":"0","maxout":"1200","action":"clamp","round":true,"property":"payload","name":"","x":260,"y":40,"wires":[["e11d67aa.17a9c8"]]},{"id":"f66a226a.569638","type":"template","z":"aa4a2e4.2bdda5","name":"PWM command","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"PWM,14,{{co2}},0,1500","output":"str","x":920,"y":180,"wires":[["9cd629f6.c4ff18"]]},{"id":"9cd629f6.c4ff18","type":"mqtt out","z":"aa4a2e4.2bdda5","name":"","topic":"ESP_mechanischeventilatie/cmd","qos":"","retain":"","broker":"c9b2091b.ca27b8","x":1160,"y":180,"wires":[]},{"id":"68a6f2d5.03ef6c","type":"range","z":"aa4a2e4.2bdda5","minin":"0","maxin":"1023","minout":"0","maxout":"100","action":"scale","round":true,"property":"co2","name":"","x":740,"y":240,"wires":[["be7853dfe4393814"]]},{"id":"450207e2e16f19e9","type":"mqtt out","z":"aa4a2e4.2bdda5","name":"","topic":"ESP_mechanischeventilatie/percentage","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"c9b2091b.ca27b8","x":1040,"y":300,"wires":[]},{"id":"be7853dfe4393814","type":"change","z":"aa4a2e4.2bdda5","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"co2","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":300,"wires":[["450207e2e16f19e9"]]},{"id":"c9b2091b.ca27b8","type":"mqtt-broker","name":"","broker":"192.168.1.2","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


Omdat ik deze flow ooit begonnen ben met CO2-waardes zet ik de fijnstofwaarde en de luchtvochtigheid ook om naar een fake-CO2-waarde zodat alles 'eerlijk' met elkaar vergeleken kan worden.

De hoogste CO2-waarde wordt met een range node omgezet naar een waarde van 0-1023. Dit is omdat ik een 'PWM naar 0-10V'-bordje aanstuur voor het aansturen van de mechanische ventilatie. En bij PWM is 0 het laagst en 1023 het hoogst :) Het stukje met de range-node van 0-100 stuurt niks aan, dat zorgt er alleen voor dat ik in Home Assistant netjes te zien krijg op welk percentage snelheid de mechanische ventilatie wordt aangestuurd.
Ik heb gisteravond eens zitten spelen met jouw opzet.
Ik ben bang dat ik inderdaad zonder PWM controller dit niet ga redden.
Wat er bij mij gebeurd is eigenlijk dat het systeem gaat pendelen. Oké waarde CO2 is te hoog dus ventilatie aan. Dan is er weer een input van de HUM sensor en dan gaat de ventilatie weer uit :X
En dat terwijl CO2 nog te hoog is.

Ik snap de opzet van hoogste waarde, maar ik als leek denk dan dat jouw PWM controller uitmaakt wat er gebeurd met welke waarde of heb ik het nou fout?
Ik moet het zou het zo willen hebben dat Node-RED zegt oké CO2 te hoog maar HUM niet ventilatie aan; HUM te hoog en CO2 laag, ventilatie aan; beide hoog ventilatie aan; beide laag ventilatie uit.
Als ik dan speel met die waardes in de range controller dan lijkt dit niet te werken.
Pagina: 1 ... 21 ... 32 Laatste