Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

  • schumi2004
  • Registratie: februari 2004
  • Laatst online: 23-02 12:52

schumi2004

PSN = whocarez-

Wellicht een domme vraag maar kan ik een event id omzetten naar leesbare tekst en deze in toekomstige flows hergebruiken?

Ik zou graag de event id's van een smart switch (deconz_event) omzetten naar begrijpbare tekst dus:
1002 single
1004 double
enz

en dat ik dus in vervolg flows single, double etc kan gebruiken, kan zoiets?

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
schumi2004 schreef op dinsdag 19 november 2019 @ 22:45:
Wellicht een domme vraag maar kan ik een event id omzetten naar leesbare tekst en deze in toekomstige flows hergebruiken?

Ik zou graag de event id's van een smart switch (deconz_event) omzetten naar begrijpbare tekst dus:
1002 single
1004 double
enz

en dat ik dus in vervolg flows single, double etc kan gebruiken, kan zoiets?
Je zou een change node ertussen kunnen zetten die de waarde aanpast, of op een andere plek de gewenste waarde opslaat. Eventueel nog met een switch-node ervoor (bijv: switch node: indien msg.payload.iets contains single, dan naar een change node die msg.payload.iets(anders) op single set) etc.

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
Zoals iedereen waarschijnlijk weet kan je in NR de status van een apparaat e.d. in HA opvragen (current_state node). Ik wilde echter weten sinds hoe lang dat apparaat die status al heeft om daar wat mee te kunnen doen.
Heb daar een subflow geschreven, misschien ook nuttig voor jullie:

code:
1
[{"id":"a5d7f7b9.2588e8","type":"subflow","name":"Sinds hoelang?","info":"","category":"","in":[{"x":30,"y":80,"wires":[{"id":"27662b2f.aef864"}]}],"out":[{"x":550,"y":80,"wires":[{"id":"660457a.1587928","port":0}]}],"env":[],"color":"#DDAA99"},{"id":"27662b2f.aef864","type":"change","z":"a5d7f7b9.2588e8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.last_changed","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":200,"y":80,"wires":[["660457a.1587928"]]},{"id":"660457a.1587928","type":"function","z":"a5d7f7b9.2588e8","name":"Berekenen","func":"newmsg = {};\nvar d = new Date(msg.payload);\nvar status_sinds_seconden = Math.round((Date.now() - d.getTime()) / 1000);\n//node.warn(status_sinds_seconden);\nnewmsg.payload = status_sinds_seconden;\nreturn newmsg;","outputs":1,"noerr":0,"x":410,"y":80,"wires":[[]]},{"id":"868235f6.dcddf8","type":"subflow:a5d7f7b9.2588e8","z":"91bbb88f.f536a","name":"Sinds hoe lang?","env":[],"x":710,"y":290,"wires":[["ccc795f6.88e1c8"]]}]


Wat hij doet is de waarde in msg.payload zetten. Bijv. als volgt te gebruiken, in de debug window staat dat er sinds 20822 seconden iemand thuis is (oftewel een kleine 6 uur):
https://tweakers.net/ext/f/q8sbt7LKONOYWAjlexOzMGrQ/thumb.png

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
Vraag vanuit het HA topic:
stefve1 schreef op zaterdag 23 november 2019 @ 13:47:
Ik wil graag een Telegram bericht versturen vanuit nodered, met daarin de state van twee entities.
Van één entity is dit voor mij geen probleem, omdat ik dan gewoon de msg.payload gebruik.
Maar voor twee states moet ik dit denk ik in een 'function' plaatsen?
Wat je kan doen is de status van de 1e entiteit bij HA opvragen en er daarna een change node achter zetten die het volgende doet: set msg.apparaat1 to msg.payload. Daarna vraag je de status van de 2e entiteit op bij HA, die komt in de msg.payload.

Daarna kan je via een template node er een mooie tekst van maken, bijv:

code:
1
[{"id":"97b26d83.8284e","type":"template","z":"8b3e721f.b2ca78","name":"Bericht maken","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Apparaat 1 is {{apparaat1}} en apparaat 2 is {{payload}}","output":"str","x":1140,"y":2590,"wires":[[]]}]


Overigens laat ik mijn Telegram-berichten niet door HA sturen, maar zelf door NR via module node-red-contrib-telegrambot-home. Dit geeft me ook de mogelijkheid om te weten te komen dat HA on/offline gegaan is (hier had ik in het verleden problemen mee).

  • stefve1
  • Registratie: januari 2010
  • Laatst online: 23-02 11:01
DeadMetal schreef op zondag 24 november 2019 @ 08:21:
Vraag vanuit het HA topic:

[...]


Wat je kan doen is de status van de 1e entiteit bij HA opvragen en er daarna een change node achter zetten die het volgende doet: set msg.apparaat1 to msg.payload. Daarna vraag je de status van de 2e entiteit op bij HA, die komt in de msg.payload.

Daarna kan je via een template node er een mooie tekst van maken, bijv:

code:
1
[{"id":"97b26d83.8284e","type":"template","z":"8b3e721f.b2ca78","name":"Bericht maken","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Apparaat 1 is {{apparaat1}} en apparaat 2 is {{payload}}","output":"str","x":1140,"y":2590,"wires":[[]]}]


Overigens laat ik mijn Telegram-berichten niet door HA sturen, maar zelf door NR via module node-red-contrib-telegrambot-home. Dit geeft me ook de mogelijkheid om te weten te komen dat HA on/offline gegaan is (hier had ik in het verleden problemen mee).
Heel hard bedankt voor de duidelijke uitleg!!!

  • Robje1244
  • Registratie: augustus 2009
  • Laatst online: 22-02 20:46
Ik ben bezig met het automatiseren van mijn verlichting etc via node red.

Ik heb een aantal groepen gemaakt met hue en deze schakel ik nu via een draadloze wand schakelaar. Nu wil ik bepaalde groepen aan of uit zetten op basis van waar we zijn en hoe donker het is. Dit werkt nu goed.

Echter als ik nu de lampen uit zet met de schakelaar springen de lampen na 2 minuten weer aan omdat hij ziet dat we thuis zijn. Is het mogelijk om het signaal van de schakelaar te gebruiken zodat hij snapt dat als ik de lampen handmatig uit doe deze ook uit moeten blijven? Of hoe is dit het makkelijkste te maken?

  • Tsurany
  • Registratie: juni 2006
  • Niet online
@Robje1244 je kan een variabele gebruiken als gate. Zet deze nadat de knop is gebruikt en leeg hem weer na X uur of na een vast tijdstip.

  • Robje1244
  • Registratie: augustus 2009
  • Laatst online: 22-02 20:46
Tsurany schreef op zondag 24 november 2019 @ 17:39:
@Robje1244 je kan een variabele gebruiken als gate. Zet deze nadat de knop is gebruikt en leeg hem weer na X uur of na een vast tijdstip.
Aan zoiets zat ik indd ook te denken. Echter komt het signaal van de schakelaars niet binnen in Home Assistant. Dit is zo'n standaard Hue schakelaar. Ik kan dus geen gate maken op basis van dit signaal. Of moet je die normaal wel kunnen zien?

Ik heb nu ingesteld dat de lampen minimaal 8 uur uit moeten zijn geweest voordat hij ze weer aan mag doen. Even afwachten of dit in de praktijk goed werkt.

  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
Je zou nog even kunnen dubbelchecken of HA echt niks van de afstandsbediening registreert. Misschien is de afstandsbediening dan wel geen entiteit/apparaat, maar wordt het indrukken van de knoppen wel geregistreerd (events) en doorgegeven aan HA.

Pak daarvoor de server events node en hang die aan een debug node. Dan kan je kijken of er wat verschijnt in de debug pane op de momenten dat je knoppen indrukt.

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Wie weet wat ik hier fout doe?
Als er niemand thuis is & de tijd is tussen 9:30-10:00 & als de huidige status van de stofzuiger gedockt is,dan moet hij de zone onder de eet tafel stofzuigen.

Met een Inject node werkt het, maar niet automatisch, Afgelopen nacht waren we een nachtje weg, dan gebeurt er tussen 9:30-10:00 helemaal niks..

Nu zie je onder de "Iemand aanwezig?" node te staan 27 nov 16:07, maar gisteren als we vertrekken staat er dus not_home 26 nov xx:xx, zal het daar fout gaan? Want op het moment dat de status not_home word, is het niet tussen 09:30-10:00..dan gaat het zuig feest niet door.




code:
1
[{"id":"5305ec00.bae284","type":"change","z":"41fe5df1.db00a4","name":"Onder tafel","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"command\":\"zoned_cleanup\",\"zone_ids\":[\"Onder de tafel\"]}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":855.0000610351562,"y":504.00004291534424,"wires":[["f4ae3cb5.de3a4"]]},{"id":"f4ae3cb5.de3a4","type":"mqtt out","z":"41fe5df1.db00a4","name":"","topic":"valetudo/rockrobo/custom_command","qos":"0","retain":"","broker":"e1d6f880.b26ee8","x":1011.0000228881836,"y":570.0000286102295,"wires":[]},{"id":"15c53732.7504a9","type":"api-current-state","z":"41fe5df1.db00a4","name":"Als stoffie docked is..","server":"1997c54b.5ff4fb","version":1,"outputs":2,"halt_if":"docked","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"vacuum.rockrobo","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":627.6001129150391,"y":502.0000534057617,"wires":[["5305ec00.bae284"],[]]},{"id":"fe7a1867.23e898","type":"time-range-switch","z":"41fe5df1.db00a4","name":"Timerange 09:30 - 10:00","lat":"","lon":"","startTime":"09:30","endTime":"10:00","startOffset":0,"endOffset":0,"x":378.0000991821289,"y":516.3638677597046,"wires":[["15c53732.7504a9"],[]]},{"id":"8a360ff4.04ea8","type":"server-state-changed","z":"41fe5df1.db00a4","name":"Iemand aanwezig?","server":"1997c54b.5ff4fb","version":1,"entityidfilter":"group.aanwezigheid","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":137.3636474609375,"y":524.0909633636475,"wires":[[],["fe7a1867.23e898"]]},{"id":"e1d6f880.b26ee8","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.76","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true}]

Dacuuu wijzigde deze reactie 27-11-2019 19:00 (5%)

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Robje1244
  • Registratie: augustus 2009
  • Laatst online: 22-02 20:46
Dacuuu schreef op woensdag 27 november 2019 @ 18:57:
Wie weet wat ik hier fout doe?
Als er niemand thuis is & de tijd is tussen 9:30-10:00 & als de huidige status van de stofzuiger gedockt is,dan moet hij de zone onder de eet tafel stofzuigen.

Met een Inject node werkt het, maar niet automatisch, Afgelopen nacht waren we een nachtje weg, dan gebeurt er tussen 9:30-10:00 helemaal niks..

Nu zie je onder de "Iemand aanwezig?" node te staan 27 nov 16:07, maar gisteren als we vertrekken staat er dus not_home 26 nov xx:xx, zal het daar fout gaan? Want op het moment dat de status not_home word, is het niet tussen 09:30-10:00..dan gaat het zuig feest niet door.

[Afbeelding]


code:
1
[{"id":"5305ec00.bae284","type":"change","z":"41fe5df1.db00a4","name":"Onder tafel","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"command\":\"zoned_cleanup\",\"zone_ids\":[\"Onder de tafel\"]}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":855.0000610351562,"y":504.00004291534424,"wires":[["f4ae3cb5.de3a4"]]},{"id":"f4ae3cb5.de3a4","type":"mqtt out","z":"41fe5df1.db00a4","name":"","topic":"valetudo/rockrobo/custom_command","qos":"0","retain":"","broker":"e1d6f880.b26ee8","x":1011.0000228881836,"y":570.0000286102295,"wires":[]},{"id":"15c53732.7504a9","type":"api-current-state","z":"41fe5df1.db00a4","name":"Als stoffie docked is..","server":"1997c54b.5ff4fb","version":1,"outputs":2,"halt_if":"docked","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"vacuum.rockrobo","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":627.6001129150391,"y":502.0000534057617,"wires":[["5305ec00.bae284"],[]]},{"id":"fe7a1867.23e898","type":"time-range-switch","z":"41fe5df1.db00a4","name":"Timerange 09:30 - 10:00","lat":"","lon":"","startTime":"09:30","endTime":"10:00","startOffset":0,"endOffset":0,"x":378.0000991821289,"y":516.3638677597046,"wires":[["15c53732.7504a9"],[]]},{"id":"8a360ff4.04ea8","type":"server-state-changed","z":"41fe5df1.db00a4","name":"Iemand aanwezig?","server":"1997c54b.5ff4fb","version":1,"entityidfilter":"group.aanwezigheid","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":137.3636474609375,"y":524.0909633636475,"wires":[[],["fe7a1867.23e898"]]},{"id":"e1d6f880.b26ee8","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.76","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true}]

Volgens mij veranderd de status van een event state alleen op het moment dat je weg bent. Daarna niet meer. Als je de node poll state gebruikt kun je de interval instellen, bijvoorbeeld om de 5 minuten. Je moet alleen nog een timer inbouwen zodat hij niet direct weer start als hij week docked. Eventueel kun je ook de tijd waarin hij mag beginne korter zetten.

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Robje1244 schreef op woensdag 27 november 2019 @ 20:01:
[...]


Volgens mij veranderd de status van een event state alleen op het moment dat je weg bent. Daarna niet meer. Als je de node poll state gebruikt kun je de interval instellen, bijvoorbeeld om de 5 minuten. Je moet alleen nog een timer inbouwen zodat hij niet direct weer start als hij week docked. Eventueel kun je ook de tijd waarin hij mag beginne korter zetten.
Vandaag probeer ik het met een extra globale variable, die dan elke nacht reset, zodat de stofzuiger maar 1x loopt.

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Jurgen
  • Registratie: september 2003
  • Laatst online: 23-02 05:24
Dacuuu schreef op woensdag 27 november 2019 @ 18:57:
Wie weet wat ik hier fout doe?
Als er niemand thuis is & de tijd is tussen 9:30-10:00 & als de huidige status van de stofzuiger gedockt is,dan moet hij de zone onder de eet tafel stofzuigen.

Met een Inject node werkt het, maar niet automatisch, Afgelopen nacht waren we een nachtje weg, dan gebeurt er tussen 9:30-10:00 helemaal niks..

Nu zie je onder de "Iemand aanwezig?" node te staan 27 nov 16:07, maar gisteren als we vertrekken staat er dus not_home 26 nov xx:xx, zal het daar fout gaan? Want op het moment dat de status not_home word, is het niet tussen 09:30-10:00..dan gaat het zuig feest niet door.

[Afbeelding]


code:
1
[{"id":"5305ec00.bae284","type":"change","z":"41fe5df1.db00a4","name":"Onder tafel","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"command\":\"zoned_cleanup\",\"zone_ids\":[\"Onder de tafel\"]}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":855.0000610351562,"y":504.00004291534424,"wires":[["f4ae3cb5.de3a4"]]},{"id":"f4ae3cb5.de3a4","type":"mqtt out","z":"41fe5df1.db00a4","name":"","topic":"valetudo/rockrobo/custom_command","qos":"0","retain":"","broker":"e1d6f880.b26ee8","x":1011.0000228881836,"y":570.0000286102295,"wires":[]},{"id":"15c53732.7504a9","type":"api-current-state","z":"41fe5df1.db00a4","name":"Als stoffie docked is..","server":"1997c54b.5ff4fb","version":1,"outputs":2,"halt_if":"docked","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"vacuum.rockrobo","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":627.6001129150391,"y":502.0000534057617,"wires":[["5305ec00.bae284"],[]]},{"id":"fe7a1867.23e898","type":"time-range-switch","z":"41fe5df1.db00a4","name":"Timerange 09:30 - 10:00","lat":"","lon":"","startTime":"09:30","endTime":"10:00","startOffset":0,"endOffset":0,"x":378.0000991821289,"y":516.3638677597046,"wires":[["15c53732.7504a9"],[]]},{"id":"8a360ff4.04ea8","type":"server-state-changed","z":"41fe5df1.db00a4","name":"Iemand aanwezig?","server":"1997c54b.5ff4fb","version":1,"entityidfilter":"group.aanwezigheid","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"home","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":137.3636474609375,"y":524.0909633636475,"wires":[[],["fe7a1867.23e898"]]},{"id":"e1d6f880.b26ee8","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.76","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true}]

Ik los dit op door een inject node elk half uur tussen 9-17 te triggerren, met daarachter een voorwaarde of 'is stoffie al geweest' en 'iemand thuis'.

Zoals gezegd wordt jouw automation alleen getriggerd als de status van 'iemand thuis' veranderd. Dit gebeurt dus buiten de genoemde tijden.

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 21:26

ThinkPad

Moderator Duurzame Energie & Domotica

"Stroom-overschot-affakkelaar"

Ik heb zonnepanelen en wek meer op dan ik verbruik. Hierdoor heb ik jaarlijks ~800 kWh overschot. Ik heb een elektrisch kacheltje neergezet om dit 'af te fakkelen'. Deze gaat aan één uur voordat het klokprogramma van de CV-ketel begint, om zo de CV-ketel mee te helpen en mijn gasverbruik te drukken. Node-RED schakelt via de schedex timer de kachel aan (hangt aan een Sonoff) voordat we beneden komen/voordat we thuiskomen (het is een ventilatorkachel dus die maakt wat herrie en zet ik daarom liever niet aan als we er zijn). Dit werkt prima, maar is niet heel veel meer dan een tijdschakelaar natuurlijk.

Heb het nu uitgebreid dat Node-RED de meterstanden van slimme meter opvraagt (via YouLess LS120 die aan P1-poort hangt) en dan zelf berekent wat ik nog aan overschot heb (ik heb hem de meterstanden van begin energiecontract gegeven zodat hij dit kan doen). Afhankelijk daarvan zet hij de kachel wel/niet aan zodat ik nooit buiten m'n overschot kan gaan gebruiken.

Is natuurlijk niet helemaal 100% accuraat, want m'n huishouden gebruikt natuurlijk ook stroom wat van het overschot afsnoept als er een paar dagen weinig opwek is. Het is dus meer een safeguard zodat de kachel niet onnodig stroom staat te verstoken, wat mij dan juist éxtra geld zou kosten :z




JSON:
1
[{"id":"5d3fc8dc.c7c078","type":"schedex","z":"c2c401d7.9a123","name":"mon-thu 5:20-6:20","suspended":false,"lat":"52.9940410","lon":"6.5140600","ontime":"5:20","ontopic":"","onpayload":"1","onoffset":0,"onrandomoffset":0,"offtime":"6:20","offtopic":"","offpayload":"0","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":false,"sat":false,"sun":false,"x":250,"y":120,"wires":[["3bcd9b54.e32e34"]]},{"id":"12dda4b1.9a721b","type":"http request","z":"c2c401d7.9a123","name":"Send 'on' to heater","method":"GET","ret":"obj","url":"http://192.168.6.33/cm?cmnd=Power1%20On","tls":"","x":1250,"y":60,"wires":[[]]},{"id":"3bcd9b54.e32e34","type":"switch","z":"c2c401d7.9a123","name":"On/off?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":520,"y":220,"wires":[["f7139ce2.8cdd7"],["9aaabf86.b30d4"]]},{"id":"9aaabf86.b30d4","type":"http request","z":"c2c401d7.9a123","name":"Send 'off' to heater","method":"GET","ret":"obj","url":"http://192.168.6.33/cm?cmnd=Power1%20Off","tls":"","x":690,"y":260,"wires":[[]]},{"id":"5e3dd5f5.1cfd5c","type":"schedex","z":"c2c401d7.9a123","name":"mon-thu 14:45-16:30","suspended":false,"lat":"52.9940410","lon":"6.5140600","ontime":"14:45","ontopic":"","onpayload":"1","onoffset":0,"onrandomoffset":0,"offtime":"16:30","offtopic":"","offpayload":"0","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":false,"sat":false,"sun":false,"x":260,"y":240,"wires":[["3bcd9b54.e32e34"]]},{"id":"cd5ee6b8.879d48","type":"schedex","z":"c2c401d7.9a123","name":"fri 6:20 - 7:20","suspended":false,"lat":"52.9940410","lon":"6.5140600","ontime":"6:20","ontopic":"","onpayload":"1","onoffset":0,"onrandomoffset":0,"offtime":"7:20","offtopic":"","offpayload":"0","offoffset":0,"offrandomoffset":0,"mon":false,"tue":false,"wed":false,"thu":false,"fri":true,"sat":false,"sun":false,"x":230,"y":300,"wires":[["3bcd9b54.e32e34"]]},{"id":"ddfe222f.fda43","type":"schedex","z":"c2c401d7.9a123","name":"sa-su 7:00 - 8:20","suspended":false,"lat":"52.9940410","lon":"6.5140600","ontime":"7:00","ontopic":"","onpayload":"1","onoffset":0,"onrandomoffset":0,"offtime":"8:20","offtopic":"","offpayload":"0","offoffset":0,"offrandomoffset":0,"mon":false,"tue":false,"wed":false,"thu":false,"fri":false,"sat":true,"sun":true,"x":250,"y":360,"wires":[["3bcd9b54.e32e34"]]},{"id":"f7139ce2.8cdd7","type":"http request","z":"c2c401d7.9a123","name":"Sonoff POW kachel","method":"GET","ret":"obj","url":"http://192.168.6.33/cm?cmnd=status%208","tls":"","x":690,"y":160,"wires":[["8bd6e834.f77ec8"]]},{"id":"660071ea.5819a","type":"inject","z":"c2c401d7.9a123","name":"'1'","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":310,"y":20,"wires":[["3bcd9b54.e32e34"]]},{"id":"ef7e30c.5d70bd","type":"inject","z":"c2c401d7.9a123","name":"'0'","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":310,"y":60,"wires":[["3bcd9b54.e32e34"]]},{"id":"74eef02.5885c1","type":"schedex","z":"c2c401d7.9a123","name":"mon-thu 7:05-7:30","suspended":false,"lat":"52.9940410","lon":"6.5140600","ontime":"7:05","ontopic":"","onpayload":"1","onoffset":0,"onrandomoffset":0,"offtime":"7:30","offtopic":"","offpayload":"0","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":false,"sat":false,"sun":false,"x":250,"y":180,"wires":[["3bcd9b54.e32e34"]]},{"id":"8bd6e834.f77ec8","type":"http request","z":"c2c401d7.9a123","name":"LS120 /e","method":"GET","ret":"obj","url":"http://192.168.6.28/e","tls":"","x":880,"y":160,"wires":[["cbcd76a2.4e5838"]]},{"id":"cbcd76a2.4e5838","type":"function","z":"c2c401d7.9a123","name":"Calculate overschot","func":"var p1start = 1407.477; // \"Import laagtarief\" op 1-11-2018\nvar p2start = 1013.068; // \"Import hoogtarief\" op 1-11-2018\n\nvar n1start = 1132.201; // \"Export laagtarief\" op 1-11-2018\nvar n2start = 2782.018; // \"Export hoogtarief\" op 1-11-2018\n\nvar p1verschil = msg.payload[0].p1 - p1start;\nvar p2verschil = msg.payload[0].p2 - p2start;\nvar n1verschil = msg.payload[0].n1 - n1start;\nvar n2verschil = msg.payload[0].n2 - n2start;\n\nvar p1import = p1verschil + p2verschil;\nvar p1export = n1verschil + n2verschil;\n\n//var overschot = p1export - p1import;\n\nif (p1export - p1import > 10) {\n\toverschot = Number(p1export - p1import)\n} else { var overschot = 0}\n\nmsg.payload = {\n    //p1verschil,\n    //p2verschil,\n    //n1verschil,\n    //n2verschil,\n    //p1import,\n    //p1export,\n    overschot\n};\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1050,"y":160,"wires":[["b43b0946.ebff28"]]},{"id":"b43b0946.ebff28","type":"switch","z":"c2c401d7.9a123","name":"","property":"payload.overschot","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"num"},{"t":"eq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":1210,"y":160,"wires":[["12dda4b1.9a721b"],[]]}]

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 22-02 01:05
Inkoppertje waarschijnlijk, maar ik kom er niet uit.

Ik stuur via Node-Red wat data door vanuit OTGW naar MQTT en Influxdb.

Hiervoor ik gespecificeerd:
- msg.payload
- msg.topic (bijv. /home/otgw/returntemp
- msg.measurement

Maar in influxdb krijgen de metingen geen naam. Nog concreter, als ik e.a. in Grafana wil weer geven, dan kan ik achter de WHERE clause in het query-statement niet aangeven welke meting ik wil selecteren..

Moet ik nog een msg deel specificeren in Node_red oid?

MrBarBarian wijzigde deze reactie 01-12-2019 22:42 (176%)

iRacing Profiel


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
ThinkPad schreef op zondag 1 december 2019 @ 10:42:

"Stroom-overschot-affakkelaar"

Ik heb zonnepanelen en wek meer op dan ik verbruik. Hierdoor heb ik jaarlijks ~800 kWh overschot. Ik heb een elektrisch kacheltje neergezet om dit 'af te fakkelen'.
Leuk bedacht. Combineer je het nog met een temperatuursensor in huis / maand van het jaar / weersverwachting? Je wil m.i. niet gaan verwarmen als het buiten 30 graden gaat worden ;)

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 21:26

ThinkPad

Moderator Duurzame Energie & Domotica
DeadMetal schreef op maandag 2 december 2019 @ 12:30:
[...]


Leuk bedacht. Combineer je het nog met een temperatuursensor in huis / maand van het jaar / weersverwachting? Je wil m.i. niet gaan verwarmen als het buiten 30 graden gaat worden ;)
offtopic:
Niet nodig, de ventilatorkachel heeft zelf een thermostaat ingebouwd :)

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

Kan je een Philips Hue lamp in een color loop programmeren via Node-red?

In de Hue app kan je wel via Labs een en ander maken, maar ik wil het graag in Node Red.
Reden: 's Avonds dienen de lampen in de color loop te komen (sfeer verlichting voor buiten en het is die tijd van het jaar dat je leuke dingen mag doen met verlichting) maar 's nachts wil ik dat de spots wit licht geven als ze getriggerd worden door een sensor.
Infrastructuur is klaar, nu alleen nog NodeRed zover zien te krijgen, maar ik weet niet hoe... :o

You have to be careful if you don't know where you are going because you might not get there...


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 21:26

ThinkPad

Moderator Duurzame Energie & Domotica
HTTP-request op de API van de bridge?

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

ThinkPad schreef op dinsdag 3 december 2019 @ 18:42:
HTTP-request op de API van de bridge?
Erm.. :?

You have to be careful if you don't know where you are going because you might not get there...


  • Jeltel
  • Registratie: juni 2001
  • Niet online
Vandaag begonnen met Node Red. Ik was altijd aan het stoeien met het goed krijgen van de automations in Home Assistant. Duurde me soms te lang voordat ik het voor elkaar had en NodeRed leek mee een goede om te proberen.

En dat is ook zo, ik heb al snel één van mijn moeilijkste automations in Node Red zitten en de automation uit kunnen zetten.
Maar ik zit met een klein ding. Via TheHookup ben ik op de Light Scheduler Node gewezen. En die doet inderdaad precies wat ik verwacht. Namelijk op basis van een schedule filteren welke lamp er aangezet wordt of welke scene.

Maar nu geeft NodeRed bij het deployen elke keer een foutmelding over deze Light Scheduler Node:
The workspace contains some nodes that are not properly configured:

[Wall Switch Eettafel] Morning (light-scheduler-filter)
[Wall Switch Eettafel] Day (light-scheduler-filter)
Are you sure you want to deploy?
Maar meer dan een "Invalid Properties: - Settings" wordt er niet gegeven. De ontwikkeleer heeft al 6 maanden helaas niets gedaan en recente issues worden niet op gereageerd.

Heeft iemand hier ervaring met deze Node en een oplossing hiervoor? Ik wil niet dat ik blind die melding wegklik als ik ga deployen. Er kan een echte fout tussen zitten.
Of heeft iemand een andere node die hetzelfde kan doen? Dus op basis van tijd het ene of het andere gaan schakelen op basis van een input?

  • BounceCloud
  • Registratie: juni 2007
  • Laatst online: 00:54
Ik ken light sheduler niet, maar kan bigtimer je niet helpen? Is een zeer uitgebreide node waarin je van alles met tijd / daglicht kunt spelen.

  • Jeltel
  • Registratie: juni 2001
  • Niet online
@BounceCloud kun je die ook gebruiken als filter? Dus je hebt een trigger en dan wil ik alleen tijdens 00:00 en 06:00 het ene schakelen en anders het andere.
Nu gooi ik na de trigger de sequence in de scheduler en die heeft twee uitgangen. Als het binnen de tijd valt, doe ik het ene en anders het andere.

Kan dat met de big timer? Ik zie een boel opties, maar zie niet of ik ermee kan wat ik wil.

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Jeltel schreef op woensdag 4 december 2019 @ 21:58:
Vandaag begonnen met Node Red. Ik was altijd aan het stoeien met het goed krijgen van de automations in Home Assistant. Duurde me soms te lang voordat ik het voor elkaar had en NodeRed leek mee een goede om te proberen.

En dat is ook zo, ik heb al snel één van mijn moeilijkste automations in Node Red zitten en de automation uit kunnen zetten.
Maar ik zit met een klein ding. Via [url=https://www.youtube.com/channel/UC2gyzKcHbYfqoXA5xbyGXtQ]TheHookup[/ur] ben ik op de Light Scheduler Node gewezen. En die doet inderdaad precies wat ik verwacht. Namelijk op basis van een schedule filteren welke lamp er aangezet wordt of welke scene.

Maar nu geeft NodeRed bij het deployen elke keer een foutmelding over deze Light Scheduler Node:

[...]


Maar meer dan een "Invalid Properties: - Settings" wordt er niet gegeven. De ontwikkeleer heeft al 6 maanden helaas niets gedaan en recente issues worden niet op gereageerd.

Heeft iemand hier ervaring met deze Node en een oplossing hiervoor? Ik wil niet dat ik blind die melding wegklik als ik ga deployen. Er kan een echte fout tussen zitten.
Of heeft iemand een andere node die hetzelfde kan doen? Dus op basis van tijd het ene of het andere gaan schakelen op basis van een input?
Ik gebruik schedex , niet zo'n grafisch interfaceje zoals bij jou plugin, maar schedex doet zn werk.

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

Schedex kan volgens mij niet met scenes omgaan, althans niet dat ik weet. Klinkt dat Light Scheduler dat wel kan.

You have to be careful if you don't know where you are going because you might not get there...


  • Jeltel
  • Registratie: juni 2001
  • Niet online
Hier een screenshot van de flow en van de instelling van de scheduler:





Dat visuele deel is leuk, maar mag zeker ook gewoon in tekst ingevuld worden. Het gaat om het filter gedeelte. Dat je binnen de schedule iets anders doet dan er buiten.

Maar ik merk dat niemand die node gebruikt ;) Ik heb nog een lijntje bij die vent van TheHookup uit staan, hij zou tegen hetzelfde aan moeten lopen lijkt me.

Jeltel wijzigde deze reactie 05-12-2019 11:32 (16%)


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
Ik draai NR (v1.0.3) via Docker. Het is me de laatste dagen een paar keer overkomen dat NR blijkbaar crashte en daarna opnieuw opgestart werd. Misschien is Docker verantwoordelijk voor het automatisch herstarten.

Als ik in de logs van NR kijk (via Portainer), zie ik niks bijzonders. Geen meldingen over crashes/errors. Wel dat hij herstart (Welcome to Node-RED etc etc).

Andere applicaties zoals HA draaien gewoon probleemloos door.
Heeft iemand een idee hoe ik de oorzaak van de crashes kan achterhalen?

  • vanisher
  • Registratie: augustus 2007
  • Laatst online: 23-02 14:34
Ik ben van een homey aan het migreren naar hassio met node-red.

Nu loop ik tegen iets aan wat bij Homey simpel was en in node-red krijg ik het niet voor elkaar.

Situatie:

1x bewegingsmelder (fibaro) eetkamer
1x bewegingsmelder (fibaro) woonkamer

's morgen als we op staan (niet altijd zelfde tijd) wil ik graag een actie uitvoeren als beide bewegingsmelders geactiveerd worden.

We lopen door de eetkamer naar de woonkamer.

2x een status uitlezen vanuit hassio gaat schijnbaar niet goed, of het gaat te snel. Iemand enig idee hoe ik dit op kan lossen?


code:
1
[{"id":"4bf05499.1dcecc","type":"server-state-changed","z":"f7ebf821.7dc38","name":"Beweging woonkamer","server":"c3a58e1b.ba66a","version":1,"entityidfilter":"binary_sensor.fibaro_system_fgms001_motion_sensor_sensor_5","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":200,"y":580,"wires":[["a86bdda4.0a0c38"]]},{"id":"7c187f30.67cb28","type":"debug","z":"f7ebf821.7dc38","name":"MSG1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":670,"y":560,"wires":[]},{"id":"a86bdda4.0a0c38","type":"api-current-state","z":"f7ebf821.7dc38","name":"Beweging eetkamer","server":"c3a58e1b.ba66a","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"binary_sensor.fibaro_system_fgms001_motion_sensor_sensor_6","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":460,"y":580,"wires":[["7c187f30.67cb28"],["7fd0eed6.a185f8"]]},{"id":"7fd0eed6.a185f8","type":"debug","z":"f7ebf821.7dc38","name":"MSG2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":670,"y":620,"wires":[]},{"id":"c3a58e1b.ba66a","type":"server","z":"","name":"Home Assistant"}]


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
vanisher schreef op maandag 9 december 2019 @ 17:30:
Ik ben van een homey aan het migreren naar hassio met node-red.

Nu loop ik tegen iets aan wat bij Homey simpel was en in node-red krijg ik het niet voor elkaar.

Situatie:

1x bewegingsmelder (fibaro) eetkamer
1x bewegingsmelder (fibaro) woonkamer

's morgen als we op staan (niet altijd zelfde tijd) wil ik graag een actie uitvoeren als beide bewegingsmelders geactiveerd worden.

We lopen door de eetkamer naar de woonkamer.

2x een status uitlezen vanuit hassio gaat schijnbaar niet goed, of het gaat te snel. Iemand enig idee hoe ik dit op kan lossen?


code:
1
[{"id":"4bf05499.1dcecc","type":"server-state-changed","z":"f7ebf821.7dc38","name":"Beweging woonkamer","server":"c3a58e1b.ba66a","version":1,"entityidfilter":"binary_sensor.fibaro_system_fgms001_motion_sensor_sensor_5","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":200,"y":580,"wires":[["a86bdda4.0a0c38"]]},{"id":"7c187f30.67cb28","type":"debug","z":"f7ebf821.7dc38","name":"MSG1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":670,"y":560,"wires":[]},{"id":"a86bdda4.0a0c38","type":"api-current-state","z":"f7ebf821.7dc38","name":"Beweging eetkamer","server":"c3a58e1b.ba66a","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"binary_sensor.fibaro_system_fgms001_motion_sensor_sensor_6","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":460,"y":580,"wires":[["7c187f30.67cb28"],["7fd0eed6.a185f8"]]},{"id":"7fd0eed6.a185f8","type":"debug","z":"f7ebf821.7dc38","name":"MSG2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":670,"y":620,"wires":[]},{"id":"c3a58e1b.ba66a","type":"server","z":"","name":"Home Assistant"}]

Dit zou moeten werken...


code:
1
[{"id":"73bcc0c4.9ee35","type":"server-state-changed","z":"5971292a.2545b8","name":"Beweging Woonkamer","server":"ad75b4a4.6fd8e8","entityidfilter":"binary_sensor.motion_sensor_158d000257f4f6","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":330,"y":420,"wires":[["4c26f705.3e3e58","c84ab47e.53ffd8"]]},{"id":"c86ad056.302b","type":"server-state-changed","z":"5971292a.2545b8","name":"Beweging Eetkamer","server":"ad75b4a4.6fd8e8","entityidfilter":"binary_sensor.motion_sensor_158d0002f302a9","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":330,"y":480,"wires":[["4c26f705.3e3e58","c84ab47e.53ffd8"]]},{"id":"4c26f705.3e3e58","type":"debug","z":"5971292a.2545b8","name":"MSG1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":590,"y":400,"wires":[]},{"id":"c84ab47e.53ffd8","type":"debug","z":"5971292a.2545b8","name":"MSG2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":590,"y":500,"wires":[]},{"id":"ad75b4a4.6fd8e8","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false}]

Believe. Imagine. Create.


  • Jeltel
  • Registratie: juni 2001
  • Niet online
Zo, bijna alle automations verhuisd naar Node Red inclusief notificaties (en het dismissen daarvan). Erg fijn om het allemaal visueel te zien en zo wat makkelijker te debuggen. Ik ben zelfs aan het proberen om een enkele sequence voor meerdere verschillende entiteiten te gebruiken. Eens kijken of dat werkt ;)

Uiteindelijk de LIght Scheduler eruit gegooid en vervangen voor twee losse nodes:
- node-red-contrib-weekday: Die checkt gewoon welke dag van de week het is.
- Time Range Node: Die checkt of de tijd in of buiten een bepaalde range valt.

Die combinatie doet prima wat ik nodig heb, zonder foutmeldingen :) Zo ingewikkeld was mijn schedule niet.

Jeltel wijzigde deze reactie 09-12-2019 21:55 (16%)


  • vanisher
  • Registratie: augustus 2007
  • Laatst online: 23-02 14:34
gaat je licht dat altijd op dezelfde tijd aan? En alleen bij aanwezigheid?

@Troetelbeer Is het niet zo dat in jou voorbeeld het licht aangaat als 1 van beide bewegingsmelders naar 'on' gaat?

vanisher wijzigde deze reactie 10-12-2019 08:03 (44%)


  • jerxjac
  • Registratie: januari 2004
  • Laatst online: 25-01 15:33
Hi,
Ik zet mijn eerste stappen in Node-Red en wil mijn tweede automatisering maken.
Moet eenvoudig zijn, maar ik zie het niet.
Wat ik zou willen:
Wanneer mijn tv wordt ingeschakeld [media_player.samsung_tv_remote] Ik wil dat mijn Harman Kardon Citation One [media_player.woonkamer] op PAUZE gaat als hij speelt.
Als mijn tv UIT gaat, wil ik dat de HKC One opnieuw begint met afspelen PLAY.
Als iemand zo aardig zou kunnen zijn om te helpen

  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
vanisher schreef op maandag 9 december 2019 @ 21:29:
gaat je licht dat altijd op dezelfde tijd aan? En alleen bij aanwezigheid?

@Troetelbeer Is het niet zo dat in jou voorbeeld het licht aangaat als 1 van beide bewegingsmelders naar 'on' gaat?
Ja in principe wel...Ik heb enkel jouw flow gepakt en de verbindingen juist gemaakt...Welke acties jij eraan verbindt, moet je zelf weten...

En als je pas wilt dat de actie of acties worden uitgevoerd, wanneer beiden bewegingsmelders tegelijk geactiveerd worden dan kun je dat gewoon in je flow meenemen...

Even simpel:

Als bewegingsmelder 1(bm1) op "on" springt >> actie 1
Als bm2 op "on" springt >> actie 2(of ook actie 1)

Of:

Als bm1 op "on" springt >> actie 1 + actie 2
Als bm2 op "on" springt >> actie 1 + actie 2

Of:

Als bm1 op "on" springt >> check bm2 state >> is on? >> actie 1(of actie 1 en 2)
En andersom kan natuurlijk ook...

Believe. Imagine. Create.


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
jerxjac schreef op dinsdag 10 december 2019 @ 13:20:
Hi,
Ik zet mijn eerste stappen in Node-Red en wil mijn tweede automatisering maken.
Moet eenvoudig zijn, maar ik zie het niet.
Wat ik zou willen:
Wanneer mijn tv wordt ingeschakeld [media_player.samsung_tv_remote] Ik wil dat mijn Harman Kardon Citation One [media_player.woonkamer] op PAUZE gaat als hij speelt.
Als mijn tv UIT gaat, wil ik dat de HKC One opnieuw begint met afspelen PLAY.
Als iemand zo aardig zou kunnen zijn om te helpen
Gebruik je HA?

Believe. Imagine. Create.


  • Jeltel
  • Registratie: juni 2001
  • Niet online
@jerxjac Kijk deze drie youtube filmpjes eens. Dan krijg je de basis van Node Red met Home Assistant (ik neem aan dat je dat gebruikt) mee.
Erg handig geweest voor mijzelf:

YouTube: Node-RED + Home Assistant How-To
YouTube: Mastering Node-RED: Custom Alexa Commands + Node-RED Dashboard
YouTube: Node-RED Pt.3: Trigger and Events: All nodes. Motion Lighting and A...

Succes :)

  • jerxjac
  • Registratie: januari 2004
  • Laatst online: 25-01 15:33

  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
@jerxjac Je kunt de event states en current states nodes gebruiken en die koppelen aan de call service node.

Dus:

In de event state node selecteer je je tv en geef je aan: if state = "on" of "playing".(je moet even kijken in HA zelf welke state je tv krijgt bij inschakelen en die state gebruiken).
Vervolgens verbind je die node aan de call service node en daarin selecteer je je citation one en welke service die moet doen(in jouw geval dus "media_player.media_pause")

En uiteraard de states en service veranderen voor de omgekeerde weg :)

Believe. Imagine. Create.


  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 22-02 01:05
MrBarBarian schreef op zondag 1 december 2019 @ 22:39:
Inkoppertje waarschijnlijk, maar ik kom er niet uit.

Ik stuur via Node-Red wat data door vanuit OTGW naar MQTT en Influxdb.

Hiervoor ik gespecificeerd:
- msg.payload
- msg.topic (bijv. /home/otgw/returntemp
- msg.measurement

Maar in influxdb krijgen de metingen geen naam. Nog concreter, als ik e.a. in Grafana wil weer geven, dan kan ik achter de WHERE clause in het query-statement niet aangeven welke meting ik wil selecteren..

Moet ik nog een msg deel specificeren in Node_red oid?
Even mezelf quoten, want ik ben er nogsteeds niet uit ;)

Ik wil een tag toevoegen aan een meetwaarde die ik naar Influxdb stuur.

Als ik deze goed begrijp kan je de tag gewoon meesturen in de msg.payload. Daarvan maak ik het onderstaande message die naar Influx Out gaat

Maar de tag verschijnt nogsteed als field in influx


code:
1
2
3
4
5
6
7
8
9
10
11
12
object
topic: "returntemp"
payload: object
  value: 53.375
  entity_id: "returntemp"
_session: object
_msgid: "11a56c37.47ec84"
msgtype: 4
dataid: 28
datavalue: 13664
raw: "B401C3560"
measurement: "°C"

MrBarBarian wijzigde deze reactie 10-12-2019 17:54 (3%)

iRacing Profiel


  • AUijtdehaag
  • Registratie: oktober 2006
  • Niet online
@MrBarBarian
Heb je iets aan dit voorbeeldje?
Is een functieblok voor dat het verzonden wordt.

code:
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
30
31
32
let TotalHeatEnergy = msg.payload.devices["67362961"].DataRecord[1].Value;   
let TotalCoolEnergy = msg.payload.devices["67362961"].DataRecord[2].Value;
let FlowTemperature = msg.payload.devices["67362961"].DataRecord[8].Value /100;
let ReturnTemperature = msg.payload.devices["67362961"].DataRecord[9].Value /100;
let DiffTemperature = msg.payload.devices["67362961"].DataRecord[10].Value /100;
let PowerInstValue = msg.payload.devices["67362961"].DataRecord[11].Value *100;
let FlowInstValue = msg.payload.devices["67362961"].DataRecord[13].Value;

let _msg = {
    payload: []
};

_msg.payload=
    {
        measurement: "HeatEnergy",
        fields: {
            totalheatenergy:   TotalHeatEnergy,         
            totalcoolenergy:   TotalCoolEnergy, 
            flowtemperature:   FlowTemperature, 
            returntemperature: ReturnTemperature,   
            difftemperature:   DiffTemperature,
            power:             PowerInstValue,
            flow:              FlowInstValue,
        },
        tags:{
            device: "Kamstrup",
        },
        timestamp: flow.get('timestamp')
    }


return _msg;



Edit:
Excuus: deze "join" moet er wel tussen. Zie plaatje.
https://tweakers.net/ext/f/KnqbKYRnwF8PCqKoVxBBaRTP/thumb.jpg

AUijtdehaag wijzigde deze reactie 10-12-2019 19:45 (8%)

PV Output - Panasonic Hit Kuro/Solar Frontier - 5 kW Mitsubsidie


  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 22-02 01:05
@AUijtdehaag Die join hielp idd ;) Tnx..

Nog een vraag: hoe kom je aan die deviceID's?


code:
1
msg.payload.devices["67362961"].DataRecord[1].Value;

MrBarBarian wijzigde deze reactie 10-12-2019 22:16 (78%)

iRacing Profiel


  • AUijtdehaag
  • Registratie: oktober 2006
  • Niet online
@MrBarBarian
Een "debug" erachter zetten en dan complete msg object, copy path of iets dergelijks?
https://tweakers.net/ext/f/zJMbdvPJfi8DcjGZKiztJh4Z/thumb.jpg

PV Output - Panasonic Hit Kuro/Solar Frontier - 5 kW Mitsubsidie


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 21-02 14:53
jerxjac schreef op dinsdag 10 december 2019 @ 13:20:
Hi,
Ik zet mijn eerste stappen in Node-Red en wil mijn tweede automatisering maken.
Moet eenvoudig zijn, maar ik zie het niet.
Wat ik zou willen:
Wanneer mijn tv wordt ingeschakeld [media_player.samsung_tv_remote] Ik wil dat mijn Harman Kardon Citation One [media_player.woonkamer] op PAUZE gaat als hij speelt.
Als mijn tv UIT gaat, wil ik dat de HKC One opnieuw begint met afspelen PLAY.
Als iemand zo aardig zou kunnen zijn om te helpen
Je kan zoiets gebruiken. Dit is even snel gemaakt, zonder te testen aangezien ik je devices niet heb kan dat ook niet. Maar je snapt hopelijk het idee.


code:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
[
    {
        "id": "74d63086.6dfff8",
        "type": "trigger-state",
        "z": "59324ec7.c5ec18",
        "name": "TV aan",
        "server": "c281a616.59fe98",
        "entityid": "media_player.samsung_tv_remote",
        "entityidfiltertype": "exact",
        "debugenabled": false,
        "constraints": [
            {
                "id": "1edfw6uv5d5",
                "targetType": "this_entity",
                "targetValue": "",
                "propertyType": "current_state",
                "propertyValue": "new_state.state",
                "comparatorType": "is",
                "comparatorValueDatatype": "str",
                "comparatorValue": "on"
            },
            {
                "id": "nu9rx74xzi",
                "targetType": "this_entity",
                "targetValue": "",
                "propertyType": "previous_state",
                "propertyValue": "old_state.state",
                "comparatorType": "is",
                "comparatorValueDatatype": "str",
                "comparatorValue": "off"
            }
        ],
        "constraintsmustmatch": "all",
        "outputs": 2,
        "customoutputs": [],
        "outputinitially": false,
        "state_type": "str",
        "x": 300,
        "y": 340,
        "wires": [
            [
                "c24cbbd0.e9322"
            ],
            []
        ]
    },
    {
        "id": "c24cbbd0.e9322",
        "type": "api-call-service",
        "z": "59324ec7.c5ec18",
        "name": "Stop muziek",
        "server": "c281a616.59fe98",
        "version": 1,
        "debugenabled": false,
        "service_domain": "media_player",
        "service": "media_stop",
        "entityId": "media_player.woonkamer",
        "data": "",
        "dataType": "json",
        "mergecontext": "",
        "output_location": "",
        "output_location_type": "none",
        "mustacheAltTags": false,
        "x": 470,
        "y": 340,
        "wires": [
            []
        ]
    },
    {
        "id": "448207de.fadb18",
        "type": "trigger-state",
        "z": "59324ec7.c5ec18",
        "name": "TV uit",
        "server": "c281a616.59fe98",
        "entityid": "media_player.samsung_tv_remote",
        "entityidfiltertype": "exact",
        "debugenabled": false,
        "constraints": [
            {
                "id": "d1eobcvi8o6",
                "targetType": "this_entity",
                "targetValue": "",
                "propertyType": "current_state",
                "propertyValue": "new_state.state",
                "comparatorType": "is",
                "comparatorValueDatatype": "str",
                "comparatorValue": "off"
            },
            {
                "id": "fyj2zigv0vh",
                "targetType": "this_entity",
                "targetValue": "",
                "propertyType": "previous_state",
                "propertyValue": "old_state.state",
                "comparatorType": "is",
                "comparatorValueDatatype": "str",
                "comparatorValue": "on"
            }
        ],
        "constraintsmustmatch": "all",
        "outputs": 2,
        "customoutputs": [],
        "outputinitially": false,
        "state_type": "str",
        "x": 290,
        "y": 420,
        "wires": [
            [
                "d44c0e83.814e4"
            ],
            []
        ]
    },
    {
        "id": "d44c0e83.814e4",
        "type": "api-call-service",
        "z": "59324ec7.c5ec18",
        "name": "Start muziek",
        "server": "c281a616.59fe98",
        "version": 1,
        "debugenabled": false,
        "service_domain": "media_player",
        "service": "media_play",
        "entityId": "media_player.woonkamer",
        "data": "",
        "dataType": "json",
        "mergecontext": "",
        "output_location": "",
        "output_location_type": "none",
        "mustacheAltTags": false,
        "x": 450,
        "y": 420,
        "wires": [
            []
        ]
    },
    {
        "id": "c281a616.59fe98",
        "type": "server",
        "z": "",
        "name": "Home Assistant",
        "legacy": false,
        "hassio": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open"
    }
]


  • kmf
  • Registratie: november 2000
  • Niet online
Zo... dat was fijn.. blijkbaar had ik een Max aan MQTT connecties bereikt. Te veel nodes die van dezelfde connectie gebruikt maakt. Hierdoor constant verbindings problemen...

Uiteindelijk alle connecties weg moeten gooien en per (sub)flow een aparte connectie opgezet...

One thing's certain: the iPad seriously increases toilet time.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

Ik loop even vast ergens, maar weet niet of ik in Node Red moet zijn of Hassio...
Toch maar even de vraag hier stellen.

Doel: sensor wordt getriggerd, geluid wordt afgespeeld op Google Home. Simple as that.
Ik had het simpel voor elkaar met een deur switch, contact open en hij speelde een MP3 vanaf internet af op mijn Google home. So far so good.

Nu heb ik de switch vervangen in Node-Red voor de sensor en voila: client error in de cast.. Huh?

Enige tips?

You have to be careful if you don't know where you are going because you might not get there...


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
Snuffel schreef op zaterdag 21 december 2019 @ 10:00:
Ik loop even vast ergens, maar weet niet of ik in Node Red moet zijn of Hassio...
Toch maar even de vraag hier stellen.

Doel: sensor wordt getriggerd, geluid wordt afgespeeld op Google Home. Simple as that.
Ik had het simpel voor elkaar met een deur switch, contact open en hij speelde een MP3 vanaf internet af op mijn Google home. So far so good.

Nu heb ik de switch vervangen in Node-Red voor de sensor en voila: client error in de cast.. Huh?

Enige tips?
Geef je NR code eens...

Believe. Imagine. Create.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!


code:
1
[{"id":"b1befc08.c48ea","type":"server-state-changed","z":"ce290bc4.3eda68","name":"Deurbel","server":"f1948d47.972cf","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.0x00158d000410b31b_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":180,"y":840,"wires":[["228f9abe.6b4c76"]]},{"id":"228f9abe.6b4c76","type":"cast-to-client","z":"ce290bc4.3eda68","name":"","url":"http://deurbelfun.nl/geluiden/deurbellen/deurbel1.mp3","contentType":"","message":"","language":"en","ip":"192.168.178.184","port":"","volume":"","x":420,"y":880,"wires":[[]]},{"id":"f1948d47.972cf","type":"server","z":"","name":"Home Assistant"}]

You have to be careful if you don't know where you are going because you might not get there...


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
Snuffel schreef op zondag 22 december 2019 @ 08:23:
[...]



code:
1
[{"id":"b1befc08.c48ea","type":"server-state-changed","z":"ce290bc4.3eda68","name":"Deurbel","server":"f1948d47.972cf","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.0x00158d000410b31b_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":180,"y":840,"wires":[["228f9abe.6b4c76"]]},{"id":"228f9abe.6b4c76","type":"cast-to-client","z":"ce290bc4.3eda68","name":"","url":"http://deurbelfun.nl/geluiden/deurbellen/deurbel1.mp3","contentType":"","message":"","language":"en","ip":"192.168.178.184","port":"","volume":"","x":420,"y":880,"wires":[[]]},{"id":"f1948d47.972cf","type":"server","z":"","name":"Home Assistant"}]

Je moet een state meegeven in je deurbel sensor...Dus open je deurbel node en je ziet "if state is" staan...Typ daar "on" en done...Je deurbel node krijgt een bolletje erbij en het onderste bolletje verbind je met je cast node...

Troetelbeer wijzigde deze reactie 22-12-2019 08:51 (8%)

Believe. Imagine. Create.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

Troetelbeer schreef op zondag 22 december 2019 @ 08:49:
[...]


Je moet een state meegeven in je deurbel sensor...Dus open je deurbel node en je ziet "if state is" staan...Typ daar "on" en done...Je deurbel node krijgt een bolletje erbij en het onderste bolletje verbind je met je cast node...
Tnx, ik ga het erin zetten :)
En kijken of ie werkt natuurlijk....


code:
1
[{"id":"228f9abe.6b4c76","type":"cast-to-client","z":"ce290bc4.3eda68","name":"","url":"http://deurbelfun.nl/geluiden/deurbellen/deurbel1.mp3","contentType":"","message":"","language":"en","ip":"192.168.154.186","port":"","volume":"","x":460,"y":880,"wires":[[]]},{"id":"b1befc08.c48ea","type":"server-state-changed","z":"ce290bc4.3eda68","name":"Deurbel","server":"f1948d47.972cf","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.0x00158d000410b31b_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":220,"y":820,"wires":[[],["228f9abe.6b4c76"]]},{"id":"f1948d47.972cf","type":"server","z":"","name":"Home Assistant"}]



Zo zou het moeten werken dus?
Maar... nee, nog steeds client error

Snuffel wijzigde deze reactie 22-12-2019 09:14 (52%)

You have to be careful if you don't know where you are going because you might not get there...


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
@Snuffel Net getest bij mij en het werkt bij mij...Je hebt voor je Google Home een vast ip adres?

Believe. Imagine. Create.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

Troetelbeer schreef op zondag 22 december 2019 @ 13:48:
@Snuffel Net getest bij mij en het werkt bij mij...Je hebt voor je Google Home een vast ip adres?
Yup, vast IP adres, meerdere Google Homes in huis, dus heb verschillende IP's al geprobeerd, en toch.... error.
Daarom ook: schiet mij maar lek.

You have to be careful if you don't know where you are going because you might not get there...


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
Snuffel schreef op zondag 22 december 2019 @ 15:56:
[...]


Yup, vast IP adres, meerdere Google Homes in huis, dus heb verschillende IP's al geprobeerd, en toch.... error.
Daarom ook: schiet mij maar lek.
Is de Google Home wel zichtbaar/benaderbaar in HA?

Believe. Imagine. Create.


  • Snuffel
  • Registratie: juni 1999
  • Laatst online: 23-02 15:17

Snuffel

Vroem!

Troetelbeer schreef op zondag 22 december 2019 @ 16:46:
[...]


Is de Google Home wel zichtbaar/benaderbaar in HA?
Zeker wel, ze staan gewoon met naam en toenaam benoemd in de integraties :)

You have to be careful if you don't know where you are going because you might not get there...


  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

Hoop dat ik hier....
Vakantie dus... dus was hoping dat ik eens een switch kan gaan schakelen met node-red en Domoticz...
er is its van een plugin voor Domoticz om mqtt te vinden..
Maar ik heb nu shelly's gekocht en die ik via nr Gewoon schakelen.

Ik heb een mqtt in Domoticz werkend.

Ik heb een shelly met mqtt

en ik heb Node-red. Waarbij ik het hier raar vind dat hij bij de shelly login zegt, aangezin ik gene login gebruik voor de shelly

Waarbij ik ook een standaard shelly node heb geimporteerd:
De info die bij de shelly node staat:


https://flows.nodered.org/node/node-red-contrib-shelly


Er zijn plugins voor Domoticz, maar een slave waarop ik het probeer crasht.
Daarnaast lijkt met me toch dat mqtt shelly kan praten met mqtt Domoticz zonder plugs oid?

Dus misschien iemand die me goede weg op kan helpen..
Ik wil eigenlijk dat mqtt beter leren snappen, aangezien er mooie dingen mee te maken zijn.

Dus als iemand leuke how to's heeft
Om simpele dingen te implementeren wel graag icm Domoticz
Zodat ik eea beter ga snappen...


Graag

Dylantje2 wijzigde deze reactie 26-12-2019 21:38 (6%)

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
@Dylantje2 Misschien kun je beter eerst in het Domoticz topic e.e.a. zoeken en vragen, want eigenlijk vraag je meer naar de mqtt integratie van Domoticz, dan een NR vraag.

Dus kijk hier even: https://gathering.tweaker...ist_messages/1894085/last

Believe. Imagine. Create.


  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

Troetelbeer schreef op vrijdag 27 december 2019 @ 18:07:
@Dylantje2 Misschien kun je beter eerst in het Domoticz topic e.e.a. zoeken en vragen, want eigenlijk vraag je meer naar de mqtt integratie van Domoticz, dan een NR vraag.

Dus kijk hier even: https://gathering.tweaker...ist_messages/1894085/last
Uhm..
Ik snap niet heel veel van NR daarom hier.
Als ik het dan een beetje snap is het niet zomaar mogelijk dat een switch mqqt naar een mqtt server praat zonder tussenkomst van

Dus het lijkt me dat ik nodered er tussen nodig heb..?

En Domoticcz heeft alleen plugin werkend voor Shelly.
Maar ik zoek mqtt naar mqtt

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • ijdod
  • Registratie: april 2000
  • Laatst online: 23:13
MQTT is niets meer dan een soort centraal postkantoor voor berichten, en staat in principe los van de genoemde home automation systemen. Daardoor het is prima te gebruiken om verschillende systemen, indien gewenst, met elkaar te laten communiceren. Je hebt in principe maar 1 MQTT server in je omgeving, waar al je MQTT clients tegenaan praten.

De diverse systemen posten dan de geconfigureerde statusberichten in MQTT, en krijgen updates van berichten waarvoor ze geconfigureerd zijn om naar te luisteren.

Concreet voor bv een shelly:
  1. Als de schakelcontact 'aan' gaat, post de shelly dat in een MQTT topic: shellies/shelly1-xxxxxx/input/0=1.
  2. Mijn homeautomation volgt dat topic, en krijgt bericht zodra dit wijzigt.
  3. Als dit gebeurt, heb ik mijn homeautomation zo geconfigureerd dat deze naar MQTT het volgende topic post: shellies/shelly1-xxxxxx/relay/0=on.
  4. De Shelly zelf volgt dat relay topic, en zal als dat topic naar 'on' wijzigt, het relais schakelen.
  5. Het relais schakelt, en het licht gaat aan.
Dit kan je laten doen door Home Assinant, door Node Red, of door elk ander home automation platform wat dit ondersteunt. Ik vermoed dat Domoticz dit ook kan, maar daar ben ik niet genoeg mee bekend.

In het verlengde hiervan, als bv de lampen onder spanning moeten blijven omdat het bv Hue lampen zijn, zou je niet het relais laten schakelen, maar je Hue Bridge opdracht geven de gewenste lampen in de kamer aan te zetten.

Root don't mean a thing, if you ain't got that ping...


  • grote_oever
  • Registratie: augustus 2002
  • Laatst online: 23:34
Ik ben bezig om mijn ducobox in domoticz te krijgen en lees dit uit via modbus. Het werk allemaal en krijg de waardes keurig in domoticz, maar ik vraag me af of ik dit efficiënt doe of dat ik iets vergeten ben? Met name het uitlezen van de arrays vind ik een beetje "quick and dirty" en zou schoner moeten kunnen:

Gevoelsmatig heb ik veel HTTP request.

Mijn schema:



Hoe ik mijn Array parse naar een int:



Hoe mijn array eruit ziet:



Hele nodered flow:
[{"id":"761fad86.c8b93c","type":"tab","label":"Ducobox","disabled":false,"info":""},{"id":"87382458.0dc5c","type":"modbus-read","z":"761fad86.c8b93c","name":"Mancave","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"2","dataType":"InputRegister","adr":"20","quantity":"6","rate":"5","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"f53073dc.aa6b98","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":140,"y":160,"wires":[[],["28ac9b3b.e6a8e4","fce8b605.feed58"]]},{"id":"c5f80b5.dfdf7f8","type":"debug","z":"761fad86.c8b93c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":470,"y":660,"wires":[]},{"id":"3d6d346c.069294","type":"modbus-read","z":"761fad86.c8b93c","name":"Badkamer","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"2","dataType":"InputRegister","adr":"40","quantity":"6","rate":"5","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"f53073dc.aa6b98","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":160,"y":460,"wires":[["c5f80b5.dfdf7f8"],["967a6b8d.17d7c8","e4a79411.d09db"]]},{"id":"803a48b8.9e047","type":"modbus-read","z":"761fad86.c8b93c","name":"Woonkamer","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"2","dataType":"InputRegister","adr":"50","quantity":"6","rate":"5","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"f53073dc.aa6b98","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":150,"y":320,"wires":[[],["fbe70cb6.58c258","21f37a98.6bc106"]]},{"id":"7bd0c9b6.2dd418","type":"comment","z":"761fad86.c8b93c","name":"Ducobox","info":"","x":120,"y":120,"wires":[]},{"id":"28ac9b3b.e6a8e4","type":"function","z":"761fad86.c8b93c","name":"Afvoerpercentage","func":"msg.payload = msg.payload.data[2];\n\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.payload});\nreturn msg;\n","outputs":1,"noerr":0,"x":490,"y":160,"wires":[["6bb2d1ce.922cd8","cefb110a.a75ef"]]},{"id":"6bb2d1ce.922cd8","type":"ui_text","z":"761fad86.c8b93c","group":"aa34479.34f44b8","order":0,"width":0,"height":0,"name":"","label":"Mancave afvoer","format":"{{msg.payload}}","layout":"row-spread","x":720,"y":160,"wires":[]},{"id":"fce8b605.feed58","type":"function","z":"761fad86.c8b93c","name":"Co2","func":"msg.payload = msg.payload.data[4];\n\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.payload});\nreturn msg;\n","outputs":1,"noerr":0,"x":450,"y":220,"wires":[["786fe27b.53357c","545d1715.e27688"]]},{"id":"786fe27b.53357c","type":"ui_text","z":"761fad86.c8b93c","group":"aa34479.34f44b8","order":1,"width":0,"height":0,"name":"","label":"Mancave Co2","format":"{{msg.payload}}","layout":"row-spread","x":720,"y":220,"wires":[]},{"id":"545d1715.e27688","type":"function","z":"761fad86.c8b93c","name":"Co2 naar domoticz","func":"node.log (\"Co2 to Domoticz HTTP\");\nvar co2 = JSON.parse(msg.payload);\nvar DeviceID = 14;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=\"+co2;\n\nreturn msg;","outputs":1,"noerr":0,"x":970,"y":220,"wires":[["87d875dd.916ec"]]},{"id":"87d875dd.916ec","type":"http request","z":"761fad86.c8b93c","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1230,"y":220,"wires":[[]]},{"id":"cefb110a.a75ef","type":"function","z":"761fad86.c8b93c","name":"Fanspeed naar domoticz","func":"node.log (\"Fanspeed to Domoticz HTTP\");\nvar speed = JSON.parse(msg.payload);\nvar DeviceID = 15;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=0&svalue=\"+speed;\n\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":990,"y":160,"wires":[["5b7fe34a.d1e59c"]]},{"id":"5b7fe34a.d1e59c","type":"http request","z":"761fad86.c8b93c","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1230,"y":160,"wires":[[]]},{"id":"fbe70cb6.58c258","type":"function","z":"761fad86.c8b93c","name":"Afvoerpercentage","func":"msg.payload = msg.payload.data[2];\n\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.payload});\nreturn msg;\n","outputs":1,"noerr":0,"x":490,"y":320,"wires":[["1b0f52fd.befdb5","8d4d8090.16d8e"]]},{"id":"21f37a98.6bc106","type":"function","z":"761fad86.c8b93c","name":"Co2","func":"msg.payload = msg.payload.data[4];\n\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.payload});\nreturn msg;\n","outputs":1,"noerr":0,"x":450,"y":380,"wires":[["47050c90.844b94","e3ed8a4e.9351b8"]]},{"id":"1b0f52fd.befdb5","type":"function","z":"761fad86.c8b93c","name":"Fanspeed naar domoticz","func":"node.log (\"Fanspeed to Domoticz HTTP\");\nvar speed = JSON.parse(msg.payload);\nvar DeviceID = 18;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=0&svalue=\"+speed;\n\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":990,"y":320,"wires":[["498f0783.686798"]]},{"id":"e3ed8a4e.9351b8","type":"function","z":"761fad86.c8b93c","name":"Co2 naar domoticz","func":"node.log (\"Co2 to Domoticz HTTP\");\nvar co2 = JSON.parse(msg.payload);\nvar DeviceID = 16;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=\"+co2;\n\nreturn msg;","outputs":1,"noerr":0,"x":970,"y":380,"wires":[["1e84b84d.13012"]]},{"id":"498f0783.686798","type":"http request","z":"761fad86.c8b93c","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1230,"y":320,"wires":[[]]},{"id":"1e84b84d.13012","type":"http request","z":"761fad86.c8b93c","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1230,"y":380,"wires":[[]]},{"id":"8d4d8090.16d8e","type":"ui_text","z":"761fad86.c8b93c","group":"aa34479.34f44b8","order":3,"width":0,"height":0,"name":"","label":"Woonkamer afvoer","format":"{{msg.payload}}","layout":"row-spread","x":730,"y":320,"wires":[]},{"id":"47050c90.844b94","type":"ui_text","z":"761fad86.c8b93c","group":"aa34479.34f44b8","order":2,"width":0,"height":0,"name":"","label":"Woonkamer Co2 ","format":"{{msg.payload}}","layout":"row-spread","x":730,"y":380,"wires":[]},{"id":"967a6b8d.17d7c8","type":"function","z":"761fad86.c8b93c","name":"Afvoerpercentage","func":"msg.payload = msg.payload.data[2];\n\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.payload});\nreturn msg;\n","outputs":1,"noerr":0,"x":500,"y":480,"wires":[["11c4757a.08fcf3","9a4b7d7c.977ed8"]]},{"id":"e4a79411.d09db","type":"function","z":"761fad86.c8b93c","name":"Vocht","func":"msg.payload = msg.payload.data[5]/100;\n\nnode.status({fill:\"blue\",shape:\"ring\",text:msg.payload});\nreturn msg;\n","outputs":1,"noerr":0,"x":460,"y":540,"wires":[["769077b5.e0d76","9c279622.52e3f8"]]},{"id":"9a4b7d7c.977ed8","type":"function","z":"761fad86.c8b93c","name":"Fanspeed naar domoticz","func":"node.log (\"Fanspeed to Domoticz HTTP\");\nvar speed = JSON.parse(msg.payload);\nvar DeviceID = 19;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=0&svalue=\"+speed;\n\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":990,"y":480,"wires":[["bb7e7f1d.d62ef8"]]},{"id":"9c279622.52e3f8","type":"function","z":"761fad86.c8b93c","name":"Vocht naar domoticz","func":"node.log (\"Vocht to Domoticz HTTP\");\nvar vocht = JSON.parse(msg.payload);\nvar DeviceID = 20;\n\nmsg.url = \"192.168.1.201:8080/json.htm?type=command&param=udevice&idx=\"+ DeviceID +\"&nvalue=\"+vocht;\n\n\nreturn msg;","outputs":1,"noerr":0,"x":970,"y":560,"wires":[["6cc061e7.c3c248"]]},{"id":"11c4757a.08fcf3","type":"ui_text","z":"761fad86.c8b93c","group":"aa34479.34f44b8","order":4,"width":0,"height":0,"name":"","label":"Badkamer afvoer","format":"{{msg.payload}}","layout":"row-spread","x":770,"y":440,"wires":[]},{"id":"769077b5.e0d76","type":"ui_text","z":"761fad86.c8b93c","group":"aa34479.34f44b8","order":5,"width":0,"height":0,"name":"","label":"Badkamer vocht","format":"{{msg.payload}}","layout":"row-spread","x":760,"y":520,"wires":[]},{"id":"bb7e7f1d.d62ef8","type":"http request","z":"761fad86.c8b93c","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1240,"y":480,"wires":[[]]},{"id":"6cc061e7.c3c248","type":"http request","z":"761fad86.c8b93c","name":"","method":"use","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1240,"y":560,"wires":[[]]},{"id":"f53073dc.aa6b98","type":"modbus-client","z":"","name":"Serial_19200_8_N_1","clienttype":"serial","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU-BUFFERD","serialBaudrate":"19200","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"","commandDelay":30,"clientTimeout":2000,"reconnectOnTimeout":false,"reconnectTimeout":5000,"parallelUnitIdsAllowed":false},{"id":"aa34479.34f44b8","type":"ui_group","z":"","name":"Ducobox","tab":"81c1c2d.12a89c","disp":true,"width":"6","collapse":false},{"id":"81c1c2d.12a89c","type":"ui_tab","z":"","name":"Modbus","icon":"memory","order":15}]

  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

ijdod schreef op zaterdag 28 december 2019 @ 17:10:
MQTT is niets meer dan een soort centraal postkantoor voor berichten, en staat in principe los van de genoemde home automation systemen. Daardoor het is prima te gebruiken om verschillende systemen, indien gewenst, met elkaar te laten communiceren. Je hebt in principe maar 1 MQTT server in je omgeving, waar al je MQTT clients tegenaan praten.

De diverse systemen posten dan de geconfigureerde statusberichten in MQTT, en krijgen updates van berichten waarvoor ze geconfigureerd zijn om naar te luisteren.

Concreet voor bv een shelly:
  1. Als de schakelcontact 'aan' gaat, post de shelly dat in een MQTT topic: shellies/shelly1-xxxxxx/input/0=1.
  2. Mijn homeautomation volgt dat topic, en krijgt bericht zodra dit wijzigt.
  3. Als dit gebeurt, heb ik mijn homeautomation zo geconfigureerd dat deze naar MQTT het volgende topic post: shellies/shelly1-xxxxxx/relay/0=on.
  4. De Shelly zelf volgt dat relay topic, en zal als dat topic naar 'on' wijzigt, het relais schakelen.
  5. Het relais schakelt, en het licht gaat aan.
Dit kan je laten doen door Home Assinant, door Node Red, of door elk ander home automation platform wat dit ondersteunt. Ik vermoed dat Domoticz dit ook kan, maar daar ben ik niet genoeg mee bekend.

In het verlengde hiervan, als bv de lampen onder spanning moeten blijven omdat het bv Hue lampen zijn, zou je niet het relais laten schakelen, maar je Hue Bridge opdracht geven de gewenste lampen in de kamer aan te zetten.
Wat ik me afvraag, hoe stel ik dit simpel in
Heb je een voorbeeld?
Of van node red of van ha..

Ik heb een standaard node van shelly gevonden :


Maar ik krijg nog niet eens een simpel aan en uit werkend..
Ik heb ook mqtt explorer erop staan en de berichten vliegen om me oren..[ dus eea zend ]

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • Troetelbeer
  • Registratie: juni 2018
  • Laatst online: 19:13
@Dylantje2 Je gebruikt toch Domoticz en geen HA? Als je HA gebruikt, dan kun je in NR rechtsboven naar het hamburger menu gaan en klik je op "manage palette". Vervolgens zoek je naar "node-red-contrib-home-assistant-websocket" en installeer je dat palette.
Je ziet dan links in je node menu allerlei nieuwe nodes verschijnen die kunnen communiceren met je HA entities. Wanneer je in HA dan een "light.naam" (of "switch.naam") entity hebt gemaakt, kun je die eenvoudig selecteren in bijvoorbeeld een "call-service" node.

Believe. Imagine. Create.


  • MBgek
  • Registratie: mei 2011
  • Laatst online: 21:38
Ik ben aan het inlezen over o.a. Node-RED en wil graag lokaal een broker hebben draaien in plaats van in de cloud, om eventueel gedoe met de cloud te voorkomen. Kan dit bijvoorbeeld op een Raspberry-pi, of is cloud based beter? Ik leun zelf naar lokaal maar als de ervaringen goed zijn en het een hoop gedoe scheelt dan ga ik toch voor cloud based :)

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 21:26

ThinkPad

Moderator Duurzame Energie & Domotica
Ik heb e.e.a op een Raspberry Pi 4 draaien en dat gaat prima. Ik zou het via Docker doen, dan kun je er ook gemakkelijk nog wat andere zaken naast draaien.

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • MBgek
  • Registratie: mei 2011
  • Laatst online: 21:38
ThinkPad schreef op woensdag 1 januari 2020 @ 22:02:
Ik heb e.e.a op een Raspberry Pi 4 draaien en dat gaat prima. Ik zou het via Docker doen, dan kun je er ook gemakkelijk nog wat andere zaken naast draaien.
In principe wil ik de Raspberry Pi alleen gebruiken voor Node-RED en een MQTT broker, meer zal er niet op draaien. Is het dan alsnog zinvol om Docker te gebruiken? Na 10 minuten googlen over Docker gaat me dit toch wel erg boven de pet :X

Of is het mogelijk dit allemaal in een GUI in te stellen?

Excuus voor de vast erg simpele vragen, maar dit is mij compleet vreemd.

  • Yarisken
  • Registratie: augustus 2010
  • Laatst online: 22:00
MBgek schreef op woensdag 1 januari 2020 @ 22:21:
[...]


In principe wil ik de Raspberry Pi alleen gebruiken voor Node-RED en een MQTT broker, meer zal er niet op draaien. Is het dan alsnog zinvol om Docker te gebruiken? Na 10 minuten googlen over Docker gaat me dit toch wel erg boven de pet :X

Of is het mogelijk dit allemaal in een GUI in te stellen?

Excuus voor de vast erg simpele vragen, maar dit is mij compleet vreemd.
Draai het dan maar best gewoon. Docker zit je met aparte volumes voor je data.
Wel opletten met een Pi, die kaartjes gaan soms stuk. Maak een goeie backup.

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Hebben jullie een idee? Het gaat om de Nodered home assistant combi.

Als ik deze op deploy druk,dan geeft hij de titel weer van het nr wat op dat moment op de chromecast aan staat, prima. Maar de state change node is niet helemaal juist, want de state staat op "playing", en als het nr afgelopen is en het volgende nr start, staat hij nog steeds op playing. En blijft de inhoud van data.new_state.attributes.media_title bestaan uit het vorige afgespeelde nummer.

Ik wil eigenlijk een node, die zodra -code]data.new_state.attributes.media_title[/code] veranderd, iets uitspuugt. tips?

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • franssie
  • Registratie: februari 2000
  • Laatst online: 02:32

franssie

Save the albatross

@Dacuuu je zoekt dus iets dat dat stukje code een schop geeft als er iets verandert? Geen ervaring in combinatie met Home Assistant maar Node Red heeft wel een trigger nodig normaliter.

Keep Calm, Carry On | PD7F | Een goed Probleem komt nooit alleen | Niets is zo permanent als een tijdelijke oplossing | Fender Guitar, Gibson Guitar, Goddamn Guitar


  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
franssie schreef op donderdag 2 januari 2020 @ 23:34:
@Dacuuu je zoekt dus iets dat dat stukje code een schop geeft als er iets verandert? Geen ervaring in combinatie met Home Assistant maar Node Red heeft wel een trigger nodig normaliter.
Nee, mijn verhaal was te lang en te onduidelijk. :+

De state node poept het volgende uit: 'playing' 'pause' etc, de staat van de chromeast. Maar ik wil iets laten triggeren op data.new_state.attributes, en niet op de status van de chromecast zelf.

Ik zou het wel kunnen maken, maar dan ga ik de status pollen van data.new_state.attributes, en dat moet mooier kunnen....

Edit: Iemand op het HA forum wist me te helpen.
Ik had de RBE node nodig!

Dacuuu wijzigde deze reactie 03-01-2020 10:23 (8%)

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • H143
  • Registratie: juli 2006
  • Laatst online: 22:33
ThinkPad schreef op woensdag 1 januari 2020 @ 22:02:
Ik heb e.e.a op een Raspberry Pi 4 draaien en dat gaat prima. Ik zou het via Docker doen, dan kun je er ook gemakkelijk nog wat andere zaken naast draaien.
Offtopic: heb jij je hele domotica systeem nu op een raspberry pi 4 draaien? Zoja hoe bevalt dat?

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 21:26

ThinkPad

Moderator Duurzame Energie & Domotica
H143 schreef op vrijdag 3 januari 2020 @ 13:44:
[...]

Offtopic: heb jij je hele domotica systeem nu op een raspberry pi 4 draaien? Zoja hoe bevalt dat?
offtopic:
Sommigen denken volgens mij dat ik de god van domotica ben, maar dat valt tegenwoordig wel mee :P De Domoticz periode waarin _alles_ geautomatiseerd moest worden ligt al weer een paar jaren achter mij :+

Verlichting gaat via Philips Hue: beweging + donker is licht aan. En helder genoeg of 30 min. geen beweging = licht uit. Verder heb ik nog wat losse dingetjes (mechanische ventilatie, uitlezen meterstanden) en dat heb ik in Node-RED zitten. En dat is het eigenlijk wel.

Heb een thuisserver (oude i5 desktop) met VMware ESXi, maar eigenlijk is een Pi 4 ook snel zat.

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
ThinkPad schreef op vrijdag 3 januari 2020 @ 17:40:
[...]

offtopic:
Sommigen denken volgens mij dat ik de god van domotica ben, maar dat valt tegenwoordig wel mee :P De Domoticz periode waarin _alles_ geautomatiseerd moest worden ligt al weer een paar jaren achter mij :+

Verlichting gaat via Philips Hue: beweging + donker is licht aan. En helder genoeg of 30 min. geen beweging = licht uit. Verder heb ik nog wat losse dingetjes (mechanische ventilatie, uitlezen meterstanden) en dat heb ik in Node-RED zitten. En dat is het eigenlijk wel.

Heb een thuisserver (oude i5 desktop) met VMware ESXi, maar eigenlijk is een Pi 4 ook snel zat.
Alles moet geautomatiseerd worden! Dat is fijn. En urenlang troubleshooten als het stuk is.

Hier kijk ik wat ik echt nodig heb, en wat fijn werkt. Maar alles automatiseren leer je snel af. :P

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Boudewijn
  • Registratie: februari 2004
  • Laatst online: 04:25

Boudewijn

omdat het kan

Goed ik heb nu best wat leuke dingen gemaakt met Node Red maar ik loop tegen een noob-ding aan denk ik...
Mijn situatie: deconz + home assistant en ik wil lampen met PIRs bedienen.

Op een "on" trigger gaat de lamp aan, op een "off"-trigger een timer en gaat de lamp uit. Alleen als ik in de tussentijd weer beweeg (waarom geldt dit vooral voor de WC) gaat het licht uit en weer aan... en gaat alsnog de blower loeien. Die blower hoort pas aan te gaan als ik al lang weg ben (irritant ding maar soms helaas noodzakelijk :+ ) .

ik heb nu dit staan:


Ik las oa deze post (DeadMetal in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)") , dus ik zou nog een soort extra check kunnen maken om te kijken of de PIR nog aan is en dan een wachttijd en een soort lus schrijven. Maar volgens mij kan het mooier.

In concreto:
Dus na de 1e delay een check doen of de PIR nog uit is. Zo ja, doorgaan, zo nee weer naar de 1e delay.


Kan dit beter?

Noot: ik realiseer me dat ik in plaats van 3 parallele dingen daar ook 1 serieel ding van kan maken. Yep dat is wellicht netter, zeker ihkv dat relais,

Boudewijn wijzigde deze reactie 03-01-2020 23:32 (6%)


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
Ik zou m'n wc-licht zelf niet willen automatiseren, je bevindt je immers vlak naast de schakelaar, maar dat terzijde

@Boudewijn Je zou bij de 1e node nog 'on' bij de if-state kunnen toevoegen, dan kan die 2e node (on or off) weg. Verder zou je bijvoorbeeld nog met de 'wait until' node van HA kunnen werken, dan wacht hij met verder gaan totdat de sensor weer op 'off' gaat. Je kan dat combineren met een instelbare timeout waarde zodat de node een extra uitgang krijgt. Daar koppel je dan de acties aan als de sensor na X minuten nog steeds niet op off staat.

DeadMetal wijzigde deze reactie 07-01-2020 11:28 (16%)


  • Tsurany
  • Registratie: juni 2006
  • Niet online
Boudewijn schreef op vrijdag 3 januari 2020 @ 23:30:
Kan dit beter?

Noot: ik realiseer me dat ik in plaats van 3 parallele dingen daar ook 1 serieel ding van kan maken. Yep dat is wellicht netter, zeker ihkv dat relais,
Ik zou het in twee flows verdelen:
- Trigger bij het detecteren van beweging die het licht aanzet en een timestamp in een variabele wegschrijft.
- Timer die elke X seconden kijkt of het licht aan is en zo ja hoe lang dit licht al aan staat. Is het te lang? Dan het licht uit zetten.

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Boudewijn schreef op vrijdag 3 januari 2020 @ 23:30:
Goed ik heb nu best wat leuke dingen gemaakt met Node Red maar ik loop tegen een noob-ding aan denk ik...
Mijn situatie: deconz + home assistant en ik wil lampen met PIRs bedienen.

Op een "on" trigger gaat de lamp aan, op een "off"-trigger een timer en gaat de lamp uit. Alleen als ik in de tussentijd weer beweeg (waarom geldt dit vooral voor de WC) gaat het licht uit en weer aan... en gaat alsnog de blower loeien. Die blower hoort pas aan te gaan als ik al lang weg ben (irritant ding maar soms helaas noodzakelijk :+ ) .

ik heb nu dit staan:


Ik las oa deze post (DeadMetal in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)") , dus ik zou nog een soort extra check kunnen maken om te kijken of de PIR nog aan is en dan een wachttijd en een soort lus schrijven. Maar volgens mij kan het mooier.

In concreto:
Dus na de 1e delay een check doen of de PIR nog uit is. Zo ja, doorgaan, zo nee weer naar de 1e delay.
[Afbeelding]

Kan dit beter?

Noot: ik realiseer me dat ik in plaats van 3 parallele dingen daar ook 1 serieel ding van kan maken. Yep dat is wellicht netter, zeker ihkv dat relais,
Ik gebruik de stoptimer node, dan kan je een timer stoppen, en als je hem inderdaad doorverbind gaat het voor jou ook werken.

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Gizz
  • Registratie: maart 2001
  • Laatst online: 22:53

Gizz

Dunder-Mifflin, Inc.

Paar maanden terug geprobeerd om wat processen van Domoticz naar Node Red te verplaatsen. Toen, gefrustreerd door de simpelste dingen die niet leken te lukken, (tijdelijk) opgegeven. Vandaag weer vol goede moed begonnen, maar wederom lukken de simpelste zaken niet. Ondanks dat het vrij basic is ga ik mijn vraag toch hier stellen, want ik wil wel eens verder geraken dan naar niet werkende flows kijken :)

Om met één probleem te beginnen: MQTT berichtjes die ik prima zie verschijnen in MQTT Explorer krijg ik tot nu toe niet te zien in NR.

Ik heb een aantal CO2-sensoren in huis die hun waardes via MQTT pushen. Bijvoorbeeld de sensor in de huiskamer:


In MQTT Explorer zie ik netjes alle waardes die geupdate worden.

Het gaat mij om de PPM, dus het topic wordt CO2_huiskamer/CO2/PPM (copy paste uit MQTT Explorer).


In NR een simpele debugflow gemaakt. Ik deploy de flow en.. het debugscherm blijft leeg. Tegelijkertijd zie ik in MQTT Explorer dat er netjes waardes binnen blijven stromen van de sensor.

Ook als ik voor het topic nog een / plaats (zoals bijvoorbeeld gesuggereerd in deze guide) blijft het debugscherm leeg. Voor zover ik weet heb ik echt dezelfde stappen gevolgd als in die guide. Welke basic fout maak ik hier?

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


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 21:26

ThinkPad

Moderator Duurzame Energie & Domotica
Ben ik ook wel benieuwd naar, ben eens tegen hetzelfde aangelopen nu ik je post zo lees. Maar verder nooit echt in verdiept, gebruik ook geen MQTT meer eigenlijk.

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Gizz schreef op dinsdag 7 januari 2020 @ 16:27:
Paar maanden terug geprobeerd om wat processen van Domoticz naar Node Red te verplaatsen. Toen, gefrustreerd door de simpelste dingen die niet leken te lukken, (tijdelijk) opgegeven. Vandaag weer vol goede moed begonnen, maar wederom lukken de simpelste zaken niet. Ondanks dat het vrij basic is ga ik mijn vraag toch hier stellen, want ik wil wel eens verder geraken dan naar niet werkende flows kijken :)

Om met één probleem te beginnen: MQTT berichtjes die ik prima zie verschijnen in MQTT Explorer krijg ik tot nu toe niet te zien in NR.

Ik heb een aantal CO2-sensoren in huis die hun waardes via MQTT pushen. Bijvoorbeeld de sensor in de huiskamer:

[Afbeelding]
In MQTT Explorer zie ik netjes alle waardes die geupdate worden.

Het gaat mij om de PPM, dus het topic wordt CO2_huiskamer/CO2/PPM (copy paste uit MQTT Explorer).

[Afbeelding]
In NR een simpele debugflow gemaakt. Ik deploy de flow en.. het debugscherm blijft leeg. Tegelijkertijd zie ik in MQTT Explorer dat er netjes waardes binnen blijven stromen van de sensor.

Ook als ik voor het topic nog een / plaats (zoals bijvoorbeeld gesuggereerd in deze guide) blijft het debugscherm leeg. Voor zover ik weet heb ik echt dezelfde stappen gevolgd als in die guide. Welke basic fout maak ik hier?
Ik test het nu ook even..hier gaat het prima? :? Probeer eens je debug output op complete msg te zetten, wat krijg je dan?



Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Gizz
  • Registratie: maart 2001
  • Laatst online: 22:53

Gizz

Dunder-Mifflin, Inc.

Dacuuu schreef op dinsdag 7 januari 2020 @ 16:57:
[...]


Ik test het nu ook even..hier gaat het prima? :? Probeer eens je debug output op complete msg te zetten, wat krijg je dan?
Dank voor het meedenken. Ook op complete msg bleef de boel leeg.

Het goede nieuws is dat ik nu data ontvang nadat ik mijn MQTT broker heb herstart.. Blijf het vreemd vinden dat NR niets ontving want MQTT Explorer zag, zoals eerder gezegd, netjes alle berichten.

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


  • Boudewijn
  • Registratie: februari 2004
  • Laatst online: 04:25

Boudewijn

omdat het kan

DeadMetal schreef op dinsdag 7 januari 2020 @ 11:22:
Ik zou m'n wc-licht zelf niet willen automatiseren, je bevindt je immers vlak naast de schakelaar, maar dat terzijde
Mja net niet dus. maar deze use-case geldt voor meer plekken. De plee is wel heel simpel (1 sensor) dus mooi voorbeeld.
@Boudewijn Je zou bij de 1e node nog 'on' bij de if-state kunnen toevoegen, dan kan die 2e node (on or off) weg. Verder zou je bijvoorbeeld nog met de 'wait until' node van HA kunnen werken, dan wacht hij met verder gaan totdat de sensor weer op 'off' gaat. Je kan dat combineren met een instelbare timeout waarde zodat de node een extra uitgang krijgt. Daar koppel je dan de acties aan als de sensor na X minuten nog steeds niet op off staat.
Hmm ja dat is denk ik wel wat ik wilde. Morgen eens kijken of dat goed werkt, dank voor de tip.
Tsurany schreef op dinsdag 7 januari 2020 @ 12:26:
[...]

Ik zou het in twee flows verdelen:
- Trigger bij het detecteren van beweging die het licht aanzet en een timestamp in een variabele wegschrijft.
- Timer die elke X seconden kijkt of het licht aan is en zo ja hoe lang dit licht al aan staat. Is het te lang? Dan het licht uit zetten.
Wat is hier mooier aan dan aan die wait until waarbij je wacht tot de PIR weer uit is? dat lijkt me best wel charmant tbh.
Dacuuu schreef op dinsdag 7 januari 2020 @ 12:33:
[...]


Ik gebruik de stoptimer node, dan kan je een timer stoppen, en als je hem inderdaad doorverbind gaat het voor jou ook werken.

[Afbeelding]
Je hebt hier in feite een lusje gecreeerd dat 2x per minuut het volume van je tv wat zachter zet?

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Boudewijn schreef op dinsdag 7 januari 2020 @ 22:04:

Je hebt hier in feite een lusje gecreeerd dat 2x per minuut het volume van je tv wat zachter zet?
Ja mijn voorbeeld is slechts een voorbeeld.

Maar je moet hem dus gewoon doorlussen.

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Boudewijn
  • Registratie: februari 2004
  • Laatst online: 04:25

Boudewijn

omdat het kan

Dacuuu schreef op dinsdag 7 januari 2020 @ 22:11:
[...]


Ja mijn voorbeeld is slechts een voorbeeld.

Maar je moet hem dus gewoon doorlussen.
Check, duidelijk. Dank je wel!

  • Gizz
  • Registratie: maart 2001
  • Laatst online: 22:53

Gizz

Dunder-Mifflin, Inc.

Ik heb een werkende flow die aangeeft of mijn wasmachine klaar is. Hiervoor gebruik ik een hysteresis-node en het bericht (message.payload) wordt naar Pushbullet gestuurd. Nu wil ik hetzelfde bericht vanuit de hysteresis-node ook via Telegram ontvangen.

Omdat alleen message.payload niet voldoende is voor Telegram heb ik een change-node toegevoegd met de volgende acties:

set msg.payload.content to msg.payload
set msg.payload.type to message (string)
set msg.payload.chatId to 12345678 (integer)

Want:
The msg.payload must be an object that contains a complete set of telegram message properties, at a minimum these should contain:

content the message contents
type the type of message contents
chatId the chatId number
Alleen lijken deze rules niet zoveel te doen. Als ik de output debug is het resultaat precies hetzelfde als de data voordat deze de change-node in gaat:

{"_msgid":"ff5c893b.138628","topic":"Clean clothes","payload":"Laundry finished!","hystdirection":"initial low"}

Geen msg.payload.content / msg.payload.chatId / msg.payload.type te zien. En de telegram-sender node klaagt dat hij iets aangereikt krijgt met een lege msg.payload.chatId. Heb ik nu de werking van de change-node compleet verkeerd geïnterpreteerd?

edit: opgelost door set msg.payload.content to msg.payload te veranderen in move msg.payload to msg.payload.content. Ik begrijp alleen niet helemaal waarom het eerste niet werkt / mag.

Gizz wijzigde deze reactie 08-01-2020 19:02 (18%)

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


  • RudolfR
  • Registratie: maart 2011
  • Laatst online: 19:56
Ik heb mijn hass.io op een rpi op een centrale plaats in huis staan i.v.m. het bereik van de RfxCom.
Ik zou graag wat willen testen met een iets snellere machine en daarvoor de RfxCom willen doorzetten naar MQTT (en v.v.) met behulp van node-red-contrib-rfxcom.

Zoals hier beschreven staat:
https://thingsmatic.com/2...-mqtt-and-home-assistant/
Of op deze tweakblog:
Naj's Tweakblog: Een lamp aan uit zetten met MQTT en Node-RED
[{"id":"3506ba2.30cfa46","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"6cef34fa.f4148c","type":"rfx-lights-out","z":"3506ba2.30cfa46","name":"RFXCOM","port":"c4b8c4a1.205cb8","topicSource":"msg","retransmit":"once","retransmitInterval":"10","topic":"","x":537.0000038146973,"y":554.3684787750244,"wires":[]},{"id":"bfc4de59.08fcd","type":"rfx-lights-in","z":"3506ba2.30cfa46","name":"","port":"c4b8c4a1.205cb8","topicSource":"all","topic":"","x":140,"y":321.7368469238281,"wires":[["f5984296.a5702","6903761d.6910b8"]]},{"id":"f5984296.a5702","type":"debug","z":"3506ba2.30cfa46","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":448,"y":281.7368469238281,"wires":[]},{"id":"6903761d.6910b8","type":"mqtt out","z":"3506ba2.30cfa46","name":"hass.io","topic":"","qos":"","retain":"","broker":"6b85597a.222508","x":514,"y":345.3684501647949,"wires":[]},{"id":"428fccb.84c6334","type":"mqtt in","z":"3506ba2.30cfa46","name":"","topic":"AC/#","qos":"2","datatype":"auto","broker":"6b85597a.222508","x":148,"y":555.5263366699219,"wires":[["6cef34fa.f4148c","c720d301.552cc"]]},{"id":"c720d301.552cc","type":"debug","z":"3506ba2.30cfa46","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":406.00000381469727,"y":605.8947162628174,"wires":[]},{"id":"c4b8c4a1.205cb8","type":"rfxtrx-port","z":"","port":"/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1XEAE4X-if00-port0","enableDebug":true,"rfyVenetianMode":"EU"},{"id":"6b85597a.222508","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"node-red","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Door de schakelaars te bedienen heb ik de adressen kunnen achterhalen.
AC/0x00112244/[0-16] en hier publiceer ik payloads naar toe via HA, zoals "On", "Off" en "Level 50%".

Werkt voor de meeste lampen heel goed, maar één stel buitenschakelaars (/2) heeft kuren; deze reageren alleen nadat ik hetzelfde commando naar een andere buitenlamp (/4) heb gestuurd (die bovendien nog verder weg staat, dus bereik is geen probleem)
:? Wat kan hier aan de hand zijn?

  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Wat is nu het makkelijkste/kortste script om een lamp te dimmen?
Ik ben al een tijdje op zoek: https://www.google.com/se...ed+call+service+brighness

Maar ik vind 100 en 1 manier, en omdat ieder het toespits op zich zelf vind ik het lastig om te buigen voor mijn toepassing.
Wat ik zoek voor nu: Inject node -> huidige brightness + 10%
Er komt een andere knop voor het zelfde, maar dan huidige brightness - 10%

Ik heb nu dit gemaakt icm de calculator node, elke inject node klik is 50 brightness er bij.
Iemand tips?



code:
1
[{"id":"6655aef2.556df","type":"api-call-service","z":"f06e47b0.6e32e8","name":"WLED","server":"1997c54b.5ff4fb","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.wled","data":"{\"brightness\":{{payload}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1168.5,"y":205,"wires":[[]]},{"id":"9b105d43.1554f","type":"inject","z":"f06e47b0.6e32e8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":147.5,"y":168,"wires":[["c4f2b2c4.2b377"]]},{"id":"c4f2b2c4.2b377","type":"api-current-state","z":"f06e47b0.6e32e8","name":"Haal data op","server":"1997c54b.5ff4fb","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.wled","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":341,"y":161,"wires":[["2618b21a.66c2be"]]},{"id":"2618b21a.66c2be","type":"change","z":"f06e47b0.6e32e8","name":"data.attributes.brightness naar msg.payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.attributes.brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":625,"y":164,"wires":[["4c9b06dd.caceb8"]]},{"id":"c910e66f.62b068","type":"calculator","z":"f06e47b0.6e32e8","name":"","inputMsgField":"payload","outputMsgField":"payload","operation":"sum","constant":"50","x":1028,"y":162,"wires":[["e68c80ea.16a87","6655aef2.556df"]]},{"id":"e68c80ea.16a87","type":"debug","z":"f06e47b0.6e32e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1187.5,"y":113,"wires":[]},{"id":"5bdebe84.8532f","type":"api-call-service","z":"f06e47b0.6e32e8","name":"WLED","server":"1997c54b.5ff4fb","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.wled","data":"{\"brightness\":{{paymeer}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1190,"y":388,"wires":[[]]},{"id":"5d038491.8cfc9c","type":"inject","z":"f06e47b0.6e32e8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":135,"y":314,"wires":[["c4e11b84.b364b8"]]},{"id":"c4e11b84.b364b8","type":"api-current-state","z":"f06e47b0.6e32e8","name":"Haal data op","server":"1997c54b.5ff4fb","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.wled","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":335.5,"y":314,"wires":[["2e85a76f.a063c8"]]},{"id":"2e85a76f.a063c8","type":"change","z":"f06e47b0.6e32e8","name":"data.attributes.brightness naar msg.payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.attributes.brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":619.5,"y":316,"wires":[["6f5a60d7.29b86"]]},{"id":"31051fb7.92a7a","type":"calculator","z":"f06e47b0.6e32e8","name":"","inputMsgField":"payload","outputMsgField":"paymeer","operation":"sub","constant":"50","x":1035.5,"y":322,"wires":[["83c8b339.0c3fa","5bdebe84.8532f"]]},{"id":"83c8b339.0c3fa","type":"debug","z":"f06e47b0.6e32e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"paymeer","targetType":"msg","x":1221,"y":290,"wires":[]},{"id":"4c9b06dd.caceb8","type":"switch","z":"f06e47b0.6e32e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"1","vt":"str"},{"t":"lte","v":"255","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":881.5,"y":165,"wires":[["c910e66f.62b068"],[]]},{"id":"6f5a60d7.29b86","type":"switch","z":"f06e47b0.6e32e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"20","vt":"str"},{"t":"lte","v":"255","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":886,"y":319,"wires":[["31051fb7.92a7a"],[]]},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":false}]

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Dacuuu schreef op maandag 13 januari 2020 @ 13:09:
Wat is nu het makkelijkste/kortste script om een lamp te dimmen?
Ik ben al een tijdje op zoek: https://www.google.com/se...ed+call+service+brighness

Maar ik vind 100 en 1 manier, en omdat ieder het toespits op zich zelf vind ik het lastig om te buigen voor mijn toepassing.
Wat ik zoek voor nu: Inject node -> huidige brightness + 10%
Er komt een andere knop voor het zelfde, maar dan huidige brightness - 10%

Ik heb nu dit gemaakt icm de calculator node, elke inject node klik is 50 brightness er bij.
Iemand tips?

[Afbeelding]

code:
1
[{"id":"6655aef2.556df","type":"api-call-service","z":"f06e47b0.6e32e8","name":"WLED","server":"1997c54b.5ff4fb","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.wled","data":"{\"brightness\":{{payload}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1168.5,"y":205,"wires":[[]]},{"id":"9b105d43.1554f","type":"inject","z":"f06e47b0.6e32e8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":147.5,"y":168,"wires":[["c4f2b2c4.2b377"]]},{"id":"c4f2b2c4.2b377","type":"api-current-state","z":"f06e47b0.6e32e8","name":"Haal data op","server":"1997c54b.5ff4fb","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.wled","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":341,"y":161,"wires":[["2618b21a.66c2be"]]},{"id":"2618b21a.66c2be","type":"change","z":"f06e47b0.6e32e8","name":"data.attributes.brightness naar msg.payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.attributes.brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":625,"y":164,"wires":[["4c9b06dd.caceb8"]]},{"id":"c910e66f.62b068","type":"calculator","z":"f06e47b0.6e32e8","name":"","inputMsgField":"payload","outputMsgField":"payload","operation":"sum","constant":"50","x":1028,"y":162,"wires":[["e68c80ea.16a87","6655aef2.556df"]]},{"id":"e68c80ea.16a87","type":"debug","z":"f06e47b0.6e32e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1187.5,"y":113,"wires":[]},{"id":"5bdebe84.8532f","type":"api-call-service","z":"f06e47b0.6e32e8","name":"WLED","server":"1997c54b.5ff4fb","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.wled","data":"{\"brightness\":{{paymeer}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1190,"y":388,"wires":[[]]},{"id":"5d038491.8cfc9c","type":"inject","z":"f06e47b0.6e32e8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":135,"y":314,"wires":[["c4e11b84.b364b8"]]},{"id":"c4e11b84.b364b8","type":"api-current-state","z":"f06e47b0.6e32e8","name":"Haal data op","server":"1997c54b.5ff4fb","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.wled","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":335.5,"y":314,"wires":[["2e85a76f.a063c8"]]},{"id":"2e85a76f.a063c8","type":"change","z":"f06e47b0.6e32e8","name":"data.attributes.brightness naar msg.payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.attributes.brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":619.5,"y":316,"wires":[["6f5a60d7.29b86"]]},{"id":"31051fb7.92a7a","type":"calculator","z":"f06e47b0.6e32e8","name":"","inputMsgField":"payload","outputMsgField":"paymeer","operation":"sub","constant":"50","x":1035.5,"y":322,"wires":[["83c8b339.0c3fa","5bdebe84.8532f"]]},{"id":"83c8b339.0c3fa","type":"debug","z":"f06e47b0.6e32e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"paymeer","targetType":"msg","x":1221,"y":290,"wires":[]},{"id":"4c9b06dd.caceb8","type":"switch","z":"f06e47b0.6e32e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"1","vt":"str"},{"t":"lte","v":"255","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":881.5,"y":165,"wires":[["c910e66f.62b068"],[]]},{"id":"6f5a60d7.29b86","type":"switch","z":"f06e47b0.6e32e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"20","vt":"str"},{"t":"lte","v":"255","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":886,"y":319,"wires":[["31051fb7.92a7a"],[]]},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":false}]
Ik quote me zelf maar even, heb inmiddels een betere/kortere manier gevonden met JSONata.


JSONata expression in the call-service node
De voorbeelden zijn met een variable input waarde input_number.brightness, maar ik heb er gewoon een hard nummer van gemaakt.

Voor omhoog dimmen, met max 255 als waarde.
code:
1
2
3
4
5
6
7
{
  "brightness": $min([
    $entities("light.kitchen").attributes.brightness +
      $entities("input_number.brightness").state,
    255
  ])
}


Voor omlaag dimmen, ment max 2 als waarde.
code:
1
2
3
4
5
6
7
{
  "brightness": $max([
    $entities("light.kitchen").attributes.brightness +
      $entities("input_number.brightness").state,
    2
  ])
}

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Pimmetje651
  • Registratie: oktober 2001
  • Laatst online: 18-02 16:01
Heren mede NR gebruikers . Ik ben al een tijdje aan het zoeken hoe ik hetvolgende kan bouwen binnen NR >
Ik wil graag op een gegeven moment ( als de PIR beweging heeft geregistreerd) de huidige settings van mijn Hue lampen uitleest , en deze tijdelijk bewaart .
Na deze uitlees actie, start er een scene voor een x aantal minuten ( lampen gaan aan in de keuken in de witte kleur) , en na deze x minuten moeten deze lampen weer terug in de eerder uigelezen status .
Iemand enig idee OF en Hoe dit kan binnen NR ? Thnx alvast iedereen voor het meedenken

Its'nice 2be important, but it's more important 2be nice


  • Dacuuu
  • Registratie: maart 2009
  • Laatst online: 05:12
Pimmetje651 schreef op vrijdag 17 januari 2020 @ 11:27:
Heren mede NR gebruikers . Ik ben al een tijdje aan het zoeken hoe ik hetvolgende kan bouwen binnen NR >
Ik wil graag op een gegeven moment ( als de PIR beweging heeft geregistreerd) de huidige settings van mijn Hue lampen uitleest , en deze tijdelijk bewaart .
Na deze uitlees actie, start er een scene voor een x aantal minuten ( lampen gaan aan in de keuken in de witte kleur) , en na deze x minuten moeten deze lampen weer terug in de eerder uigelezen status .
Iemand enig idee OF en Hoe dit kan binnen NR ? Thnx alvast iedereen voor het meedenken
Om alle huidige settings van de lamp op te slaan weet ik niet, maar laten we klein beginnen. Zo doe ik het als het gaat om de helderheid.

Ik haal eerst alle data op van een Lamp (home assistant) De waarde die ik wil hebben is 'data.attributes.brightness' Deze sla ik op in een change node naar 'bright_old' vervolgens laat ik de lamp een keer flashen, en vervolgens zet ik de brightness weer terug met de inhoud van bright_old

Mijn Youtube reviews: https://www.youtube.com/user/BartjuhB/videos


  • Maverick
  • Registratie: oktober 2001
  • Laatst online: 06:26
Ik zie dat er hier mensen zijn met ervaring met een telegram bot. Ik wil deze ook gebruiken, maar krijg dit niet voor elkaar.
Ik heb verschillende pallettes gebruikt maar ik heb geloof ik met beiden hetzelfde probleem.

Ik krijg telkens als de bot "gepolled" wordt de volgende melding:
code:
1
EFATAL: Error: connect ENOENT /bot#mijnbotid#/getUpdates


Ik heb het idee dat het aan de dependencies ligt ofzo, dat ik gewoon ergens iets mis, maar ik weet niet wat. Ik doe dit op en raspberryPi met raspbian. Iemand een idee waar ik moet zoeken?

PSN: DutchTrickle PVoutput


  • Gizz
  • Registratie: maart 2001
  • Laatst online: 22:53

Gizz

Dunder-Mifflin, Inc.

@Maverick Hier staan wat suggesties, o.a. redeployen, er voor zorgen dat maar 1 soort device praat met de bot (dus niet door verschillende palletten dubbel dezelfde bot aanspreken), reboot van NR etc.

Heb je het probleem nog steeds na het uitvoeren van die suggesties?


Ik heb zelf ook nog een vraagstuk :)

Voor het aansturen van de mechanische ventilatie gebruik ik op dit moment 4 sensoren:

3x CO2-sensoren: hangen aan een netvoeding, sturen elke 5 seconden hun waarde door via MQTT
1x Luchtvochtigheidssensor: ligt in de badkamer, aangesloten op een batterij. Stuurt elke 6 minuten een waarde door via MQTT.

Waar ik nu tegenaan loop:
In de situatie dat de luchtvochtigheidssensor een hoge waarde doorgeeft, gaat de mechanische ventilatie op 100%. Zoals het hoort.

Echter, 5 seconden later (als de CO2-sensoren een nieuwe waarde doorgeven en de luchtvochtigheidssensor niet) dan gaat de mechanische ventilatie weer zachter. Hij kijkt dan alleen naar de meest recente waardes van de CO2-sensoren en niet meer naar de waarde van de sensor in de badkamer die minder recent is.

Hoe zorg ik er nou voor dat de waarde die maar 1x per 6 minuten wordt geupdate ook gewoon elke 5 seconden in de vergelijking met de waardes van de CO2-sensoren wordt meegenomen?

Gizz wijzigde deze reactie 19-01-2020 14:20 (59%)

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


  • DeadMetal
  • Registratie: mei 2002
  • Laatst online: 23-02 16:19
@Gizz Ik zou je huidige flow moeten zien om het probleem echt te snappen. Maar kan je niet bijv. de waarde die 1x per 6 minuten opgestuurd wordt opslaan in Node-RED in een flow-variabele (via een change-node, bijv. set flow.luchtvochtigheid to msg.payload).
(en eventueel verder niks, binnen enkele seconden komt immers toch het bericht binnen wat elke 5 seconden komt)

Zodat je bij het afhandelen van het bericht wat elke 5 seconden binnenkomt ook even naar die 6m-waarde kan kijken (via een switch-node), en dan pas beslissen wat je met de ventilatie wil doen?

P.S. Let erop dat flow-variabelen alleen in hetzelfde tabblad (=flow) in NR werken. Als de waarde ook in een ander tabblad beschikbaar moet zijn, moet je met een global-variabele werken.

DeadMetal wijzigde deze reactie 20-01-2020 09:39 (32%)

@Gizz Je zult waarschijnlijk de badkamer variabele inderdaad naar een flow.-property moeten zetten. Of een context.set in de function node, maar die is weg bij een herstart van NR.

Ik heb toevallig van het weekend min of meer hetzelfde gedaan, maar dan voor de badkamerventilatie
JavaScript:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
let old = flow.get("badkamer.humidity");
let current = (msg.payload.humidity).toFixed(1);
let stand_old = context.get("stand_old");

if (msg.light == "off"){
    msg.humidity = "dalend";
} else if (old - current < 0){
    msg.humidity = "stijgend";
} else { 
    msg.humidity = "dalend";
}
// Stijgend
if (msg.humidity == "stijgend" ){
    // Meer dan 8%?
    if ((current - old) / old * 100 > 8){
        msg.stand = 2;
    } else if (msg.payload.humidity >= 65 && msg.payload.humidity <= 75){
        msg.stand = 1;
    } else if (msg.payload.humidity > 75){
        msg.stand = 2;
    } else {
        msg.stand = 0;
    }
}
// Dalend
else {
    // Licht uit 5 min?
    if (msg.light == "off" && Math.round(msg.data.timeSinceChangedMs / 60000 > 5)){
        msg.stand = 0;
    } else if (msg.payload.humidity > 70 && msg.payload.humidity <= 80){
        msg.stand = 1;
    } else if (msg.payload.humidity > 80){
        msg.stand = 2;
    } else {
        msg.stand = 0;
    }
}

flow.set("badkamer.humidity",current);
node.status({text:"Current: " + current + " , Old: " + old});
context.set("stand_old", msg.stand);

// Geen MQTT bij zelfde stand
if (msg.stand == stand_old){
    return null;
}
return msg;
Bovenstaande is afgelopen weekend gemaakt/bedacht en wellicht kom ik nog een situatie tegen die ik nog niet voorzien heb, maar vooralsnog lijkt het goed te werken zodra er iemand in bad ligt of gaat douchen.

PS. Ik ben geen developer, mijn code is voorbehouden van fouten :+

  • JDunnio
  • Registratie: augustus 2018
  • Laatst online: 19:35
Pimmetje651 schreef op vrijdag 17 januari 2020 @ 11:27:
Heren mede NR gebruikers . Ik ben al een tijdje aan het zoeken hoe ik hetvolgende kan bouwen binnen NR >
Ik wil graag op een gegeven moment ( als de PIR beweging heeft geregistreerd) de huidige settings van mijn Hue lampen uitleest , en deze tijdelijk bewaart .
Na deze uitlees actie, start er een scene voor een x aantal minuten ( lampen gaan aan in de keuken in de witte kleur) , en na deze x minuten moeten deze lampen weer terug in de eerder uigelezen status .
Iemand enig idee OF en Hoe dit kan binnen NR ? Thnx alvast iedereen voor het meedenken
Dacuuu schreef op vrijdag 17 januari 2020 @ 11:47:
[...]


Om alle huidige settings van de lamp op te slaan weet ik niet, maar laten we klein beginnen. Zo doe ik het als het gaat om de helderheid.

Ik haal eerst alle data op van een Lamp (home assistant) De waarde die ik wil hebben is 'data.attributes.brightness' Deze sla ik op in een change node naar 'bright_old' vervolgens laat ik de lamp een keer flashen, en vervolgens zet ik de brightness weer terug met de inhoud van bright_old

[Afbeelding]
Toevallig liep tegen ik deze week tegen hetzelfde issue aan. Soms wil je een melding geven met een lampkleur of zoals in mijn geval bij het activeren van het alarm en daarna weer terug naar de oude stand. Ik had eigenlijk gehoopt dat je een capture kon doen van een groep van lampen, maar heb hier niets op kunnen vinden. Wel een script gevonden voor een enkele lamp en dit flink uitgebreid.

Ik heb het opgelost met een subflow die aangeroepen kan worden per kamer of voor alle lampen met een reset of store. De store wordt dan per lamp in een global variabele gezet met kleur, brightness etc.
Dit werkt dan op zowel hue kleurenlampen, hue ambiance en zwave dimmers uit HA. Mogelijk moet het voor andere kleurenlampen aangepast worden als deze andere attributen hebben.

Per kamer heb ik dan een aparte store (bv store_kitchen) en reset actie (bv reset kitchen). Even wat werk, maar het is meer van hetzelfde en ik zoveel lampen heb ik niet die hier gebruik van moeten maken.


code:
1
[{"id":"a72011f7.394d8","type":"subflow","name":"Light State","info":"","category":"","in":[{"x":25,"y":306,"wires":[{"id":"9b2caad8.d47ef"}]}],"out":[{"x":1300,"y":680,"wires":[{"id":"3b4f395a.337d66","port":0},{"id":"4df70287.e16584","port":0},{"id":"449fde02.b8ea","port":0},{"id":"fa4b6838.2fab8","port":0},{"id":"b579ddd9.8c50a","port":0},{"id":"bb07361c.e173e","port":0},{"id":"2d0fb41c.606174","port":0},{"id":"ec257fa8.371628","port":0},{"id":"967d3778.ef1fb8","port":0},{"id":"1906f620.326aea","port":0},{"id":"18880708.1a88c9","port":0},{"id":"b66b8423.a53fb","port":0},{"id":"499a5f0c.4c4888","port":0},{"id":"b2b3d092.737de","port":0},{"id":"b194e0fe.1351a8","port":0},{"id":"cc1e58c9.69bb58","port":0}]}],"env":[],"status":{"x":1120,"y":40,"wires":[]}},{"id":"4deb7da4.a7f1ac","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.zw_fbd2_wk_plafond_level_s1","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":186,"wires":[["ec257fa8.371628"]]},{"id":"3b4f395a.337d66","type":"function","z":"a72011f7.394d8","name":"Reset State - light_zw_fbd2_wk_plafond_level_s1","func":"var flow_data = global.get(\"zw_fbd2_wk_plafond_level_s1\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.zw_fbd2_wk_plafond_level_s1\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":904,"y":858,"wires":[["cc014ec3.4c0e9"]]},{"id":"9b2caad8.d47ef","type":"switch","z":"a72011f7.394d8","name":"store/reset/or per room","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"store","vt":"str"},{"t":"eq","v":"reset","vt":"str"},{"t":"eq","v":"store_alarmlights","vt":"str"},{"t":"eq","v":"reset_alarmlights","vt":"str"},{"t":"eq","v":"store_livingroom","vt":"str"},{"t":"eq","v":"reset_livingroom","vt":"str"},{"t":"eq","v":"store_kitchen","vt":"str"},{"t":"eq","v":"reset_kitchen","vt":"str"},{"t":"eq","v":"store_hallway","vt":"str"},{"t":"eq","v":"reset_hallway","vt":"str"}],"checkall":"true","repair":false,"outputs":10,"x":175,"y":306,"wires":[["7f179aff.6a62fc"],["9d3eb7ad.bb442"],[],[],["7749c5c9.0726dc"],["94524c7b.5c8358"],["3fe1fb19.b6f294"],["adcd3b4c.97db98"],["9ee5522d.f17b8"],["6030e6e6.4b098"]]},{"id":"ec257fa8.371628","type":"function","z":"a72011f7.394d8","name":"Store state - zw_fbd2_wk_plafond_level_s1","func":"global.set(\"zw_fbd2_wk_plafond_level_s1\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1084,"y":186,"wires":[[]]},{"id":"bee763ff.fbc848","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.hue_wk_hanglamp_links","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":246,"wires":[["967d3778.ef1fb8"]]},{"id":"967d3778.ef1fb8","type":"function","z":"a72011f7.394d8","name":"Store state - hue_wk_hanglamp_links","func":"global.set(\"hue_wk_hanglamp_links\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1064,"y":246,"wires":[[]]},{"id":"4df70287.e16584","type":"function","z":"a72011f7.394d8","name":"Reset State - hue_wk_hanglamp_links","func":"var flow_data = global.get(\"hue_wk_hanglamp_links\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.hue_wk_hanglamp_links\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":864,"y":918,"wires":[["cc014ec3.4c0e9"]]},{"id":"9aaa3481.7ff148","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.hue_wk_hanglamp_rechts","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":306,"wires":[["1906f620.326aea"]]},{"id":"1906f620.326aea","type":"function","z":"a72011f7.394d8","name":"Store state - hue_wk_hanglamp_rechts","func":"global.set(\"hue_wk_hanglamp_rechts\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1074,"y":306,"wires":[[]]},{"id":"408cc7e0.bb2a78","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.hue_wk_rechtsvoor","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":366,"wires":[["18880708.1a88c9"]]},{"id":"18880708.1a88c9","type":"function","z":"a72011f7.394d8","name":"Store state - hue_wk_rechtsvoor","func":"global.set(\"hue_wk_rechtsvoor\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1054,"y":366,"wires":[[]]},{"id":"4baf4b9a.1cef34","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.hue_wk_rechtsachter","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":426,"wires":[["b66b8423.a53fb"]]},{"id":"b66b8423.a53fb","type":"function","z":"a72011f7.394d8","name":"Store state - hue_wk_rechtsachter","func":"global.set(\"hue_wk_rechtsachter\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1054,"y":426,"wires":[[]]},{"id":"97b46f85.81d238","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.hue_keukentafel","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":526,"wires":[["499a5f0c.4c4888"]]},{"id":"499a5f0c.4c4888","type":"function","z":"a72011f7.394d8","name":"Store state - hue_keukentafel","func":"global.set(\"hue_keukentafel\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1044,"y":526,"wires":[[]]},{"id":"746c59c5.3a5e6","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.zw_fbd2_kk_eiland_level_s1","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":774,"y":586,"wires":[["b2b3d092.737de"]]},{"id":"b2b3d092.737de","type":"function","z":"a72011f7.394d8","name":"Store state - zw_fbd2_kk_eiland_level_s1","func":"global.set(\"zw_fbd2_kk_eiland_level_s1\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1074,"y":586,"wires":[[]]},{"id":"449fde02.b8ea","type":"function","z":"a72011f7.394d8","name":"Reset State - hue_wk_hanglamp_rechts","func":"var flow_data = global.get(\"hue_wk_hanglamp_rechts\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.hue_wk_hanglamp_rechts\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":873,"y":978,"wires":[["cc014ec3.4c0e9"]]},{"id":"fa4b6838.2fab8","type":"function","z":"a72011f7.394d8","name":"Reset State - hue_wk_rechtsvoor","func":"var flow_data = global.get(\"hue_wk_rechtsvoor\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.hue_wk_rechtsvoor\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":853,"y":1038,"wires":[["cc014ec3.4c0e9"]]},{"id":"b579ddd9.8c50a","type":"function","z":"a72011f7.394d8","name":"Reset State - hue_wk_rechtsachter","func":"var flow_data = global.get(\"hue_wk_rechtsachter\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.hue_wk_rechtsachter\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":853,"y":1098,"wires":[["cc014ec3.4c0e9"]]},{"id":"bb07361c.e173e","type":"function","z":"a72011f7.394d8","name":"Reset State - hue_keukentafel","func":"var flow_data = global.get(\"hue_keukentafel\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.hue_keukentafel\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":843,"y":1218,"wires":[["cc014ec3.4c0e9"]]},{"id":"2d0fb41c.606174","type":"function","z":"a72011f7.394d8","name":"Reset State - zw_fbd2_kk_eiland_level_s1","func":"var flow_data = global.get(\"zw_fbd2_kk_eiland_level_s1\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.zw_fbd2_kk_eiland_level_s1\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":883,"y":1278,"wires":[["cc014ec3.4c0e9"]]},{"id":"7749c5c9.0726dc","type":"link out","z":"a72011f7.394d8","name":"save_state_light_livingroom","links":["739ab232.e478a4"],"x":435,"y":186,"wires":[]},{"id":"739ab232.e478a4","type":"link in","z":"a72011f7.394d8","name":"save_state_light_livingroom","links":["7749c5c9.0726dc","9d506121.c88fa8","7f179aff.6a62fc"],"x":515,"y":186,"wires":[["4deb7da4.a7f1ac","bee763ff.fbc848","9aaa3481.7ff148","408cc7e0.bb2a78","4baf4b9a.1cef34"]]},{"id":"94524c7b.5c8358","type":"link out","z":"a72011f7.394d8","name":"reset_state_light_livingroom","links":["78d26cee.ba6704"],"x":435,"y":858,"wires":[]},{"id":"78d26cee.ba6704","type":"link in","z":"a72011f7.394d8","name":"reset_state_light_livingroom","links":["94524c7b.5c8358","9d3eb7ad.bb442"],"x":515,"y":858,"wires":[["3b4f395a.337d66","4df70287.e16584","449fde02.b8ea","fa4b6838.2fab8","b579ddd9.8c50a"]]},{"id":"9d3eb7ad.bb442","type":"link out","z":"a72011f7.394d8","name":"reset_state_all","links":["41968709.8a0878","78d26cee.ba6704","dcdcc687.d62ae"],"x":435,"y":798,"wires":[]},{"id":"7f179aff.6a62fc","type":"link out","z":"a72011f7.394d8","name":"save_state_all","links":["739ab232.e478a4","8baf7f8f.5da6","afc12a19.ec5e2"],"x":435,"y":126,"wires":[]},{"id":"73bae27c.247b14","type":"comment","z":"a72011f7.394d8","name":"=== LIVING ===","info":"","x":620,"y":146,"wires":[]},{"id":"3fe1fb19.b6f294","type":"link out","z":"a72011f7.394d8","name":"save_state_light_kitchen","links":["afc12a19.ec5e2"],"x":435,"y":526,"wires":[]},{"id":"afc12a19.ec5e2","type":"link in","z":"a72011f7.394d8","name":"save_state_light_kitchen","links":["3fe1fb19.b6f294","7f179aff.6a62fc"],"x":515,"y":526,"wires":[["97b46f85.81d238","746c59c5.3a5e6"]]},{"id":"adcd3b4c.97db98","type":"link out","z":"a72011f7.394d8","name":"reset_state_light_kitchen","links":["41968709.8a0878"],"x":435,"y":1218,"wires":[]},{"id":"41968709.8a0878","type":"link in","z":"a72011f7.394d8","name":"reset_state_light_kitchen","links":["9d3eb7ad.bb442","adcd3b4c.97db98"],"x":515,"y":1218,"wires":[["bb07361c.e173e","2d0fb41c.606174"]]},{"id":"e75df446.9f1ac","type":"comment","z":"a72011f7.394d8","name":"=== KITCHEN ===","info":"","x":630,"y":486,"wires":[]},{"id":"cc014ec3.4c0e9","type":"api-call-service","z":"a72011f7.394d8","name":"Call Service","server":"23176b84.edef7c","version":1,"service_domain":"light","service":"turn_on","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1284,"y":858,"wires":[[]]},{"id":"adb2114d.de0ed","type":"comment","z":"a72011f7.394d8","name":"ALL","info":"","x":470,"y":100,"wires":[]},{"id":"3737ed16.ab00ba","type":"comment","z":"a72011f7.394d8","name":"ALL","info":"","x":470,"y":760,"wires":[]},{"id":"d4e42cc3.9414d","type":"comment","z":"a72011f7.394d8","name":"=== LIVING ===","info":"","x":620,"y":818,"wires":[]},{"id":"17d0ff35.3a9461","type":"comment","z":"a72011f7.394d8","name":"=== KITCHEN ===","info":"","x":630,"y":1178,"wires":[]},{"id":"b194e0fe.1351a8","type":"function","z":"a72011f7.394d8","name":"Reset State - hue_hal","func":"var flow_data = global.get(\"hue_hal\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.hue_hal\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":820,"y":1400,"wires":[["cc014ec3.4c0e9"]]},{"id":"6030e6e6.4b098","type":"link out","z":"a72011f7.394d8","name":"reset_state_light_hallway","links":["dcdcc687.d62ae"],"x":442,"y":1400,"wires":[]},{"id":"dcdcc687.d62ae","type":"link in","z":"a72011f7.394d8","name":"reset_state_light_hallway","links":["6030e6e6.4b098","9d3eb7ad.bb442"],"x":522,"y":1400,"wires":[["b194e0fe.1351a8"]]},{"id":"eebcca79.870f98","type":"comment","z":"a72011f7.394d8","name":"=== HALLWAY ===","info":"","x":637,"y":1360,"wires":[]},{"id":"c8a98622.03a06","type":"api-current-state","z":"a72011f7.394d8","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.hue_hal","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":780,"y":680,"wires":[["cc1e58c9.69bb58"]]},{"id":"cc1e58c9.69bb58","type":"function","z":"a72011f7.394d8","name":"Store state - hue_hal","func":"global.set(\"hue_hal\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":1020,"y":680,"wires":[[]]},{"id":"9ee5522d.f17b8","type":"link out","z":"a72011f7.394d8","name":"save_state_light_hallway","links":["8baf7f8f.5da6"],"x":441,"y":680,"wires":[]},{"id":"8baf7f8f.5da6","type":"link in","z":"a72011f7.394d8","name":"save_state_light_halway","links":["7f179aff.6a62fc","9ee5522d.f17b8"],"x":521,"y":680,"wires":[["c8a98622.03a06"]]},{"id":"50be605.d6e7a2","type":"comment","z":"a72011f7.394d8","name":"=== HALLWAY ===","info":"","x":636,"y":640,"wires":[]},{"id":"23176b84.edef7c","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false},{"id":"e631d815.a579","type":"subflow:a72011f7.394d8","z":"283de3b.cc2271c","name":"","env":[],"x":500,"y":100,"wires":[["b69f1f0c.eb05d8"]]},{"id":"46df6820.803de","type":"subflow:a72011f7.394d8","z":"283de3b.cc2271c","name":"","env":[],"x":500,"y":180,"wires":[["b69f1f0c.eb05d8"]]},{"id":"b69f1f0c.eb05d8","type":"debug","z":"283de3b.cc2271c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":180,"wires":[]},{"id":"4ef9e54f.6d62f4","type":"template","z":"283de3b.cc2271c","name":"store state kitchen","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"store_kitchen","output":"str","x":310,"y":40,"wires":[["e631d815.a579"]]},{"id":"f2d085cf.12b26","type":"inject","z":"283de3b.cc2271c","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":40,"wires":[["4ef9e54f.6d62f4"]]},{"id":"ff96f4a6.28d63","type":"template","z":"283de3b.cc2271c","name":"reset state kitchen","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"reset_kitchen","output":"str","x":290,"y":120,"wires":[["46df6820.803de"]]},{"id":"8cc98c5c.8c519","type":"inject","z":"283de3b.cc2271c","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":120,"wires":[["ff96f4a6.28d63"]]}]

JDunnio wijzigde deze reactie 25-01-2020 14:29 (3%)
Reden: reactie op pimmetje ipv Dacuuu


  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

Zijn er Tweakers die Xiaomi flows gebruiken icm met Domoticz?
Ik heb wel NR Xiaomi maar dat ik nou kan zeggen het gaat me lukken..
https://flows.nodered.org...trib-xiaomi-smart-devices

Ik zou al blij zijn als ik ergens een simpele how to kan vinden om een flow te maken.
Domoticz mqtt schakelaar met batterij verbruik aan en uit en de status van zijn batterij.

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • Gizz
  • Registratie: maart 2001
  • Laatst online: 22:53

Gizz

Dunder-Mifflin, Inc.

@Dylantje2 Welke tutorials heb je al geprobeerd?

Ik kom (o.a.) deze dingen tegen:

Xiaomi Gateway in NodeRED. Dezelfde gast heeft meerdere filmpjes over Xiaomi en NR.
Bij deze nodes zit veel meer documentatie dan de nodes die je nu gebruikt

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


  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

Gizz schreef op zondag 26 januari 2020 @ 09:58:
@Dylantje2 Welke tutorials heb je al geprobeerd?

Ik kom (o.a.) deze dingen tegen:

Xiaomi Gateway in NodeRED. Dezelfde gast heeft meerdere filmpjes over Xiaomi en NR.
Bij deze nodes zit veel meer documentatie dan de nodes die je nu gebruikt
Tutoriols... Niet echt te vinden...

Ik heb een werkende flow op internet gevonden waarbij ik eea bij probeer te maken
Het vervelende met de meeste tut. is dat ze icm met de bridge zijn.
Dan heb ik gene probleem, aangezien de bridge out of the box werkt in Domoticz
Maar ik wil eigenlijk met zigbee2mqtt en dan iedere node vanuit zichzelf laten werken met een NR.
code:
1
[{"id":"8d896271.3c4ff","type":"tab","label":"D.M.: Z2M Pirren","disabled":false,"info":""},{"id":"760537c8.e0e388","type":"mqtt in","z":"8d896271.3c4ff","name":"PIR 1","topic":"zigbee2mqtt/X:Pir-1","qos":"0","datatype":"auto","broker":"11411954.213087","x":110,"y":60,"wires":[["f9eba813.77bcb8"]]},{"id":"865633e7.1408f","type":"debug","z":"8d896271.3c4ff","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":120,"wires":[]},{"id":"f9eba813.77bcb8","type":"json","z":"8d896271.3c4ff","name":"","property":"payload","action":"","pretty":false,"x":270,"y":60,"wires":[["8f35afe1.80e23"]]},{"id":"8f35afe1.80e23","type":"function","z":"8d896271.3c4ff","name":"Convert PIR","func":"var occu = msg.payload.occupancy;\nvar batt = msg.payload.battery;\n\nif (occu === true) {\n    msg.payload.occupancy = \"On\";\n} else {\n    msg.payload.occupancy = \"Off\";\n}\nmsg.payload.battery = Math.round(batt);\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":60,"wires":[["e125f930.166528"]]},{"id":"e125f930.166528","type":"change","z":"8d896271.3c4ff","name":"Motion","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.command","pt":"msg","to":"switchlight","tot":"str"},{"t":"set","p":"payload.idx","pt":"msg","to":"12982","tot":"num"},{"t":"move","p":"payload.occupancy","pt":"msg","to":"payload.switchcmd","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":60,"wires":[["865633e7.1408f","e2e8af1a.0eb51"]]},{"id":"e2e8af1a.0eb51","type":"mqtt out","z":"8d896271.3c4ff","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"734a852b.3ac33c","x":890,"y":60,"wires":[]},{"id":"8301a603.2dbec8","type":"mqtt in","z":"8d896271.3c4ff","name":"PIR 2","topic":"zigbee2mqtt/X:Pir-2","qos":"0","datatype":"auto","broker":"11411954.213087","x":110,"y":200,"wires":[["f815f8fa.ad83a8"]]},{"id":"646d08c.adb19f8","type":"debug","z":"8d896271.3c4ff","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":260,"wires":[]},{"id":"f815f8fa.ad83a8","type":"json","z":"8d896271.3c4ff","name":"","property":"payload","action":"","pretty":false,"x":270,"y":200,"wires":[["6165c13f.0bc6f"]]},{"id":"6165c13f.0bc6f","type":"function","z":"8d896271.3c4ff","name":"Convert PIR","func":"var occu = msg.payload.occupancy;\nvar batt = msg.payload.battery;\n\nif (occu === true) {\n    msg.payload.occupancy = \"On\";\n} else {\n    msg.payload.occupancy = \"Off\";\n}\nmsg.payload.battery = Math.round(batt);\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":200,"wires":[["e9118ee0.dae57"]]},{"id":"e9118ee0.dae57","type":"change","z":"8d896271.3c4ff","name":"Motion","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.command","pt":"msg","to":"switchlight","tot":"str"},{"t":"set","p":"payload.idx","pt":"msg","to":"12981","tot":"num"},{"t":"move","p":"payload.occupancy","pt":"msg","to":"payload.switchcmd","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":200,"wires":[["646d08c.adb19f8","babbe065.e51b9"]]},{"id":"babbe065.e51b9","type":"mqtt out","z":"8d896271.3c4ff","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"734a852b.3ac33c","x":890,"y":200,"wires":[]},{"id":"688015d7.01c09c","type":"mqtt in","z":"8d896271.3c4ff","name":"Ikea1","topic":"zigbee2mqtt/Ik: Tustek-1","qos":"1","datatype":"auto","broker":"11411954.213087","x":110,"y":340,"wires":[["e6f247a6.eda348"]]},{"id":"5d180265.5e496c","type":"debug","z":"8d896271.3c4ff","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":400,"wires":[]},{"id":"e6f247a6.eda348","type":"json","z":"8d896271.3c4ff","name":"","property":"payload","action":"","pretty":false,"x":270,"y":340,"wires":[["25d3e93d.4e0e76"]]},{"id":"25d3e93d.4e0e76","type":"function","z":"8d896271.3c4ff","name":"Convert PIR","func":"var occu = msg.payload.occupancy;\nvar batt = msg.payload.battery;\n\nif (occu === true) {\n    msg.payload.occupancy = \"On\";\n} else {\n    msg.payload.occupancy = \"Off\";\n}\nmsg.payload.battery = Math.round(batt);\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":340,"wires":[["49098915.078298"]]},{"id":"49098915.078298","type":"change","z":"8d896271.3c4ff","name":"Motion","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.command","pt":"msg","to":"switchlight","tot":"str"},{"t":"set","p":"payload.idx","pt":"msg","to":"12984","tot":"num"},{"t":"move","p":"payload.occupancy","pt":"msg","to":"payload.switchcmd","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":340,"wires":[["5d180265.5e496c","ad9a8582.d40d18"]]},{"id":"ad9a8582.d40d18","type":"mqtt out","z":"8d896271.3c4ff","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"734a852b.3ac33c","x":890,"y":340,"wires":[]},{"id":"11411954.213087","type":"mqtt-broker","z":"","name":"Zigbee","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"domoticz/bridge/state","birthQos":"0","birthPayload":"online","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"734a852b.3ac33c","type":"mqtt-broker","z":"","name":"Domoticz mqtt","broker":"192.168.5.70","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"Domoticz","birthQos":"2","birthRetain":"true","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]



En een temperatuur en hum. die gedeeltelijk werkt.
Maar waarbij ik de batterij weer niet aan de gang geslingerd krijg..
code:
1
[{"id":"c67e422f.0cd46","type":"mqtt in","z":"cec62fe4.af05c","name":"THB","topic":"zigbee2mqtt/XA: Temp-hum-1","qos":"1","datatype":"auto","broker":"11411954.213087","x":170,"y":800,"wires":[["3d4b2ac2.0575c6"]]},{"id":"23a46163.57130e","type":"debug","z":"cec62fe4.af05c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":950,"y":740,"wires":[]},{"id":"7e4e0537.aa5b2c","type":"comment","z":"cec62fe4.af05c","name":"Xiaomi Mi Smart Home Temperature / Humidity Sensor","info":"https://xiaomi-mi.com/sockets-and-sensors/aqara-temperature-and-humidity-sensor/\n\nWSDCGQ11LM","x":320,"y":720,"wires":[]},{"id":"3d4b2ac2.0575c6","type":"json","z":"cec62fe4.af05c","name":"","property":"payload","action":"","pretty":false,"x":330,"y":800,"wires":[["b68ad143.e7a08"]]},{"id":"d54e412c.c1506","type":"change","z":"cec62fe4.af05c","name":"Temperature Humidity","rules":[{"t":"delete","p":"payload.pressure","pt":"msg"},{"t":"delete","p":"payload.humidity","pt":"msg"},{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.idx","pt":"msg","to":"12983","tot":"num"},{"t":"set","p":"payload.nvalue","pt":"msg","to":"0","tot":"num"},{"t":"move","p":"payload.temphumi","pt":"msg","to":"payload.svalue","tot":"msg"},{"t":"delete","p":"payload.temperature","pt":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":800,"wires":[["c20b8e54.5b178","23a46163.57130e"]]},{"id":"c20b8e54.5b178","type":"mqtt out","z":"cec62fe4.af05c","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"734a852b.3ac33c","x":950,"y":800,"wires":[]},{"id":"b68ad143.e7a08","type":"function","z":"cec62fe4.af05c","name":"Convert THB","func":"var temp = msg.payload.temperature;\nvar humi = msg.payload.humidity;\nvar pres = msg.payload.pressure;\nvar batt = msg.payload.battery;\nvar forecast = \"5\"\nvar humistat = \"5\"\n\nif (pres < 966) {\n    forecast = \"4\"\n} else if (pres < 993) {\n    forecast = \"3\"\n} else if (pres < 1007) {\n    forecast = \"2\"\n} else if (pres < 1013) {\n    forecast = \"1\"\n} else {\n    forecast = \"0\"\n}\n\nif (humi < 31) {\n    humistat = \"2\"\n} else if (humi > 69) {\n    humistat = \"3\"\n} else if (humi > 34 && humi < 66 && temp > 21 && temp < 27) {\n    humistat = \"1\"\n} else {\n    humistat = \"0\"\n}\n\n\nmsg.payload.temperature = temp.toString();\nmsg.payload.humidity = humi.toString();\nmsg.payload.pressure = pres.toString()+\";\"+forecast;\nmsg.payload.battery = Math.round(batt);\nmsg.payload.temphumi = temp.toString()+\";\"+humi.toString()+\";\"+humistat;\nreturn msg;","outputs":1,"noerr":0,"x":490,"y":800,"wires":[["d54e412c.c1506","9c2125d1.a46028"]]},{"id":"9c2125d1.a46028","type":"change","z":"cec62fe4.af05c","name":"Barometer","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"delete","p":"payload.temperature","pt":"msg"},{"t":"delete","p":"payload.humidity","pt":"msg"},{"t":"delete","p":"payload.temphumi","pt":"msg"},{"t":"set","p":"payload.idx","pt":"msg","to":"553","tot":"num"},{"t":"set","p":"payload.nvalue","pt":"msg","to":"0","tot":"num"},{"t":"move","p":"payload.pressure","pt":"msg","to":"payload.svalue","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":880,"wires":[["23de852.29d577a","5661537.efc95ac"]]},{"id":"23de852.29d577a","type":"debug","z":"cec62fe4.af05c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":950,"y":940,"wires":[]},{"id":"5661537.efc95ac","type":"mqtt out","z":"cec62fe4.af05c","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"734a852b.3ac33c","x":950,"y":880,"wires":[]},{"id":"11411954.213087","type":"mqtt-broker","z":"","name":"Zigbee","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"domoticz/bridge/state","birthQos":"0","birthPayload":"online","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"734a852b.3ac33c","type":"mqtt-broker","z":"","name":"Domoticz mqtt","broker":"192.168.5.70","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"Domoticz","birthQos":"2","birthRetain":"true","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


eigenlijk kan ik gene tutoriols vinden waarbij ik heel simpel een zigbee to mqtt flow stap voor stap kan maken.
De kant en klare, zijn eigenlijk meestal vanuit de bridge.


Daarnaast een ikea tussenstekker aan en uitzetten met een flow, lukt me nog niet eens hahahah

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • JDunnio
  • Registratie: augustus 2018
  • Laatst online: 19:35
@Pimmetje651

Dit is de simpele versie zonder de subflow:
code:
1
[{"id":"a492e35a.380628","type":"api-current-state","z":"283de3b.cc2271c","name":"Get state","server":"23176b84.edef7c","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.zw_fbd2_wk_plafond_level_s1","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":580,"y":400,"wires":[["8ff1b0db.2f5fe8","73b1fa12.1f145c"]]},{"id":"139ad439.5d3574","type":"function","z":"283de3b.cc2271c","name":"Reset State","func":"var flow_data = flow.get(\"livingroom_ceiling\");\n\nmsg.payload = {\n    \"domain\":\"light\",\n    \"service\":\"turn_\" + flow_data[\"state\"],\n    \"data\": {\n        \"entity_id\":\"light.zw_fbd2_wk_plafond_level_s1\",\n        \"brightness\":flow_data.attributes[\"brightness\"],\n        \"rgb_color\":flow_data.attributes[\"rgb_color\"],\n        \"color_temp\":flow_data.attributes[\"color_temp\"],\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"x":590,"y":520,"wires":[["829f4889.78b7b","73b1fa12.1f145c"]]},{"id":"2afe9012.9e4c5","type":"switch","z":"283de3b.cc2271c","name":"On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"store","vt":"str"},{"t":"eq","v":"reset","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":420,"y":433,"wires":[["a492e35a.380628"],["139ad439.5d3574"]]},{"id":"321a7139.803c56","type":"inject","z":"283de3b.cc2271c","name":"","topic":"","payload":"store","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":260,"y":393,"wires":[["2afe9012.9e4c5"]]},{"id":"2201108a.6b8fa8","type":"inject","z":"283de3b.cc2271c","name":"","topic":"","payload":"reset","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":260,"y":453,"wires":[["2afe9012.9e4c5"]]},{"id":"8ff1b0db.2f5fe8","type":"function","z":"283de3b.cc2271c","name":"Store state","func":"flow.set(\"livingroom_ceiling\",msg.data);\nreturn msg;","outputs":1,"noerr":0,"x":728,"y":399,"wires":[[]]},{"id":"a5d69c23.8dcc6","type":"comment","z":"283de3b.cc2271c","name":"Voorbeeld","info":"","x":246,"y":353,"wires":[]},{"id":"829f4889.78b7b","type":"api-call-service","z":"283de3b.cc2271c","name":"Call Service","server":"23176b84.edef7c","version":1,"service_domain":"light","service":"turn_on","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":790,"y":520,"wires":[[]]},{"id":"73b1fa12.1f145c","type":"debug","z":"283de3b.cc2271c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":750,"y":460,"wires":[]},{"id":"23176b84.edef7c","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false}]


Plaatje op:

1 - met je injectnode stuur je store of reset naar de switch node
2 - de switchnode bepaalt of het een store of een reset is, hier heb ik in de uitgebreide versie dus een subflow omheen gemaakt en naast de store en reset ook store_kitchen, reset_kitchen etc. omheen gemaakt. Uitbreiding van deze flow dus.
3 - de get state node haalt de status van een lamp op
4 - de function node zet de complete msg.data (van voorgaande node de complete status van de lamp) in de variabele "livingroom_ceiling" op flow level (flow.set)

De reset sequence:
1- de injectnode zelfde als hierboven
2 - de switchnode zelfde als hierboven
3 - de functionnode "reset state" haalt de variabele "livingroom_ceiling" op die hierboven aangemaakt is.
Vervolgens maakt deze functie een msg payload. Let op dat hier ook het lamp id staat die je moet wijzigen. In dit geval "light.zw_fbd2_wk_plafond_level_s1"
Let op dat dit op flow level is en dus alleen in dezelfde flow kan.
4 - de in de voorgaande node gaat naar een servicenode met domain light. Alle andere velden zijn niet belangrijk omdat deze al in de msg.payload staan

NB: in het subflow voorbeeld heb ik de variabelen op global level (global.set) opgeslagen omdat de informatie niet tussen subflows en de hoofdflow uitgewisseld kan worden.

Als iemand weet hoe dit eenvoudiger kan houd ik me ook aanbevolen :9

JDunnio wijzigde deze reactie 26-01-2020 20:50 (17%)
Reden: picca doet het niet


  • césaar
  • Registratie: september 2006
  • Laatst online: 22-02 22:58
Via node red en mqtt een stepper motor aangestuurd. Alleen nog geen praktische toepassing gevonden.
Volgende onderdelen: Driver board, stepper motor, wemos D1 mini, DC-DC step down convertor en power jack. Software op wemos is tasmota. Vervolgens een case ontworpen om alles in te duwen.


En dan geprint:


Power supply is externe 12v adapter.

  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

césaar schreef op maandag 27 januari 2020 @ 22:35:
Via node red en mqtt een stepper motor aangestuurd. Alleen nog geen praktische toepassing gevonden.
Volgende onderdelen: Driver board, stepper motor, wemos D1 mini, DC-DC step down convertor en power jack. Software op wemos is tasmota. Vervolgens een case ontworpen om alles in te duwen.
[Afbeelding] [Afbeelding]

En dan geprint:
[Afbeelding] [Afbeelding]

Power supply is externe 12v adapter.
mmm rolgordijn....
Ik wil graag een automatisch rolgordijn bij mijn zoontjes
Deze in een hokje waardoor de kabel loopt?
Zou hij dit trekken?

Ik houd me aanbevolen voor alles.. [ als ik vakantie heb wil het graag bouwen en proberen]
Heb je domoticz en dan in een Flow?

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp


  • AUijtdehaag
  • Registratie: oktober 2006
  • Niet online
césaar schreef op maandag 27 januari 2020 @ 22:35:
Via node red en mqtt een stepper motor aangestuurd. Alleen nog geen praktische toepassing gevonden.
Volgende onderdelen: Driver board, stepper motor, wemos D1 mini, DC-DC step down convertor en power jack. Software op wemos is tasmota. Vervolgens een case ontworpen om alles in te duwen.
[Afbeelding] [Afbeelding]

En dan geprint:
[Afbeelding] [Afbeelding]

Power supply is externe 12v adapter.
Wil je de code ook delen?
Ik ben aan het prullen geweest met een steppenmotor en esp8266 voor een itho qualityflow klep. Verder dan wat heen en weer ben ik nog niet gekomen.
De code wil ik wel eens proberen.

PV Output - Panasonic Hit Kuro/Solar Frontier - 5 kW Mitsubsidie


  • césaar
  • Registratie: september 2006
  • Laatst online: 22-02 22:58
Dylantje2 schreef op maandag 27 januari 2020 @ 22:40:
[...]

mmm rolgordijn....
Ik wil graag een automatisch rolgordijn bij mijn zoontjes
Deze in een hokje waardoor de kabel loopt?
Zou hij dit trekken?
Volgens mij valt het gordijn terug naar beneden zodra de motor geen spanning heeft. Continu de motor onder spanning zetten om het gordijn omhoog te houden lijkt me niet leuk.
AUijtdehaag schreef op dinsdag 28 januari 2020 @ 03:29:
[...]

Wil je de code ook delen?
Ik ben aan het prullen geweest met een steppenmotor en esp8266 voor een itho qualityflow klep. Verder dan wat heen en weer ben ik nog niet gekomen.
De code wil ik wel eens proberen.
De ‘code’ is zoals aangegeven tasmota. Is te vinden op github.

  • Dylantje2
  • Registratie: april 2007
  • Laatst online: 23-02 16:09

Dylantje2

sorry Bricklayere here :-)

Iemand een idee waarom deze flow wel werkt als pir, maar niet als schakelaar?
code:
1
[{"id":"8d896271.3c4ff","type":"tab","label":"D.M.: Z2M Pirren","disabled":false,"info":""},{"id":"760537c8.e0e388","type":"mqtt in","z":"8d896271.3c4ff","name":"PIR 1","topic":"zigbee2mqtt/X:Pir-1","qos":"0","datatype":"auto","broker":"11411954.213087","x":110,"y":60,"wires":[["f9eba813.77bcb8"]]},{"id":"865633e7.1408f","type":"debug","z":"8d896271.3c4ff","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":120,"wires":[]},{"id":"f9eba813.77bcb8","type":"json","z":"8d896271.3c4ff","name":"","property":"payload","action":"","pretty":false,"x":270,"y":60,"wires":[["8f35afe1.80e23"]]},{"id":"8f35afe1.80e23","type":"function","z":"8d896271.3c4ff","name":"Convert PIR","func":"var occu = msg.payload.occupancy;\nvar batt = msg.payload.battery;\n\nif (occu === true) {\n    msg.payload.occupancy = \"On\";\n} else {\n    msg.payload.occupancy = \"Off\";\n}\nmsg.payload.battery = Math.round(batt);\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":60,"wires":[["e125f930.166528"]]},{"id":"e125f930.166528","type":"change","z":"8d896271.3c4ff","name":"Motion","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.command","pt":"msg","to":"switchlight","tot":"str"},{"t":"set","p":"payload.idx","pt":"msg","to":"12982","tot":"num"},{"t":"move","p":"payload.occupancy","pt":"msg","to":"payload.switchcmd","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":60,"wires":[["865633e7.1408f","e2e8af1a.0eb51"]]},{"id":"e2e8af1a.0eb51","type":"mqtt out","z":"8d896271.3c4ff","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"734a852b.3ac33c","x":890,"y":60,"wires":[]},{"id":"8301a603.2dbec8","type":"mqtt in","z":"8d896271.3c4ff","name":"PIR 2","topic":"zigbee2mqtt/X:Pir-2","qos":"0","datatype":"auto","broker":"11411954.213087","x":110,"y":200,"wires":[["f815f8fa.ad83a8"]]},{"id":"646d08c.adb19f8","type":"debug","z":"8d896271.3c4ff","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":260,"wires":[]},{"id":"f815f8fa.ad83a8","type":"json","z":"8d896271.3c4ff","name":"","property":"payload","action":"","pretty":false,"x":270,"y":200,"wires":[["6165c13f.0bc6f"]]},{"id":"6165c13f.0bc6f","type":"function","z":"8d896271.3c4ff","name":"Convert PIR","func":"var occu = msg.payload.occupancy;\nvar batt = msg.payload.battery;\n\nif (occu === true) {\n    msg.payload.occupancy = \"On\";\n} else {\n    msg.payload.occupancy = \"Off\";\n}\nmsg.payload.battery = Math.round(batt);\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":200,"wires":[["e9118ee0.dae57"]]},{"id":"e9118ee0.dae57","type":"change","z":"8d896271.3c4ff","name":"Motion","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.command","pt":"msg","to":"switchlight","tot":"str"},{"t":"set","p":"payload.idx","pt":"msg","to":"12981","tot":"num"},{"t":"move","p":"payload.occupancy","pt":"msg","to":"payload.switchcmd","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":200,"wires":[["646d08c.adb19f8","babbe065.e51b9"]]},{"id":"babbe065.e51b9","type":"mqtt out","z":"8d896271.3c4ff","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"734a852b.3ac33c","x":890,"y":200,"wires":[]},{"id":"688015d7.01c09c","type":"mqtt in","z":"8d896271.3c4ff","name":"X: Contact 1","topic":"zigbee2mqtt/X: Contact 1","qos":"1","datatype":"auto","broker":"11411954.213087","x":130,"y":320,"wires":[["e6f247a6.eda348"]]},{"id":"5d180265.5e496c","type":"debug","z":"8d896271.3c4ff","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":380,"wires":[]},{"id":"e6f247a6.eda348","type":"json","z":"8d896271.3c4ff","name":"","property":"payload","action":"","pretty":false,"x":270,"y":320,"wires":[["25d3e93d.4e0e76"]]},{"id":"25d3e93d.4e0e76","type":"function","z":"8d896271.3c4ff","name":"Convert PIR","func":"var occu = msg.payload.occupancy;\nvar batt = msg.payload.battery;\n\nif (occu === true) {\n    msg.payload.occupancy = \"On\";\n} else {\n    msg.payload.occupancy = \"Off\";\n}\nmsg.payload.battery = Math.round(batt);\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":320,"wires":[["49098915.078298"]]},{"id":"49098915.078298","type":"change","z":"8d896271.3c4ff","name":"Motion","rules":[{"t":"delete","p":"payload.voltage","pt":"msg"},{"t":"set","p":"payload.command","pt":"msg","to":"switchlight","tot":"str"},{"t":"set","p":"payload.idx","pt":"msg","to":"12999","tot":"num"},{"t":"move","p":"payload.occupancy","pt":"msg","to":"payload.switchcmd","tot":"msg"},{"t":"move","p":"payload.battery","pt":"msg","to":"payload.Battery","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":320,"wires":[["5d180265.5e496c","ad9a8582.d40d18"]]},{"id":"ad9a8582.d40d18","type":"mqtt out","z":"8d896271.3c4ff","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"734a852b.3ac33c","x":890,"y":320,"wires":[]},{"id":"11411954.213087","type":"mqtt-broker","z":"","name":"Zigbee","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"zigbee2mqtt/","birthQos":"0","birthPayload":"online","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"734a852b.3ac33c","type":"mqtt-broker","z":"","name":"Domoticz mqtt","broker":"192.168.5.70","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"Domoticz","birthQos":"2","birthRetain":"true","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


Ik dacht simpel, de pir werkt ook met aan en uit.
Dus een schakelaar ook..
Maar net niet :-)

zonneboiler, pelletkachel, 27 panels, Atlantic Wpb, pana 5 Kw H met LANbox, Domoticz, Grafana, Solarmeters, WPboiler: http://wqd.nl/dP9y, WP: http://wqd.nl/9GVg, Pana H versie thread: https://bit.ly/2Or4Unp

Pagina: 1 ... 8 9 10 Laatste


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True