Acties:
  • 0 Henk 'm!

  • michaelw1998
  • Registratie: Oktober 2012
  • Laatst online: 15:40
Hey allemaal,

Sinds kort NodeRed aan het uitproberen na een YouTube video te hebben waarin met motion sensor een lamp aangestuurd wordt en na een interval weer wordt uitgezet.
De lamp moet aanblijven als er ineens toch weer beweging is, maar mag dimmen na een interval om vervolgens later helemaal uit te gaan.
Dit gehele deel werkt allemaal prima, inclusief via state onthouden welke waarde voor het dimmen was ingesteld.

Echter is er 1 puntje dat nog niet goed gaat; soms kom ik 's avonds binnen en gaat het licht niet aan. Mijn vermoeden is dat overdag bij beweging alsnog de code getriggerd wordt voor het dimmen; hier wordt de helderheid door 2 gedeeld. Ik denk als overdag een paar keer iemand langs loopt het licht uiteindelijk dus op 0% als 'standaard' gezet wordt.

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

code:
1
[{"id":"8085723ee0996cfd","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"c05867fa6d8230c4","type":"server-state-changed","z":"8085723ee0996cfd","name":"Voordeur Motion Sensor","server":"2374ebd0.deb554","version":5,"outputs":2,"exposeAsEntityConfig":"","entityId":"binary_sensor.motion_voordeur_occupancy","entityIdType":"exact","outputInitially":false,"stateType":"str","ifState":"off","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"5","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":210,"y":320,"wires":[["e2f744ad0494e340"],["e2f744ad0494e340","f1b6491a916d3052"]]},{"id":"bc3b13c15c4881f4","type":"api-call-service","z":"8085723ee0996cfd","name":"Turn off","server":"2374ebd0.deb554","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.lights_voordeur"],"data":"{\"transition\":\"5\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":680,"y":300,"wires":[[]]},{"id":"6ea266359e0c2d5f","type":"api-call-service","z":"8085723ee0996cfd","name":"Turn on","server":"2374ebd0.deb554","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lights_voordeur"],"data":"{\"brightness\":msg.data.attributes.brightness, \"transition\": \"1\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":840,"y":520,"wires":[[]]},{"id":"e2f744ad0494e340","type":"trigger","z":"8085723ee0996cfd","name":"","op1":"dim","op2":"off","op1type":"str","op2type":"str","duration":"15","extend":false,"overrideDelay":false,"units":"s","reset":"on","bytopic":"all","topic":"topic","outputs":2,"x":470,"y":240,"wires":[["3721148fe44356ec"],["bc3b13c15c4881f4"]]},{"id":"b4890ea8977f609b","type":"api-call-service","z":"8085723ee0996cfd","name":"Turn on","server":"2374ebd0.deb554","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lights_voordeur"],"data":"{\"brightness\":msg.data.attributes.brightness/2, \"transition\": 15}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":900,"y":80,"wires":[[]]},{"id":"3721148fe44356ec","type":"api-current-state","z":"8085723ee0996cfd","name":"Current brightness","server":"2374ebd0.deb554","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.lights_voordeur","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"lightBrightness","propertyType":"flow","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":710,"y":160,"wires":[["b4890ea8977f609b"]]},{"id":"54f84c4577a05841","type":"change","z":"8085723ee0996cfd","name":"","rules":[{"t":"set","p":"data","pt":"msg","to":"lightBrightness","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":440,"wires":[["6ea266359e0c2d5f"]]},{"id":"f1b6491a916d3052","type":"api-current-state","z":"8085723ee0996cfd","name":"if dark enough","server":"2374ebd0.deb554","version":3,"outputs":2,"halt_if":"40","halt_if_type":"num","halt_if_compare":"lte","entity_id":"sensor.motion_voordeur_illuminance_lux","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":460,"y":360,"wires":[["54f84c4577a05841"],[]]},{"id":"2374ebd0.deb554","type":"server","name":"Home Assistant","addon":true}]

Acties:
  • 0 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

Ik blijf maar vechten met het gebruik van waardes die niet in sync lopen.
Bijvoorbeeld: Ik heb nu twee vochtmeters, waarvan ik de waardes wil vergelijken.
Als de ene 5% hoger aangeeft dan de andere, wil ik de ventilatie verhogen.

Echter; ze geven op andere momenten een bericht door. En dus krijg ik allerlei NaN waardes.

Ontkom ik dan niet aan global values?

[ Voor 5% gewijzigd door MikeyMan op 08-11-2023 14:14 ]


Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
MikeyMan schreef op woensdag 8 november 2023 @ 14:09:
Ik blijf maar vechten met het gebruik van waardes die niet in sync lopen.
Bijvoorbeeld: Ik heb nu twee vochtmeters, waarvan ik de waardes wil vergelijken.
Als de ene 5% hoger aangeeft dan de andere, wil ik de ventilatie verhogen.

Echter; ze geven op andere momenten een bericht door. En dus krijg ik allerlei NaN waardes.

Ontkom ik dan niet aan global values?
Als je Home Assistant zou gebruiken dan houdt die de laatste state voor je bij. Als je HA (of iets vergelijkbaars) niet gebruikt moet je dat dus zelf bijhouden. Dat kan met een global, maar zou eerst even kijken naar een flow variabele. Werkt vrijwel het zelfde als een global, maar is alleen maar in de betreffende flow beschikbaar.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

musicpixel schreef op woensdag 8 november 2023 @ 16:13:
[...]


Als je Home Assistant zou gebruiken dan houdt die de laatste state voor je bij. Als je HA (of iets vergelijkbaars) niet gebruikt moet je dat dus zelf bijhouden. Dat kan met een global, maar zou eerst even kijken naar een flow variabele. Werkt vrijwel het zelfde als een global, maar is alleen maar in de betreffende flow beschikbaar.
Heb geen HA. Het lukt ook wel via global context/file... Maar als dit de geeigende weg is, gaan we daar maar even mee pielen. Dank voor de tip :)

Enig idee waarom dit niet werkt? :?

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

Zou toch een waarde verwachten in de flow context onder flow.humbath. De payload loopt wel door de flow.

msg.payload.rh is de relative humidity vanuit de sensor.

[ Voor 31% gewijzigd door MikeyMan op 08-11-2023 21:26 ]


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
@MikeyMan
De eerste rule zet msg.payload.rh in msg.payload. Dat betekent dus dat msg.payload nu de waarde van msg.payload.rh bevat. Ik vermoed dat msg.payload.rh nu dus niet meer bestaat want die heb je net overschreven.

Om dat eens te testen zou je de 2 rules ieder in een aparte change node kunnen zetten met debug nodes ertussen zodat je precies ziet wat er gebeurt.

Misschien dat rule 1 verderop in je flow nodig is, maar zo op het eerste gezicht lijkt ie me niet echt nodig. Als een node verderop in je flow een msg.payload nodig heeft als input, dan zou ik deze pas zetten vlak voor die node die dit nodig heeft.

De volgorde van de rules is trouwens belangrijk, dat is de volgorde waarin ze worden uitgevoerd.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

musicpixel schreef op woensdag 8 november 2023 @ 22:51:
@MikeyMan
De eerste rule zet msg.payload.rh in msg.payload. Dat betekent dus dat msg.payload nu de waarde van msg.payload.rh bevat. Ik vermoed dat msg.payload.rh nu dus niet meer bestaat want die heb je net overschreven.
Als dat het euvel is snap ik niet waarom ze een set en een move optie bieden hier eerlijk gezegd. :?

Had verwacht dat de waarde gekopieerd zou worden. En dat de oude gewoon zou blijven bestaan. Ook al omdat er een deep copy optie is.

Morgen eens verder testen met handmatige data.

Acties:
  • 0 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

@musicpixel dat was inderdaad de clue. Vreemd.

Snap dan het verschil tussen set en move niet.

[ Voor 34% gewijzigd door MikeyMan op 09-11-2023 09:08 ]


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
MikeyMan schreef op donderdag 9 november 2023 @ 08:44:
@musicpixel dat was inderdaad de clue. Vreemd.

Snap dan het verschil tussen set en move niet.
Ik moest het even testen, maar zo te zien is een move eigenlijk een set (nieuw=oud) gevolgd door een delete (van oud)

Dus: move msg.payload to msg.test
betekent dat msg.payload leeg is geworden, en msg.test de waarde van de oorspronkelijke msg.payload bevat.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

musicpixel schreef op donderdag 9 november 2023 @ 14:43:
[...]


Ik moest het even testen, maar zo te zien is een move eigenlijk een set (nieuw=oud) gevolgd door een delete (van oud)

Dus: move msg.payload to msg.test
betekent dat msg.payload leeg is geworden, en msg.test de waarde van de oorspronkelijke msg.payload bevat.
Ja maar het aparte is dat na een set blijkbaar ook de oude waarde weg is. Anders zou dit moeten werken toch?

Als ik twee aparte switch nodes pak werkt het wel naar behoren.

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
MikeyMan schreef op donderdag 9 november 2023 @ 03:42:
[...]


Als dat het euvel is snap ik niet waarom ze een set en een move optie bieden hier eerlijk gezegd. :?

Had verwacht dat de waarde gekopieerd zou worden. En dat de oude gewoon zou blijven bestaan. Ook al omdat er een deep copy optie is.

Morgen eens verder testen met handmatige data.
Dat komt omdat msg.payload een object is. Een object (kortgezegd) kan meerdere variabelen en zelfs weer andere objecten bevatten.

In jouw voorbeeld is msg.payload.rh dus onderdeel van msg.payload. Die "rh" zit dus eigenlijk IN msg.payload.

Als je dan de hele msg.payload vervangt door msg.payload.rh, dan overschrijf je dus de oorspronkelijke, complete msg.payload (met die rh erin) door alleen de waarde die in die rh staat. Al het andere dat in msg.payload zat is dan weg.


Die deep copy is bedoeld voor variabelen die een "pointer" zijn. Dat geldt als het goed is voor objecten en ik meen ook voor strings (tekst). Dat werkt ongeveer zo:

Stel je hebt
a = "jantje";
b = "pietje";
c = a;

en je doet vervolgens

a = "klaasje";

dan is c ook "klaasje" geworden.

De reden hiervoor is dat "jantje" op een bepaalde plaats in het geheugen is opgeslagen en dat a slechts een verwijzing (pointer) is naar het begin van dat geheugen (de "j")

Door dan c = a te doen, maak je een kopie van die pointer a naar die plek in het geheugen, dus niet van wat er in dat geheugen zelf staat. c en a wijzen dan beide naar dezelfde plek in het geheugen.
Pas je vervolgens wat in het geheugen staat aan, dan gebeurt dat dus voor zowel c als a.

Bij een deep copy wordt ook het daadwerkelijke geheugen gekopieerd en zijn ze volledig losstaand.

Bij getallen heb je hier geen last van want daarbij worden geen pointers gebruikt.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
MikeyMan schreef op donderdag 9 november 2023 @ 14:45:
[...]


Ja maar het aparte is dat na een set blijkbaar ook de oude waarde weg is. Anders zou dit moeten werken toch?

Als ik twee aparte switch nodes pak werkt het wel naar behoren.
Na een set is de oude waarde alleen weg als je deze overschrijft.

Voorbeeld:

Afbeeldingslocatie: https://tweakers.net/i/tRGOUHhFyw0eX9mggBA4H9-tjx0=/800x/filters:strip_icc():strip_exif()/f/image/I7DX9F9XoHnlGWsxZOcoVmGc.jpg?f=fotoalbum_large

code:
1
[{"id":"7c58f5af94901775","type":"change","z":"47c0408c7bc56509","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"dit is een tekst","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1800,"y":820,"wires":[["95184e0bf80722b8"]]},{"id":"14c7ad689bf5768e","type":"inject","z":"47c0408c7bc56509","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"rh\":55, \"temp\":19}","payloadType":"json","x":1510,"y":820,"wires":[["7c58f5af94901775","340cd549dceb387d"]]},{"id":"95184e0bf80722b8","type":"debug","z":"47c0408c7bc56509","name":"debug 228","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1990,"y":880,"wires":[]},{"id":"340cd549dceb387d","type":"debug","z":"47c0408c7bc56509","name":"debug 229","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1710,"y":880,"wires":[]}]


In de inject node vul ik msg.payload met {"rh":55,"temp":19"}
In de change node Set ik msg.payload = "dit is een tekst"

Dat geeft de volgende debug info:

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

Zoals je ziet is msg (rood) een object welke _msgid en payload bevat (oranje).
payload, dat een member is van het msg object, bevat de variabelen rh en temp (blauw) met resp de waarden 55 en 19.

rh en temp zitten dus IN payload, welke weer IN msg zit.

Als ik vervolgens msg.payload vervang (Set) door de tekst "dit is een tekst", dan wordt het hele payload object, inclusief rh en temp, weggegooid en vervangen door die tekst (een string).
Dit is te zien in de tweede debug melding.

In jouw geval van die 1e rule, wordt er geen tekst in msg.payload gezet, maar wordt dus eerst de waarde die in msg.payload.rh zit opgehaald en bewaard en vervolgens wordt het hele payload object vervangen door die bewaarde waarde die in die rh zat.

Je 2e rule vindt dan dus geen msg.payload.rh meer want die is in rule 1 weggegooid (en vervangen).

Feel free to Buy me a coffee


Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
En nog een voorbeeldje van Deep Copy:

code:
1
[{"id":"7c58f5af94901775","type":"change","z":"47c0408c7bc56509","name":"","rules":[{"t":"set","p":"test","pt":"msg","to":"payload","tot":"msg","dc":true},{"t":"set","p":"payload.rh","pt":"msg","to":"70","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1800,"y":820,"wires":[["95184e0bf80722b8"]]},{"id":"14c7ad689bf5768e","type":"inject","z":"47c0408c7bc56509","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"rh\":55, \"temp\":19}","payloadType":"json","x":1510,"y":820,"wires":[["7c58f5af94901775","340cd549dceb387d"]]},{"id":"95184e0bf80722b8","type":"debug","z":"47c0408c7bc56509","name":"debug 228","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1990,"y":880,"wires":[]},{"id":"340cd549dceb387d","type":"debug","z":"47c0408c7bc56509","name":"debug 229","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1710,"y":880,"wires":[]}]


Lijkt op het eerste gezicht hetzelfde als de flow uit de vorige post, maar ik heb de change node aangepast:

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

In plaats van het overschrijven van msg.payload, maak ik nu een kopie van msg.payload naar msg.test. Ik heb daarbij deep copy aangezet.

Vervolgens pas ik msg.payload.rh aan van 55 naar 70.

msg.test.rh bevat daarna nog steeds 55, terwijl msg.payload.rh 70 is geworden.

Zet vervolgens deep copy maar eens uit en zie het verschil: msg.payload.rh en msg.test.rh zijn nu beide 70 geworden!

Feel free to Buy me a coffee


Acties:
  • +1 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

@musicpixel ik volg wat je zegt... Maar logisch vind ik het nog niet. Morgenochtend nog eens goed lezen.

Acties:
  • 0 Henk 'm!

  • LJ80
  • Registratie: Februari 2007
  • Laatst online: 23-04 11:53
Ik heb deze flow nagemaakt.

https://www.reddit.com/r/...motion_restore_if_motion/
https://imgur.com/a/b55jQXt

En het werkt opzich goed, maar is het volgende mogelijk om extra in te bouwen?

Als je handmatig aan de dimmerknop zit dat dan deze waarde (tijdelijk) wordt behouden.
Dus het licht gaat in dit voorbeeld naar 100%. Dit vindt ik te fel en draai ik handmatig terug naar bijv 50%.
Nu wil ik zolang er motion gedetecteerd wordt dit op 50% blijft.
Wat uiteraard met deze flow niet zo is omdat er als er motion gedetecteerd wordt deze meteen weer naar 100% gaat.

Hoe is dit mogelijk te realiseren?
En handig is dan als er geen motion meer gedetecteerd wordt en de lamp uitgaat. Daarna wel weer standaard naar 100% zoals in de flow gegaan wordt. Waarna je handmatig weer aan kan passen en deze waarde behouden wordt tot de lamp uit gaat na geen motion.

Hoop dat het duidelijk is.


Dit komt volgens mij aardig in de buurt @Wachten...
Ben jij hier uiteindelijk uitgekomen?
Wachten... schreef op donderdag 26 januari 2023 @ 20:29:
@denuz


Wat zie ik over het hoofd?

code:
1
[{"id":"22088a9c6f6e1a67","type":"subflow","name":"Vertragingen (3) (2)","info":"","category":"","in":[{"x":100,"y":120,"wires":[{"id":"43450335975589ca"}]}],"out":[{"x":980,"y":280,"wires":[{"id":"6db119437475920b","port":0},{"id":"d9a7d2c5bf0255dc","port":0},{"id":"c8d7e0ca9a7b7d65","port":0},{"id":"2c8e1e230621cc25","port":0}]}],"env":[{"name":"dimmer","type":"str","value":""}],"meta":{},"color":"#DDAA99"},{"id":"43450335975589ca","type":"api-current-state","z":"22088a9c6f6e1a67","name":"Schoonmaakster aanwezig?","server":"2065350e.86a40a","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.schoonmaakster","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":320,"y":120,"wires":[["6db119437475920b"],["6e835e1b40dd9daf"]]},{"id":"6e835e1b40dd9daf","type":"api-current-state","z":"22088a9c6f6e1a67","name":"Dimmer handmatig ingedrukt?","server":"2065350e.86a40a","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.dimmer_gang","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":310,"y":200,"wires":[["2c8e1e230621cc25"],["1dd013fb17cb6354"]]},{"id":"1dd013fb17cb6354","type":"api-current-state","z":"22088a9c6f6e1a67","name":"Slaapt iedereen?","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.slapen","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":310,"y":280,"wires":[["d9a7d2c5bf0255dc"],["c8d7e0ca9a7b7d65"]],"outputLabels":["aan","uit"]},{"id":"c8d7e0ca9a7b7d65","type":"change","z":"22088a9c6f6e1a67","name":"Vertraging standaard","rules":[{"t":"set","p":"payload","pt":"msg","to":"standaard","tot":"str"},{"t":"set","p":"vertraging","pt":"msg","to":"VERTRAGING_STANDAARD","tot":"global"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":300,"wires":[[]]},{"id":"d9a7d2c5bf0255dc","type":"change","z":"22088a9c6f6e1a67","name":"Vertraging slapen","rules":[{"t":"set","p":"payload","pt":"msg","to":"Iedereen slaapt","tot":"str"},{"t":"set","p":"vertraging","pt":"msg","to":"VERTRAGING_SLAPEN","tot":"global"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":240,"wires":[[]]},{"id":"6db119437475920b","type":"change","z":"22088a9c6f6e1a67","name":"Vertraging schoonmaakster","rules":[{"t":"set","p":"payload","pt":"msg","to":"Schoonmaakster","tot":"str"},{"t":"set","p":"vertraging","pt":"msg","to":"VERTRAGING_SCHOONMAAKSTER","tot":"global"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":120,"wires":[[]]},{"id":"744d3c76cd03d400","type":"comment","z":"22088a9c6f6e1a67","name":"Informatie over tijd","info":"De vertraging die wordt ingesteld in de\nchangenode is in miliseconden\n\nDus 5 seconden wordt 5000","x":290,"y":60,"wires":[]},{"id":"2c8e1e230621cc25","type":"change","z":"22088a9c6f6e1a67","name":"Vertraging dimmer","rules":[{"t":"set","p":"payload","pt":"msg","to":"Dimmer","tot":"str"},{"t":"set","p":"vertraging","pt":"msg","to":"VERTRAGING_DIMMER","tot":"global"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":180,"wires":[[]]},{"id":"b94d3c6bf94c92d1","type":"subflow","name":"Dagdeel Hue color (3) (2)","info":"","category":"","in":[{"x":180,"y":240,"wires":[{"id":"6224bde6d9d9ae1d"},{"id":"710c8a8eb3088fb6"},{"id":"3f8d2d33f2d279ca"}]}],"out":[{"x":1040,"y":260,"wires":[{"id":"efe8c88b4ddc2dfc","port":0},{"id":"54b4264999c0795a","port":0},{"id":"7d4456bb8c401165","port":0},{"id":"497877dcafd7a4c6","port":0}]}],"env":[],"meta":{},"color":"#DDAA99","outputLabels":["Overdag"]},{"id":"6224bde6d9d9ae1d","type":"time-range-switch","z":"b94d3c6bf94c92d1","name":"tussen Sunrise & Sunset","lat":"52.12","lon":"4.65","startTime":"sunrise","endTime":"sunset","startOffset":0,"endOffset":0,"x":390,"y":180,"wires":[["efe8c88b4ddc2dfc"],[]]},{"id":"710c8a8eb3088fb6","type":"time-range-switch","z":"b94d3c6bf94c92d1","name":"tussen Sunset & 00:00","lat":"52.12","lon":"4.65","startTime":"sunset","endTime":"00:00","startOffset":0,"endOffset":0,"x":380,"y":240,"wires":[["54b4264999c0795a"],[]]},{"id":"3f8d2d33f2d279ca","type":"time-range-switch","z":"b94d3c6bf94c92d1","name":"tussen 00:01 & Sunrise","lat":"52.12","lon":"4.65","startTime":"00:01","endTime":"sunrise","startOffset":0,"endOffset":0,"x":390,"y":300,"wires":[["c3a49e61540bb6f6"],[]]},{"id":"efe8c88b4ddc2dfc","type":"change","z":"b94d3c6bf94c92d1","name":"overdag","rules":[{"t":"set","p":"payload","pt":"msg","to":"overdag","tot":"str"},{"t":"set","p":"hue_color_brightness_pct","pt":"global","to":"100","tot":"num"},{"t":"set","p":"hue_color_transition","pt":"global","to":"0.5","tot":"num"},{"t":"set","p":"hue_color_kelvin","pt":"global","to":"2700","tot":"num"},{"t":"set","p":"rgb_color","pt":"global","to":"255,148,45","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":680,"y":180,"wires":[[]]},{"id":"54b4264999c0795a","type":"change","z":"b94d3c6bf94c92d1","name":"avond","rules":[{"t":"set","p":"payload","pt":"msg","to":"avond","tot":"str"},{"t":"set","p":"hue_color_brightness_pct","pt":"global","to":"60","tot":"num"},{"t":"set","p":"hue_color_transition","pt":"global","to":"0.5","tot":"num"},{"t":"set","p":"hue_color_kelvin","pt":"global","to":"2700","tot":"num"},{"t":"set","p":"rgb_color","pt":"msg","to":"255,148,45","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":240,"wires":[[]]},{"id":"7d4456bb8c401165","type":"change","z":"b94d3c6bf94c92d1","name":"nacht","rules":[{"t":"set","p":"payload","pt":"msg","to":"nacht","tot":"str"},{"t":"set","p":"hue_color_brightness_pct","pt":"global","to":"50","tot":"num"},{"t":"set","p":"hue_color_transition","pt":"global","to":"0.5","tot":"num"},{"t":"set","p":"hue_color_kelvin","pt":"global","to":"2100","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":300,"wires":[[]]},{"id":"c3a49e61540bb6f6","type":"api-current-state","z":"b94d3c6bf94c92d1","name":"Slaap scene uit?","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.slapen_scene","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":630,"y":300,"wires":[["7d4456bb8c401165"],["497877dcafd7a4c6"]]},{"id":"497877dcafd7a4c6","type":"change","z":"b94d3c6bf94c92d1","name":"slapen","rules":[{"t":"set","p":"payload","pt":"msg","to":"nacht","tot":"str"},{"t":"set","p":"hue_color_brightness_pct","pt":"global","to":"10","tot":"num"},{"t":"set","p":"hue_color_transition","pt":"global","to":"0.5","tot":"num"},{"t":"set","p":"hue_color_kelvin","pt":"global","to":"2100","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":360,"wires":[[]]},{"id":"9b8bc642.fed038","type":"server","name":"Home Assistant","version":4,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m"},{"id":"4e0b1fa01c86a80e","type":"comment","z":"934d9cd289491d7c","name":"Algemene info","info":"**Kelvin waardes**\n\n6000 Kelvin: Koel wit, zoals een helder blauwe lucht met een middagzon.\n\n5500 Kelvin: Standaard daglicht wit, zoals een heldere lucht.\n\n4800 Kelvin: Daglicht met direct zonlicht.\n\n4000 Kelvin: Wit met een warme gloed, zoals het licht van TL buizen.\n\n3000 Kelvin: Warmwit zoals het licht van halogeenlampen. (badkamer en keuken)\n\n2800 Kelvin: Warm licht zoals een gloeilamp.\n\n2200 Kelvin: Warm licht zoals het licht van HPS lampen.\n\n1900 Kelvin: Warm licht zoals kaarslicht\n\n**standaard helder scene schoonmaakster**\n{\"brightness\":255,\"color_temp\":255,\"transition\":1}\n\n**Let op dat de wait untill node tijd 2x telt aangezien de off node ook een signaal geeft**\n\n\n{\"brightness_pct\":100,\"transition\":0.5}\n\n{\"brightness_pct\":{{global.hue_color_brightness_pct}}, \"transition\":{{global.hue_color_transition}}}","x":150,"y":40,"wires":[]},{"id":"e6c95492613167dd","type":"comment","z":"934d9cd289491d7c","name":"Light informatie zit in HACS adaptive lightning","info":"**Kelvin waardes**\n\n6000 Kelvin: Koel wit, zoals een helder blauwe lucht met een middagzon.\n\n5500 Kelvin: Standaard daglicht wit, zoals een heldere lucht.\n\n4800 Kelvin: Daglicht met direct zonlicht.\n\n4000 Kelvin: Wit met een warme gloed, zoals het licht van TL buizen.\n\n3000 Kelvin: Warmwit zoals het licht van halogeenlampen. (badkamer en keuken)\n\n2800 Kelvin: Warm licht zoals een gloeilamp.\n\n2200 Kelvin: Warm licht zoals het licht van HPS lampen.\n\n1900 Kelvin: Warm licht zoals kaarslicht\n\n**standaard helder scene schoonmaakster**\n{\"brightness\":255,\"color_temp\":255,\"transition\":1}\n\n**Let op dat de wait untill node tijd 2x telt aangezien de off node ook een signaal geeft**\n\n\n{\"brightness_pct\":100,\"transition\":0.5}\n\n{\"brightness_pct\":{{global.hue_color_brightness_pct}}, \"transition\":{{global.hue_color_transition}}}","x":410,"y":40,"wires":[]},{"id":"264f3a58d2de6549","type":"server-state-changed","z":"934d9cd289491d7c","name":"bewegingssensor","server":"2065350e.86a40a","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_gang","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,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":180,"wires":[["4d5c40d49e71d8ad","f0a7dd54a43f8c65"],["76c99aa275610b78"]]},{"id":"4197e0a92a035d05","type":"comment","z":"934d9cd289491d7c","name":"Gang","info":"{\"brightness_pct\":{{global.hue_color_brightness_pct}}, \"transition\":{{global.hue_color_transition}}}","x":130,"y":140,"wires":[]},{"id":"aa19be224f8d87e5","type":"api-call-service","z":"934d9cd289491d7c","name":"Lamp aan","server":"2065350e.86a40a","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lamp_gang"],"data":"{\"brightness_pct\":{{global.hue_color_brightness_pct}}, \"transition\":{{global.hue_color_transition}}}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":980,"y":140,"wires":[[]]},{"id":"150ec21a7fe49e41","type":"api-call-service","z":"934d9cd289491d7c","name":"Lamp dimmen","server":"2065350e.86a40a","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.gang_group"],"data":"{    \"brightness\": $max([    $entities(\"light.gang_group\").attributes.brightness /2,        5    ])}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":280,"wires":[["dbcf79d1f6198cfb"]]},{"id":"bf14341cd2cea7ae","type":"trigger","z":"934d9cd289491d7c","name":"","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"1","extend":true,"overrideDelay":true,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":820,"y":280,"wires":[["150ec21a7fe49e41"]]},{"id":"32a2843399f594ae","type":"change","z":"934d9cd289491d7c","name":"Stel vertraging in","rules":[{"t":"set","p":"delay","pt":"msg","to":"vertraging","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":280,"wires":[["bf14341cd2cea7ae"]]},{"id":"4d5c40d49e71d8ad","type":"change","z":"934d9cd289491d7c","name":"Reset trigger","rules":[{"t":"set","p":"reset","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":240,"wires":[["bf14341cd2cea7ae","dbcf79d1f6198cfb"]]},{"id":"d411c2deb94d5825","type":"subflow:b94d3c6bf94c92d1","z":"934d9cd289491d7c","name":"Lampwaardes dagdeel","env":[],"x":760,"y":140,"wires":[["aa19be224f8d87e5","161666ae99c1485a"]]},{"id":"161666ae99c1485a","type":"debug","z":"934d9cd289491d7c","name":"Welke dagdeel is het","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1020,"y":80,"wires":[]},{"id":"f0a7dd54a43f8c65","type":"api-current-state","z":"934d9cd289491d7c","name":"lux onder 50","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"50","halt_if_type":"num","halt_if_compare":"lt","entity_id":"sensor.bewegingssensor_gang_lux","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":550,"y":140,"wires":[["d411c2deb94d5825"],[]]},{"id":"76c99aa275610b78","type":"subflow:22088a9c6f6e1a67","z":"934d9cd289491d7c","name":"","env":[{"name":"dimmer","value":"input_boolean.dimmer_overloop","type":"str"}],"x":380,"y":280,"wires":[["32a2843399f594ae","1afa2bbbec7ec64c"]]},{"id":"1afa2bbbec7ec64c","type":"debug","z":"934d9cd289491d7c","name":"Welke vertraging wordt ingesteld","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":630,"y":340,"wires":[]},{"id":"0e6281475183fab7","type":"api-call-service","z":"934d9cd289491d7c","name":"Lamp uit","server":"2065350e.86a40a","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.gang_group"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1380,"y":280,"wires":[[]]},{"id":"dbcf79d1f6198cfb","type":"trigger","z":"934d9cd289491d7c","name":"","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"10","extend":true,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1210,"y":280,"wires":[["0e6281475183fab7"]]},{"id":"2065350e.86a40a","type":"server","name":"Home Assistant","version":4,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m"}]


[Afbeelding]

[ Voor 95% gewijzigd door LJ80 op 10-11-2023 09:18 ]


  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 23:22
Ik zit al een hele tijd te tobben met het volgende, ik zie {{msg.btc}} ipv de variable, wat doe ik fout?
Ik heb al een hele tijd zitten klooien met haakjes, geen haakjes, andere haakjes etc etc.
Dit is de json die ik stuur naar mijn mqtt server.

code:
1
2
3
4
5
6
7
{
    "topic": "awtrix_b5d83c/notify",
    "text": "{{msg.btc}}",
    "icon": "btc",
    "rainbow": "true",
    "duration": 7
}



De hele code:
code:
1
[{"id":"6e0dbb789f420487","type":"inject","z":"5dd7300c26d2f750","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":60,"wires":[["5904452c329eb63b"]]},{"id":"5904452c329eb63b","type":"http request","z":"5dd7300c26d2f750","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.kraken.com/0/public/Ticker?pair=BTCUSD","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":330,"y":60,"wires":[["31f854b11f589b3f"]]},{"id":"31f854b11f589b3f","type":"json","z":"5dd7300c26d2f750","name":"","property":"payload","action":"","pretty":false,"x":510,"y":60,"wires":[["954420f56336483d"]]},{"id":"954420f56336483d","type":"function","z":"5dd7300c26d2f750","name":"function 1","func":"// Extraheren van Bitcoin-prijs in dollars uit JSON-data\nvar bitcoinPrice = msg.payload.result.XXBTZUSD.b[0];\n\n// Verwijder decimalen\nvar bitcoinPriceWithoutDecimals = Math.floor(bitcoinPrice);\n\n// Maak een nieuw berichtobject met de Bitcoin-prijs zonder decimalen\nmsg.btc = bitcoinPriceWithoutDecimals;\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":60,"wires":[["453fd41bad735dfb"]]},{"id":"453fd41bad735dfb","type":"change","z":"5dd7300c26d2f750","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"topic\":\"awtrix_b5d83c/notify\",\"text\":\"{{msg.btc}}\",\"icon\":\"btc\",\"rainbow\":\"true\",\"duration\":7}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":140,"wires":[["f0828f15d1ec4f7e"]]},{"id":"f0828f15d1ec4f7e","type":"debug","z":"5dd7300c26d2f750","name":"debug 5","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":700,"y":140,"wires":[]}]

Acties:
  • +1 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 15-06 17:59
Dacuuu schreef op donderdag 30 november 2023 @ 21:18:
Ik zit al een hele tijd te tobben met het volgende, ik zie {{msg.btc}} ipv de variable, wat doe ik fout?
Ik heb al een hele tijd zitten klooien met haakjes, geen haakjes, andere haakjes etc etc.
Dit is de json die ik stuur naar mijn mqtt server.

code:
1
2
3
4
5
6
7
{
    "topic": "awtrix_b5d83c/notify",
    "text": "{{msg.btc}}",
    "icon": "btc",
    "rainbow": "true",
    "duration": 7
}



De hele code:
code:
1
[{"id":"6e0dbb789f420487","type":"inject","z":"5dd7300c26d2f750","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":60,"wires":[["5904452c329eb63b"]]},{"id":"5904452c329eb63b","type":"http request","z":"5dd7300c26d2f750","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.kraken.com/0/public/Ticker?pair=BTCUSD","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":330,"y":60,"wires":[["31f854b11f589b3f"]]},{"id":"31f854b11f589b3f","type":"json","z":"5dd7300c26d2f750","name":"","property":"payload","action":"","pretty":false,"x":510,"y":60,"wires":[["954420f56336483d"]]},{"id":"954420f56336483d","type":"function","z":"5dd7300c26d2f750","name":"function 1","func":"// Extraheren van Bitcoin-prijs in dollars uit JSON-data\nvar bitcoinPrice = msg.payload.result.XXBTZUSD.b[0];\n\n// Verwijder decimalen\nvar bitcoinPriceWithoutDecimals = Math.floor(bitcoinPrice);\n\n// Maak een nieuw berichtobject met de Bitcoin-prijs zonder decimalen\nmsg.btc = bitcoinPriceWithoutDecimals;\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":60,"wires":[["453fd41bad735dfb"]]},{"id":"453fd41bad735dfb","type":"change","z":"5dd7300c26d2f750","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"topic\":\"awtrix_b5d83c/notify\",\"text\":\"{{msg.btc}}\",\"icon\":\"btc\",\"rainbow\":\"true\",\"duration\":7}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":140,"wires":[["f0828f15d1ec4f7e"]]},{"id":"f0828f15d1ec4f7e","type":"debug","z":"5dd7300c26d2f750","name":"debug 5","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":700,"y":140,"wires":[]}]
Hoi, ik kan je flow nu even niet testen maar ik zie in de code dat je een change node gebruikt om die json te maken. Ik denk dat je het type in de change node op JSONata moet zetten anders worden de accolades niet geïnterpreteerd

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
Dacuuu schreef op donderdag 30 november 2023 @ 21:18:
Ik zit al een hele tijd te tobben met het volgende, ik zie {{msg.btc}} ipv de variable, wat doe ik fout?
Ik heb al een hele tijd zitten klooien met haakjes, geen haakjes, andere haakjes etc etc.
Dit is de json die ik stuur naar mijn mqtt server.

code:
1
2
3
4
5
6
7
{
    "topic": "awtrix_b5d83c/notify",
    "text": "{{msg.btc}}",
    "icon": "btc",
    "rainbow": "true",
    "duration": 7
}



De hele code:
code:
1
[{"id":"6e0dbb789f420487","type":"inject","z":"5dd7300c26d2f750","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":60,"wires":[["5904452c329eb63b"]]},{"id":"5904452c329eb63b","type":"http request","z":"5dd7300c26d2f750","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://api.kraken.com/0/public/Ticker?pair=BTCUSD","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":330,"y":60,"wires":[["31f854b11f589b3f"]]},{"id":"31f854b11f589b3f","type":"json","z":"5dd7300c26d2f750","name":"","property":"payload","action":"","pretty":false,"x":510,"y":60,"wires":[["954420f56336483d"]]},{"id":"954420f56336483d","type":"function","z":"5dd7300c26d2f750","name":"function 1","func":"// Extraheren van Bitcoin-prijs in dollars uit JSON-data\nvar bitcoinPrice = msg.payload.result.XXBTZUSD.b[0];\n\n// Verwijder decimalen\nvar bitcoinPriceWithoutDecimals = Math.floor(bitcoinPrice);\n\n// Maak een nieuw berichtobject met de Bitcoin-prijs zonder decimalen\nmsg.btc = bitcoinPriceWithoutDecimals;\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":60,"wires":[["453fd41bad735dfb"]]},{"id":"453fd41bad735dfb","type":"change","z":"5dd7300c26d2f750","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"topic\":\"awtrix_b5d83c/notify\",\"text\":\"{{msg.btc}}\",\"icon\":\"btc\",\"rainbow\":\"true\",\"duration\":7}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":440,"y":140,"wires":[["f0828f15d1ec4f7e"]]},{"id":"f0828f15d1ec4f7e","type":"debug","z":"5dd7300c26d2f750","name":"debug 5","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":700,"y":140,"wires":[]}]
Ik liep hierbij ook steeds er tegenaan dat ik het niet werkend kreeg op jouw manier. Daarom doe ik het tegenwoordig zoals hieronder.

De eerste "Set" maak payload leeg, anders heb je nog een restant payload uit de function node.

Je kunt natuurlijk ook alle regels (behalve dus die met msg.btc) samenvoegen als json value zoals je eerst had. Als je dan daarna die regel met msg.btc zet dan wordt ie er gewoon aan toe gevoegd.

PS Weet je trouwens zeker dat je msg.payload.topic wilt? En niet msg.topic?


Afbeeldingslocatie: https://tweakers.net/i/VTKxh_HFz0lN9ykkbWfU7tqePKg=/x800/filters:strip_icc():strip_exif()/f/image/J6FQeWFIML46Kz4YHwOzOsZD.jpg?f=fotoalbum_large

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

Help..
Running in docker een aantal node red flows..geen programeur, veel geleend op internet..


Nu een error:
code:
1
2
3
4
5
6
7
8
9
10
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.



Als ik hem zou snappen... maar dit gaat iets met petje te boven..

Hopleijk iemand _/-\o_

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


Acties:
  • 0 Henk 'm!

  • pc_freak1
  • Registratie: Maart 2018
  • Laatst online: 16:05
Dylantje2 schreef op vrijdag 8 december 2023 @ 07:28:
Help..
Running in docker een aantal node red flows..geen programeur, veel geleend op internet..


Nu een error:
code:
1
2
3
4
5
6
7
8
9
10
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.



Als ik hem zou snappen... maar dit gaat iets met petje te boven..

Hopleijk iemand _/-\o_
ik denk dat deze reddit post je wel verder helpt in het begrijpen van de credentialSecret: https://www.reddit.com/r/...trying_to_figure_out_how/

kort gezegd is er een bestandje dat als decrypt key gebruikt word voor je opgeslagen credentials.
dat bestandje mag niet kwijt raken.
iets wat in normale omstandigheden ook nooit zal gebeuren.
het feit dat je er niet handmatig een gemaakt hebt, genereert node-red er zelf eentje, en geeft je deze melding, om je er van op de hoogte te stellen dat dit het geval is.

Als je het niet probeert, kun je het sowieso niet.


Acties:
  • 0 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 04-06 20:23
MikeyMan schreef op woensdag 8 november 2023 @ 20:37:
[...]

Knip

Enig idee waarom dit niet werkt? :?

[Afbeelding]
Draai het eens om. Set eerst de context naar scope flow en set daarna .rh to payload.

Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

pc_freak1 schreef op vrijdag 8 december 2023 @ 09:26:
[...]


ik denk dat deze reddit post je wel verder helpt in het begrijpen van de credentialSecret: https://www.reddit.com/r/...trying_to_figure_out_how/

kort gezegd is er een bestandje dat als decrypt key gebruikt word voor je opgeslagen credentials.
dat bestandje mag niet kwijt raken.
iets wat in normale omstandigheden ook nooit zal gebeuren.
het feit dat je er niet handmatig een gemaakt hebt, genereert node-red er zelf eentje, en geeft je deze melding, om je er van op de hoogte te stellen dat dit het geval is.
Thanks maar toch werken mijn flows niet..?
broker ingesteld..
Maar geen verbinding.


edit..

Ik moest een inlog en ww invoeren tegenwoordig bij mqqt Domoticz

THANKS voor de hulp

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


Acties:
  • 0 Henk 'm!

  • MikeyMan
  • Registratie: Februari 2003
  • Laatst online: 22:51

MikeyMan

Vidi, Vici, Veni

Ander vraagje dan... Heb node red ook in docker draaien... Maar zie daar iets geks met de timestamp.

Deze loopt een uur achter

De docker container zelf lijkt de juiste timezone te hebben:
67d438fcc8bc:~$ date
Fri Dec 22 09:22:27 CET 2023

Heb ook TZ Europe/Amsterdam aangegeven.

Maar de timestamp vuurt een tijd af die een uur achter loopt.

Acties:
  • 0 Henk 'm!

  • Mr.Wop
  • Registratie: April 2002
  • Laatst online: 17-06 10:05
Is het vast de UTC tijd

Acties:
  • 0 Henk 'm!

  • OcGuru
  • Registratie: Juni 2004
  • Laatst online: 21:59

OcGuru

Giulietta Qv

Ik heb node-red in een eigen docker geplaatst waar deze voorheen samen met HA op een VM stond.


Alleen moet ik nu in al mijn nodes het server adres van HA aanpassen. Is hier een snellere methode voor dit of zit er niks anders op dan al mijn nodes wijzigen?(en dat zijn er nogal wat :/ )

Bl44t


Acties:
  • 0 Henk 'm!

  • michaelw1998
  • Registratie: Oktober 2012
  • Laatst online: 15:40
Afbeeldingslocatie: https://tweakers.net/i/0A3rvk6qxBU52FJQu2i3bZI0qhQ=/800x/filters:strip_exif()/f/image/XOlsR0TlRts1cNyE7WBAtDK5.png?f=fotoalbum_large

Met bovenstaande probeer ik een lamp aan te zetten wanneer er beweging is. Dit werkte prima, ook het dimmen na 15 seconden om vervolgens na nog eens 15 seconden het licht uit te doen.
Echter wil ik nu toevoegen dat de brightness op basis van tijd bepaald wordt; 's nachts hoeft het licht maar heel zachtjes aan te gaan terwijl het overdag wel feller mag zijn. Lamp en sensor komen allemaal vanuit Home Assistant.

De function heeft de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
var now = new Date();
var hours = now.getHours();

if (hours >= 22 || hours < 9) {
    // It's nighttime, set lower brightness
    flow.set("timeBasedBrightness", 10); // Set your desired lower brightness value
} else {
    // It's daytime, set normal brightness
    flow.set("timeBasedBrightness", 50); // Set your desired normal brightness value
}

return msg;


Bij de turn on service staat vervolgens de volgende data:
code:
1
{"brightness_pct": $flowContext("timeBasedBrightness"), "transition": "1"}


Dit lijkt echt niet te werken, het licht heeft alsnog altijd dezelfde helderheid (dus tussen 22:00 en 9:00 geen 10% zoals ingesteld).

Iemand ideeën?

Dit is de JSON:
code:
1
[{"id":"578315fd74ba3576","type":"tab","label":"Motion voordeur","disabled":false,"info":"","env":[]},{"id":"834bb4280d31b823","type":"server-state-changed","z":"578315fd74ba3576","name":"Voordeur Motion Sensor","server":"2374ebd0.deb554","version":5,"outputs":2,"exposeAsEntityConfig":"","entityId":"binary_sensor.motion_voordeur_occupancy","entityIdType":"exact","outputInitially":false,"stateType":"str","ifState":"off","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":false,"for":"5","forType":"num","forUnits":"seconds","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":210,"y":320,"wires":[["1100a4a35aee879e"],["1100a4a35aee879e","848d358c2954b9d8"]]},{"id":"11873f2d2b1d6323","type":"api-call-service","z":"578315fd74ba3576","name":"Turn off","server":"2374ebd0.deb554","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.lights_voordeur"],"data":"{\"transition\":\"5\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":680,"y":300,"wires":[[]]},{"id":"b6208ded464459e1","type":"api-call-service","z":"578315fd74ba3576","name":"Turn on","server":"2374ebd0.deb554","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lights_voordeur"],"data":"{\"brightness_pct\": $flowContext(\"timeBasedBrightness\"), \"transition\": \"1\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":840,"y":520,"wires":[[]]},{"id":"1100a4a35aee879e","type":"trigger","z":"578315fd74ba3576","name":"","op1":"dim","op2":"off","op1type":"str","op2type":"str","duration":"15","extend":false,"overrideDelay":false,"units":"s","reset":"on","bytopic":"all","topic":"topic","outputs":2,"x":470,"y":240,"wires":[["7e6e53e80ac756c0"],["11873f2d2b1d6323"]]},{"id":"7e6e53e80ac756c0","type":"api-call-service","z":"578315fd74ba3576","name":"Turn on","server":"2374ebd0.deb554","version":5,"debugenabled":true,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lights_voordeur"],"data":"{\"brightness_pct\": $flowContext(\"timeBasedBrightness\"), \"transition\": 15}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":900,"y":80,"wires":[["0a543708a983fefb"]]},{"id":"848d358c2954b9d8","type":"api-current-state","z":"578315fd74ba3576","name":"if dark enough","server":"2374ebd0.deb554","version":3,"outputs":2,"halt_if":"40","halt_if_type":"num","halt_if_compare":"lte","entity_id":"sensor.motion_voordeur_illuminance_lux","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":460,"y":360,"wires":[["b6208ded464459e1"],[]]},{"id":"0a543708a983fefb","type":"debug","z":"578315fd74ba3576","name":"Current Brightness Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1030,"y":160,"wires":[]},{"id":"be8193f8df83b444","type":"function","z":"578315fd74ba3576","name":"Set Time-based Brightness","func":"var now = new Date();\nvar hours = now.getHours();\n\nif (hours >= 22 || hours < 9) {\n    // It's nighttime, set lower brightness\n    flow.set(\"timeBasedBrightness\", 10); // Set your desired lower brightness value\n} else {\n    // It's daytime, set normal brightness\n    flow.set(\"timeBasedBrightness\", 50); // Set your desired normal brightness value\n}\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":520,"wires":[["b6208ded464459e1"]]},{"id":"2374ebd0.deb554","type":"server","name":"Home Assistant","addon":true}]

Acties:
  • 0 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 01:55
Die function node wordt nu niet getriggerd. Zet deze tussen "trigger 15s"/"if dark enough" en "turn on" nodes.

Acties:
  • 0 Henk 'm!
OcGuru schreef op woensdag 3 januari 2024 @ 16:42:
Ik heb node-red in een eigen docker geplaatst waar deze voorheen samen met HA op een VM stond.


Alleen moet ik nu in al mijn nodes het server adres van HA aanpassen. Is hier een snellere methode voor dit of zit er niks anders op dan al mijn nodes wijzigen?(en dat zijn er nogal wat :/ )
Je bestaande config node aanpassen naar de nieuwe verbinding? Zo heb ik het destijds volgens mij gedaan

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
@michaelw1998 Die function node wordt nooit uitgevoerd zoals je m nu hebt staan. Er moet ook een lijntje aan de linkerkant in ;-)

Overigens zou ik ook even kijken naar de time-range node. Is makkelijker dan de function node die je nu hebt.

En gezien je met flow variabelen werkt denk ik dat je die percentages voor meerdere lampen wilt laten werken? Zo ja, dan kun je het zetten van die flow variabele beter een losse flow van maken. Bijvoorbeeld een inject node om 9 uur die mbv een change node de flow var op 50% zet,
en een inject node om 22 uur die de flow var op 10% zet.

Als je de % bepaling alleen in deze flow gebruikt en tussen "dark enough" en "turn on" zet zou ik geen gebruik maken van flow variabelen, maar gewoon het percentage in de msg zetten die uit de function komt.
Al zou ik die function dan helemaal weg halen en een time range node gebruiken gevolgd door een tweetal change nodes.

UPDATE

Net even je flow geimporteerd en wat beter bekeken. Ik denk dat dit het handigste is om te doen:
Afbeeldingslocatie: https://tweakers.net/i/_9uAAQB5lAvshiuIWwWKMjFsWtY=/800x/filters:strip_icc():strip_exif()/f/image/ws1iOE0dbeKajN5ClSV7LJij.jpg?f=fotoalbum_large

code:
1
[{"id":"74031ebf623ff937","type":"time-range-switch","z":"578315fd74ba3576","name":"","lat":"","lon":"","startTime":"9:00","endTime":"22:00","startOffset":0,"endOffset":0,"x":530,"y":760,"wires":[["61a1b46f6a4507d7"],["2caa8c5dad6bceaf"]]},{"id":"8718ead670a2bcc1","type":"inject","z":"578315fd74ba3576","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":270,"y":760,"wires":[["74031ebf623ff937"]]},{"id":"61a1b46f6a4507d7","type":"change","z":"578315fd74ba3576","name":"timeBasedBrightness = 50","rules":[{"t":"set","p":"timeBasedBrightness","pt":"flow","to":"50","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":720,"wires":[[]]},{"id":"2caa8c5dad6bceaf","type":"change","z":"578315fd74ba3576","name":"timeBasedBrightness = 10","rules":[{"t":"set","p":"timeBasedBrightness","pt":"flow","to":"50","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":780,"wires":[[]]}]


Helemaal los van je bestaande flow dus.

[ Voor 45% gewijzigd door musicpixel op 03-01-2024 19:30 ]

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • michaelw1998
  • Registratie: Oktober 2012
  • Laatst online: 15:40
musicpixel schreef op woensdag 3 januari 2024 @ 19:15:
@michaelw1998 Die function node wordt nooit uitgevoerd zoals je m nu hebt staan. Er moet ook een lijntje aan de linkerkant in ;-)

Overigens zou ik ook even kijken naar de time-range node. Is makkelijker dan de function node die je nu hebt.

En gezien je met flow variabelen werkt denk ik dat je die percentages voor meerdere lampen wilt laten werken? Zo ja, dan kun je het zetten van die flow variabele beter een losse flow van maken. Bijvoorbeeld een inject node om 9 uur die mbv een change node de flow var op 50% zet,
en een inject node om 22 uur die de flow var op 10% zet.

Als je de % bepaling alleen in deze flow gebruikt en tussen "dark enough" en "turn on" zet zou ik geen gebruik maken van flow variabelen, maar gewoon het percentage in de msg zetten die uit de function komt.
Al zou ik die function dan helemaal weg halen en een time range node gebruiken gevolgd door een tweetal change nodes.

UPDATE

Net even je flow geimporteerd en wat beter bekeken. Ik denk dat dit het handigste is om te doen:
[Afbeelding]

code:
1
[{"id":"74031ebf623ff937","type":"time-range-switch","z":"578315fd74ba3576","name":"","lat":"","lon":"","startTime":"9:00","endTime":"22:00","startOffset":0,"endOffset":0,"x":530,"y":760,"wires":[["61a1b46f6a4507d7"],["2caa8c5dad6bceaf"]]},{"id":"8718ead670a2bcc1","type":"inject","z":"578315fd74ba3576","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":270,"y":760,"wires":[["74031ebf623ff937"]]},{"id":"61a1b46f6a4507d7","type":"change","z":"578315fd74ba3576","name":"timeBasedBrightness = 50","rules":[{"t":"set","p":"timeBasedBrightness","pt":"flow","to":"50","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":720,"wires":[[]]},{"id":"2caa8c5dad6bceaf","type":"change","z":"578315fd74ba3576","name":"timeBasedBrightness = 10","rules":[{"t":"set","p":"timeBasedBrightness","pt":"flow","to":"50","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":780,"wires":[[]]}]


Helemaal los van je bestaande flow dus.
Thanks! Als ik timestamp debug lijkt deze 1 uur achter te lopen, terwijl bij alle andere node red nodes wel de juiste tijd staat.
Moet ik daar nog iets voor doen? Systeemtijd van HA klopt ook.

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
michaelw1998 schreef op woensdag 3 januari 2024 @ 21:17:
[...]


Thanks! Als ik timestamp debug lijkt deze 1 uur achter te lopen, terwijl bij alle andere node red nodes wel de juiste tijd staat.
Moet ik daar nog iets voor doen? Systeemtijd van HA klopt ook.
Ik weet niet precies wat je debugt, maar de timestamp die uit de inject node komt wordt verder niet gebruikt.
Wordt de inject node wel op de juiste tijden uitgevoerd?

Wat betreft dat uur verschil, dat kan met tijdzone te maken hebben, dus dat wat je debugt waarschijnlijk UTC is terwijl we hier in NL UTC+1 hebben.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Ik ben sinds kort ook aan het spelen met Node-RED voor het automatiseren van m'n woning. De woning bestaat uit een hoop verschillende systemen, vooral KNX en Hue samen met wat device specifieke zaken.

Op dit moment gebruik ik Loxone voor logica + visualisatie. Werkt best OK, maar Loxone Config is behoorlijk beperkt en het hele systeem is nogal gesloten. Daarom plannen om alles om te zetten naar Node-RED.

Bij mijn zoektocht zijn er wat vragen opgekomen waarop ik tot nu toe nog geen goed antwoord heb kunnen vinden.

Eerste project dat ik heb is het meten van de temperatuur van alle vloerverwarmingsgroepen (tweede plan is het aansturen van die groepen). Ik heb per verdeler een simpele ESP32 met DS18B20 temperatuursensoren die via MQTT de temperaturen doorgeven aan Mosquitto. Node-RED leest dat uit en moet dat in InfluxDB zetten. Maar:

Wat is een handige topic structuur voor MQTT? Simpel om nu iets op te zetten, maar geen idee of ik mezelf daarmee op langere termijn in de voet schiet.

Wat is handig voor groep 3 (2e groep in de badkamer) op de verdeler van de slaapverdieping?

a) home/slaapverdieping/underfloor/temperature/3
b) home/temperature/underfloor/slaapverdieping/3
c) home/bathroom/underfloor/temperature/1
d) home/bathroom/underfloor/1/temperature
e) home/temperature/underfloor/bathroom/1
f) home/temperature/bathroom/underfloor/1

of iets anders?


Verder nog een vraag; data in InfluxDB krijgen is vrij eenvoudig, daar is gewoon een node voor. Maar InfluxDB is nogal in beweging, zou goed kunnen dat ik over een paar jaar liever een andere time series DB gebruik. Ik had verwacht dat er een abstracte 'time series' node was die generieke data accepteert en die vervolgens in InfluxDB/Prometheus/PostgreSQL/etc zet. Maar zoiets kan ik niet vinden. Of maak ik het nu te netjes/ingewikkeld? :)

Acties:
  • 0 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 15-06 23:14
bartvb schreef op dinsdag 23 januari 2024 @ 16:16:
Eerste project dat ik heb is het meten van de temperatuur van alle vloerverwarmingsgroepen (tweede plan is het aansturen van die groepen). Ik heb per verdeler een simpele ESP32 met DS18B20 temperatuursensoren die via MQTT de temperaturen doorgeven aan Mosquitto. Node-RED leest dat uit en moet dat in InfluxDB zetten. Maar:

Wat is een handige topic structuur voor MQTT? Simpel om nu iets op te zetten, maar geen idee of ik mezelf daarmee op langere termijn in de voet schiet.

Wat is handig voor groep 3 (2e groep in de badkamer) op de verdeler van de slaapverdieping?

a) home/slaapverdieping/underfloor/temperature/3
b) home/temperature/underfloor/slaapverdieping/3
c) home/bathroom/underfloor/temperature/1
d) home/bathroom/underfloor/1/temperature
e) home/temperature/underfloor/bathroom/1
f) home/temperature/bathroom/underfloor/1
Ik zou eigenlijk gaan voor home/bathroom/temperature/underfloor/1, ofwel voor optie f.

Een andere vraag is of het veel uitmaakt, want uiteindelijk gaat Node-Red gewoon die data lezen, gaat dat formatteren en doorsturen naar InfluxDB. Verder gaat Node-Red er waarschijnlijk nog wat regeltjes op loslaten om dingen te automatiseren, maar daarvoor boeit de structuur van de MQTT nu eenmaal niet zoveel, zolang het maar wat proper is.
Verder nog een vraag; data in InfluxDB krijgen is vrij eenvoudig, daar is gewoon een node voor. Maar InfluxDB is nogal in beweging, zou goed kunnen dat ik over een paar jaar liever een andere time series DB gebruik. Ik had verwacht dat er een abstracte 'time series' node was die generieke data accepteert en die vervolgens in InfluxDB/Prometheus/PostgreSQL/etc zet. Maar zoiets kan ik niet vinden. Of maak ik het nu te netjes/ingewikkeld? :)
Dat heb ik ook niet dadelijk gevonden, maar aangezien ik gewoon mijn eigen InfluxDB in Proxmox heb draaien, zie ik waarschijnlijk niet snel de neiging om te veranderen, tenzij het natuurlijk vierkant begint te draaien. Met InfluxDB cloud (gratis versie), liep ik snel tegen beperkingen aan.

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
bartvb schreef op dinsdag 23 januari 2024 @ 16:16:
Verder nog een vraag; data in InfluxDB krijgen is vrij eenvoudig, daar is gewoon een node voor. Maar InfluxDB is nogal in beweging, zou goed kunnen dat ik over een paar jaar liever een andere time series DB gebruik. Ik had verwacht dat er een abstracte 'time series' node was die generieke data accepteert en die vervolgens in InfluxDB/Prometheus/PostgreSQL/etc zet. Maar zoiets kan ik niet vinden. Of maak ik het nu te netjes/ingewikkeld? :)
Ik weet niet zeker of het is wat je bedoelt, maar misschien kun je de InfluxDB logica abstraheren in een of meerdere subflows?

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
Wat InfluxDB betreft; bij het programmeren gebruik je normaal 'Inversion of Control', je implementeert dus niet een specifieke image library maar een abstracte tussenlaag waardoor je later de library die het werk doet makkelijk kan aanpassen.

Maar idd, subflows zouden dat mogelijk moeten kunnen maken. Denk ik :) Ik ga eens lezen over subflows.

De MQTT structuur maakt idd op zich niet super veel uit, maar ik hoop een beetje dat niet ik niet voor alle 25+ groepen los het opslaan in InfluxDB moet regelen. Zou leuk zijn om iets als home/*/temperature/underfloor/* te kunnen gebruiken daarvoor. Ik ben nogal lui aangelegd ;) Als iemand daar tips/een voorbeeld voor heeft houd ik me aanbevolen :)

Dank voor de input! Ik puzzel weer verder.

[ Voor 4% gewijzigd door bartvb op 25-01-2024 11:46 ]


Acties:
  • 0 Henk 'm!

  • Ruudstertje
  • Registratie: April 2021
  • Laatst online: 05-06 23:59
Goedemorgen,

Ik ben even wat aan het proberen met Node-Red in home assistant.
De schakeling van de lampen aan de hand van de elevation van de zon werkt perfect!
Afbeeldingslocatie: https://tweakers.net/i/bp9LKwGVKtTbOCw5f8D6D_LSUqw=/800x/filters:strip_exif()/f/image/QKw0lkJxFIDhGk4gzZHJMvag.png?f=fotoalbum_large

Bij de automatisering die ingebouwd is bij home assistant had ik als automatisering dat de buitenverlichting om 22:00 van 100% helderheid naar 40% gaat. Hoe doe ik dit in Node-Red? Vast heel simpel maar dit wat ik gemaakt heb was ook een heel uitgezoek voor een leek op dit gebied....

Acties:
  • +1 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 16:22
Ruudstertje schreef op dinsdag 27 februari 2024 @ 10:11:
Goedemorgen,

Ik ben even wat aan het proberen met Node-Red in home assistant.
De schakeling van de lampen aan de hand van de elevation van de zon werkt perfect!
[Afbeelding]

Bij de automatisering die ingebouwd is bij home assistant had ik als automatisering dat de buitenverlichting om 22:00 van 100% helderheid naar 40% gaat. Hoe doe ik dit in Node-Red? Vast heel simpel maar dit wat ik gemaakt heb was ook een heel uitgezoek voor een leek op dit gebied....
Je zal een timetrigger moeten gebruiken (Bigtimer of zo) En deze na check of de lampen al aan zijn de lampen opnieuw aansturen met brightness percentage.

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

Acties:
  • 0 Henk 'm!

  • Ruudstertje
  • Registratie: April 2021
  • Laatst online: 05-06 23:59
Obelixxx schreef op dinsdag 27 februari 2024 @ 10:19:
[...]


Je zal een timetrigger moeten gebruiken (Bigtimer of zo) En deze na check of de lampen al aan zijn de lampen opnieuw aansturen met brightness percentage.
En die zet ik dan achter de betreffende lampen? Of een nieuwe/aparte flow?

Acties:
  • +2 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
Ruudstertje schreef op dinsdag 27 februari 2024 @ 10:11:
Bij de automatisering die ingebouwd is bij home assistant had ik als automatisering dat de buitenverlichting om 22:00 van 100% helderheid naar 40% gaat. Hoe doe ik dit in Node-Red? Vast heel simpel maar dit wat ik gemaakt heb was ook een heel uitgezoek voor een leek op dit gebied....
Als het altijd om 22 uur moet, zou ik gewoon een inject node gebruiken (helemaal onderaan de "repeat" instellen).

Sowieso zijn de inject en debug nodes je vriend tijdens het ontwikkelen van flows met node red.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 03-06 00:24
@Ruudstertje

Ik ben behoorlijk nieuw met Node-RED, benieuwd waarom je eerst checkt of een lamp aan is om hem vervolgens uit te zetten. Waarom niet gewoon uit zetten zonder die check?

Acties:
  • 0 Henk 'm!

  • pc_freak1
  • Registratie: Maart 2018
  • Laatst online: 16:05
bartvb schreef op dinsdag 27 februari 2024 @ 12:26:
@Ruudstertje

Ik ben behoorlijk nieuw met Node-RED, benieuwd waarom je eerst checkt of een lamp aan is om hem vervolgens uit te zetten. Waarom niet gewoon uit zetten zonder die check?
anders krijg je oneindige off commando's naar de lampen. dat wil je niet om diverse redenen.

Als je het niet probeert, kun je het sowieso niet.


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
@bartvb @pc_freak1 Afhankelijk van hoe @Ruudstertje die trigger heeft ingesteld zouden die lamp aan/uit checks weg kunnen.

In zo'n HA trigger:state node kun je checks doen op zowel de vorige als de huidige waarde, dus je kunt dan zeggen:

Als de "vorige elevation > -0.50" AND "huidige elevation <= -0.50" dan...

Dan zou ie maar 1x moeten triggeren en kan die lamp check dus weg.

(Even aangenomen dat de zon niet schommelt rond die waarde van -0.50 uit het voorbeeld (omhoog/omlaag/omhoog/omlaag), maar dat lijkt me niet bij de zon ;) )

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Ruudstertje
  • Registratie: April 2021
  • Laatst online: 05-06 23:59
bartvb schreef op dinsdag 27 februari 2024 @ 12:26:
@Ruudstertje

Ik ben behoorlijk nieuw met Node-RED, benieuwd waarom je eerst checkt of een lamp aan is om hem vervolgens uit te zetten. Waarom niet gewoon uit zetten zonder die check?
Zie reactie @pc_freak1 .

@musicpixel
Zal eens kijken naar wat jij aangeeft, zo ik het nu heb gedaan heb ik met behulp van een YouTube tutorial gedaan.

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
@Ruudstertje Deel anders je flow hier even (met de export optie in het menu rechtsboven in Node red) en plaats dat dan hier tussen code tags. Dan kijken we even mee.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Ruudstertje
  • Registratie: April 2021
  • Laatst online: 05-06 23:59
musicpixel schreef op woensdag 28 februari 2024 @ 10:48:
@Ruudstertje Deel anders je flow hier even (met de export optie in het menu rechtsboven in Node red) en plaats dat dan hier tussen code tags. Dan kijken we even mee.
Denk dat ik de export zo goed heb gedaan.

code:
1
[{"id":"d5ef0324bc18c830","type":"tab","label":"Verlichting","disabled":false,"info":"","env":[]},{"id":"1eb30cea904b125d","type":"comment","z":"d5ef0324bc18c830","name":"Lampen buiten AAN","info":"","x":90,"y":40,"wires":[]},{"id":"107a25f831e85d13","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Achter aanzetten op 100%","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.buitenlamp_achter_licht"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":840,"y":40,"wires":[[]]},{"id":"0cb1a6e02b517c94","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Oprit aanzetten op 100%","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.buitenlamp_oprit_licht"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":830,"y":100,"wires":[[]]},{"id":"7f9ee28d05a3f750","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Voorkant aanzetten op 100%","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.buitenlamp_voorkant_licht"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":840,"y":160,"wires":[[]]},{"id":"22ac1df2fa3a12e4","type":"api-current-state","z":"d5ef0324bc18c830","name":"Is de buitenlamp achter aan?","server":"7fe8b587.a2225c","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.buitenlamp_achter_licht","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":500,"y":40,"wires":[[],["107a25f831e85d13"]]},{"id":"82c7fc94a8bcef75","type":"api-current-state","z":"d5ef0324bc18c830","name":"Is de buitenlamp oprit aan?","server":"7fe8b587.a2225c","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.buitenlamp_oprit_licht","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":500,"y":100,"wires":[[],["0cb1a6e02b517c94"]]},{"id":"60b90362198b1b51","type":"api-current-state","z":"d5ef0324bc18c830","name":"Is de buitenlamp voorkant aan?","server":"7fe8b587.a2225c","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.buitenlamp_voorkant_licht","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":510,"y":160,"wires":[[],["7f9ee28d05a3f750"]]},{"id":"74f97aae4b0736a6","type":"trigger-state","z":"d5ef0324bc18c830","name":"Trigger: Elevation van de zon (<= -0.50)","server":"7fe8b587.a2225c","version":4,"inputs":0,"outputs":2,"exposeAsEntityConfig":"","entityId":"sun.sun","entityIdType":"exact","debugEnabled":false,"constraints":[{"targetType":"entity_id","targetValue":"sun.sun","propertyType":"property","propertyValue":"attributes.elevation","comparatorType":"<=","comparatorValueDatatype":"num","comparatorValue":"-0.50"}],"customOutputs":[],"outputInitially":false,"stateType":"str","enableInput":false,"x":190,"y":80,"wires":[["22ac1df2fa3a12e4","82c7fc94a8bcef75","60b90362198b1b51"],[]]},{"id":"29b92833d4b141d5","type":"comment","z":"d5ef0324bc18c830","name":"Lampen buiten UIT","info":"","x":90,"y":260,"wires":[]},{"id":"a46f168114a4fc03","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Achter uitzetten","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.buitenlamp_achter_licht"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":260,"wires":[[]]},{"id":"5844f458db07ee21","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Oprit uitzetten","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.buitenlamp_oprit_licht"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":320,"wires":[[]]},{"id":"c21d137f54231226","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Voorkant uitzetten","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":[],"deviceId":[],"entityId":["light.buitenlamp_voorkant_licht"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":810,"y":380,"wires":[[]]},{"id":"896c376f6888e49b","type":"api-current-state","z":"d5ef0324bc18c830","name":"Is de buitenlamp achter uit?","server":"7fe8b587.a2225c","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.buitenlamp_achter_licht","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":500,"y":260,"wires":[[],["a46f168114a4fc03"]]},{"id":"8eb1ebd13abdc1ae","type":"api-current-state","z":"d5ef0324bc18c830","name":"Is de buitenlamp oprit uit?","server":"7fe8b587.a2225c","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.buitenlamp_oprit_licht","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":490,"y":320,"wires":[[],["5844f458db07ee21"]]},{"id":"9f9d34fe919e5963","type":"api-current-state","z":"d5ef0324bc18c830","name":"Is de buitenlamp voorkant uit?","server":"7fe8b587.a2225c","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.buitenlamp_voorkant_licht","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":510,"y":380,"wires":[[],["c21d137f54231226"]]},{"id":"567f9c453fd23620","type":"trigger-state","z":"d5ef0324bc18c830","name":"Trigger: Elevation van de zon (=> 0.50)","server":"7fe8b587.a2225c","version":4,"inputs":0,"outputs":2,"exposeAsEntityConfig":"","entityId":"sun.sun","entityIdType":"exact","debugEnabled":false,"constraints":[{"targetType":"entity_id","targetValue":"sun.sun","propertyType":"property","propertyValue":"attributes.elevation","comparatorType":">=","comparatorValueDatatype":"num","comparatorValue":"0.50"}],"customOutputs":[],"outputInitially":false,"stateType":"str","enableInput":false,"x":190,"y":300,"wires":[["896c376f6888e49b","8eb1ebd13abdc1ae","9f9d34fe919e5963"],[]]},{"id":"156d7cf6ba945216","type":"inject","z":"d5ef0324bc18c830","name":"Tijd 22:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"22:00","payload":"","payloadType":"date","x":320,"y":500,"wires":[[]]},{"id":"9e4fbe545c8b9fc8","type":"api-call-service","z":"d5ef0324bc18c830","name":"Buitenlamp: Achter naar 10%","server":"7fe8b587.a2225c","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":["5fd9746ce3555d587e4bbc7b6e57c0e5"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":600,"y":480,"wires":[[]]},{"id":"7fe8b587.a2225c","type":"server","name":"Home Assistant","addon":true}]

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
Ruudstertje schreef op woensdag 28 februari 2024 @ 13:18:
[...]
Denk dat ik de export zo goed heb gedaan.
Yep, dat was prima. Je kunt de hele tab (flow) exporteren zoals jij hebt gedaan, of alleen een selectie van nodes.

Ik heb er even naar gekeken en kwam er achter dat "Sun"in Home Assistant de elevation alleen als property van een entity beschikbaar heeft.

De trigger:state node kan wel properties gebruiken maar niet met "previous"/"current" value, want dat lijkt alleen te werken met entity states.

Ik had nog niet zo veel met "Sun" gedaan in HA, maar nu ik er naar kijk vind ik Sun wat beperkt.

Maar dat terzijde... ik heb even gezocht hoe ik toch elevation kon gebruiken in een trigger:state node. Het bleek het handigste te zijn om een template sensor voor elevation aan te maken onder Settings->Devices&services->Helpers.

Afbeeldingslocatie: https://tweakers.net/i/fH8PxSnQ8ABM-yiO3uAfpmtJVsw=/x800/filters:strip_icc():strip_exif()/f/image/dEozjGqJa6ERQa8HONPhSUjO.jpg?f=fotoalbum_large

Ik had getest met 20.4.

code:
1
{{ state_attr('sun.sun', 'elevation') }}

Vergeet niet de unit of measurement in te vullen. Ik heb handmatig ° ingetikt.


Nu krijg je een sensor entity (met historie, dus ook "previous") die je kunt gebruiken in de trigger:state node:

Afbeeldingslocatie: https://tweakers.net/i/8YliFk8LqkHHQLxU77-v4gSnH3Q=/x800/filters:strip_icc():strip_exif()/f/image/AEWG9TkD9fCOiGRdTOEej4mD.jpg?f=fotoalbum_large

Door hierin de previous state en current state samen te gebruiken kun je triggeren op wanneer de waarde voor het eerst boven of onder een bepaalde waarde komt. Wordt dus maar 1x getriggerd.

Vervolgens heb je dus geen check meer nodig of de lamp aan is.

Wil je het nog compacter maken dan kun je in de call service node, waarin je een lamp aan zet, ook nog alle lampen toevoegen onder "Entity" ipv maar eentje.

Dan blijft dit nog over (voor "aan"):

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

Je kunt, zoals @Obelixxx zei, ook de node "Bigtimer" gebruiken. Daarin kun je bijvoorbeeld opgeven "een uur voor zonsondergang", al vind ik die node wat overweldigend als je nieuw bent met Node Red.

[ Voor 4% gewijzigd door musicpixel op 28-02-2024 18:57 ]

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • reddo
  • Registratie: Oktober 2010
  • Laatst online: 16-06 18:46
Ik draai Node Red onder Home assistant en ben redelijke noob op Node red (en programmeren) gebied. Heb een elektrische boiler die ik aanstuur op o.a. teruglevering, heeft 2 elementen (700 en 1500w) die ik vanuit HA apart schakel en HA ook keurig apart ziet en logt. Nu wil ik 1 waarde maken die totaal kWh van die 2 is, gewoon optellen dus. In node red kan ik beide waarden lezen maar hoe krijg ik ze bij elkaar optgeteld en zet ik ze weg naar een waarde die ik in Home assistant weer kan gebruiken ?

Thanks !

http://www.pvoutput.org/intraday.jsp?id=13642&sid=11522


Acties:
  • +1 Henk 'm!

  • harmen76
  • Registratie: November 2010
  • Laatst online: 22:51
reddo schreef op vrijdag 8 maart 2024 @ 14:33:
Ik draai Node Red onder Home assistant en ben redelijke noob op Node red (en programmeren) gebied. Heb een elektrische boiler die ik aanstuur op o.a. teruglevering, heeft 2 elementen (700 en 1500w) die ik vanuit HA apart schakel en HA ook keurig apart ziet en logt. Nu wil ik 1 waarde maken die totaal kWh van die 2 is, gewoon optellen dus. In node red kan ik beide waarden lezen maar hoe krijg ik ze bij elkaar optgeteld en zet ik ze weg naar een waarde die ik in Home assistant weer kan gebruiken ?

Thanks !
Met deze node kan je sensor waardes optellen.

Waarom wil je dit doen via Node-RED? Met een Home-Assistant template kan je ook de waardes van meerdere sensoren bij elkaar optellen.

Acties:
  • +1 Henk 'm!

  • reddo
  • Registratie: Oktober 2010
  • Laatst online: 16-06 18:46
harmen76 schreef op vrijdag 8 maart 2024 @ 15:11:
[...]


Met deze node kan je sensor waardes optellen.

Waarom wil je dit doen via Node-RED? Met een Home-Assistant template kan je ook de waardes van meerdere sensoren bij elkaar optellen.
Prima tip van de template, dankje !!!

http://www.pvoutput.org/intraday.jsp?id=13642&sid=11522


Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

Shelly Button.
Wifi en mqtt.
Zou hem graag uitlezen met een flow..
Ik gebruik domoticz, icm node red. [ geen programmeur:-( ]

Lijkt niet zo heel moeilijk,
shellies/Shel-Button-Urinoir-gen1/input_event
Afbeeldingslocatie: https://tweakers.net/i/f3ctyudyj6cBp-by7u9OeAe8ZEk=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/QAnq335L16LFNNhFdUrSXq7X.png?f=user_large
Afbeeldingslocatie: https://tweakers.net/i/v97twZk6lDVl4IoAEL0KXrsPWJ0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/CoRPN9i4fIOmRdvBKb5DLgC4.png?f=user_large
Waarbij ik de "s" of de "L" als command nodig heb


De node output:
code:
1
2
3
4
5
28-3-2024 07:06:32node: debug 594
shellies/Shel-Button-Urinoir-gen1/input_event/0 : msg.payload : Object
object
event: "S"
event_cnt: 154


Of:
code:
1
2
3
4
5
28-3-2024 07:06:51node: debug 594
shellies/Shel-Button-Urinoir-gen1/input_event/0 : msg.payload : Object
object
event: "L"
event_cnt: 155



Maar ik krijg de omzetting van S naar 1 [ wat Domoticz vraagt] niet goed.

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

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


Mss iemand wel O-)

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


Acties:
  • +1 Henk 'm!

  • pc_freak1
  • Registratie: Maart 2018
  • Laatst online: 16:05
Dylantje2 schreef op donderdag 28 maart 2024 @ 07:11:
Shelly Button.
Wifi en mqtt.
Zou hem graag uitlezen met een flow..
Ik gebruik domoticz, icm node red. [ geen programmeur:-( ]

Lijkt niet zo heel moeilijk,

[...]


Waarbij ik de "s" of de "L" als command nodig heb


De node output:
code:
1
2
3
4
5
28-3-2024 07:06:32node: debug 594
shellies/Shel-Button-Urinoir-gen1/input_event/0 : msg.payload : Object
object
event: "S"
event_cnt: 154


Of:
code:
1
2
3
4
5
28-3-2024 07:06:51node: debug 594
shellies/Shel-Button-Urinoir-gen1/input_event/0 : msg.payload : Object
object
event: "L"
event_cnt: 155



Maar ik krijg de omzetting van S naar 1 [ wat Domoticz vraagt] niet goed.

[Afbeelding]

[Afbeelding]


Mss iemand wel O-)
ik zou dat anders doen.
ik zou twee luister nodes maken voor de shelly, voor beide statussen 1tje.
om naar domoticz te praten heb je deze change node nodig(voorbeeldje uit een van mijn flows):
Afbeeldingslocatie: https://i.imgur.com/34lZDXJ.png

ik gebruik het in deze flow om een soort sync tussen HomeAssitant en Domoticz te hebben, gezien HA sommige apparaten niet ondersteunt, en ik daarop grotendeels ben overgestapt, maar Domoticz nog nodig heb voor wat legacy spul.
Afbeeldingslocatie: https://i.imgur.com/fevWd6Z.png

maar als je je json van de hele flow post in een codeblok, de statussen van je shelly knop en de idx met switchtype die geschakeld moet worden kan ik denk ik wel wat voor je bouwen als het je zelf niet lukt.

Als je het niet probeert, kun je het sowieso niet.


Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

pc_freak1 schreef op donderdag 28 maart 2024 @ 08:18:
[...]


ik zou dat anders doen.
ik zou twee luister nodes maken voor de shelly, voor beide statussen 1tje.
om naar domoticz te praten heb je deze change node nodig(voorbeeldje uit een van mijn flows):
[Afbeelding]

ik gebruik het in deze flow om een soort sync tussen HomeAssitant en Domoticz te hebben, gezien HA sommige apparaten niet ondersteunt, en ik daarop grotendeels ben overgestapt, maar Domoticz nog nodig heb voor wat legacy spul.
[Afbeelding]

maar als je je json van de hele flow post in een codeblok, de statussen van je shelly knop en de idx met switchtype die geschakeld moet worden kan ik denk ik wel wat voor je bouwen als het je zelf niet lukt.
Over van domoticz naar Ha..
En bevalt dat?
Dat sommige dan weer niet werken op ha, schijnt toch veel groter te zijn geworden dan domoticz..

Maar goed.

Ik kan niet zoveel bouwen..
Maar het moet gewoon 1 richting zijn. kan niet met domoticz deze button aanklikken.[ gaat in sleep]
Push the botton dan een domoticz switch aan laten gaan, en het shelly button command, moet ook weer uit na zijn . Domoticz push button uit kan ik domoticz wel regel.

Zou heeel blij zijn als je zon flow kunt maken.
Kan her en daar wel wat aanpassen, maar blijft toch hard to get een goede flow te maken.

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


Acties:
  • 0 Henk 'm!

  • pc_freak1
  • Registratie: Maart 2018
  • Laatst online: 16:05
@Dylantje2 dit zou wel moeten werken denk ik:
Afbeeldingslocatie: https://i.imgur.com/ZzwO9fg.png

waarbij je in de eerst het topic zet waar de status van je shelly button komt

dan dit in een switch node:
Afbeeldingslocatie: https://i.imgur.com/ueBCXio.png

dan, er van uit gaande dat je een light of dummy switcht dit in een change node waarbij je <idx> vervangt voor de idx van je switch:
Afbeeldingslocatie: https://i.imgur.com/h4yGEbs.png

en dat gaat dan weer naar een mqtt/in node:
Afbeeldingslocatie: https://i.imgur.com/nJlBHxp.png

ik heb geen shelly button om te testen, maar ik denk dat dit wel moet werken.

Als je het niet probeert, kun je het sowieso niet.


Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

MM Stap 1 komt er a niet meer doorheen:
Afbeeldingslocatie: https://tweakers.net/i/b6VJ7w2MsEfvetcliAQ_tdJNGX8=/800x/filters:strip_exif()/f/image/OB5523uMX0OcSfCtZM5RlbLY.png?f=fotoalbum_large

mqtt explorer:
Afbeeldingslocatie: https://tweakers.net/i/ndqCxp3kNuoUs7BX4jQhfqXxSPc=/800x/filters:strip_exif()/f/image/PJGJoBldGDIdlClYRRBacVjZ.png?f=fotoalbum_large

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


Acties:
  • 0 Henk 'm!

  • pc_freak1
  • Registratie: Maart 2018
  • Laatst online: 16:05
heb je een spatie in: "event":"S" ?
daar lijkt het wel op, dat hoort niet.
zonder spatie zou in theorie moeten werken

Als je het niet probeert, kun je het sowieso niet.


Acties:
  • 0 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

make no differents..

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


Acties:
  • +1 Henk 'm!

  • pc_freak1
  • Registratie: Maart 2018
  • Laatst online: 16:05
ik heb zelf helaas niet zo'n button. dus dan kom ik zo ook niet 123 verder :/

heb je dit al geprobeerd?
Domoticz heeft een weg om via http commando's te ontvangen.
in shelly kun je als het goed is knopacties instellen, dat hij dan bij een druk op de knop een http actie doet.

dan kun je hier wellicht iets mee:
code:
1
http://<username:password@>domoticz-ip<:port>/json.htm?type=command&param=switchlight&idx=99&switchcmd=Toggle

Als je het niet probeert, kun je het sowieso niet.


Acties:
  • +1 Henk 'm!

  • Dylantje2
  • Registratie: April 2007
  • Laatst online: 11-06 20:39

Dylantje2

sorry Bricklayere here :-)

pc_freak1 schreef op vrijdag 29 maart 2024 @ 07:59:
[...]

ik heb zelf helaas niet zo'n button. dus dan kom ik zo ook niet 123 verder :/

heb je dit al geprobeerd?
Domoticz heeft een weg om via http commando's te ontvangen.
in shelly kun je als het goed is knopacties instellen, dat hij dan bij een druk op de knop een http actie doet.

dan kun je hier wellicht iets mee:
code:
1
http://<username:password@>domoticz-ip<:port>/json.htm?type=command&param=switchlight&idx=99&switchcmd=Toggle
Dank dat werkt ook prima!!!
En stukken makkelijker O-)

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


Acties:
  • 0 Henk 'm!

  • Sliener
  • Registratie: Februari 2021
  • Laatst online: 15-06 13:03
Ik kom er niet uit!

Ik probeer m.b.v. 2 deursensoren een lamp aan te doen en vervolgend enkel weer uit te schakelen als beide deuren 10 seconden dicht zijn.

Als de ene deur dicht gaat en vervolgens de andere open gaat moet de lamp aan blijven. Dit laatste wil niet lukken

Acties:
  • 0 Henk 'm!

  • harmen76
  • Registratie: November 2010
  • Laatst online: 22:51
Sliener schreef op woensdag 3 april 2024 @ 19:27:
Ik kom er niet uit!

Ik probeer m.b.v. 2 deursensoren een lamp aan te doen en vervolgend enkel weer uit te schakelen als beide deuren 10 seconden dicht zijn.

Als de ene deur dicht gaat en vervolgens de andere open gaat moet de lamp aan blijven. Dit laatste wil niet lukken
Zijn vast meerdere oplossingen voor. Ik heb dit voor onze garagedeur opgelost door gebruik te maken van de simple-gate node. In mijn flow zitten twee gates, 1 achter iedere deursensor, waarbij beide gates geopend of gesloten worden door de andere deursensor. Door vervolgens een delay node toe te voegen kan je de 10s vertraging toevoegen alvorens de lamp uitgaat.

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
Sliener schreef op woensdag 3 april 2024 @ 19:27:
Ik kom er niet uit!

Ik probeer m.b.v. 2 deursensoren een lamp aan te doen en vervolgend enkel weer uit te schakelen als beide deuren 10 seconden dicht zijn.

Als de ene deur dicht gaat en vervolgens de andere open gaat moet de lamp aan blijven. Dit laatste wil niet lukken
Kun je delen wat je al hebt (even een screencapture en een export van de betreffende nodes)?

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Sliener
  • Registratie: Februari 2021
  • Laatst online: 15-06 13:03
Geen idee hoe? zo iets?


code:
1
[{"id":"620e5366b2736f25","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"3c0f1c943068fa9f","type":"change","z":"620e5366b2736f25","name":"LIGHT OFF SIGNAL","rules":[{"t":"set","p":"payload","pt":"msg","to":"OFF","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":515,"y":260,"wires":[["5f0be79c7dcee154"]],"l":false},{"id":"2d1cfbc66f75300d","type":"change","z":"620e5366b2736f25","name":"LIGHT ON SIGNAL","rules":[{"t":"set","p":"payload","pt":"msg","to":"ON","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":505,"y":200,"wires":[["5f0be79c7dcee154"]],"l":false},{"id":"ac2427c508e2bf5b","type":"debug","z":"620e5366b2736f25","name":"LIGHT STATUS","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":840,"y":240,"wires":[]},{"id":"5de493712b2f5927","type":"change","z":"620e5366b2736f25","name":"","rules":[{"t":"set","p":"door1","pt":"flow","to":"OPEN","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":235,"y":160,"wires":[["82766a9528e88998"]],"l":false},{"id":"23a8dce2244d7f82","type":"change","z":"620e5366b2736f25","name":"","rules":[{"t":"set","p":"door1","pt":"flow","to":"CLOSE","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":235,"y":200,"wires":[["82766a9528e88998"]],"l":false},{"id":"64e15ad6b0346457","type":"change","z":"620e5366b2736f25","name":"","rules":[{"t":"set","p":"door2","pt":"flow","to":"OPEN","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":235,"y":260,"wires":[["82766a9528e88998"]],"l":false},{"id":"b1c53f62eae2177a","type":"change","z":"620e5366b2736f25","name":"","rules":[{"t":"set","p":"door2","pt":"flow","to":"CLOSE","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":235,"y":300,"wires":[["82766a9528e88998"]],"l":false},{"id":"82766a9528e88998","type":"switch","z":"620e5366b2736f25","name":"Door-1","property":"door1","propertyType":"flow","rules":[{"t":"eq","v":"OPEN","vt":"str"},{"t":"eq","v":"CLOSE","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":385,"y":220,"wires":[["2d1cfbc66f75300d"],["d5c7191f656d1672"]],"l":false},{"id":"d5c7191f656d1672","type":"switch","z":"620e5366b2736f25","name":"Door-2","property":"door2","propertyType":"flow","rules":[{"t":"eq","v":"OPEN","vt":"str"},{"t":"eq","v":"CLOSE","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":445,"y":260,"wires":[["2d1cfbc66f75300d"],["3c0f1c943068fa9f"]],"l":false},{"id":"5f0be79c7dcee154","type":"change","z":"620e5366b2736f25","name":"","rules":[{"t":"set","p":"payload1","pt":"msg","to":"door1","tot":"flow"},{"t":"set","p":"payload2","pt":"msg","to":"door2","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":575,"y":240,"wires":[["c56867a87234e16b","a822aba6429f04b2","ac2427c508e2bf5b","3c7e5d9a5a6923f0","77f7927b027e2e19"]],"l":false},{"id":"c56867a87234e16b","type":"debug","z":"620e5366b2736f25","name":"DOOR-1 STATUS","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload1","targetType":"msg","statusVal":"payload","statusType":"auto","x":850,"y":140,"wires":[]},{"id":"a822aba6429f04b2","type":"debug","z":"620e5366b2736f25","name":"DOOR-2 STATUS","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload2","targetType":"msg","statusVal":"payload","statusType":"auto","x":850,"y":360,"wires":[]},{"id":"13ed1f1c1a0ff999","type":"server-state-changed","z":"620e5366b2736f25","name":"Tussen deur","server":"4191287b.336198","version":5,"outputs":2,"exposeAsEntityConfig":"","entityId":["binary_sensor.lumi_lumi_sensor_magnet_aq2_opening"],"entityIdType":"list","outputInitially":false,"stateType":"str","ifState":"on","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"open","valueType":"str"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":70,"y":140,"wires":[["5de493712b2f5927"],[]]},{"id":"2c94fc757c72c7e5","type":"server-state-changed","z":"620e5366b2736f25","name":"Tussen deur","server":"4191287b.336198","version":5,"outputs":2,"exposeAsEntityConfig":"","entityId":["binary_sensor.lumi_lumi_sensor_magnet_aq2_opening"],"entityIdType":"list","outputInitially":false,"stateType":"str","ifState":"on","ifStateType":"str","ifStateOperator":"is_not","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"close","valueType":"str"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":70,"y":200,"wires":[["23a8dce2244d7f82"],[]]},{"id":"f4e4fc0252bf2a2a","type":"server-state-changed","z":"620e5366b2736f25","name":"Buiten deur","server":"4191287b.336198","version":5,"outputs":2,"exposeAsEntityConfig":"","entityId":["binary_sensor.garage_buitendeur_openen"],"entityIdType":"list","outputInitially":false,"stateType":"str","ifState":"on","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"open","valueType":"str"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":70,"y":280,"wires":[["64e15ad6b0346457"],[]]},{"id":"2b8e8dfc061d839f","type":"server-state-changed","z":"620e5366b2736f25","name":"Buiten deur","server":"4191287b.336198","version":5,"outputs":2,"exposeAsEntityConfig":"","entityId":["binary_sensor.garage_buitendeur_openen"],"entityIdType":"list","outputInitially":false,"stateType":"str","ifState":"on","ifStateType":"str","ifStateOperator":"is_not","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"close","valueType":"str"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":70,"y":340,"wires":[["b1c53f62eae2177a"],[]]},{"id":"3c7e5d9a5a6923f0","type":"api-call-service","z":"620e5366b2736f25","name":"","server":"4191287b.336198","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":["991d0331fef35bbf377d0dfdde24b50e"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":940,"y":180,"wires":[[]]},{"id":"489248532bf07859","type":"api-call-service","z":"620e5366b2736f25","name":"","server":"4191287b.336198","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":["991d0331fef35bbf377d0dfdde24b50e"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":940,"y":300,"wires":[[]]},{"id":"77f7927b027e2e19","type":"trigger","z":"620e5366b2736f25","name":"","op1":"","op2":"off","op1type":"nul","op2type":"str","duration":"3","extend":false,"overrideDelay":true,"units":"s","reset":"ON","bytopic":"all","topic":"topic","outputs":1,"x":780,"y":300,"wires":[["489248532bf07859"]]},{"id":"4191287b.336198","type":"server","name":"Home Assistant","addon":true}]

Acties:
  • 0 Henk 'm!

  • Sliener
  • Registratie: Februari 2021
  • Laatst online: 15-06 13:03
Afbeeldingslocatie: https://tweakers.net/i/BDeIN7SdE2cE-l3l5D2U6D4oLOo=/800x/filters:strip_exif()/f/image/ClRBxi4PKk2BnDh0HyP7F0P7.png?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
@Sliener Zet in ieder geval die export even tussen code tags: [ code ][ /code ] (maar dan zonder de spaties)

Verder zie ik dat je Home Assistant gebruikt. In dat geval zijn er twee mogelijkheden:
1) Door een helper in Home Assistant aan te maken en deze te gebruiken in HA (simpel).
2) Puur in Node Red (is wat lastiger)

De tweede optie kan ik later uitleggen als je dat wilt (of geinteresseerd bent), maar dat werkt met een tweetal trigger:state nodes. Duurt voor vanavond even te lang :z

Optie 1)
  1. Ga in HA naar Settings->Devices & Services->Helpers
  2. Maak een nieuwe helper van het type Group->Binary Sensor Group
  3. Geef de helper een naam en voeg de entities van de deursensors toe.
  4. En zorg dat "All Entities" UIT staat. Dat betekent dat als 1 of meer deuren open zijn de helper entity ON is. PS Check even of je deursensors on of off zijn als de deur open is, anders moet deze swtich misschien net andersom.
Je kunt nu de helper entity gebruiken in je Node Red flow, wat alles enorm versimpelt.

Gebruik vervolgens in Node Red een delay node voor de vertraging, welke je annuleert door een msg.reset naar deze delay node te sturen. Ipv een delay+msg.reset is een trigger node ook mogelijk.

Ik denk dat je zo voldoende info hebt om verder te kunnen.
Als je er niet uit komt of toch optie 2 wilt zien, dan moet je het maar even laten weten.

PS Die group in HA kun je ook gebruiken als je meerdere bewegingssensors hebt die moeten samenwerken.

[ Voor 92% gewijzigd door musicpixel op 04-04-2024 20:59 ]

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Sliener
  • Registratie: Februari 2021
  • Laatst online: 15-06 13:03
Ik wil graag telegram gebruiken zodat meerdere mensen dingen in huis kunnen aansturen zonder dat iedereen bepaalde apps hoeft te installeren. Onder het motte "beter goed gejat dan slecht bedacht" heb ik dankzij derden het zover dat ik onderstaande door kan sturen.

Maar hoe kan ik b.v. een Shelly aansturen met onderstaande array?

5-4-2024 14:55:39node: debug 3
msg.payload : array[2]
array[2]
0: "bed"
1: "off"

Acties:
  • 0 Henk 'm!

  • RedPas
  • Registratie: November 2017
  • Laatst online: 17-06 13:45
Hoe kan ik het best waardes splitten uit de seriele poort?
De data komt van een arduino via Lora.

+RCV=120,24, 20.44 Dit is een ontvangen waarde, waar ik de intresse heb in de laatste getallen,
20.44 is de temp verstuurd.

Hoe split ik dit nu op?
Dit is nog maar het begin/test. Er zal meer data verstuurd worden. Maar eerst wil ik weten hoe je het volgens de regels vd kunst doet.

Influx en grafana draaid al, en als ik data van een mqtt sensor naar de db schrijf werkt dit ook.

Enkel mn opbouw klopt niet.


HttpError: 400 Bad Request : {"error":"partial write: field type conflict: input field \"value\" on measurement \"Temperature\" is type string, already exists as type float dropped=1"}

Merge met het grote topic

[ Voor 2% gewijzigd door Septillion op 20-05-2024 09:01 ]

Hikvision HCSA, Paxton, Siemens, Raspberry Pi


Acties:
  • 0 Henk 'm!

  • RedPas
  • Registratie: November 2017
  • Laatst online: 17-06 13:45
RedPas schreef op maandag 20 mei 2024 @ 08:14:
Hoe kan ik het best waardes splitten uit de seriele poort?
De data komt van een arduino via Lora.

+RCV=120,24, 20.44 Dit is een ontvangen waarde, waar ik de intresse heb in de laatste getallen,
20.44 is de temp verstuurd.

Hoe split ik dit nu op?
Dit is nog maar het begin/test. Er zal meer data verstuurd worden. Maar eerst wil ik weten hoe je het volgens de regels vd kunst doet.

Influx en grafana draaid al, en als ik data van een mqtt sensor naar de db schrijf werkt dit ook.

Enkel mn opbouw klopt niet.


HttpError: 400 Bad Request : {"error":"partial write: field type conflict: input field \"value\" on measurement \"Temperature\" is type string, already exists as type float dropped=1"}

[mbr]Merge met het grote topic[/mbr]
Ik ben al verder, het is gelukt om data naar influx te schrijven.
Maar nu een volgend probleem, de data komt van seriele poort, deze split ik in node red
Afbeeldingslocatie: https://tweakers.net/i/p463SP1nj5z9gq95Sid6swgEwz8=/%0D%0A800x/filters:strip_exif()/f/image/Pc3huozVzIhW2Jp6IxSgefuH.png?f=fotoalbum_large

Dus zorg ik dat de gesplitste data naar de juiste db gaat?

Hikvision HCSA, Paxton, Siemens, Raspberry Pi


Acties:
  • +3 Henk 'm!
Vandaag voor het eerst in weken weer een keer iets, voor mij, nieuws gemaakt in Node-RED. Ik heb sinds een paar weken 2 aquaria welke ik om en om van wisselend voer wil voorzien. Om te zorgen dat ik het niet vergeet, maar vooral het juiste voer in de juiste bak gooi heb ik een notificatie gemaakt (via Home Assistant) die laat weten welk voer in welk aquarium moet voor die dag.
Afbeeldingslocatie: https://images.lolgast.nl/uploads/original/4d/a5/5284cb43fc9bd7554b24dc96d1e2.png

Ik heb groen gekleurd en rood gekleurd voer.
Afbeeldingslocatie: https://images.lolgast.nl/uploads/original/31/84/88209cf4df39658ba70f16cae7d5.jpeg
"Herinner morgen" stopt de flow in Node-RED en resulteert in dezelfde melding 24 uur later
"Stel 30 minuten uit" spreekt voor zich denk ik
"Gedaan" accordeert de melding en wijzigt de variabele voor de volgende dag

Functie node 1
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
let aquarium = (flow.get("nextAquarium") === undefined) ? "Woonkamer" : flow.get("nextAquarium")
let voer = (flow.get("nextVoer") === undefined) ? "🟢" : flow.get("nextVoer") 
msg.data = {
    'actions': [
        {
            "action": "aquarium_skip",
            "title": "Herinner morgen",
            "icon": "sfsymbols:forward"
        },
        {
            "action": "aquarium_extend",
            "title": "Stel 30 minuten uit",
            "icon": "sfsymbols:goforward.30"
        },
        {
            "action": "aquarium_done",
            "title": "Gedaan",
            "icon": "sfsymbols:checkmark"
        }
    ],
}

msg.payload = {
    data: {
        'title':
            aquarium + ' voeren',
        'message':
            voer.substring(0, 2) + ' - ' + aquarium + ' aquarium voeren',
        'data':
            msg.data
    }
};
flow.set("nextAquarium", aquarium)
flow.set("nextVoer", voer)
return msg;


Functie node 2
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
let voer = flow.get("nextVoer")
if (voer.length > 4) {
    if (voer.match("🔴")) {
        voer = "🟢"
    }
    else if (voer.match("🟢")) {
        voer = "🔴"
    }
}

flow.set("nextAquarium", (flow.get("nextAquarium") == "Zolder") ? "Woonkamer" : "Zolder")
flow.set("nextVoer", voer.repeat(2))
return{}

Dit resulteert in bovenstaande melding, waarna het type voer in de variabele wordt verdubbeld. Als het voer 2 keer is verdubbelt wordt het gewijzigd in het andere type. Ik krijg zo dus 2 keer dezelfde kleur waarbij het aquarium wisselt en vervolgens 2 keer de andere kleur, met wisselend aquarium. Zoiets dus
code:
1
2
3
4
🟢 - woonkamer
🟢 - zolder
🔴 - woonkamer
🔴 - zolder

Disclaimer: Eventuele programmeurs zullen zien: Ik ben geen programmeur :+

Acties:
  • 0 Henk 'm!

  • Ruudstertje
  • Registratie: April 2021
  • Laatst online: 05-06 23:59
Goedemiddag allemaal,

Ik heb momenteel thuis wat netwerkproblemen die zonder verklaarbare reden zijn ontstaan. Mijn internetprovider is dit aan het onderzoeken alleen dat duurt al een tijdje.
Kort samengevat is het probleem; Geen internetverbinding maar lokale netwerk werkt verder wel (NAS en Home Assistant) is gewoon te bereiken. Na reboot modem is het probleem weer opgelost.

Nu heb ik een simpele klik aan, klik uit schakelaar liggen en toegevoegd aan home assistent, hoe zou ik een flow kunnen maken dat bij een probleem met de internetverbinding van langer dan bijvoorbeeld 5 minuten hij het modem uitschakelt en vervolgens 1 minuut later weer inschakelt?

Het is even een noodoplossing tot het probleem opgelost is door de provider.

Acties:
  • +1 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 01:55
Ruudstertje schreef op zondag 16 juni 2024 @ 13:16:
Goedemiddag allemaal,

Ik heb momenteel thuis wat netwerkproblemen die zonder verklaarbare reden zijn ontstaan. Mijn internetprovider is dit aan het onderzoeken alleen dat duurt al een tijdje.
Kort samengevat is het probleem; Geen internetverbinding maar lokale netwerk werkt verder wel (NAS en Home Assistant) is gewoon te bereiken. Na reboot modem is het probleem weer opgelost.

Nu heb ik een simpele klik aan, klik uit schakelaar liggen en toegevoegd aan home assistent, hoe zou ik een flow kunnen maken dat bij een probleem met de internetverbinding van langer dan bijvoorbeeld 5 minuten hij het modem uitschakelt en vervolgens 1 minuut later weer inschakelt?

Het is even een noodoplossing tot het probleem opgelost is door de provider.
Probeer een pagina op te halen of te pingen. Indien dat mislukt, na vijf minuten nog eens checken. Weer mislukt? Reboot.

Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 00:39

Gizz

Dunder-Mifflin, Inc.

@Ruudstertje moet het binnen Node-RED? Voor HA heb je ook kant-en-klare scripts, bijvoorbeeld deze.

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


Acties:
  • 0 Henk 'm!

  • Ruudstertje
  • Registratie: April 2021
  • Laatst online: 05-06 23:59
Gizz schreef op zondag 16 juni 2024 @ 16:34:
@Ruudstertje moet het binnen Node-RED? Voor HA heb je ook kant-en-klare scripts, bijvoorbeeld deze.
Hoeft niet perse in Node red. Duik ff in je link, bedankt!

Acties:
  • 0 Henk 'm!

  • Borisvkr
  • Registratie: November 2023
  • Laatst online: 03-10-2024
Ik heb node-red als docker draaien onder unraid, werkt(e) allemaal prima.

Meestal open ik een browser op een (windows) pc en connect ik naar NR, gaat goed. Ook op de iPhone (13) werkt het zo. Tot voor kort ook op de iPad... maar nu dus niet meer.

Open ik een browser naar node-red dan krijg je wel de node-red ui te zien, maar verder is alles leeg.
Normaal zie je dan wat progress bars die de flows loaden etc en uiteindelijk je tabs met je flows, maar dat krijg je dus allemaal niet te zien...

Iemand een idee waarom het ineens op de ipad niet meer werkt?

Schopje naar het grote topic

[ Voor 3% gewijzigd door Septillion op 17-07-2024 16:55 ]


Acties:
  • 0 Henk 'm!

  • maubaan
  • Registratie: Oktober 2015
  • Laatst online: 13-06 10:35
ga je niet naar een nieuw tabblad in NR?
heb je andere browser geprobeerd?

I9-9900K | Asro Z390 PHANTOM GAMING 9 Z390 | GiBy8GB D6 RTX 2070 Windforce 8G | Corsair RM550X (2018) 550W ATX24 | Cooler Master ML120L RGB | Corsair Vengeance LPX 32 GB | NZXT H500


Acties:
  • 0 Henk 'm!

  • Borisvkr
  • Registratie: November 2023
  • Laatst online: 03-10-2024
Ik heb safari en chrome op de ipad, op beiden werkt het niet.
Je ziet alleen de zwarte balk van node red geopend, en een leeg 'canvas'. Geen tabbladen.
Ook niet de rechter 'menubalk'.

Acties:
  • 0 Henk 'm!
Borisvkr schreef op woensdag 17 juli 2024 @ 14:55:
Ik heb node-red als docker draaien onder unraid, werkt(e) allemaal prima.

Meestal open ik een browser op een (windows) pc en connect ik naar NR, gaat goed. Ook op de iPhone (13) werkt het zo. Tot voor kort ook op de iPad... maar nu dus niet meer.

Open ik een browser naar node-red dan krijg je wel de node-red ui te zien, maar verder is alles leeg.
Normaal zie je dan wat progress bars die de flows loaden etc en uiteindelijk je tabs met je flows, maar dat krijg je dus allemaal niet te zien...

Iemand een idee waarom het ineens op de ipad niet meer werkt?

[mbr]Schopje naar het grote topic[/mbr]
Eerste waar ik aan denk is het verwijderen van de browser historie/cookies van die url. Als het op andere (ook Apple) devices wel werkt moet het wel iets op de iPad zijn zou je denken

Acties:
  • 0 Henk 'm!

  • Borisvkr
  • Registratie: November 2023
  • Laatst online: 03-10-2024
Heb ik uiteraard ook al eerste gedaan, zowel voor chrome als safari. Geen effect. Ook de hele ipad maar even hard ge-reboot. Geen effect.

Is er nog iets in de logging van NR waar ik naar kan zoeken?

Acties:
  • 0 Henk 'm!

  • Borisvkr
  • Registratie: November 2023
  • Laatst online: 03-10-2024
Na een update van iOS op de iPad werkt het weer. Aan de ene kant zorgwekkend dat je als los pakket zo afhankelijk bent van andermans updates... aan de andere kant, tsja het draait in een browser. Die kunnen ook lek zijn...

Acties:
  • 0 Henk 'm!

  • Robin2018
  • Registratie: Augustus 2024
  • Laatst online: 06-05 19:57
goeiedag

ik heb via node red een koppeling met siemens logo nu wou ik de terug levering van de slimme meter inlezen in node red en dit door sturen naar de siemens logo.

alleen het inlezen van de terug levering in kw naar node red krijg ik niet terecht heeft hier iemand een oplossing of een voorbeeld hoe dit te doen is

mvg

Er wordt wel war eigen inzet verwacht. Wat heb je al geprobeerd? Want verwacht je dat er gebeurd maar gebeurd niet? Etc. Hoofdletters en leestekens worden ook op prijs gesteld.

Voor nu schopje naar het grote topic

[ Voor 25% gewijzigd door Septillion op 07-08-2024 13:12 ]


Acties:
  • 0 Henk 'm!

  • Mylotec
  • Registratie: Mei 2009
  • Laatst online: 16-03 09:51
Iemand die ervaring heeft met de palette "node-red-contrib-home-assistant-websocket" versie: 0.67.1?

Heb in mijn slaapkamer een Innova airco hangen. Deze heeft via HACS een integratie in HA.
Maar algemeen in het huis heb ik een KNX installatie zitten.
Nu zou ik graag via mijn KNX de airco kunnen aansturen. Dit kan niet rechtstreeks omdat het toestel geen ondersteuning heeft hiervoor.
Werk nu via Node-Red en MQTT om connectie te maken tussen HA & KNX.

Heb de meeste zaken kunnen koppelen maar struikel nu over de Set_temperature. Helaas heb ik geen programmatie ervaring waardoor ik niet verder geraak.

Heb nu deze config:
Afbeeldingslocatie: https://tweakers.net/i/74OdCJIR6ea0crY9QxJMFA6lP5Y=/x800/filters:strip_exif()/f/image/IWq1Ul9d6aXGOec5DU67mJMa.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/5pxOlHddIea7XL479Yh2e1fuscE=/x800/filters:strip_exif()/f/image/6TRm7moL2SFFYfkW5WYLcIeW.png?f=fotoalbum_large

Via KNX krijg ik de waarde gewoon als getal maar weet niet hoe ik deze moet vertalen naar de action / call service van HA.


Bijkomend heb ik ook nog het probleem dat ik de gemeten temperatuur van de airco als string krijg, is er een makkelijke manier om deze om te vormen naar een nummer?
Heb het reeds geprobeerd met de change functie, string naar nummer zonder een voorwaarde in te stellen maar dan krijg in bizarre waardes.

-> Hier heb ik de oplossing voor gevonden

Acties:
  • 0 Henk 'm!

  • Pimmetje651
  • Registratie: Oktober 2001
  • Laatst online: 17-06 14:02
Iemand voor elkaar gekregen om zijn (Bosch) afzuigkap via NR aan te sturen ?

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


Acties:
  • 0 Henk 'm!

  • OcGuru
  • Registratie: Juni 2004
  • Laatst online: 21:59

OcGuru

Giulietta Qv

Sinds een paar dagen doet node-red vreemd. Ik krijg flows niet meer gedeployed of hij doet er een eeuwigheid over en komt dan met 502 bad gateway melding. De Hudige flows draaien gewoon prima. Alleen als ik wijziging doet en op deploy klik. Scherm word dan even grijs (als normaal) maar hier blijft het ook bij...

Heb al een backup teruggezet van een paar dagen terug en hier treedt het probleem niet op. Dus zit hem in een node-red update of een HA update..

Zeker niemand anders last van? :P

Bl44t


Acties:
  • 0 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 01:55
En wat staat er in de logs?

Acties:
  • 0 Henk 'm!

  • OcGuru
  • Registratie: Juni 2004
  • Laatst online: 21:59

OcGuru

Giulietta Qv

Zoals het een goede log betaamt :P . Geen enkele bruikbare informatie.


Zat hem blijkbaar in de update naar HA 13.0. Deze update is later ook weer ingetrokken. :/

Bl44t


Acties:
  • 0 Henk 'm!

  • Mylotec
  • Registratie: Mei 2009
  • Laatst online: 16-03 09:51
Afbeeldingslocatie: https://tweakers.net/i/gHDVOJ3NTxsipsVxaxSPd-GUVIM=/x800/filters:strip_exif()/f/image/yUbDzpLwqpqwaoNFmAFlw5GU.png?f=fotoalbum_large

Heb helaas geen programmeer ervaring; kan er mij iemand zeggen hoe ik in de plaats van "16" een waarde kan invoegen via een payload? Zou hier een variabele waarde willen invoegen.

Via google heb ik deze gevonden;
code:
1
{"temperature" : "{{parseFloat(payload)}}"}


maar krijg dan deze melding:
HomeAssistantError: expected float for dictionary value @ data['temperature']

Heb ook deze geprobeerd;
code:
1
{ "temperature": $number(payload.event.event_response) }​​​​​

dan krijg ik deze melding: ValidationError: "action" is not allowed to be empty

Iemand die kan helpen?

[ Voor 29% gewijzigd door Mylotec op 23-08-2024 07:17 ]


Acties:
  • 0 Henk 'm!

  • harmen76
  • Registratie: November 2010
  • Laatst online: 22:51
Mylotec schreef op vrijdag 23 augustus 2024 @ 06:47:
[Afbeelding]

Heb helaas geen programmeer ervaring; kan er mij iemand zeggen hoe ik in de plaats van "16" een waarde kan invoegen via een payload? Zou hier een variabele waarde willen invoegen.

Via google heb ik deze gevonden;
code:
1
{"temperature" : "{{parseFloat(payload)}}"}


maar krijg dan deze melding:
HomeAssistantError: expected float for dictionary value @ data['temperature']

Heb ook deze geprobeerd;
code:
1
{ "temperature": $number(payload.event.event_response) }​​​​​

dan krijg ik deze melding: ValidationError: "action" is not allowed to be empty

Iemand die kan helpen?
Geen idee waar het bij jou mis gaat, ik gebruik de 'action' node niet. Ik weet wel een andere oplossing:

Je kan dit ook via de home Assistant "call-service" node uit het node-red-contrib-home-assistant-websocket palette instellen.

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
[
    {
        "id": "4f1be6df4d2c0d7b",
        "type": "api-call-service",
        "z": "a56a6a84c1931173",
        "name": "set temp",
        "server": "home-assistant",
        "version": 5,
        "debugenabled": false,
        "domain": "climate",
        "service": "set_temperature",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "climate.woonkamer"
        ],
        "data": "{\"temperature\": 20}",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 520,
        "y": 680,
        "wires": [
            []
        ]
    }
]

Acties:
  • 0 Henk 'm!

  • Mylotec
  • Registratie: Mei 2009
  • Laatst online: 16-03 09:51
harmen76 schreef op vrijdag 23 augustus 2024 @ 15:03:
[...]


Geen idee waar het bij jou mis gaat, ik gebruik de 'action' node niet. Ik weet wel een andere oplossing:

Je kan dit ook via de home Assistant "call-service" node uit het node-red-contrib-home-assistant-websocket palette instellen.

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
[
    {
        "id": "4f1be6df4d2c0d7b",
        "type": "api-call-service",
        "z": "a56a6a84c1931173",
        "name": "set temp",
        "server": "home-assistant",
        "version": 5,
        "debugenabled": false,
        "domain": "climate",
        "service": "set_temperature",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "climate.woonkamer"
        ],
        "data": "{\"temperature\": 20}",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 520,
        "y": 680,
        "wires": [
            []
        ]
    }
]
Het is dat palette die ik gebruik. Sinds dat laatste update noemt dit nu action.
Zie in uw voorbeeld dat je een vaste waarde van 20 instelt? dat heb ik ook getest en het werkte.

Acties:
  • 0 Henk 'm!
@harmen76
Daarom lees je de patchnotes :)
https://www.home-assistan...vice-calls-hello-actions-

Nóg geen breaking change, maar kan zomaar deprecated worden in de toekomst

Acties:
  • 0 Henk 'm!

  • harmen76
  • Registratie: November 2010
  • Laatst online: 22:51
lolgast schreef op vrijdag 23 augustus 2024 @ 22:24:
@harmen76
Daarom lees je de patchnotes :)
https://www.home-assistan...vice-calls-hello-actions-

Nóg geen breaking change, maar kan zomaar deprecated worden in de toekomst
Tja, er is meer in de wereld dan alle home-assistant updates bij te houden ;)

Overigens, ik gebruik geen home-assistant nodes (meer) in node-red, dus veel problemen zal het voor mij niet geven 8)

Acties:
  • 0 Henk 'm!

  • Mylotec
  • Registratie: Mei 2009
  • Laatst online: 16-03 09:51
Kan er mij iemand zeggen hoe en of het mogelijk is om via http get een boolean te sturen naar node red?
Direct als payload?

Heb nu dit;
http://192.168.x:1880/front?msg.payload=true

maar in debug zie ik dit:
Afbeeldingslocatie: https://tweakers.net/i/eoOJRnmnD0PbFWFwl1E0vHaJ9h4=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/jk5O64zhx29MfS9GWyK2CWeS.png?f=user_large

Acties:
  • 0 Henk 'm!

  • tommyz
  • Registratie: Februari 2005
  • Laatst online: 16-06 10:01
@Mylotec Dit kan volgens mij niet, maar het kan wel eenvoudig met een "change" node:

Input:

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

Change node:

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

Ouput:

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

[ Voor 25% gewijzigd door tommyz op 27-09-2024 09:20 ]

Flickr


  • Mylotec
  • Registratie: Mei 2009
  • Laatst online: 16-03 09:51
tommyz schreef op vrijdag 27 september 2024 @ 09:15:
@Mylotec Dit kan volgens mij niet, maar het kan wel eenvoudig met een "change" node:

Input:

[Afbeelding]

Change node:

[Afbeelding]

Ouput:

[Afbeelding]
Bedankt, zonet even geprobeerd. bij alles wat ik binnen krijg resulteert nu in een "true".
Enig idee hoe ik hierin kan filteren dat enkel een bepaalde value voldoet?
Om al een stap verder te gaan;
http://192.168.*:1880/access?test=true
Weet er iemand hoe ik verder kan uitfilteren op "test" en vervolgens op true / false?

[ Voor 7% gewijzigd door Mylotec op 28-09-2024 01:11 ]


Acties:
  • +1 Henk 'm!

  • Mylotec
  • Registratie: Mei 2009
  • Laatst online: 16-03 09:51
Mylotec schreef op zaterdag 28 september 2024 @ 01:03:
[...]


Bedankt, zonet even geprobeerd. bij alles wat ik binnen krijg resulteert nu in een "true".
Enig idee hoe ik hierin kan filteren dat enkel een bepaalde value voldoet?
Om al een stap verder te gaan;
http://192.168.*:1880/access?test=true
Weet er iemand hoe ik verder kan uitfilteren op "test" en vervolgens op true / false?
Heb nog wat verder zitten zoeken dmv trial and error en ben ik er geraakt!
Mocht er ooit iemand het zelfde willen doen;
Vertrekkende vanuit deze;
http://192.168.*:1880/access?test=true

Moet je de change node nemen in NR;
Afbeeldingslocatie: https://tweakers.net/i/XDtI5g4kisXbatC8Ej3hYa4q5R4=/232x232/filters:strip_exif()/f/image/fYZIEMiba9STJMlWqTDvB8Lc.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/ZpWD52_xM0CRWXUpUoZ9w_kdB3U=/232x232/filters:strip_exif()/f/image/8rwdmIueJygHp5KlmOyy76EM.png?f=fotoalbum_tile


Met deze opstelling krijg ik mooi een boolean als payload.
Bedankt voor de hulp!

Acties:
  • 0 Henk 'm!

  • oltk
  • Registratie: Augustus 2007
  • Laatst online: 22:58
Hi allen

Gisteren heb ik de laatste versie van Node Red (4.0.3) geinstalleerd als addon van HA. Meteen begon Node Red te piepen over diverse nodes die niet goed zouden zijn geconfigureerd,. Ik kon door te klikken op elke fout de nodes aanpassen.

Maar er blijven er 2 over, en ik zou niet weten welke nodes dat zijn. Als ik op de melding klik gebeurt er niets, en ik zou niet weten hoe je deze fouten in het menu kan opsporen. Iemand een idee?
Afbeeldingslocatie: https://tweakers.net/i/JHtZ93Qc-hI_Zdu5D4BaN6E-d1k=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/i5UfZWOGp9Tbp2dUKYLJXQBT.png?f=user_large

Acties:
  • 0 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 16:22
Ik mis op dit moment in Node-Red (Home Assistant) de informatie wanneer er iets met een node gebeurt.
Dus het tijdstip dat bv een service aangeroepen wordt.

Wellicht een instelling maar ik kan niets vinden.
Heeft iemand hier een oplossing voor?

Acties:
  • +1 Henk 'm!

  • tommyz
  • Registratie: Februari 2005
  • Laatst online: 16-06 10:01
@Obelixxx
Je bedoelt de status onder de nodes? Dit kan je aan- en uitzetten.
Aan:
Afbeeldingslocatie: https://tweakers.net/i/B23RvBZVKv7G0Tnhrc0fs5GldTk=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/UzX6pSwnzyEmaiUyOeL5YLGf.png?f=user_large

Uit:
Afbeeldingslocatie: https://tweakers.net/i/v8D2gA-f8PHuhPApvTQt5UsDMi4=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/wS4Tx8u6W1Yqx6s6wN7EpS8s.png?f=user_large

Dit kan via Settings > Show node status.

Flickr


Acties:
  • 0 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 16:22
@tommyz

Die bedoel ik inderdaad.
Die setting staat enabled maar ik zie niets helaas.
Zou dit omgevallen kunnen zijn in een recente update?

Afbeeldingslocatie: https://tweakers.net/i/tpUzFWftvodXMDcH0cgOwlIMxMs=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/qGb6L83tHYA6eL7O39lApz2U.jpg?f=user_large

Acties:
  • +1 Henk 'm!

  • tommyz
  • Registratie: Februari 2005
  • Laatst online: 16-06 10:01
Heb je de companion app geinstalleerd? Weet niet zeker, maar wellicht dat het daardoor niet werkt.
Er was een tijdje geleden wel een update waarbij veel veranderingen zijn doorgevoerd, maar bij mij bleef alles werken.

Wat je misschien nog kan proberen:
  • Node-Red Addon opnieuw opstarten
  • Ander thema proberen
  • Updates nodes klikken in Node Red

Flickr


Acties:
  • +1 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 16:22
tommyz schreef op vrijdag 8 november 2024 @ 10:50:
Heb je de companion app geinstalleerd? Weet niet zeker, maar wellicht dat het daardoor niet werkt.
Er was een tijdje geleden wel een update waarbij veel veranderingen zijn doorgevoerd, maar bij mij bleef alles werken.

Wat je misschien nog kan proberen:
  • Node-Red Addon opnieuw opstarten
  • Ander thema proberen
  • Updates nodes klikken in Node Red
De update fixed het issue.
Ik had dit nog nooit gedaan. Ging er eigenlijk vanuit dat dat direct met Node red update zou gebeuren.
Dom, dom, dom

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 16-06 13:53
Met het volgende in een function node kan ik een lijstje met alle scenes in Home Assistant opvragen. In dat resultaat kan ik ook de entity_id's vinden voor elke scene.

code:
1
2
3
4
const states = global.get("homeassistant").homeAssistant.states;
msg.payload = Object.values(states).filter(e => e.entity_id.startsWith("scene."));

return msg;


Maar weet iemand of het mogelijk is om voor een scene de instellingen voor elk entity_id op te vragen, zoals brightness, kleur, etc? De definitie van de scene zeg maar. Natuurlijk zonder de scene te activeren.

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Wolfram55
  • Registratie: December 2016
  • Laatst online: 23:13
Ik wil mijn server dubbel gaan draaien om oa weer te kunnen upgraden (OS, NR influx ed).

Hoe kan ik nu het makkelijkst de data van mijn tcp-node ook doorsturen naar de nieuwe server?

Zo ziet hij er uit:

Afbeeldingslocatie: https://tweakers.net/i/aypmJmxZqX7vaIR1ly7cFrh5GfQ=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/Mkrx5TQP7VWy85TWsMdW4GHt.png?f=user_large

Ben al bezig geweest met tcp-out ( direct achter deze in-node ) en de request, maar het lukt me niet. Kan een instelling zijn maar geen idee of ik op de juiste weg zit en of het uberhaupt kan ( wat me stug lijkt).
Pagina: 1 ... 31 32 Laatste