Acties:
  • 0 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
@musicpixel

Ik ga hem eens analyseren.
Ik vroeg me al af wat Landing betekende, maar had nog niet vertaald. Dank je, nu snap ik hem.

Alles klinkt logisch, verwacht dat het nu wel moet gaan lukken.

Acties:
  • +1 Henk 'm!

  • LJ80
  • Registratie: Februari 2007
  • Laatst online: 23-07 16:08
Koepert schreef op zondag 9 januari 2022 @ 14:22:
[...]


Check.. Beginnen met the obvious: Heb je in BEIDE " Call service Nodes" de aanpassing gedaan?

Dan vervolg, wellicht heb ik t gemist hoor:

- Wat staat er in je eerste node
- wat staat er in je switch node

Aan werkt maar uit niet, dus heb je een aantal opties:

- Uit is niet getriggerd
- De lamp kan niet uit
- De lamp gaat direct weer aan

Dan helpt een debug node ook zeker wel.
Thanks voor je hulp, weet serieus niet wat het was.
Sowieso service wat niet goed stond.
Maar het werkt nu!
Afbeeldingslocatie: https://tweakers.net/i/8c-N-tIaEMYEZ8pemm-1e0M5cxQ=/800x/filters:strip_icc():strip_exif()/f/image/q7pfTjtjdeQin3QxahuPdgAo.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Ik heb even een vertaalprobeempje..

Ik hou mn medicijnen bij met Home Assistant (input_numbers). Ik heb een alert ingesteld op voorraad = < X. Alleen, in de ' oude' melding (alleen in HA met yaml) kreeg ik met dit:

code:
1
Denk eraan, je {{trigger.to_state.attributes.friendly_name}} is bijna op


keurig de medicijnnaam te zien.

Dat werkt in Node-Red niet.. Hoe kan ik dit het beste afvangen?

Nu: Events-State node. Entity_id = inputnumber, state =< (bijv) 11.
Dan: Template Node met bovenstaande tekst
Dan: Notify die de Payload daarvan overpakt.

Acties:
  • 0 Henk 'm!

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 19-09 16:00
musicpixel schreef op maandag 10 januari 2022 @ 13:04:
[...]


Ik zal die van mijn werkkamer even delen.
* Gaat automatisch aan/uit op beweging als de lamp initieel uit is.
* Als ik op de aan-knop druk blijft de lamp aan (reageert niet meer op beweging)
* Als ik op de uit-knop druk dimt de lamp en gaat deze na 15 sec uit (zodat ik niet meteen in het donker sta)
* Als ik in het HA dashboard oid de lamp aanpas stopt ook het reageren op beweging
* Als de lamp wordt uitgezet gaat ie weer reageren op beweging.

Ik gebruik hierbij een flow variabele "operatingMode" i.p.v. een input boolean. Kan allebei overigens.
Ik heb de flow geplaatst, en aangepast uiteraard. Vanochtend ging toch na 5 minuten het light niet uit nadat het automatisch ingeschakelt werd.
Is er een manier om de inhoud van de flow variabele te zien? Zou dat met debug te zien moeten zijn?

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Obelixxx schreef op dinsdag 11 januari 2022 @ 08:50:
[...]


Ik heb de flow geplaatst, en aangepast uiteraard. Vanochtend ging toch na 5 minuten het light niet uit nadat het automatisch ingeschakelt werd.
Is er een manier om de inhoud van de flow variabele te zien? Zou dat met debug te zien moeten zijn?
"Debug" is slechts één van de tabjes in het rechter schermpje. Als je op het driehoekje klikt krijg je nog meer keuzes. "Context" is daarbij wat je nodig hebt:

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

Feel free to Buy me a coffee


Acties:
  • +2 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 00:06
Koepert schreef op dinsdag 11 januari 2022 @ 08:21:
Ik heb even een vertaalprobeempje..

Ik hou mn medicijnen bij met Home Assistant (input_numbers). Ik heb een alert ingesteld op voorraad = < X. Alleen, in de ' oude' melding (alleen in HA met yaml) kreeg ik met dit:

code:
1
Denk eraan, je {{trigger.to_state.attributes.friendly_name}} is bijna op


keurig de medicijnnaam te zien.

Dat werkt in Node-Red niet.. Hoe kan ik dit het beste afvangen?

Nu: Events-State node. Entity_id = inputnumber, state =< (bijv) 11.
Dan: Template Node met bovenstaande tekst
Dan: Notify die de Payload daarvan overpakt.
Het werkt niet omdat de trigger.to_state.attributes.friendly_name niet beschikbaar is.
Welke attribute je moet hebben staat in de debug (complete message, niet msg.payload) van je event-state node. ik denk iets als entity_id of attributes.friendly_name.
Anders even je debug posten

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Koepert schreef op dinsdag 11 januari 2022 @ 08:21:
Ik heb even een vertaalprobeempje..

Ik hou mn medicijnen bij met Home Assistant (input_numbers). Ik heb een alert ingesteld op voorraad = < X. Alleen, in de ' oude' melding (alleen in HA met yaml) kreeg ik met dit:

code:
1
Denk eraan, je {{trigger.to_state.attributes.friendly_name}} is bijna op


keurig de medicijnnaam te zien.

Dat werkt in Node-Red niet.. Hoe kan ik dit het beste afvangen?

Nu: Events-State node. Entity_id = inputnumber, state =< (bijv) 11.
Dan: Template Node met bovenstaande tekst
Dan: Notify die de Payload daarvan overpakt.
Deel je flow even (gebruik "Export" in het hamburger-menu rechtsbovenin). En eventueel een schermafdrukje van je flow.

Heb je al gekeken met debug nodes waar het mis gaat?

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Hierbij de flow (heb meer input_numbers, maar deze gebruikte ik voor test)

JSON:
1
[{"id":"8706ed840122adad","type":"server-state-changed","z":"f603d7223244c889","name":"Foster voorraad","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.foster_inhaler","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"5","halt_if_type":"num","halt_if_compare":"lt","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":120,"y":640,"wires":[["7cf88082d7a98691","13632d6fc512d287","f54c40edfa547c12"],[]]},{"id":"7cf88082d7a98691","type":"template","z":"f603d7223244c889","name":"Bericht medicijnvoorraad","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Denk eraan, je {{attributes.friendly_name}} is bijna op","output":"str","x":430,"y":600,"wires":[["c4cd48c59f481dd5"]]},{"id":"13632d6fc512d287","type":"function","z":"f603d7223244c889","name":"Medicijn Friendly name","func":"msg.payload = {}\nvar my_friendly_name = msg.payload.attributes.friendly_name;\nmsg.payload.type = \"message\"\nmsg.payload.content = \"Denk er aan. Je volgende medicijn is bijna op: \" + my_friendly_name\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":660,"wires":[["c4cd48c59f481dd5"]]},{"id":"c4cd48c59f481dd5","type":"api-call-service","z":"f603d7223244c889","name":"Medicijnen bijna op","server":"1d8e9a4c.b062a6","version":3,"debugenabled":false,"service_domain":"notify","service":"mobile_app_iphone","entityId":"","data":"{\"title\":\"Medicijnen\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":710,"y":600,"wires":[["f54c40edfa547c12"]]},{"id":"f54c40edfa547c12","type":"debug","z":"f603d7223244c889","name":"Medicijnvoorraad Notify Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1070,"y":600,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]



Debuglog Geeft bij Function node (ik twijfelde tussen function & Template dus nu beide aangesloten) " Cannot read properties of Undefined..

code:
1
2
Medicijn Friendly namefunction : (error)
TypeError: Cannot read properties of undefined (reading 'friendly_name')


JSON:
1
{"payload":"4","data":{"entity_id":"input_number.foster_inhaler","old_state":{"entity_id":"input_number.foster_inhaler","state":"40","attributes":{"initial":null,"editable":true,"min":0,"max":480,"step":2,"mode":"box","icon":"mdi:air-filter","friendly_name":"Foster Inhaler"},"last_changed":"2022-01-11T11:25:30.766641+00:00","last_updated":"2022-01-11T11:25:30.766641+00:00","context":{"id":"bc408c9b60ef2e19e78996a3f65204fc","parent_id":null,"user_id":"b721d002302e4f0d87ac0bbc49c0d83c"},"original_state":"40"},"new_state":{"entity_id":"input_number.foster_inhaler","state":"4","attributes":{"initial":null,"editable":true,"min":0,"max":480,"step":2,"mode":"box","icon":"mdi:air-filter","friendly_name":"Foster Inhaler"},"last_changed":"2022-01-11T11:25:50.113158+00:00","last_updated":"2022-01-11T11:25:50.113158+00:00","context":{"id":"775a9a708dbb66aaf408c990d8956002","parent_id":null,"user_id":"b721d002302e4f0d87ac0bbc49c0d83c"},"original_state":"4","timeSinceChangedMs":7}},"topic":"input_number.foster_inhaler","_msgid":"db1ab874f29e2a39"}


De input_number heeft als state.attributes een Friendly name " Foster inhaler" ..

[ Voor 16% gewijzigd door Koepert op 11-01-2022 12:27 . Reden: debug toegevoegd ]


Acties:
  • +2 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 00:06
Koepert schreef op dinsdag 11 januari 2022 @ 12:22:
Hierbij de flow (heb meer input_numbers, maar deze gebruikte ik voor test)

JSON:
1
[{"id":"8706ed840122adad","type":"server-state-changed","z":"f603d7223244c889","name":"Foster voorraad","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.foster_inhaler","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"5","halt_if_type":"num","halt_if_compare":"lt","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":120,"y":640,"wires":[["7cf88082d7a98691","13632d6fc512d287","f54c40edfa547c12"],[]]},{"id":"7cf88082d7a98691","type":"template","z":"f603d7223244c889","name":"Bericht medicijnvoorraad","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Denk eraan, je {{attributes.friendly_name}} is bijna op","output":"str","x":430,"y":600,"wires":[["c4cd48c59f481dd5"]]},{"id":"13632d6fc512d287","type":"function","z":"f603d7223244c889","name":"Medicijn Friendly name","func":"msg.payload = {}\nvar my_friendly_name = msg.payload.attributes.friendly_name;\nmsg.payload.type = \"message\"\nmsg.payload.content = \"Denk er aan. Je volgende medicijn is bijna op: \" + my_friendly_name\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":660,"wires":[["c4cd48c59f481dd5"]]},{"id":"c4cd48c59f481dd5","type":"api-call-service","z":"f603d7223244c889","name":"Medicijnen bijna op","server":"1d8e9a4c.b062a6","version":3,"debugenabled":false,"service_domain":"notify","service":"mobile_app_iphone","entityId":"","data":"{\"title\":\"Medicijnen\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":710,"y":600,"wires":[["f54c40edfa547c12"]]},{"id":"f54c40edfa547c12","type":"debug","z":"f603d7223244c889","name":"Medicijnvoorraad Notify Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1070,"y":600,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]



Debuglog Geeft bij Function node (ik twijfelde tussen function & Template dus nu beide aangesloten) " Cannot read properties of Undefined..

code:
1
2
Medicijn Friendly namefunction : (error)
TypeError: Cannot read properties of undefined (reading 'friendly_name')


JSON:
1
{"payload":"4","data":{"entity_id":"input_number.foster_inhaler","old_state":{"entity_id":"input_number.foster_inhaler","state":"40","attributes":{"initial":null,"editable":true,"min":0,"max":480,"step":2,"mode":"box","icon":"mdi:air-filter","friendly_name":"Foster Inhaler"},"last_changed":"2022-01-11T11:25:30.766641+00:00","last_updated":"2022-01-11T11:25:30.766641+00:00","context":{"id":"bc408c9b60ef2e19e78996a3f65204fc","parent_id":null,"user_id":"b721d002302e4f0d87ac0bbc49c0d83c"},"original_state":"40"},"new_state":{"entity_id":"input_number.foster_inhaler","state":"4","attributes":{"initial":null,"editable":true,"min":0,"max":480,"step":2,"mode":"box","icon":"mdi:air-filter","friendly_name":"Foster Inhaler"},"last_changed":"2022-01-11T11:25:50.113158+00:00","last_updated":"2022-01-11T11:25:50.113158+00:00","context":{"id":"775a9a708dbb66aaf408c990d8956002","parent_id":null,"user_id":"b721d002302e4f0d87ac0bbc49c0d83c"},"original_state":"4","timeSinceChangedMs":7}},"topic":"input_number.foster_inhaler","_msgid":"db1ab874f29e2a39"}



De input_number heeft als state.attributes een Friendly name " Foster inhaler" ..
ik kan deze flow natuurlijk niet aftrappen omdat ik die entiteit niet heb :).
Maar het pad wat je moet gebruiken wordt gewoon aangegeven door de debug node.

Afbeeldingslocatie: https://tweakers.net/i/GfW_qIx5-Bj3D4h-7u76S64TAho=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/mC5nDgpoExhQZzs4DHUPX8x7.png?f=user_large
In mijn geval is het path dus; data.attributes.friendly_name
In de template kun je het als volgt gebruiken;

This is the payload: {{data.attributes.friendly_name}} !

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Koepert schreef op dinsdag 11 januari 2022 @ 12:22:
Hierbij de flow (heb meer input_numbers, maar deze gebruikte ik voor test)

JSON:
1
[{"id":"8706ed840122adad","type":"server-state-changed","z":"f603d7223244c889","name":"Foster voorraad","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_number.foster_inhaler","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"5","halt_if_type":"num","halt_if_compare":"lt","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":120,"y":640,"wires":[["7cf88082d7a98691","13632d6fc512d287","f54c40edfa547c12"],[]]},{"id":"7cf88082d7a98691","type":"template","z":"f603d7223244c889","name":"Bericht medicijnvoorraad","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Denk eraan, je {{attributes.friendly_name}} is bijna op","output":"str","x":430,"y":600,"wires":[["c4cd48c59f481dd5"]]},{"id":"13632d6fc512d287","type":"function","z":"f603d7223244c889","name":"Medicijn Friendly name","func":"msg.payload = {}\nvar my_friendly_name = msg.payload.attributes.friendly_name;\nmsg.payload.type = \"message\"\nmsg.payload.content = \"Denk er aan. Je volgende medicijn is bijna op: \" + my_friendly_name\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":660,"wires":[["c4cd48c59f481dd5"]]},{"id":"c4cd48c59f481dd5","type":"api-call-service","z":"f603d7223244c889","name":"Medicijnen bijna op","server":"1d8e9a4c.b062a6","version":3,"debugenabled":false,"service_domain":"notify","service":"mobile_app_iphone","entityId":"","data":"{\"title\":\"Medicijnen\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":710,"y":600,"wires":[["f54c40edfa547c12"]]},{"id":"f54c40edfa547c12","type":"debug","z":"f603d7223244c889","name":"Medicijnvoorraad Notify Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1070,"y":600,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]



Debuglog Geeft bij Function node (ik twijfelde tussen function & Template dus nu beide aangesloten) " Cannot read properties of Undefined..

code:
1
2
Medicijn Friendly namefunction : (error)
TypeError: Cannot read properties of undefined (reading 'friendly_name')


JSON:
1
{"payload":"4","data":{"entity_id":"input_number.foster_inhaler","old_state":{"entity_id":"input_number.foster_inhaler","state":"40","attributes":{"initial":null,"editable":true,"min":0,"max":480,"step":2,"mode":"box","icon":"mdi:air-filter","friendly_name":"Foster Inhaler"},"last_changed":"2022-01-11T11:25:30.766641+00:00","last_updated":"2022-01-11T11:25:30.766641+00:00","context":{"id":"bc408c9b60ef2e19e78996a3f65204fc","parent_id":null,"user_id":"b721d002302e4f0d87ac0bbc49c0d83c"},"original_state":"40"},"new_state":{"entity_id":"input_number.foster_inhaler","state":"4","attributes":{"initial":null,"editable":true,"min":0,"max":480,"step":2,"mode":"box","icon":"mdi:air-filter","friendly_name":"Foster Inhaler"},"last_changed":"2022-01-11T11:25:50.113158+00:00","last_updated":"2022-01-11T11:25:50.113158+00:00","context":{"id":"775a9a708dbb66aaf408c990d8956002","parent_id":null,"user_id":"b721d002302e4f0d87ac0bbc49c0d83c"},"original_state":"4","timeSinceChangedMs":7}},"topic":"input_number.foster_inhaler","_msgid":"db1ab874f29e2a39"}


De input_number heeft als state.attributes een Friendly name " Foster inhaler" ..
Wat @denuz zegt...

In je function node heb je nu overigens:
code:
1
2
3
4
5
msg.payload = {}
var my_friendly_name = msg.payload.attributes.friendly_name;
msg.payload.type = "message"
msg.payload.content = "Denk er aan. Je volgende medicijn is bijna op: " + my_friendly_name
return msg;


Op de eerste regel maak je van msg.payload een leeg json object. En dan op regel 2 probeer je daar informatie uit te halen. Dat gaat niet lukken, dus vandaar je error. ;)

Even een debug node (met "complete msg object") achter je events:state node zetten om te zien waar je friendly_name precies zit en dan dat pad ernaartoe gebruiken. Ik had zelf even getest met een input_boolean, en daar zit ie op een iets andere plek dan waar ie bij @denuz zit.

Als alternatief kun je ook direct aan Home Assistant vragen wat de friendly name is (en dus niet uit de events:state node halen) door een function node te maken met zoiets:
code:
1
2
3
4
5
const entities = global.get('homeassistant').homeAssistant.states;
var friendly_name = entities['input_boolean.sleep_mode'].attributes.friendly_name;

msg.friendly_name = friendly_name;
return msg;


Deze zet de friendly_name er in het msg object bij.

Je kunt het global homeassistant object bekijken onder "context":

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

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Thx beide!

Ik was even kwijt dat je dan in de node inderdaad het hele pad moet volgen en niet alleen het benodigde 'stukje'...

In dit geval was dat zelfs:
code:
1
{{data.new_state.attributes.friendly_name}}


(waarbij er ook een old_state meegegeven werd waar ik t evt uit zou kunnen halen, dit leek me verstandiger)

Maar ik gebruik het feit dat deze entity-state onder een bepaalde waarde komt dus lijkt het me 'logischer' ook daar dan direct de waarde/friendly name uit te trekken. Maar die Context is ook 1 om te onthouden.


EDIT

Zucht.. ok.. Dit lukt. Daar zit een vervolg aan. Als het op is, moet het bijgevuld worden. Ook dat heb ik wel geregeld.. maar nu wilde ik dit toepassen op al mijn medicatie. (verschillende voorraden, verschillende 'verbruikshoeveelheid'). Dus 5 medicijnen = 5 state change nodes voor mn 'medicatie is bijgevuld'. Dat is 5x een input_boolean die ON gaat.. en daarmee 5x een input_number Set value actie (met verschillende waardes per medicijn).. waarbij die input_boolean eigenlijk na 5 minuten weer OFF mag.. Alleen als ik die OOK nog 5x moet toevoegen.. Kan dit ook handiger?

Ik twijfel nu tussen bijvoorbeeld een Wait Until node met een timer van 5min, of een delay achter de Ophogen servicecall.

Afbeeldingslocatie: https://tweakers.net/i/-94vF8M0tZ1XCxo4o4_5LP2KE4g=/800x/filters:strip_exif()/f/image/CQ5Xh9I5dNjAP7vlCbWMeg6G.png?f=fotoalbum_large

[ Voor 49% gewijzigd door Koepert op 11-01-2022 15:00 . Reden: Zucht ]


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Koepert schreef op dinsdag 11 januari 2022 @ 14:03:
Thx beide!

Ik was even kwijt dat je dan in de node inderdaad het hele pad moet volgen en niet alleen het benodigde 'stukje'...

In dit geval was dat zelfs:
code:
1
{{data.new_state.attributes.friendly_name}}


(waarbij er ook een old_state meegegeven werd waar ik t evt uit zou kunnen halen, dit leek me verstandiger)

Maar ik gebruik het feit dat deze entity-state onder een bepaalde waarde komt dus lijkt het me 'logischer' ook daar dan direct de waarde/friendly name uit te trekken. Maar die Context is ook 1 om te onthouden.


EDIT

Zucht.. ok.. Dit lukt. Daar zit een vervolg aan. Als het op is, moet het bijgevuld worden. Ook dat heb ik wel geregeld.. maar nu wilde ik dit toepassen op al mijn medicatie. (verschillende voorraden, verschillende 'verbruikshoeveelheid'). Dus 5 medicijnen = 5 state change nodes voor mn 'medicatie is bijgevuld'. Dat is 5x een input_boolean die ON gaat.. en daarmee 5x een input_number Set value actie (met verschillende waardes per medicijn).. waarbij die input_boolean eigenlijk na 5 minuten weer OFF mag.. Alleen als ik die OOK nog 5x moet toevoegen.. Kan dit ook handiger?

Ik twijfel nu tussen bijvoorbeeld een Wait Until node met een timer van 5min, of een delay achter de Ophogen servicecall.

[Afbeelding]
Of het handiger is weet ik niet, maar het zou anders kunnen...

Zoals ik het begrijp zet je even een input_boolean op true zodra je je medicatie bijvult en je flow voegt dan het standaard aantal toe.

Je krijgt nu die input_booleans binnen in de linker 5 nodes. Daar zit ook het entity_id in.
Als je de entity_id's van je input_booleans en de bijbehorende input_numbers een gelijkaardige naam hebt gegeven, dan zou je het input_number entity_id kunnen afleiden van het input_boolean entity_id. Bijv. input_number.foster_inhaler -> input_boolean.foster_inhaler_voorraad.
"foster_inhaler" moet je hier dan extraheren en de rest kun je er voor/achter plakken.
Hier heb je wel een function node voor nodig.

Daarnaast kun je config nodes gebruiken voor de ophoog hoeveelheden, ook weer met een vergelijkbaar id, bijvoorbeeld flow.foster_inhaler_ophoog

Deze drie id's kun je dan samen gebruiken in 1 node om op te hogen (ipv 5), waarna je een delay node plaatst en een node die de input_boolean weer uit zet. Voor die laatste node moet je dan wel even het entity_id, of beter, het generieke deel doorgeven in de msg die van node naar node gaat.

Ik weet niet of je dit kunt volgen, zo niet, dan kan ik wel een voorbeeldje maken.
Het is een beetje zoiets (misschien is een function node nodig voor "hoog op" ipv een call service):

Maar of dit nou echt handiger is voor maar 5 medicijnen...

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

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
musicpixel schreef op woensdag 12 januari 2022 @ 09:23:
[...]


Of het handiger is weet ik niet, maar het zou anders kunnen...

Zoals ik het begrijp zet je even een input_boolean op true zodra je je medicatie bijvult en je flow voegt dan het standaard aantal toe.

Je krijgt nu die input_booleans binnen in de linker 5 nodes. Daar zit ook het entity_id in.
Als je de entity_id's van je input_booleans en de bijbehorende input_numbers een gelijkaardige naam hebt gegeven, dan zou je het input_number entity_id kunnen afleiden van het input_boolean entity_id. Bijv. input_number.foster_inhaler -> input_boolean.foster_inhaler_voorraad.
"foster_inhaler" moet je hier dan extraheren en de rest kun je er voor/achter plakken.
Hier heb je wel een function node voor nodig.

Daarnaast kun je config nodes gebruiken voor de ophoog hoeveelheden, ook weer met een vergelijkbaar id, bijvoorbeeld flow.foster_inhaler_ophoog

Deze drie id's kun je dan samen gebruiken in 1 node om op te hogen (ipv 5), waarna je een delay node plaatst en een node die de input_boolean weer uit zet. Voor die laatste node moet je dan wel even het entity_id, of beter, het generieke deel doorgeven in de msg die van node naar node gaat.

Ik weet niet of je dit kunt volgen, zo niet, dan kan ik wel een voorbeeldje maken.
Het is een beetje zoiets (misschien is een function node nodig voor "hoog op" ipv een call service):

Maar of dit nou echt handiger is voor maar 5 medicijnen...

[Afbeelding]
Ik volg m niet 100% :P maar begrijp je richting wel. Maar inderdaad, het maakt visueel de flow wat compacter, maar ik denk dat ik het mezelf vooral ook moeilijker maak.. Hoewel ik wel nieuwsgierig ben hoe de function er dan uit zou zien. Dus als je zin en tijd hebt is het voorbeeldje welkom ;) maar nee is ook prima..

Ik ben er toch nog mee aan het bouwen, want de inputnumber decrease triggert een melding dat ze op zijn. Die had ik gewoon op entity state below X gezet.. maar ja.. stel dat is 10.. dan triggert hij op 9, 8, etc etc. Dus die moest ik ook al ombouwen naar een trigger state en dan below 10, met previous state >= 10.

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Koepert schreef op woensdag 12 januari 2022 @ 09:37:
[...]


Ik volg m niet 100% :P maar begrijp je richting wel. Maar inderdaad, het maakt visueel de flow wat compacter, maar ik denk dat ik het mezelf vooral ook moeilijker maak.. Hoewel ik wel nieuwsgierig ben hoe de function er dan uit zou zien. Dus als je zin en tijd hebt is het voorbeeldje welkom ;) maar nee is ook prima..

Ik ben er toch nog mee aan het bouwen, want de inputnumber decrease triggert een melding dat ze op zijn. Die had ik gewoon op entity state below X gezet.. maar ja.. stel dat is 10.. dan triggert hij op 9, 8, etc etc. Dus die moest ik ook al ombouwen naar een trigger state en dan below 10, met previous state >= 10.
Omdat ik het idee had dat ik er zelf ook nog wel wat van kon leren, even aan de slag gegaan.
Ik heb expres alles ruim opgezet en zo gelaten. Het kan een stuk compacter, bijvoorbeeld door de function nodes samen te voegen en sommige dingen eruit te slopen die niet gebruikt worden.
Maar door het zo te laten is beter te volgen wat er gebeurt en kun je beter verschillende technieken zien.

In plaats van een config node kan ook gebruik gemaakt worden van de step size die bij de input_number definitie kan worden opgegeven. Dan kan het zelfs nog simpeler. Voorbeeld node hiervan staat in de flow erbij.

Wat wel belangrijk is: ik ben er van uitgegaan dat het generieke deel van de entity_id's slechts 1 woord is zonder een underscore _ er in. Dus niet foster_inhaler, maar gewoon "foster" of "fosterinhaler". Dat maakt het extraheren van het generieke deel makkelijker ;)
Hmmm en nu ik dit schrijf realiseer ik me dat dat waarschijnlijk niet eens nodig was 8)7

Ik had trouwens een input_boolean.foster en een input_number.foster gemaakt.

Maar goed, kijk maar even rond zou ik zeggen...

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

code:
1
[{"id":"c46dc0165d5377c5","type":"server-state-changed","z":"1196ca9a809f9112","name":"Foster aangevuld","server":"2065350e.86a40a","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.foster","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":120,"y":760,"wires":[["581801e00eef75f9","bba579189a79246e"],["581801e00eef75f9"]]},{"id":"243094d1ca7da672","type":"config","z":"1196ca9a809f9112","name":"Foster ophoogwaarde","properties":[{"p":"foster_ophoogwaarde","pt":"flow","to":"5","tot":"num"}],"active":true,"x":140,"y":700,"wires":[]},{"id":"bba579189a79246e","type":"function","z":"1196ca9a809f9112","name":"Get Generic ID & put in msg","func":"// get the entity_id from topic\nvar entityID = msg.topic;\n\n// remove dot and everything to the left of it\n// index 0 gets left part, 1 gets right part\nvar bareEntityID = entityID.split(\".\")[1];\n\n// only get the part up to 1st underscore (not incl the _)\nvar genericEntityPart = bareEntityID.split(\"_\")[0];\n\nmsg.generic_entity_part = genericEntityPart;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":840,"wires":[["ea7b601c2a522918","2b64d52a5e25d6bf"]]},{"id":"a2187ce2c7d17738","type":"api-call-service","z":"1196ca9a809f9112","name":"Hoog op met ingestelde step size","server":"2065350e.86a40a","version":3,"debugenabled":false,"service_domain":"input_number","service":"increment","entityId":"{{number_entity_id}}","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":180,"y":1440,"wires":[[]]},{"id":"233017b1aad0af6b","type":"delay","z":"1196ca9a809f9112","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":360,"y":1160,"wires":[["79c95bdbda55092b"]]},{"id":"79c95bdbda55092b","type":"api-call-service","z":"1196ca9a809f9112","name":"Turn off the input_boolean","server":"2065350e.86a40a","version":3,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"{{boolean_entity_id}}","data":"{}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":410,"y":1240,"wires":[[]]},{"id":"581801e00eef75f9","type":"debug","z":"1196ca9a809f9112","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":350,"y":760,"wires":[]},{"id":"ea7b601c2a522918","type":"debug","z":"1196ca9a809f9112","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":670,"y":840,"wires":[]},{"id":"2b64d52a5e25d6bf","type":"function","z":"1196ca9a809f9112","name":"Get variable names and ophoogwaarde & put in msg","func":"msg.number_entity_id = \"input_number.\" + msg.generic_entity_part;\nmsg.boolean_entity_id = \"input_boolean.\" + msg.generic_entity_part;\n\nvar ophoogwaarde_var = msg.generic_entity_part + \"_ophoogwaarde\";\nmsg.ophoogwaarde = flow.get(ophoogwaarde_var);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":500,"y":920,"wires":[["0b17f5c17dde1010","b4b2c5a1173b8665"]]},{"id":"0b17f5c17dde1010","type":"debug","z":"1196ca9a809f9112","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":920,"wires":[]},{"id":"b4b2c5a1173b8665","type":"function","z":"1196ca9a809f9112","name":"Bereken nieuwe waarde","func":"// get the entity_id to increase\nvar entityID = msg.number_entity_id;\n\n// get the amount to add\nvar ophoogWaarde = msg.ophoogwaarde;\n\n// get global homeassistant object\nconst entities = global.get('homeassistant').homeAssistant.states;\n\n// get the original value (and convert from string to int)\nvar origValue = parseInt(entities['input_number.foster'].state);\nmsg.orig_value = origValue;\n\n// create new value\nvar newValue = origValue + ophoogWaarde;\nmsg.new_value = newValue;\n\n// set the new value in the data part of the message so the\n// call service node can use it (leave data field empty)\nmsg.payload = {\n    \"data\": {\n        value: newValue\n    }\n}\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":1000,"wires":[["1ed6bd421e07b3c8","689aba9a77e2433e"]]},{"id":"1ed6bd421e07b3c8","type":"debug","z":"1196ca9a809f9112","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":690,"y":1000,"wires":[]},{"id":"689aba9a77e2433e","type":"api-call-service","z":"1196ca9a809f9112","name":"Stel nieuwe waarde in","server":"2065350e.86a40a","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"{{number_entity_id}}","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"str"}],"queue":"none","x":400,"y":1080,"wires":[["233017b1aad0af6b"]]},{"id":"cf3fc516f7cce540","type":"comment","z":"1196ca9a809f9112","name":"Maak ook payload leeg, want \"Turn off input boolean\" does not like it when there is still payload-data-value","info":"","x":920,"y":1080,"wires":[]},{"id":"8a7814dd629841cb","type":"comment","z":"1196ca9a809f9112","name":"In plaats van \"Bereken nieuwe waarde\" en \"Stel nieuwe waarde in\" kan ook onderstaande node gebruikt worden","info":"","x":420,"y":1360,"wires":[]},{"id":"a4a1ed3304836841","type":"comment","z":"1196ca9a809f9112","name":"Dan kan de ophoogwaarde weg, maar moet de step size zijn ingesteld bij de input_number definitie in HA","info":"","x":400,"y":1400,"wires":[]},{"id":"2065350e.86a40a","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
musicpixel schreef op woensdag 12 januari 2022 @ 12:51:
[...]


Omdat ik het idee had dat ik er zelf ook nog wel wat van kon leren, even aan de slag gegaan.
Ik heb expres alles ruim opgezet en zo gelaten. Het kan een stuk compacter, bijvoorbeeld door de function nodes samen te voegen en sommige dingen eruit te slopen die niet gebruikt worden.
Maar door het zo te laten is beter te volgen wat er gebeurt en kun je beter verschillende technieken zien.

In plaats van een config node kan ook gebruik gemaakt worden van de step size die bij de input_number definitie kan worden opgegeven. Dan kan het zelfs nog simpeler. Voorbeeld node hiervan staat in de flow erbij.

Wat wel belangrijk is: ik ben er van uitgegaan dat het generieke deel van de entity_id's slechts 1 woord is zonder een underscore _ er in. Dus niet foster_inhaler, maar gewoon "foster" of "fosterinhaler". Dat maakt het extraheren van het generieke deel makkelijker ;)
Hmmm en nu ik dit schrijf realiseer ik me dat dat waarschijnlijk niet eens nodig was 8)7

Ik had trouwens een input_boolean.foster en een input_number.foster gemaakt.

Maar goed, kijk maar even rond zou ik zeggen...

[Afbeelding]

code:
1
[{"id":"c46dc0165d5377c5","type":"server-state-changed","z":"1196ca9a809f9112","name":"Foster aangevuld","server":"2065350e.86a40a","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.foster","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":120,"y":760,"wires":[["581801e00eef75f9","bba579189a79246e"],["581801e00eef75f9"]]},{"id":"243094d1ca7da672","type":"config","z":"1196ca9a809f9112","name":"Foster ophoogwaarde","properties":[{"p":"foster_ophoogwaarde","pt":"flow","to":"5","tot":"num"}],"active":true,"x":140,"y":700,"wires":[]},{"id":"bba579189a79246e","type":"function","z":"1196ca9a809f9112","name":"Get Generic ID & put in msg","func":"// get the entity_id from topic\nvar entityID = msg.topic;\n\n// remove dot and everything to the left of it\n// index 0 gets left part, 1 gets right part\nvar bareEntityID = entityID.split(\".\")[1];\n\n// only get the part up to 1st underscore (not incl the _)\nvar genericEntityPart = bareEntityID.split(\"_\")[0];\n\nmsg.generic_entity_part = genericEntityPart;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":840,"wires":[["ea7b601c2a522918","2b64d52a5e25d6bf"]]},{"id":"a2187ce2c7d17738","type":"api-call-service","z":"1196ca9a809f9112","name":"Hoog op met ingestelde step size","server":"2065350e.86a40a","version":3,"debugenabled":false,"service_domain":"input_number","service":"increment","entityId":"{{number_entity_id}}","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":180,"y":1440,"wires":[[]]},{"id":"233017b1aad0af6b","type":"delay","z":"1196ca9a809f9112","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":360,"y":1160,"wires":[["79c95bdbda55092b"]]},{"id":"79c95bdbda55092b","type":"api-call-service","z":"1196ca9a809f9112","name":"Turn off the input_boolean","server":"2065350e.86a40a","version":3,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"{{boolean_entity_id}}","data":"{}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":410,"y":1240,"wires":[[]]},{"id":"581801e00eef75f9","type":"debug","z":"1196ca9a809f9112","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":350,"y":760,"wires":[]},{"id":"ea7b601c2a522918","type":"debug","z":"1196ca9a809f9112","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":670,"y":840,"wires":[]},{"id":"2b64d52a5e25d6bf","type":"function","z":"1196ca9a809f9112","name":"Get variable names and ophoogwaarde & put in msg","func":"msg.number_entity_id = \"input_number.\" + msg.generic_entity_part;\nmsg.boolean_entity_id = \"input_boolean.\" + msg.generic_entity_part;\n\nvar ophoogwaarde_var = msg.generic_entity_part + \"_ophoogwaarde\";\nmsg.ophoogwaarde = flow.get(ophoogwaarde_var);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":500,"y":920,"wires":[["0b17f5c17dde1010","b4b2c5a1173b8665"]]},{"id":"0b17f5c17dde1010","type":"debug","z":"1196ca9a809f9112","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":920,"wires":[]},{"id":"b4b2c5a1173b8665","type":"function","z":"1196ca9a809f9112","name":"Bereken nieuwe waarde","func":"// get the entity_id to increase\nvar entityID = msg.number_entity_id;\n\n// get the amount to add\nvar ophoogWaarde = msg.ophoogwaarde;\n\n// get global homeassistant object\nconst entities = global.get('homeassistant').homeAssistant.states;\n\n// get the original value (and convert from string to int)\nvar origValue = parseInt(entities['input_number.foster'].state);\nmsg.orig_value = origValue;\n\n// create new value\nvar newValue = origValue + ophoogWaarde;\nmsg.new_value = newValue;\n\n// set the new value in the data part of the message so the\n// call service node can use it (leave data field empty)\nmsg.payload = {\n    \"data\": {\n        value: newValue\n    }\n}\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":1000,"wires":[["1ed6bd421e07b3c8","689aba9a77e2433e"]]},{"id":"1ed6bd421e07b3c8","type":"debug","z":"1196ca9a809f9112","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":690,"y":1000,"wires":[]},{"id":"689aba9a77e2433e","type":"api-call-service","z":"1196ca9a809f9112","name":"Stel nieuwe waarde in","server":"2065350e.86a40a","version":3,"debugenabled":false,"service_domain":"input_number","service":"set_value","entityId":"{{number_entity_id}}","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"str"}],"queue":"none","x":400,"y":1080,"wires":[["233017b1aad0af6b"]]},{"id":"cf3fc516f7cce540","type":"comment","z":"1196ca9a809f9112","name":"Maak ook payload leeg, want \"Turn off input boolean\" does not like it when there is still payload-data-value","info":"","x":920,"y":1080,"wires":[]},{"id":"8a7814dd629841cb","type":"comment","z":"1196ca9a809f9112","name":"In plaats van \"Bereken nieuwe waarde\" en \"Stel nieuwe waarde in\" kan ook onderstaande node gebruikt worden","info":"","x":420,"y":1360,"wires":[]},{"id":"a4a1ed3304836841","type":"comment","z":"1196ca9a809f9112","name":"Dan kan de ophoogwaarde weg, maar moet de step size zijn ingesteld bij de input_number definitie in HA","info":"","x":400,"y":1400,"wires":[]},{"id":"2065350e.86a40a","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Heb m om te beginnen geimporteerd, maar mijn pallette kent de confignode niet.. Welke is dit? want zoeken op config...nou ja..

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Koepert schreef op woensdag 12 januari 2022 @ 13:11:
[...]


Heb m om te beginnen geimporteerd, maar mijn pallette kent de confignode niet.. Welke is dit? want zoeken op config...nou ja..
node-red-contrib-config

Maar bij mij zat ie er gewoon standaard in toen ik Node Red in HA toevoegde. Draai nu nog versie 10.2.0 van Node Red (moet nog upgraden)

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
musicpixel schreef op woensdag 12 januari 2022 @ 13:58:
[...]


node-red-contrib-config

Maar bij mij zat ie er gewoon standaard in toen ik Node Red in HA toevoegde. Draai nu nog versie 10.2.0 van Node Red (moet nog upgraden)
Ik heb m wel up to date, maar die node niet.. (wel de HA Addon)

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Koepert schreef op woensdag 12 januari 2022 @ 14:11:
[...]


Ik heb m wel up to date, maar die node niet.. (wel de HA Addon)
Nu begin ik te twijfelen of ie er standaard in zat... maar goed, is een handige node ;)

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Peet3kabo
  • Registratie: Augustus 2018
  • Laatst online: 17-09 19:33
Ok, ik heb eindelijk mijn aqara deur en raam sensoren werkend in HA. Had problemen met de herkenning aan de Zigbee kant.
Nu dus wat een het proberen om een melding te krijgen op mijn telefoon wanneer de vriezer deur te lang open staat en wanneer er een deur open gaat wanneer ik niet thuis ben.
Voor nu eerst eens een melding zien te krijgen op mijn telefoon als bijvoorbeeld de vriezer deur geopend wordt, dan kan ik dat later uitbreiden naar "te lang" en de deuren als ik niet thuis ben.
Ben al een tijdje aan het prutsen maar krijg het niet echt voor elkaar, heb een bot aangemaakt en heb ID en token.
Wat ik tot nu toe heb is het volgende:
Afbeeldingslocatie: https://tweakers.net/i/kWe0IL8fVl52100c5-2xsofCEOQ=/800x/filters:strip_exif()/f/image/707vUVPjJ2S1XKEaCIHFNoPZ.png?f=fotoalbum_large

Met de volgende instellingen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
[
    {
        "id": "8b29e0aeaae71fa7",
        "type": "telegram sender",
        "z": "6ec879a238d5e6d6",
        "name": "Vriezer deur open",
        "bot": "b5774d82572362b2",
        "haserroroutput": true,
        "outputs": 2,
        "x": 710,
        "y": 160,
        "wires": [
            [
                "14d910050746d6ff"
            ],
            [
                "14d910050746d6ff"
            ]
        ]
    },
    {
        "id": "52f7451ddce0fb46",
        "type": "change",
        "z": "6ec879a238d5e6d6",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "open",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 280,
        "y": 160,
        "wires": [
            [
                "533fe2f239e1c8d7"
            ]
        ],
        "inputLabels": [
            "open"
        ],
        "outputLabels": [
            "vriezer deur open"
        ]
    },
    {
        "id": "533fe2f239e1c8d7",
        "type": "function",
        "z": "6ec879a238d5e6d6",
        "name": "",
        "func": "msg.payload = {chatId : **********, type : 'message', content : 'vriezer deur open'}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 480,
        "y": 160,
        "wires": [
            [
                "8b29e0aeaae71fa7"
            ]
        ],
        "inputLabels": [
            "open"
        ]
    },
    {
        "id": "acd55bc0a6e2136b",
        "type": "api-current-state",
        "z": "6ec879a238d5e6d6",
        "name": "Vriezerdeur",
        "server": "b08467d5.010fe8",
        "version": 2,
        "outputs": 2,
        "halt_if": "open",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "binary_sensor.vriezer_open_dicht",
        "state_type": "habool",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "entity"
            }
        ],
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 90,
        "y": 160,
        "wires": [
            [
                "52f7451ddce0fb46"
            ],
            []
        ],
        "outputLabels": [
            "open",
            "dicht"
        ]
    },
    {
        "id": "b5774d82572362b2",
        "type": "telegram bot",
        "z": "6ec879a238d5e6d6",
        "botname": "Peet3kaboHA_bot",
        "usernames": "",
        "chatids": "**********",
        "baseapiurl": "",
        "updatemode": "none",
        "pollinterval": "10000",
        "usesocks": false,
        "sockshost": "",
        "socksport": "6667",
        "socksusername": "anonymous",
        "sockspassword": "",
        "bothost": "",
        "botpath": "",
        "localbotport": "8443",
        "publicbotport": "8443",
        "privatekey": "",
        "certificate": "",
        "useselfsignedcertificate": false,
        "sslterminated": false,
        "verboselogging": false,
        "credentials": {}
    },
    {
        "id": "b08467d5.010fe8",
        "type": "server",
        "name": "Home Assistant",
        "version": 1,
        "addon": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true
    }
]



Wat doe ik hier fout en of wat kan ik beter anders doen.
Al genoeg op internet gezocht maar kom niet echt tot oplossingen.
In Nodered al diverse automatiseringen staan maar niet iets met telegram dus wat mooi zou zijn als ik dit draaiend zou krijgen.
Programmeren is ook niet mijn sterkste kant, ik moet het hebben van zoeken en kopieren en aanpassen gewoonlijk.

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Ik krijg af en toe klachten van mij vrouw.........

Wat is het geval:
We hebben bewegingssensoren in alle doorloopruimtes (overloop, gang etc.) en de lampen gaan de voor 5 minuten branden op 60 procent.

Nu wil mijn vrouw de lamp soms wat langer aan hebben en op 100 procent. Ik heb op de Hue dimmer switches ingesteld dat deze de lamp op 100 procent moeten gaan als je de knop indrukt, echter, zodra er weer beweging wordt gezien, dan gaat hij (logischerwijs) weer naar 60 procent.

Nu zat ik te denken om voor iedere bewegingssensor een input boolean te maken die dan aangeeft of de knop is ingedrukt of niet, maar misschien is er ook een veel makkelijkere manier waar ik niet aan heb gedacht.

Heeft iemand een idee hoe ik dit "probleem" het beste op kan lossen?

Afbeeldingslocatie: https://tweakers.net/i/KzGz-iJTFO7tR4IhvTkbRKUDwE8=/800x/filters:strip_exif()/f/image/OYrzvqaMDrRENdfxIvhQNyRO.png?f=fotoalbum_large

code:
1
[{"id":"9b87f301ac90a550","type":"server-state-changed","z":"ab1e3f2d8417f188","name":"Toilet sensor wordt geactiveerd","server":"9b8bc642.fed038","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_toilet","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":"","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":230,"y":140,"wires":[["045a60f0b9baab5e"],["76abb5deb17d6c94"]]},{"id":"76abb5deb17d6c94","type":"ha-wait-until","z":"ab1e3f2d8417f188","name":"Wacht voor 2 minuten","server":"9b8bc642.fed038","version":0,"outputs":2,"entityId":"binary_sensor.bewegingssensor_toilet","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":"2","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":800,"y":200,"wires":[[],["781a893d2fbc9610"]]},{"id":"781a893d2fbc9610","type":"api-call-service","z":"ab1e3f2d8417f188","name":"Toilet lamp uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.toilet_group","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":200,"wires":[[]]},{"id":"d3a63e6bb1c50bea","type":"comment","z":"ab1e3f2d8417f188","name":"Toilet","info":"","x":150,"y":100,"wires":[]},{"id":"041687396d13e06e","type":"api-call-service","z":"ab1e3f2d8417f188","name":"Toilet lamp aan","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.toilet_group","data":"{\"brightness_pct\":60,\"transition\":1}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":140,"wires":[[]]},{"id":"5603771578845a5f","type":"api-current-state","z":"ab1e3f2d8417f188","name":"Lux lager dan 100","server":"9b8bc642.fed038","version":2,"outputs":2,"halt_if":"100","halt_if_type":"num","halt_if_compare":"lt","entity_id":"sensor.bewegingssensor_toilet_lux","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":790,"y":140,"wires":[["041687396d13e06e"],[]]},{"id":"045a60f0b9baab5e","type":"api-current-state","z":"ab1e3f2d8417f188","name":"Is toilet lamp uit?","server":"9b8bc642.fed038","version":2,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.toilet_group","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":550,"y":140,"wires":[["5603771578845a5f"],["76abb5deb17d6c94"]]},{"id":"9b8bc642.fed038","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true}]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Peet3kabo schreef op zondag 16 januari 2022 @ 15:53:
Ok, ik heb eindelijk mijn aqara deur en raam sensoren werkend in HA. Had problemen met de herkenning aan de Zigbee kant.
Nu dus wat een het proberen om een melding te krijgen op mijn telefoon wanneer de vriezer deur te lang open staat en wanneer er een deur open gaat wanneer ik niet thuis ben.
Voor nu eerst eens een melding zien te krijgen op mijn telefoon als bijvoorbeeld de vriezer deur geopend wordt, dan kan ik dat later uitbreiden naar "te lang" en de deuren als ik niet thuis ben.
Ben al een tijdje aan het prutsen maar krijg het niet echt voor elkaar, heb een bot aangemaakt en heb ID en token.
Wat ik tot nu toe heb is het volgende:
[Afbeelding]

Met de volgende instellingen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
[
    {
        "id": "8b29e0aeaae71fa7",
        "type": "telegram sender",
        "z": "6ec879a238d5e6d6",
        "name": "Vriezer deur open",
        "bot": "b5774d82572362b2",
        "haserroroutput": true,
        "outputs": 2,
        "x": 710,
        "y": 160,
        "wires": [
            [
                "14d910050746d6ff"
            ],
            [
                "14d910050746d6ff"
            ]
        ]
    },
    {
        "id": "52f7451ddce0fb46",
        "type": "change",
        "z": "6ec879a238d5e6d6",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "open",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 280,
        "y": 160,
        "wires": [
            [
                "533fe2f239e1c8d7"
            ]
        ],
        "inputLabels": [
            "open"
        ],
        "outputLabels": [
            "vriezer deur open"
        ]
    },
    {
        "id": "533fe2f239e1c8d7",
        "type": "function",
        "z": "6ec879a238d5e6d6",
        "name": "",
        "func": "msg.payload = {chatId : **********, type : 'message', content : 'vriezer deur open'}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 480,
        "y": 160,
        "wires": [
            [
                "8b29e0aeaae71fa7"
            ]
        ],
        "inputLabels": [
            "open"
        ]
    },
    {
        "id": "acd55bc0a6e2136b",
        "type": "api-current-state",
        "z": "6ec879a238d5e6d6",
        "name": "Vriezerdeur",
        "server": "b08467d5.010fe8",
        "version": 2,
        "outputs": 2,
        "halt_if": "open",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "binary_sensor.vriezer_open_dicht",
        "state_type": "habool",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "entity"
            }
        ],
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 90,
        "y": 160,
        "wires": [
            [
                "52f7451ddce0fb46"
            ],
            []
        ],
        "outputLabels": [
            "open",
            "dicht"
        ]
    },
    {
        "id": "b5774d82572362b2",
        "type": "telegram bot",
        "z": "6ec879a238d5e6d6",
        "botname": "Peet3kaboHA_bot",
        "usernames": "",
        "chatids": "**********",
        "baseapiurl": "",
        "updatemode": "none",
        "pollinterval": "10000",
        "usesocks": false,
        "sockshost": "",
        "socksport": "6667",
        "socksusername": "anonymous",
        "sockspassword": "",
        "bothost": "",
        "botpath": "",
        "localbotport": "8443",
        "publicbotport": "8443",
        "privatekey": "",
        "certificate": "",
        "useselfsignedcertificate": false,
        "sslterminated": false,
        "verboselogging": false,
        "credentials": {}
    },
    {
        "id": "b08467d5.010fe8",
        "type": "server",
        "name": "Home Assistant",
        "version": 1,
        "addon": true,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true
    }
]



Wat doe ik hier fout en of wat kan ik beter anders doen.
Al genoeg op internet gezocht maar kom niet echt tot oplossingen.
In Nodered al diverse automatiseringen staan maar niet iets met telegram dus wat mooi zou zijn als ik dit draaiend zou krijgen.
Programmeren is ook niet mijn sterkste kant, ik moet het hebben van zoeken en kopieren en aanpassen gewoonlijk.
Het is vast ook niet de mooiste methode, maar dit staat in een van mijn function-nodes:

code:
1
2
3
4
5
var bericht = 'In te vullen bericht';

msg.payload = {chatId : (hierdusjechatid-numeriek), type : 'message', content : bericht};

return msg;


Content: zou je denk ik gewoon kunnen vervangen voor {{payload}}. Dit gaat dan naar een SENDER-node die naar mn Telegram Bot stuurt. Werkt prima. Als dit bij jou ook werkt, kun je van daar uitbouwen naar meer inhoud.. en hang er genoeg qua Debug-node aan om daar alle inhoud uit te halen (bijvoorbeeld of er een malformed message uitkomt)

Ik ben echter meer naar de mobile_app notify aan t migreren omdat veel berichten tijdelijk mogen zijn en dus niet in telegram hoeven.. dus kan je niet 100% helpen, maar wellicht is dit n duwtje..

Acties:
  • 0 Henk 'm!

  • Peet3kabo
  • Registratie: Augustus 2018
  • Laatst online: 17-09 19:33
Koepert schreef op maandag 17 januari 2022 @ 18:10:
[...]


Het is vast ook niet de mooiste methode, maar dit staat in een van mijn function-nodes:

code:
1
2
3
4
5
var bericht = 'In te vullen bericht';

msg.payload = {chatId : (hierdusjechatid-numeriek), type : 'message', content : bericht};

return msg;


Content: zou je denk ik gewoon kunnen vervangen voor {{payload}}. Dit gaat dan naar een SENDER-node die naar mn Telegram Bot stuurt. Werkt prima. Als dit bij jou ook werkt, kun je van daar uitbouwen naar meer inhoud.. en hang er genoeg qua Debug-node aan om daar alle inhoud uit te halen (bijvoorbeeld of er een malformed message uitkomt)

Ik ben echter meer naar de mobile_app notify aan t migreren omdat veel berichten tijdelijk mogen zijn en dus niet in telegram hoeven.. dus kan je niet 100% helpen, maar wellicht is dit n duwtje..
Thanks, ik ga er eens mee stoeien

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Wachten... schreef op maandag 17 januari 2022 @ 17:23:
Ik krijg af en toe klachten van mij vrouw.........

Wat is het geval:
We hebben bewegingssensoren in alle doorloopruimtes (overloop, gang etc.) en de lampen gaan de voor 5 minuten branden op 60 procent.

Nu wil mijn vrouw de lamp soms wat langer aan hebben en op 100 procent. Ik heb op de Hue dimmer switches ingesteld dat deze de lamp op 100 procent moeten gaan als je de knop indrukt, echter, zodra er weer beweging wordt gezien, dan gaat hij (logischerwijs) weer naar 60 procent.

Nu zat ik te denken om voor iedere bewegingssensor een input boolean te maken die dan aangeeft of de knop is ingedrukt of niet, maar misschien is er ook een veel makkelijkere manier waar ik niet aan heb gedacht.

Heeft iemand een idee hoe ik dit "probleem" het beste op kan lossen?

[Afbeelding]

code:
1
[{"id":"9b87f301ac90a550","type":"server-state-changed","z":"ab1e3f2d8417f188","name":"Toilet sensor wordt geactiveerd","server":"9b8bc642.fed038","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_toilet","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":"","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":230,"y":140,"wires":[["045a60f0b9baab5e"],["76abb5deb17d6c94"]]},{"id":"76abb5deb17d6c94","type":"ha-wait-until","z":"ab1e3f2d8417f188","name":"Wacht voor 2 minuten","server":"9b8bc642.fed038","version":0,"outputs":2,"entityId":"binary_sensor.bewegingssensor_toilet","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":"2","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":800,"y":200,"wires":[[],["781a893d2fbc9610"]]},{"id":"781a893d2fbc9610","type":"api-call-service","z":"ab1e3f2d8417f188","name":"Toilet lamp uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.toilet_group","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":200,"wires":[[]]},{"id":"d3a63e6bb1c50bea","type":"comment","z":"ab1e3f2d8417f188","name":"Toilet","info":"","x":150,"y":100,"wires":[]},{"id":"041687396d13e06e","type":"api-call-service","z":"ab1e3f2d8417f188","name":"Toilet lamp aan","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.toilet_group","data":"{\"brightness_pct\":60,\"transition\":1}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1020,"y":140,"wires":[[]]},{"id":"5603771578845a5f","type":"api-current-state","z":"ab1e3f2d8417f188","name":"Lux lager dan 100","server":"9b8bc642.fed038","version":2,"outputs":2,"halt_if":"100","halt_if_type":"num","halt_if_compare":"lt","entity_id":"sensor.bewegingssensor_toilet_lux","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"x":790,"y":140,"wires":[["041687396d13e06e"],[]]},{"id":"045a60f0b9baab5e","type":"api-current-state","z":"ab1e3f2d8417f188","name":"Is toilet lamp uit?","server":"9b8bc642.fed038","version":2,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.toilet_group","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":550,"y":140,"wires":[["5603771578845a5f"],["76abb5deb17d6c94"]]},{"id":"9b8bc642.fed038","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true}]
Je moet dus bijhouden of de lamp is aangezet met de bewegingssensor (daarna automatisch weer uit), of met de knop (lamp moet aan blijven tot handmatig uitgezet). Als de knop wordt gebruikt, dan mag de bewegingssensor de lamp niet meer schakelen, totdat het licht weer wordt uitgezet.

Hoe je dat bijhoudt (knop of sensor) kan met een input_boolean, maar ook met zoiets als een flow variabele.

Kijk hier even. Heb daar mijn flow gedeeld waar deze functie onder andere in zit:
https://gathering.tweaker...message/70161460#70161460

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
musicpixel schreef op dinsdag 18 januari 2022 @ 11:57:
[...]


Je moet dus bijhouden of de lamp is aangezet met de bewegingssensor (daarna automatisch weer uit), of met de knop (lamp moet aan blijven tot handmatig uitgezet). Als de knop wordt gebruikt, dan mag de bewegingssensor de lamp niet meer schakelen, totdat het licht weer wordt uitgezet.

Hoe je dat bijhoudt (knop of sensor) kan met een input_boolean, maar ook met zoiets als een flow variabele.

Kijk hier even. Heb daar mijn flow gedeeld waar deze functie onder andere in zit:
https://gathering.tweaker...message/70161460#70161460
Ik heb jou flow even bekeken, maar het ziet er naar mijn inziens best ingewikkeld uit. Ik zat zelf ook aan een input boolean te denken, maar wist dus niet of er veel handigere/makkelijkere manieren waren voor het overrulen van automations.

Ik zal even een flow in elkaar zetten hoe ik het dan in mijn hoofd zou hebben. Zou je daar dan op willen schieten (jouw mening geven) ?

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Wachten... schreef op dinsdag 18 januari 2022 @ 14:49:
[...]


Ik heb jou flow even bekeken, maar het ziet er naar mijn inziens best ingewikkeld uit. Ik zat zelf ook aan een input boolean te denken, maar wist dus niet of er veel handigere/makkelijkere manieren waren voor het overrulen van automations.

Ik zal even een flow in elkaar zetten hoe ik het dan in mijn hoofd zou hebben. Zou je daar dan op willen schieten (jouw mening geven) ?
Benieuwd naar jouw idee, misschien leer ik er ook nog wat van, dus kom maar op! ;)

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Wachten... schreef op dinsdag 18 januari 2022 @ 14:49:
[...]


Ik heb jou flow even bekeken, maar het ziet er naar mijn inziens best ingewikkeld uit. Ik zat zelf ook aan een input boolean te denken, maar wist dus niet of er veel handigere/makkelijkere manieren waren voor het overrulen van automations.

Ik zal even een flow in elkaar zetten hoe ik het dan in mijn hoofd zou hebben. Zou je daar dan op willen schieten (jouw mening geven) ?
Welke knop zet de lamp aan> hoe registreer je dat? Anders:

- Knop aan = boolean AAN. (afhankelijk van de registratie)
De flow is dan versimpeld:
Beweging AAN (events: state node bijvoorbeeld) --> Check boolean(Current state node). AAN? Niets doen. UIT? Lamp aan. (Call service node)
Beweging UIT --> Check boolean. AAN? Niets doen. UIT? Lamp uit. (of timer of, whatever.

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
musicpixel schreef op dinsdag 18 januari 2022 @ 15:33:
[...]


Benieuwd naar jouw idee, misschien leer ik er ook nog wat van, dus kom maar op! ;)
Gisteren had ik helaas geen tijd meer. Maar bij deze....@Koepert Ik had je bericht niet gezien, maar het lijkt er inderdaad op dat we op deze manier hetzelfde doen!

Hoe motion sensor overrulen/cancelen/overschrijven met input boolean

Wat ik nu gedaan heb is het volgende. Zoals eerder gezegd schiet er lekker op, want wellicht komen we tot een soort ideale oplossing hiervoor die iedereen toe kan passen.
Wat is de situatie
Een motion sensor is heel erg handig, maar er zijn situaties waarbij je de motion automatisering wilt overrulen. Hieronder even 2 voorbeelden, maar er zijn genoeg anderen te bedenken.
  • Je hebt een partner met wisseldiensten (dag, avond, nacht) en doucht bijvoorbeeld op andere tijden terwijl er op die tijden een avond of nachtroutine ingesteld staat.
  • Je bent ergens mee bezig of hebt een klusje in een bepaalde ruimte, en hebt meer of langer licht nodig.
Hoe heb ik het opgelost
Ik heb een routine gemaakt waarbij de lamp op 100 procent gaat voor 10 minuten i.p.v. 2 minuten en waarbij de motion sensor routine niet meer geactiveerd wordt. Een uitknop vergeet ik vaak in te drukken in doorloopruimtes zoals een badkamer overloop etc. omdat alles daar al jaren automatisch gaat. Vandaar dat ik met een timer werk (in dit geval 10 minuten). Zie onderstaand wat er gebeurt.

Afbeeldingslocatie: https://tweakers.net/i/d4DZbu-XqZUxijUse3j8pNY6Ruw=/800x/filters:strip_exif()/f/image/7svXiZIKE9iwfXkyk6fMjQSp.png?f=fotoalbum_large
  1. Ik druk de aan knop in op de Hue dimmer
  2. Lamp gaat naar 100 procent en een input boolean "overloop" gaat aan
  3. Tegelijk gaat er een timer lopen van 10 minuten.
  4. Na 10 minuten gaat de input boolean op uit.
  5. Bij het indrukken van de uitknop gaat de input boolean direct uit.
Het enige wat ik nu heb hoeven doen, is bij de bewegingsroutine de input boolean (met current state node) direct NA de bewegingsactie plaatsen. Zodra de input boolean op aan staat, gaat hij nergens heen. En als hij op uit staat, dan gaat de motion automatisering door.

Afbeeldingslocatie: https://tweakers.net/i/qYs8s-TkGS4F-JppMIAp7qtyENQ=/800x/filters:strip_exif()/f/image/2jPlXKUc2bwW8SZACfS17cKV.png?f=fotoalbum_large

Het is een beetje een uitgebreid verhaal geworden voor iets redelijks simpels, maar misschien heeft iemand er wat aan. En zoals gezegd, kom gerust met verbeteringen.

Het ziet over overigens wat rommelig uit door de comment nodes en doordat ik alle knoppen moest mappen. Zo ziet de routine er normaal uit.

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

[ Voor 6% gewijzigd door Wachten... op 19-01-2022 15:31 ]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Ik denk een simpele vraag..

- Event:State node --> CPU usage above 90
- check state node --> Staat boolean meldingen aan?
- Function node --> Maak van de data een payload
- Notify --> Stuur een alert naar mn mobile dat de (in dit geval NAS) een CPU load boven 90 heeft.

Maar hoe zorg ik er nu voor dat die function node de data uit de EVENT node ipv die uit de CHECK state node stuurt?

JSON:
1
[{"id":"360aaf658dc2f463","type":"api-call-service","z":"8339f3e4.d68d5","name":"De NAS zweet peentjes","server":"1d8e9a4c.b062a6","version":3,"debugenabled":false,"service_domain":"notify","service":"mobile_app_iphone","entityId":"","data":"{\"title\":\"NAS performance\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":910,"y":1540,"wires":[[]]},{"id":"127e6017e5dbc842","type":"template","z":"8339f3e4.d68d5","name":"Bericht NAS stress","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Je Diskstation heeft {{data.new_state.state}} % CPU in gebruik","output":"str","x":610,"y":1540,"wires":[["360aaf658dc2f463"]]},{"id":"b52df6ebab9c5321","type":"api-current-state","z":"8339f3e4.d68d5","name":"Check NAS Alerts Boolean","server":"1d8e9a4c.b062a6","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.notify_nas","state_type":"str","blockInputOverrides":true,"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":360,"y":1560,"wires":[["127e6017e5dbc842"],[]]},{"id":"d6409849acc5bc87","type":"server-state-changed","z":"8339f3e4.d68d5","name":"NAS Stress","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.diskstation_cpu_load_average_15_min","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"90","halt_if_type":"num","halt_if_compare":"gt","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":110,"y":1560,"wires":[["b52df6ebab9c5321","a2ef54ce9661d870"],[]]},{"id":"a2ef54ce9661d870","type":"debug","z":"8339f3e4.d68d5","name":"NAS Stress Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":530,"y":1640,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Koepert schreef op woensdag 19 januari 2022 @ 15:31:
Ik denk een simpele vraag..

- Event:State node --> CPU usage above 90
- check state node --> Staat boolean meldingen aan?
- Function node --> Maak van de data een payload
- Notify --> Stuur een alert naar mn mobile dat de (in dit geval NAS) een CPU load boven 90 heeft.

Maar hoe zorg ik er nu voor dat die function node de data uit de EVENT node ipv die uit de CHECK state node stuurt?

JSON:
1
[{"id":"360aaf658dc2f463","type":"api-call-service","z":"8339f3e4.d68d5","name":"De NAS zweet peentjes","server":"1d8e9a4c.b062a6","version":3,"debugenabled":false,"service_domain":"notify","service":"mobile_app_iphone","entityId":"","data":"{\"title\":\"NAS performance\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":910,"y":1540,"wires":[[]]},{"id":"127e6017e5dbc842","type":"template","z":"8339f3e4.d68d5","name":"Bericht NAS stress","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Je Diskstation heeft {{data.new_state.state}} % CPU in gebruik","output":"str","x":610,"y":1540,"wires":[["360aaf658dc2f463"]]},{"id":"b52df6ebab9c5321","type":"api-current-state","z":"8339f3e4.d68d5","name":"Check NAS Alerts Boolean","server":"1d8e9a4c.b062a6","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.notify_nas","state_type":"str","blockInputOverrides":true,"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":360,"y":1560,"wires":[["127e6017e5dbc842"],[]]},{"id":"d6409849acc5bc87","type":"server-state-changed","z":"8339f3e4.d68d5","name":"NAS Stress","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.diskstation_cpu_load_average_15_min","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"90","halt_if_type":"num","halt_if_compare":"gt","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":110,"y":1560,"wires":[["b52df6ebab9c5321","a2ef54ce9661d870"],[]]},{"id":"a2ef54ce9661d870","type":"debug","z":"8339f3e4.d68d5","name":"NAS Stress Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":530,"y":1640,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]
Mag ik vragen waarom je dit niet gewoon in de NAS zelf instelt? Lijkt mij veel makkelijker.

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Wachten... schreef op woensdag 19 januari 2022 @ 15:34:
[...]


Mag ik vragen waarom je dit niet gewoon in de NAS zelf instelt? Lijkt mij veel makkelijker.
Valide vraag :) Enerzijds omdat het kan.. anderzijds omdat dit het ' makkelijkste voorbeeld was' ik wil dit concept gebruiken en implementeren in wat andere hardware/integraties maar vooral de werking snappen.

Ik ben 90% van mijn automatisering van Home Assistant naar Node-red aan t overhevelen. Deze categorie (is boolean aan, stuur dan bericht) had ik alleen nog niet over omdat ik hier niet uit kwam. de message is elke keer de payload van de ' check boolean'

Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
@Wachten...

Ik zie geen hele rare dingen in jouw oplossing. Volgens mij moet dit gewoon werken.

Wel is het zo dat jouw use case anders is dan die van mij. Ik wilde bij het wijzigen van lichtsterkte (ook via de app) dat de bewegingssensor niets meer zou doen, jij wilt het bij het drukken op een knop. Ik heb zelfs niet eens overal een knop die ik kan uitlezen, dus voor mij was dat geen optie.
Daarnaast wil jij na 10 min de bewegingssensor weer aan zetten, en ik wilde dat pas bij uitzetten van het licht.
Verder gebruik jij een input_boolean (wel zichtbaar in HA) en ik een flow-variabele (niet zichtbaar in HA). Het is maar net wat je wilt...

Ik heb nog wel een paar suggesties voor verbetering:

1) Na 10 minuten gaat het licht weer op de bewegingsstand, en 2 minuten later gaat het licht bij geen beweging uit. Dus de kans is aanwezig dat je na 12 minuten in het donker staat. Ik zou daarom vlak voor "input booolean uit" het licht weer terug zetten op 60% zodat je visuele feedback krijgt na 10 minuten of bij off drukken.

2) Ik zie dat je de dimmer waardes 1000,2000 etc omzet naar een tekst-waarde. Nu weet ik niet in hoeverre je dat verderop in je flow nog gebruikt, maar als het alleen is om beter te zien wat de waardes betekenen die uit de switch komen, dan is er een andere optie. Je kunt namelijk in een switch-node, onder het tabje "appearance" instellen wat de mouse-over tekst moet zijn als je over een connector (bolletje) beweegt:

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

3) Klopt het dat je je "Hue dimmer mapping" subflow in je nieuwe routine helemaal hebt uitgetekend om het voor ons duidelijk te maken? Zo ja, dat had niet nodig geweest ;) . Je had ook gewoon een plaatje van de subflow er bij kunnen zetten. Maar wat nog beter is, is om even een export van je nodes te doen en die in je post er bij te plakken tussen [ code ] tags. Export vind je in Node Red rechts bovenin in het hanburgermenu (rechts van Deploy). Wij kunnen je geexporteerde nodes dan weer importeren en ook de inhoud van alle nodes bekijken. De hele subflow wordt automatisch ook meegenomen in de export als er een subflow node in je flow zit. Let wel op met gevoelige info zoals wachtwoorden, locatie, etc. dat die niet in je export terecht komen.

Maar al met al: well done!

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Even heel wat anders, ik heb net een update gedaan naar 10.3.4 (NodeRED) maar ik krijg nu een de melding 502 Bad Gateway

Ik heb eens een post gevonden hoe dit op te lossen, maar kan het niet meer vinden. De SSL staat al op False, dus dat is het niet!

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • born2tweak
  • Registratie: November 2002
  • Laatst online: 29-08 17:02
Wachten... schreef op woensdag 19 januari 2022 @ 18:30:
Even heel wat anders, ik heb net een update gedaan naar 10.3.4 (NodeRED) maar ik krijg nu een de melding 502 Bad Gateway

Ik heb eens een post gevonden hoe dit op te lossen, maar kan het niet meer vinden. De SSL staat al op False, dus dat is het niet!
Ik had het toevallig vanavond ook. Bij mij hielp het om mijn browser cache te wissen.

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
@born2tweak

Heb dit ook geprobeerd, maar werkt helaas niet. Ik heb het echt specifiek na die update. Het lijkt er ook op dat hij steeds opnieuw opstart in de logs. Ik zal die zo even posten. Geen idee of dat het probleem is, want het probleem is echt specifiek na een update

[ Voor 3% gewijzigd door Wachten... op 19-01-2022 21:22 ]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • +1 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Koepert schreef op woensdag 19 januari 2022 @ 15:31:
Ik denk een simpele vraag..

- Event:State node --> CPU usage above 90
- check state node --> Staat boolean meldingen aan?
- Function node --> Maak van de data een payload
- Notify --> Stuur een alert naar mn mobile dat de (in dit geval NAS) een CPU load boven 90 heeft.

Maar hoe zorg ik er nu voor dat die function node de data uit de EVENT node ipv die uit de CHECK state node stuurt?

JSON:
1
[{"id":"360aaf658dc2f463","type":"api-call-service","z":"8339f3e4.d68d5","name":"De NAS zweet peentjes","server":"1d8e9a4c.b062a6","version":3,"debugenabled":false,"service_domain":"notify","service":"mobile_app_iphone","entityId":"","data":"{\"title\":\"NAS performance\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":910,"y":1540,"wires":[[]]},{"id":"127e6017e5dbc842","type":"template","z":"8339f3e4.d68d5","name":"Bericht NAS stress","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Je Diskstation heeft {{data.new_state.state}} % CPU in gebruik","output":"str","x":610,"y":1540,"wires":[["360aaf658dc2f463"]]},{"id":"b52df6ebab9c5321","type":"api-current-state","z":"8339f3e4.d68d5","name":"Check NAS Alerts Boolean","server":"1d8e9a4c.b062a6","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.notify_nas","state_type":"str","blockInputOverrides":true,"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":360,"y":1560,"wires":[["127e6017e5dbc842"],[]]},{"id":"d6409849acc5bc87","type":"server-state-changed","z":"8339f3e4.d68d5","name":"NAS Stress","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.diskstation_cpu_load_average_15_min","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"90","halt_if_type":"num","halt_if_compare":"gt","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":110,"y":1560,"wires":[["b52df6ebab9c5321","a2ef54ce9661d870"],[]]},{"id":"a2ef54ce9661d870","type":"debug","z":"8339f3e4.d68d5","name":"NAS Stress Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":530,"y":1640,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]
heb je flow niet bekeken maar ik denk dat je een change node nodig hebt na de event:state om de payload te kopieren naar bijvoorbeeld msg.trigger. de check:state veranderd daarna de payload weer maar in de function node kun je dan msg.trigger gewoon opvragen.
zou ook met een flow context variabele kunnen

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Ik krijg dus dit steeds in de logs en daarmee dus een bad gateway error
Hij doet dit ook steeds opnieuw opstarten. Alles na de laaste NodeRED update.

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
[21:46:29] INFO: Starting Node-RED...
> start
> node $NODE_OPTIONS node_modules/node-red/red.js "--settings" "/etc/node-red/config.js"
19 Jan 21:46:32 - [info] 
Welcome to Node-RED
===================
19 Jan 21:46:32 - [info] Node-RED version: v2.1.6
19 Jan 21:46:32 - [info] Node.js  version: v16.13.2
19 Jan 21:46:32 - [info] Linux 5.10.83 x64 LE
19 Jan 21:46:34 - [info] Loading palette nodes
19 Jan 21:46:41 - [info] Dashboard version 3.0.4 started at /endpoint/ui
/bin/sh: /config/node-red/node_modules/node-red-node-pi-gpio/testgpio.py: not found
19 Jan 21:46:41 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
19 Jan 21:46:44 - [info] Settings file  : /etc/node-red/config.js
19 Jan 21:46:44 - [info] Context store  : 'default' [module=memory]
19 Jan 21:46:44 - [info] User directory : /config/node-red/
19 Jan 21:46:44 - [warn] Projects disabled : editorTheme.projects.enabled=false
19 Jan 21:46:44 - [info] Flows file     : /config/node-red/flows.json
19 Jan 21:46:44 - [info] Server now running at http://127.0.0.1:46836/
19 Jan 21:46:45 - [info] Starting flows
19 Jan 21:46:47 - [info] Started flows
19 Jan 21:46:47 - [info] [server:Home Assistant] Connecting to http://supervisor/core
19 Jan 21:46:47 - [warn] [miio-roborock-server:Truus] Miio Roborock Error: Could not connect to device, handshake timeout
19 Jan 21:46:47 - [red] Uncaught Exception:
19 Jan 21:46:47 - [error] Error: Could not connect to device, handshake timeout
    at Timeout._onTimeout (/config/node-red/node_modules/miio/lib/network.js:427:17)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Wachten... schreef op woensdag 19 januari 2022 @ 18:30:
Even heel wat anders, ik heb net een update gedaan naar 10.3.4 (NodeRED) maar ik krijg nu een de melding 502 Bad Gateway

Ik heb eens een post gevonden hoe dit op te lossen, maar kan het niet meer vinden. De SSL staat al op False, dus dat is het niet!
hoe heb je het geüpdate? en wat is 10.3.4? ik zie dat nummer niet in je log namelijk.

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Step5 schreef op woensdag 19 januari 2022 @ 21:58:
[...]

hoe heb je het geüpdate? en wat is 10.3.4? ik zie dat nummer niet in je log namelijk.
Ik heb geupdate vanuit het addon gedeelte. De 10.3.4 is de laaste firmware van NodeRED.
Ik heb een update gedaan, en daarna werkte het niet meer

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • ravedek
  • Registratie: Juli 2011
  • Niet online
Wachten... schreef op woensdag 19 januari 2022 @ 22:11:
[...]


Ik heb geupdate vanuit het addon gedeelte. De 10.3.4 is de laaste firmware van NodeRED.
Ik heb een update gedaan, en daarna werkte het niet meer
Als ik het goed heb begrepen kan het na een update twee minuten duren voordat je Node-RED pas kan openen :O . Zie dit bericht.

Mogelijk is dan de oplossing:
So stop Node-Red, clear the logs, click on another item in the left menu, go to Supervisor, Node-Red and start. After 1 minute click on Open Web UI
En die foutmelding van de miio-roborock-server komt doordat je stofzuiger niet bereikbaar is? Anders kan je daar meer over lezen op GitHub :)

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
ravedek schreef op woensdag 19 januari 2022 @ 23:20:
[...]


Als ik het goed heb begrepen kan het na een update twee minuten duren voordat je Node-RED pas kan openen :O . Zie dit bericht.

Mogelijk is dan de oplossing:

[...]


En die foutmelding van de miio-roborock-server komt doordat je stofzuiger niet bereikbaar is? Anders kan je daar meer over lezen op GitHub :)
Ik heb de roborock er helemaal uitgegooid, dus vind het gek dat deze melding nog gegeven wordt.

De verdere oplossing hebben niet geholpen helaas. Deze heb echt net geprobeerd. Ik ben nu eerst aan het kijken of ik mijn logs helemaal clean kan krijgen. Wellicht gaat daar ergens iets niet goed, want hij blijft opnieuw opstarten (als ik de logs moet geloven) na de update.

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • ravedek
  • Registratie: Juli 2011
  • Niet online
Wachten... schreef op woensdag 19 januari 2022 @ 23:26:
[...]


Ik heb de roborock er helemaal uitgegooid, dus vind het gek dat deze melding nog gegeven wordt.

De verdere oplossing hebben niet geholpen helaas. Deze heb echt net geprobeerd. Ik ben nu eerst aan het kijken of ik mijn logs helemaal clean kan krijgen. Wellicht gaat daar ergens iets niet goed, want hij blijft opnieuw opstarten (als ik de logs moet geloven) na de update.
Dan zou je ook nog kunnen proberen om Node-Red in safe mode te starten en node-red-contrib-miio-roborock in z'n geheel te verwijderen uit de palette (of doe dit via de cli met npm uninstall). Misschien dat het helpt...

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Step5 schreef op woensdag 19 januari 2022 @ 21:35:
[...]

heb je flow niet bekeken maar ik denk dat je een change node nodig hebt na de event:state om de payload te kopieren naar bijvoorbeeld msg.trigger. de check:state veranderd daarna de payload weer maar in de function node kun je dan msg.trigger gewoon opvragen.
zou ook met een flow context variabele kunnen
Change works like a charm. Thx

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
ravedek schreef op donderdag 20 januari 2022 @ 00:20:
[...]


Dan zou je ook nog kunnen proberen om Node-Red in safe mode te starten en node-red-contrib-miio-roborock in z'n geheel te verwijderen uit de palette (of doe dit via de cli met npm uninstall). Misschien dat het helpt...
Ik heb nu een backup terug gezet van NodeRED en nu werkt alles weer (wel op de oude versie)

Ik vergeet het palatte gedeelte wel eens, maar inderdaad daar verwijderd en die foutmelding is nu weg.

Verwijderen jullie overigens wat van de standaard palettes die in NodeRED zitten? Ik krijg namelijk ook een foutmelding over een raspberry pi palette, maar die gebruik ik helemaal niet. En hoe vaak updaten jullie de palettes? Je krijgt hierover namelijk helemaal geen melding, dus ik vergeet het al snel en heb dan maanden geen updates gedaan.

Is dit een soort if it ain't broke, dont fix it verhaal? Of liever altijd de palettes up to date houden?

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • +2 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Ik zie nu pas dat die dingen ook los up te daten zijn :P


Dus in mijn geval is het vooral.. don't know, didnt notice, didnt fix..

Acties:
  • +2 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 00:06
Koepert schreef op donderdag 20 januari 2022 @ 11:45:
[...]


Change works like a charm. Thx
Je kan de current state node ook instellen dat deze enkel de status checkt, en dus niets met je payload doet. Je kan ook instellen dat de current state van je check niet terecht komt in msg.payload maar in msg.#random. Zie hiervoor de instellingen van de current state node.

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

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
denuz schreef op donderdag 20 januari 2022 @ 13:41:
[...]


Je kan de current state node ook instellen dat deze enkel de status checkt, en dus niets met je payload doet.
Maar zet je dan de output properties 'uit'? Of bedoel je dat anders? Ja dus.. Thx :) scheelt weer n change node.
Je kan ook instellen dat de current state van je check niet terecht komt in msg.payload maar in msg.#random. Zie hiervoor de instellingen van de current state node.

[Afbeelding]
Als je met die eerste opmerking idd ' geen output' bedoelt, dan heeft dat de voorkeur want dat scheelt weer een node :)

[ Voor 3% gewijzigd door Koepert op 20-01-2022 13:54 . Reden: Eerst proberen dan vragen. ]


Acties:
  • +1 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
Koepert schreef op donderdag 20 januari 2022 @ 13:46:
[...]


Maar zet je dan de output properties 'uit'? Of bedoel je dat anders? Ja dus.. Thx :) scheelt weer n change node.
[...]
top, veel overzichtelijker natuurlijk

Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Meer mensen die na een update problemen hebben met de power monitor ?

voorheen werkte dit als n trein:
JSON:
1
[{"id":"971b30c4.1f4d6","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Wasmachine klaar","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.power_35","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"num","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"","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":90,"y":720,"wires":[["bdd992d4.d83eb8"]]},{"id":"bdd992d4.d83eb8","type":"power-monitor","z":"8339f3e4.d68d5","name":"Energie Wasmachine","startthreshold":"3","stopthreshold":"1","startafter":"2","stopafter":"10","x":320,"y":680,"wires":[["1e2b0cb5.2e1c0b"]]},{"id":"1e2b0cb5.2e1c0b","type":"template","z":"8339f3e4.d68d5","name":"Start","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Wasmachine staat aan!","output":"str","x":490,"y":660,"wires":[["d7e32651.30c9d"]]},{"id":"1912c046.2d6ce","type":"function","z":"8339f3e4.d68d5","name":"seconds to minutes","func":"msg.payload.minutes = Math.round(msg.payload.time / 60) ;\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":760,"wires":[["4077f116.e269e8"]]},{"id":"4077f116.e269e8","type":"template","z":"8339f3e4.d68d5","name":"Klaar","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"De was is klaar! Het verbruik was {{payload.energy}}kWh energie en de duur {{payload.minutes}} minuten.","output":"str","x":490,"y":760,"wires":[["d7e32651.30c9d"]]},{"id":"d7e32651.30c9d","type":"change","z":"8339f3e4.d68d5","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.content","tot":"msg"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":700,"wires":[["8bd656fb.a2f2b8"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]


Maar nu spamt hij mn hele telefoon plat met ' wasmachine staat aan' meldingen.. Is er iets veranderd dat ik gemist heb?

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
musicpixel schreef op woensdag 19 januari 2022 @ 18:02:
@Wachten...

1) Na 10 minuten gaat het licht weer op de bewegingsstand, en 2 minuten later gaat het licht bij geen beweging uit. Dus de kans is aanwezig dat je na 12 minuten in het donker staat. Ik zou daarom vlak voor "input booolean uit" het licht weer terug zetten op 60% zodat je visuele feedback krijgt na 10 minuten of bij off drukken.
Ja dat is wel een goeie. Wat ik liever nog wil is dat zodra ik handmatig de motion overrrule, dat er een andere motion automation gaat lopen. Normaal is het 2 minuten en de lamp op 60 procent, maar als ik de knop een keer indruk dat dit dat de motion sensor dan veranderd naar 5 minuten en 100 procent. Zodra er dan geen beweging meer gezien is, dat hij dan weer naar de oude stand gaat. Dat zou echt de allerbeste en mooiste oplossing zijn. We willen namelijk zo min mogelijk nadenken over verlichting en dus zo min mogelijk met knoppen bezig zijn. Ik heb het alleen nog niet volledig in mijn hoofd hoe ik dit ga realiseren.
2) Ik zie dat je de dimmer waardes 1000,2000 etc omzet naar een tekst-waarde. Nu weet ik niet in hoeverre je dat verderop in je flow nog gebruikt, maar als het alleen is om beter te zien wat de waardes betekenen die uit de switch komen, dan is er een andere optie. Je kunt namelijk in een switch-node, onder het tabje "appearance" instellen wat de mouse-over tekst moet zijn als je over een connector (bolletje) beweegt:
Ik wil dit ook ik andere flows gebruiken, en ik vind het overzichtelijk om het zo te zien, zonder dat ik ergens overheen moet gaan met mijn muis. Maar dank voor je tip. Ik wist dit niet ;)
3) Klopt het dat je je "Hue dimmer mapping" subflow in je nieuwe routine helemaal hebt uitgetekend om het voor ons duidelijk te maken? Zo ja, dat had niet nodig geweest ;) . Je had ook gewoon een plaatje van de subflow er bij kunnen zetten. Maar wat nog beter is, is om even een export van je nodes te doen en die in je post er bij te plakken tussen [ code ] tags. Export vind je in Node Red rechts bovenin in het hanburgermenu (rechts van Deploy). Wij kunnen je geexporteerde nodes dan weer importeren en ook de inhoud van alle nodes bekijken. De hele subflow wordt automatisch ook meegenomen in de export als er een subflow node in je flow zit. Let wel op met gevoelige info zoals wachtwoorden, locatie, etc. dat die niet in je export terecht komen.

Maar al met al: well done!
Zie bericht hiervoor, en normaal deel ik ook de flow, maar ik zit niet altijd thuis om de flow te kunnen delen (zoals nu).

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Koepert schreef op vrijdag 21 januari 2022 @ 12:06:
Meer mensen die na een update problemen hebben met de power monitor ?

voorheen werkte dit als n trein:
JSON:
1
[{"id":"971b30c4.1f4d6","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Wasmachine klaar","server":"1d8e9a4c.b062a6","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.power_35","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"num","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"","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":90,"y":720,"wires":[["bdd992d4.d83eb8"]]},{"id":"bdd992d4.d83eb8","type":"power-monitor","z":"8339f3e4.d68d5","name":"Energie Wasmachine","startthreshold":"3","stopthreshold":"1","startafter":"2","stopafter":"10","x":320,"y":680,"wires":[["1e2b0cb5.2e1c0b"]]},{"id":"1e2b0cb5.2e1c0b","type":"template","z":"8339f3e4.d68d5","name":"Start","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Wasmachine staat aan!","output":"str","x":490,"y":660,"wires":[["d7e32651.30c9d"]]},{"id":"1912c046.2d6ce","type":"function","z":"8339f3e4.d68d5","name":"seconds to minutes","func":"msg.payload.minutes = Math.round(msg.payload.time / 60) ;\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":760,"wires":[["4077f116.e269e8"]]},{"id":"4077f116.e269e8","type":"template","z":"8339f3e4.d68d5","name":"Klaar","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"De was is klaar! Het verbruik was {{payload.energy}}kWh energie en de duur {{payload.minutes}} minuten.","output":"str","x":490,"y":760,"wires":[["d7e32651.30c9d"]]},{"id":"d7e32651.30c9d","type":"change","z":"8339f3e4.d68d5","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.content","tot":"msg"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":700,"wires":[["8bd656fb.a2f2b8"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]


Maar nu spamt hij mn hele telefoon plat met ' wasmachine staat aan' meldingen.. Is er iets veranderd dat ik gemist heb?
Ok de node heeft nu idd 1 output ipv een start en stop output.. Is even schakelen maar lijkt idd meer mee te kunnen nu wellicht..(https://flows.nodered.org...wer-monitor#configuration) maar ik krijg nu (heb m stap voor stap opnieuw opgebouwd) deze error:


code:
1
2
3
24-1-2022 16:25:07node: Was & Droog berichten
msg : string[25]
"msg.payload.type is empty"


Relevante deel vd code:
JSON:
1
[{"id":"dfbbea22aa7670a1","type":"power-monitor","z":"42bc3ba1a0a81070","name":"Wasmachine","startthreshold":"100","stopthreshold":0,"startafter":1,"stopafter":1,"x":330,"y":540,"wires":[["f7786fb0a392489c","fb4b1bebacf5cb81"]]},{"id":"f7786fb0a392489c","type":"switch","z":"42bc3ba1a0a81070","name":"Was & Droog","property":"payload.event","propertyType":"msg","rules":[{"t":"eq","v":"running","vt":"str"},{"t":"eq","v":"stop","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":580,"wires":[["6ccfb3bead071981"],["080777dbf8728789"]]},{"id":"080777dbf8728789","type":"function","z":"42bc3ba1a0a81070","name":"Pre-process","func":"msg.payload.time = Math.round(msg.payload.time / 60);\nmsg.payload.cost = Math.round(msg.payload.energy * 16.66) / 100;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":620,"wires":[["076c0bbf2a80dced"]]},{"id":"076c0bbf2a80dced","type":"template","z":"42bc3ba1a0a81070","name":"Bericht verbruik","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"De {{ payload.name }} is klaar.\nTijdsduur: {{ payload.time }} minuten.\nTotale energie: {{ payload.energy }} kWh.\nCost: {{ payload.cost }} €","output":"str","x":860,"y":620,"wires":[["5e022c32bd6a490f"]]},{"id":"5e022c32bd6a490f","type":"template","z":"42bc3ba1a0a81070","name":"Berichttemplate","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":"{\n    \"chatId\": 1068168675,\n    \"type\": \"message\",\n    \"content\": \"{{ payload }}\"\n}","output":"str","x":1040,"y":560,"wires":[["6e6112595cb7106c"]]}]



Waar maak ik de fout?? Ik dacht met de laatste template juist een type toe te voegen..

Template had Function moeten zijn... Beide oranje he :P

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
@musicpixel

Weet jij toevallig of het mogelijk is om binnen nodered een commando te sturen naar Google Assistant(home)?

Ik wil graag een fysieke knop gebruiken om bepaalde Google commando's te activeren, maar kan nergens iets vinden.

Ik gebruik de Google Assistant op mijn Sonos Speaker.

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • WimV
  • Registratie: Augustus 2009
  • Laatst online: 17:33
Wachten... schreef op maandag 24 januari 2022 @ 19:17:
@musicpixel

Weet jij toevallig of het mogelijk is om binnen nodered een commando te sturen naar Google Assistant(home)?

Ik wil graag een fysieke knop gebruiken om bepaalde Google commando's te activeren, maar kan nergens iets vinden.

Ik gebruik de Google Assistant op mijn Sonos Speaker.
Check NORA

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
@WimV Ik heb die al wel eens voorbij zien komen, maar heb die toen om de één of anderen reden links laten liggen. Je hebt er overigens 2 zie ik:

De normale Nora
En de SmartNora

Ik ga er vanuit dat ik die SmartNora moet hebben, aangezien die andere al bijna 2 jaar geen update meer heeft gehad?

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Ik was overigens bezig om mijn bewegingssensor 'probleem' verder te verbeteren.

Zoals eerder gezegd wil ik in bepaalde situaties dat de lamp anders reageert op de bewegingssensor. De overloop is hier het meest complexe aangezien de volgende situaties verwerkt moeten worden.
  • Als de schoonmaakster er is moet de lamp bij beweging voor 10 minuten aan gaan op 100 procent.
  • Als onze kleine slaapt en wij de deur van haar open doen, moet de lamp 20 procent gaan branden, zodat ze niet vol licht in haar kamer krijgt.
  • Als de lamp handmatig aan wordt gezet (met Hue dimmer) moet wederom de lamp voor 10 minuten branden op 100 procent.
  • Als iedereen slaapt en er is beweging, dan moet de lamp op 20 procent branden.
Overigens is het zo dat voor iedere situatie de timer herstart moet worden zodra er weer beweging wordt gezien. dus als er binnen 10 minuten beweging is geweest, dan moet de timer opnieuw voor 10 minuten gaan lopen. Ik weet alleen niet zeker of de "stoptimer node" dit doet?

Nu heb ik al wel wat in elkaar gezet, maar ik vind het er wat rommelig uitzien en als ik nog meer voorwaarden/uitzonderingen toe wil voegen, dan wordt het een aardig onoverzichtelijk zooitje.

Kan dit op de een of andere manier mooier en simpeler gemaakt worden? Ik weet dat er heel veel kan met "Function nodes", maar daar heb ik echt totaal geen kaas van gegeten.

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


code:
1
[{"id":"80415a666ffecada","type":"subflow","name":"Hue dimmer mapping","info":"","category":"","in":[{"x":20,"y":180,"wires":[{"id":"292385de8ce3935b"}]}],"out":[{"x":620,"y":80,"wires":[{"id":"f525b1894b518af8","port":0}]},{"x":620,"y":240,"wires":[{"id":"feca622a45fee74e","port":0}]}],"env":[],"meta":{},"color":"#DDAA99"},{"id":"292385de8ce3935b","type":"switch","z":"80415a666ffecada","name":"Hue dimmer mapping","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1000","vt":"str"},{"t":"eq","v":"1001","vt":"str"},{"t":"eq","v":"2000","vt":"str"},{"t":"eq","v":"3000","vt":"str"},{"t":"eq","v":"4000","vt":"str"},{"t":"eq","v":"4001","vt":"str"}],"checkall":"true","repair":false,"outputs":6,"x":200,"y":180,"wires":[["f525b1894b518af8"],["7ccf5b85f1d64b72"],["a6d99d1da6076d13"],["46b268ae28d21563"],["feca622a45fee74e"],["a9f40869fb9afea3"]]},{"id":"f525b1894b518af8","type":"change","z":"80415a666ffecada","name":"On","rules":[{"t":"change","p":"payload","pt":"msg","from":"1000","fromt":"num","to":"on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"1001","fromt":"str","to":"hold on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2000","fromt":"num","to":"brightness up","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3000","fromt":"num","to":"brightness down","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4000","fromt":"num","to":"off","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4001","fromt":"num","to":"hold off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":80,"wires":[[]]},{"id":"7ccf5b85f1d64b72","type":"change","z":"80415a666ffecada","name":"Hold on","rules":[{"t":"change","p":"payload","pt":"msg","from":"1000","fromt":"num","to":"on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"1001","fromt":"str","to":"hold on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2000","fromt":"num","to":"brightness up","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3000","fromt":"num","to":"brightness down","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4000","fromt":"num","to":"off","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4001","fromt":"num","to":"hold off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":120,"wires":[[]]},{"id":"a6d99d1da6076d13","type":"change","z":"80415a666ffecada","name":"Brightness up","rules":[{"t":"change","p":"payload","pt":"msg","from":"1000","fromt":"num","to":"on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"1001","fromt":"str","to":"hold on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2000","fromt":"num","to":"brightness up","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3000","fromt":"num","to":"brightness down","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4000","fromt":"num","to":"off","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4001","fromt":"num","to":"hold off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":160,"wires":[[]]},{"id":"46b268ae28d21563","type":"change","z":"80415a666ffecada","name":"Brightness down","rules":[{"t":"change","p":"payload","pt":"msg","from":"1000","fromt":"num","to":"on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"1001","fromt":"str","to":"hold on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2000","fromt":"num","to":"brightness up","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3000","fromt":"num","to":"brightness down","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4000","fromt":"num","to":"off","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4001","fromt":"num","to":"hold off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":200,"wires":[[]]},{"id":"feca622a45fee74e","type":"change","z":"80415a666ffecada","name":"Off","rules":[{"t":"change","p":"payload","pt":"msg","from":"1000","fromt":"num","to":"on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"1001","fromt":"str","to":"hold on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2000","fromt":"num","to":"brightness up","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3000","fromt":"num","to":"brightness down","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4000","fromt":"num","to":"off","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4001","fromt":"num","to":"hold off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":240,"wires":[[]]},{"id":"a9f40869fb9afea3","type":"change","z":"80415a666ffecada","name":"Hold off","rules":[{"t":"change","p":"payload","pt":"msg","from":"1000","fromt":"num","to":"on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"1001","fromt":"str","to":"hold on","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2000","fromt":"num","to":"brightness up","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3000","fromt":"num","to":"brightness down","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4000","fromt":"num","to":"off","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4001","fromt":"num","to":"hold off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":280,"wires":[[]]},{"id":"a64684014cfae006","type":"subflow","name":"Deursensor AQARA","info":"","category":"","in":[{"x":360,"y":180,"wires":[{"id":"d76ba56f62c4d115"}]}],"out":[{"x":800,"y":140,"wires":[{"id":"fa7bd79ec91a07b4","port":0}]},{"x":800,"y":220,"wires":[{"id":"01722f994a4e356c","port":0}]}],"env":[],"meta":{},"color":"#DDAA99"},{"id":"d76ba56f62c4d115","type":"change","z":"a64684014cfae006","name":"open / dicht","rules":[{"t":"change","p":"payload","pt":"msg","from":"off","fromt":"str","to":"dicht","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"on","fromt":"str","to":"open","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":180,"wires":[["fa7bd79ec91a07b4","01722f994a4e356c"]]},{"id":"fa7bd79ec91a07b4","type":"switch","z":"a64684014cfae006","name":"Open","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"open","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":650,"y":160,"wires":[[]]},{"id":"01722f994a4e356c","type":"switch","z":"a64684014cfae006","name":"Dicht","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"dicht","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":650,"y":200,"wires":[[]]},{"id":"e134b303da0dbda7","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"5d52a7a697c8757f","type":"comment","z":"e134b303da0dbda7","name":"Overloop","info":"","x":220,"y":360,"wires":[]},{"id":"4c1bc9f47f41bb92","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop lamp uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.overloop_group","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1370,"y":520,"wires":[[]]},{"id":"b820671bc170e5cd","type":"api-current-state","z":"e134b303da0dbda7","name":"IB slapen","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":600,"y":520,"wires":[["1004da9f6dfce618"],["caee3f4f86f4dc41"]],"outputLabels":["aan","uit"]},{"id":"1004da9f6dfce618","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop 20%","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.overloop_group","data":"{\"brightness_pct\":20,\"transition\":0.5}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1260,"y":460,"wires":[["121759cef7a6ba97"]]},{"id":"80d396e5a33d6880","type":"server-state-changed","z":"e134b303da0dbda7","name":"Overloop sensor wordt geactiveerd","server":"9b8bc642.fed038","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_overloop","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":"","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":300,"y":400,"wires":[["aebaeda853744f84"],[]]},{"id":"2b84dc6ed8fb55cd","type":"api-current-state","z":"e134b303da0dbda7","name":"Deur open","server":"9b8bc642.fed038","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.deursensor_kinderkamer","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":850,"y":440,"wires":[["c9231497fb28089f"]]},{"id":"c9231497fb28089f","type":"subflow:a64684014cfae006","z":"e134b303da0dbda7","name":"Deur open/dicht","env":[],"x":1040,"y":440,"wires":[["1004da9f6dfce618"],[]],"outputLabels":["open","dicht"]},{"id":"121759cef7a6ba97","type":"ha-wait-until","z":"e134b303da0dbda7","name":"Wacht voor 1 minuut","server":"9b8bc642.fed038","version":0,"outputs":2,"entityId":"binary_sensor.bewegingssensor_overloop","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":"1","timeoutType":"num","timeoutUnits":"minutes","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":1140,"y":520,"wires":[[],["4c1bc9f47f41bb92"]]},{"id":"caee3f4f86f4dc41","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop lamp aan","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.overloop_group","data":"{\"brightness_pct\":{{global.brightness_pct}}, \"transition\":{{global.transition}}}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":870,"y":520,"wires":[["121759cef7a6ba97"]]},{"id":"7029a860152a09dd","type":"deconz-input","z":"e134b303da0dbda7","name":"Hue dimmer overloop","topic":"","config_version":2,"server":"bcdb5c49332f1522","statustext":"","statustext_type":"auto","search_type":"device","device_list":["sensors/uniqueid/00:17:88:01:06:ea:ec:7f-02-fc00"],"device_name":"","query":"","outputs":1,"output_rules":[{"type":"state","format":"single","output":"onchange","onstart":false,"payload":["buttonevent","eventduration","lastupdated"]}],"x":260,"y":220,"wires":[["507dd0ecec3495eb"]]},{"id":"acbf36774413f778","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop 100%","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.overloop_group","data":"{\"brightness_pct\":100,\"transition\":1}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":920,"y":180,"wires":[[]]},{"id":"b33b8df864aef54a","type":"api-call-service","z":"e134b303da0dbda7","name":"Input boolean aan","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.dimmer_overloop","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":670,"y":180,"wires":[["acbf36774413f778"]]},{"id":"a60fcb6cea5e59d1","type":"api-call-service","z":"e134b303da0dbda7","name":"Input boolean uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.dimmer_overloop","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":670,"y":240,"wires":[["cea5918ce45356a9"]]},{"id":"9e71d2cd173bc055","type":"api-current-state","z":"e134b303da0dbda7","name":"IB dimmer","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.dimmer_overloop","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":600,"y":400,"wires":[["ddf0f5473fe83952"],["e82cb69244d734cf"]],"outputLabels":["aan","uit"]},{"id":"507dd0ecec3495eb","type":"subflow:80415a666ffecada","z":"e134b303da0dbda7","name":"Hue dimmer","env":[],"x":470,"y":220,"wires":[["b33b8df864aef54a"],["a60fcb6cea5e59d1"]],"outputLabels":["aan","uit"]},{"id":"cea5918ce45356a9","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop lamp uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.overloop_group","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":930,"y":240,"wires":[[]]},{"id":"aebaeda853744f84","type":"api-current-state","z":"e134b303da0dbda7","name":"IB schoonmaakster","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.dimmer_overloop","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":570,"y":340,"wires":[["ddf0f5473fe83952"],["9e71d2cd173bc055"]],"outputLabels":["aan","uit"]},{"id":"7e1aacb892a8a6bb","type":"stoptimer","z":"e134b303da0dbda7","duration":"10","units":"Minute","payloadtype":"num","payloadval":"0","name":"","x":1040,"y":340,"wires":[["26f1c99c71c2569c"],[]]},{"id":"ddf0f5473fe83952","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop 100%","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.overloop_group","data":"{\"brightness_pct\":100,\"transition\":1}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":840,"y":340,"wires":[["7e1aacb892a8a6bb"]]},{"id":"26f1c99c71c2569c","type":"api-call-service","z":"e134b303da0dbda7","name":"Overloop lamp uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.overloop_group","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1270,"y":340,"wires":[[]]},{"id":"e82cb69244d734cf","type":"api-current-state","z":"e134b303da0dbda7","name":"IB dochter slaapt","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.dochter_slaapt","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":570,"y":460,"wires":[["2b84dc6ed8fb55cd"],["b820671bc170e5cd"]],"outputLabels":["aan","uit"]},{"id":"357ced2c51aba16f","type":"comment","z":"e134b303da0dbda7","name":"Hue dimmer overloop","info":"","x":260,"y":180,"wires":[]},{"id":"9b8bc642.fed038","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30},{"id":"bcdb5c49332f1522","type":"deconz-server","name":"Phoscon-GW","config_version":1,"ip":"192.168.0.55","port":"8080","ws_port":"443","secure":false,"polling":"15"}]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Ik irriteer me aan een probleem (recente wijziging?) en weet niet waar ik de oorzaak moet zoeken.

Home Assistant --> Auto-backup (https://github.com/jcwillox/hass-auto-backup)

Die kan ik in Node_red ook aftrappen. Dat werkt sort of..

Ik gebruik de Full Backup, dus heb een inject node die 3x p/week om 03:00 uur de BU aanzet.

Dit is de "data" die ik meestuur (JSON)

code:
1
2
3
{
    "name": "Backup: {{ now().strftime('%a, %-I:%M %p (%d/%m/%Y)') }}"
}


Alleen die {{now..... }} doet niets. De " naam" van de Backup is dus Backup: .. Iemand een idee welke time-notatie ik dan moet gebruiken?

Tweede punt:

Nu wilde ik echter ook een melding als de back-up succesvol of failed was. Daarvoor heb ik een events: all node die luistert naar auto_backup.backup_successful event-type. Dat event lijkt echter niet altijd mee te komen (als ik m manueel in HA activeer krijg ik n undefinedundefined als antwoord maar dat zal omdat ik verder geen data meestuur)..Iemand enig idee waar dit aan kan liggen?

Mn function node die er een bericht van maakt:

JSON:
1
2
3
4
5
var bericht = msg.payload.event.action.data.title + ' ' + msg.payload.time_fired;

msg.payload = {chatId : XXXX(ja ingevuld), type : 'message', content : bericht};

return msg;


Maar hoe maak ik van die Time_fired iets leesbaars?

nu:
code:
1
time_fired: "2022-01-27T11:54:57.930969+00:00"


In principe stuur ik met de 'start' van de Backup ook een tijd mee, dus die juist meesturen is ook prima, maar ook die komt er als "{{ now().strftime('%a, %-I:%M %p (%d/%m/%Y)') }}" uit,,

[ Voor 6% gewijzigd door Koepert op 27-01-2022 13:01 ]


Acties:
  • +1 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 16-09 15:27
>>binnen 10 minuten beweging is geweest, dan moet de timer opnieuw voor 10
minuten

Hiervoor zou je de triggernode kunnen gebruiken met de optie 'extend delay if new message arrives"
Vanaf het laatste bericht (beweging = true?)zal deze na 10min een off sturen. Je kunt de tijd eventueel dan ook inkorten naar 1 a 2 min. Na laatste beweging blijft je lamp nog 1 a 2 min aan.

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

[ Voor 6% gewijzigd door Noisy op 27-01-2022 13:30 ]


Acties:
  • +1 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 16-09 15:27
Koepert schreef op donderdag 27 januari 2022 @ 12:57:

Iemand een idee welke time-notatie ik dan moet gebruiken?
Een function node met?:

var tijd = new Date().toLocaleString("nl-NL")
msg.payload ={"Backup" : tijd};
return msg;

Is de Backup tijd payload weer uit te lezen door msg.payload.Backup

of
msg.backup =new Date().toLocaleString("nl-NL")
return msg;

dan msg.backup = tijd

[ Voor 11% gewijzigd door Noisy op 27-01-2022 14:00 ]


Acties:
  • +1 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 22:46
Ik heb een simpele sub-flow gemaakt voor Home Assistant notificaties. Aangezien ik geen Android heb is hij volledig gebaseerd op iOS. Niets fancy's of wat, vooral doeltreffend. Heeft ook een optie voor critical notificaties.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[
    {
        "id": "85ed41d1b523eda1",
        "type": "subflow",
        "name": "Notification",
        "info": "",
        "category": "",
        "in": [
            {
                "x": 40,
                "y": 120,
                "wires": [
                    {
                        "id": "b43de5f2819711c2"
                    }
                ]
            }
        ],
        "out": [],
        "env": [
            {
                "name": "title",
                "type": "str",
                "value": ""
            },
            {
                "name": "message",
                "type": "str",
                "value": ""
            },
            {
                "name": "user",
                "type": "str",
                "value": ""
            },
            {
                "name": "critical?",
                "type": "bool",
                "value": "false"
            }
        ],
        "meta": {
            "module": "homeassistant-notification",
            "author": "Toppe <toppe@toppe.nl>",
            "license": "Apache-2.0"
        },
        "color": "#3FADB5",
        "inputLabels": [
            "Connect to node that start notification"
        ],
        "icon": "font-awesome/fa-mobile-phone"
    },
    {
        "id": "5a5d26f88b8ad3d4",
        "type": "api-call-service",
        "z": "85ed41d1b523eda1",
        "name": "",
        "server": "1d523c9b04aaa68e",
        "version": 3,
        "debugenabled": false,
        "service_domain": "notify",
        "service": "",
        "entityId": "",
        "data": "",
        "dataType": "jsonata",
        "mergecontext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 430,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "b43de5f2819711c2",
        "type": "function",
        "z": "85ed41d1b523eda1",
        "name": "Get env",
        "func": "//Get environment variables\nmsg.title = env.get(\"title\");\nmsg.message = env.get(\"message\");\nmsg.reciever = env.get(\"user\");\nmsg.critical = env.get(\"critical?\");\n\n//Check if all loggedin devices should recieve notification\nif(msg.reciever == 'all'){\n    msg.reciever = 'notify'\n}\n\nif(msg.critical){\n//Create critical payload\n    msg.payload = {\n        data :{ \n        title : msg.title,\n        message : msg.message,\n        \"data\": {\n            \"push\": {\n                \"sound\": {\n                    \"name\": \"default\",\n                    \"critical\": 1,\n                    \"volume\": 1\n                }\n            }\n        }\n    },\n        service : msg.reciever\n    }\n} else {\n    //Create non critical payload\nmsg.payload = {\n        data :{ \n        title : msg.title,\n        message : msg.message\n    },\n        service : msg.reciever\n    }\n}\n\n//Return payload\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 240,
        "y": 120,
        "wires": [
            [
                "5a5d26f88b8ad3d4"
            ]
        ]
    },
    {
        "id": "1d523c9b04aaa68e",
        "type": "server",
        "name": "Home Assistant",
        "version": 2,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30"
    }
]

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Noisy schreef op donderdag 27 januari 2022 @ 13:23:
>>binnen 10 minuten beweging is geweest, dan moet de timer opnieuw voor 10
minuten

Hiervoor zou je de triggernode kunnen gebruiken met de optie 'extend delay if new message arrives"
Vanaf het laatste bericht (beweging = true?)zal deze na 10min een off sturen. Je kunt de tijd eventueel dan ook inkorten naar 1 a 2 min. Na laatste beweging blijft je lamp nog 1 a 2 min aan.

[Afbeelding]
Dank je ik ben even gaan kijken naar de trigger node, echter werkt het alleen nog niet helemaal goed. Zolang er namelijk beweging blijft (dus de sensor op ON blijft staan) dan krijgt de trigger geen nieuwe input en gaat de lamp alsnog uit na de ingestelde tijd.

Ik zie ook dat veel mensen het op verschillende manieren toepassen. De ene gebruikt bij "send" de payload ON en bij "then send" OFF payload. Andere gebruiken weer nothing bij "send" etc.

Ik moet dus even goed uitvogelen wanneer ik welke nou gebruik.

Ik weet dat @musicpixel ook een keer zijn flow had gepost. Ik zal deze ook een importen en zien hoe hij het gedaan heeft.

@Noisy kun je mij overigens de volgende keer taggen of quoten? Ik had je bericht volledig gemist ;)

[ Voor 3% gewijzigd door Wachten... op 31-01-2022 08:38 ]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Toppe schreef op zondag 30 januari 2022 @ 10:05:
Ik heb een simpele sub-flow gemaakt voor Home Assistant notificaties. Aangezien ik geen Android heb is hij volledig gebaseerd op iOS. Niets fancy's of wat, vooral doeltreffend. Heeft ook een optie voor critical notificaties.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[
    {
        "id": "85ed41d1b523eda1",
        "type": "subflow",
        "name": "Notification",
        "info": "",
        "category": "",
        "in": [
            {
                "x": 40,
                "y": 120,
                "wires": [
                    {
                        "id": "b43de5f2819711c2"
                    }
                ]
            }
        ],
        "out": [],
        "env": [
            {
                "name": "title",
                "type": "str",
                "value": ""
            },
            {
                "name": "message",
                "type": "str",
                "value": ""
            },
            {
                "name": "user",
                "type": "str",
                "value": ""
            },
            {
                "name": "critical?",
                "type": "bool",
                "value": "false"
            }
        ],
        "meta": {
            "module": "homeassistant-notification",
            "author": "Toppe <toppe@toppe.nl>",
            "license": "Apache-2.0"
        },
        "color": "#3FADB5",
        "inputLabels": [
            "Connect to node that start notification"
        ],
        "icon": "font-awesome/fa-mobile-phone"
    },
    {
        "id": "5a5d26f88b8ad3d4",
        "type": "api-call-service",
        "z": "85ed41d1b523eda1",
        "name": "",
        "server": "1d523c9b04aaa68e",
        "version": 3,
        "debugenabled": false,
        "service_domain": "notify",
        "service": "",
        "entityId": "",
        "data": "",
        "dataType": "jsonata",
        "mergecontext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 430,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "b43de5f2819711c2",
        "type": "function",
        "z": "85ed41d1b523eda1",
        "name": "Get env",
        "func": "//Get environment variables\nmsg.title = env.get(\"title\");\nmsg.message = env.get(\"message\");\nmsg.reciever = env.get(\"user\");\nmsg.critical = env.get(\"critical?\");\n\n//Check if all loggedin devices should recieve notification\nif(msg.reciever == 'all'){\n    msg.reciever = 'notify'\n}\n\nif(msg.critical){\n//Create critical payload\n    msg.payload = {\n        data :{ \n        title : msg.title,\n        message : msg.message,\n        \"data\": {\n            \"push\": {\n                \"sound\": {\n                    \"name\": \"default\",\n                    \"critical\": 1,\n                    \"volume\": 1\n                }\n            }\n        }\n    },\n        service : msg.reciever\n    }\n} else {\n    //Create non critical payload\nmsg.payload = {\n        data :{ \n        title : msg.title,\n        message : msg.message\n    },\n        service : msg.reciever\n    }\n}\n\n//Return payload\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 240,
        "y": 120,
        "wires": [
            [
                "5a5d26f88b8ad3d4"
            ]
        ]
    },
    {
        "id": "1d523c9b04aaa68e",
        "type": "server",
        "name": "Home Assistant",
        "version": 2,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30"
    }
]
Ziet er goed uit, maar wat is de meerwaarde tov de koppeling met HA en dan de Call Service? Dat Node-Red zelfstandig is voor alles?

Acties:
  • 0 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 16-09 15:27
Wachten... schreef op maandag 31 januari 2022 @ 08:36:
[...]
Zolang er namelijk beweging blijft (dus de sensor op ON blijft staan)
Je zou verwachten van een beweging sensor dat bij beweging meerdere berichten verstuurd worden.
Misschien eerst de debug node direct op de sensor en de payload bij beweging bekijken.

Acties:
  • +2 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 22:46
Koepert schreef op maandag 31 januari 2022 @ 09:03:
[...]


Ziet er goed uit, maar wat is de meerwaarde tov de koppeling met HA en dan de Call Service? Dat Node-Red zelfstandig is voor alles?
Hoe bedoel je? Die sub-flow is gebaseerd op de call service van Home Assistant. Ondertussen is hij alweer wat uitgebreider met onder andere gebruikers, groepen, en het ophalen van de laatste locaties.

Door dat ik het op deze manier doe hoef ik maar op één plek (sub flow) een aanpassing te doen in plaats van op 100 plekken de call service aanpassen. Het is vooral een stukje gemak.

Het enige jammere van Node-Red is dat hij bepaalde velden niet kan uitschakelen bij het selecteren van een optie. Zo kan je met "Location" op true de laatste locatie ophalen van de gebruikers maar hij doet dan niets met messages. Zou mooi zijn geweest als die uitgeschakeld kon worden. Helaas.

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

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
[
    {
        "id": "85ed41d1b523eda1",
        "type": "subflow",
        "name": "Notification",
        "info": "Hi!",
        "category": "",
        "in": [
            {
                "x": 40,
                "y": 40,
                "wires": [
                    {
                        "id": "b43de5f2819711c2"
                    }
                ]
            }
        ],
        "out": [],
        "env": [
            {
                "name": "title",
                "type": "str",
                "value": "",
                "ui": {
                    "icon": "font-awesome/fa-header",
                    "type": "input",
                    "opts": {
                        "types": [
                            "str"
                        ]
                    }
                }
            },
            {
                "name": "message",
                "type": "str",
                "value": "",
                "ui": {
                    "icon": "font-awesome/fa-envelope-o",
                    "type": "input",
                    "opts": {
                        "types": [
                            "str"
                        ]
                    }
                }
            },
            {
                "name": "user",
                "type": "str",
                "value": "",
                "ui": {
                    "icon": "font-awesome/fa-users",
                    "type": "input",
                    "opts": {
                        "types": [
                            "str"
                        ]
                    }
                }
            },
            {
                "name": "critical?",
                "type": "bool",
                "value": "false",
                "ui": {
                    "icon": "font-awesome/fa-warning",
                    "type": "input",
                    "opts": {
                        "types": [
                            "bool"
                        ]
                    }
                }
            },
            {
                "name": "location",
                "type": "bool",
                "value": "false",
                "ui": {
                    "icon": "font-awesome/fa-location-arrow",
                    "type": "input",
                    "opts": {
                        "types": [
                            "bool"
                        ]
                    }
                }
            }
        ],
        "meta": {
            "module": "homeassistant-notification",
            "author": "Toppe <toppe@toppe.nl>",
            "license": "Apache-2.0"
        },
        "color": "#3FADB5",
        "inputLabels": [
            "Connect to node that start notification"
        ],
        "icon": "font-awesome/fa-mobile-phone"
    },
    {
        "id": "5a5d26f88b8ad3d4",
        "type": "api-call-service",
        "z": "85ed41d1b523eda1",
        "name": "",
        "server": "1d523c9b04aaa68e",
        "version": 3,
        "debugenabled": false,
        "service_domain": "notify",
        "service": "",
        "entityId": "",
        "data": "",
        "dataType": "jsonata",
        "mergecontext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 330,
        "y": 40,
        "wires": [
            []
        ]
    },
    {
        "id": "b43de5f2819711c2",
        "type": "function",
        "z": "85ed41d1b523eda1",
        "name": "Get env",
        "func": "//Get environment variables\n//Get all the environment variables \nmsg.title = env.get(\"title\");\nmsg.message = env.get(\"message\");\nmsg.receiver = env.get(\"user\");\nmsg.critical = env.get(\"critical?\");\nmsg.locationupdate = env.get(\"location\");\n\n//Check if all loggedin devices should recieve notification\n//Groups can be created in the configuration.yaml file of HA\nif(msg.receiver == 'all'){\n    msg.receiver = 'notify'\n} else if(msg.receiver == 'USER GROUP'){\n    msg.receiver = 'ALL_DEVICES'\n}\n\n//Check if input requested a location update\nif(msg.locationupdate){ msg.message = 'request_location_update' }\n\n//Check if input requested a critical notification \nif(msg.critical) { msg.setCritical = 1 } else { msg.setCritical = 0 }\n\n//Check if msg.payload has content. If so, ignore msg.message\nif(msg.payload) { msg.message = msg.payload }\n\n    msg.payload = {\n        data :{ \n        title : msg.title,\n        message : msg.message,\n        data: {\n            push: {\n                sound: {\n                    name: 'default',\n                    critical: msg.setCritical,\n                    volume: 1\n                }\n            }\n        }\n    },\n        service : msg.receiver\n    }\n\n\n\n//Return payload\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 160,
        "y": 40,
        "wires": [
            [
                "5a5d26f88b8ad3d4"
            ]
        ]
    },
    {
        "id": "1d523c9b04aaa68e",
        "type": "server",
        "name": "Home Assistant",
        "version": 2,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30"
    }
]


Notificaties moeten vooral informeren op de momenten dat het de ontvanger uitkomt en niet wanneer het het systeem uit komt. Zo ontvangst mijn vrouw alleen een notificatie als ze thuis is en de was klaar is.

[ Voor 6% gewijzigd door Toppe op 31-01-2022 09:50 ]

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • +1 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Toppe schreef op maandag 31 januari 2022 @ 09:19:
[...]


Hoe bedoel je? Die sub-flow is gebaseerd op de call service van Home Assistant. Ondertussen is hij alweer wat uitgebreider met onder andere gebruikers, groepen, en het ophalen van de laatste locaties.

Door dat ik het op deze manier doe hoef ik maar op één plek (sub flow) een aanpassing te doen in plaats van op 100 plekken de call service aanpassen. Het is vooral een stukje gemak.

Het enige jammere van Node-Red is dat hij bepaalde velden niet kan uitschakelen bij het selecteren van een optie. Zo kan je met "Location" op true de laatste locatie ophalen van de gebruikers maar hij doet dan niets met messages. Zou mooi zijn geweest als die uitgeschakeld kon worden. Helaas.

[Afbeelding]

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
[
    {
        "id": "85ed41d1b523eda1",
        "type": "subflow",
        "name": "Notification",
        "info": "Hi!",
        "category": "",
        "in": [
            {
                "x": 40,
                "y": 40,
                "wires": [
                    {
                        "id": "b43de5f2819711c2"
                    }
                ]
            }
        ],
        "out": [],
        "env": [
            {
                "name": "title",
                "type": "str",
                "value": "",
                "ui": {
                    "icon": "font-awesome/fa-header",
                    "type": "input",
                    "opts": {
                        "types": [
                            "str"
                        ]
                    }
                }
            },
            {
                "name": "message",
                "type": "str",
                "value": "",
                "ui": {
                    "icon": "font-awesome/fa-envelope-o",
                    "type": "input",
                    "opts": {
                        "types": [
                            "str"
                        ]
                    }
                }
            },
            {
                "name": "user",
                "type": "str",
                "value": "",
                "ui": {
                    "icon": "font-awesome/fa-users",
                    "type": "input",
                    "opts": {
                        "types": [
                            "str"
                        ]
                    }
                }
            },
            {
                "name": "critical?",
                "type": "bool",
                "value": "false",
                "ui": {
                    "icon": "font-awesome/fa-warning",
                    "type": "input",
                    "opts": {
                        "types": [
                            "bool"
                        ]
                    }
                }
            },
            {
                "name": "location",
                "type": "bool",
                "value": "true",
                "ui": {
                    "icon": "font-awesome/fa-location-arrow",
                    "type": "input",
                    "opts": {
                        "types": [
                            "bool"
                        ]
                    }
                }
            }
        ],
        "meta": {
            "module": "homeassistant-notification",
            "author": "Toppe <toppe@toppe.nl>",
            "license": "Apache-2.0"
        },
        "color": "#3FADB5",
        "inputLabels": [
            "Connect to node that start notification"
        ],
        "icon": "font-awesome/fa-mobile-phone"
    },
    {
        "id": "5a5d26f88b8ad3d4",
        "type": "api-call-service",
        "z": "85ed41d1b523eda1",
        "name": "",
        "server": "1d523c9b04aaa68e",
        "version": 3,
        "debugenabled": false,
        "service_domain": "notify",
        "service": "",
        "entityId": "",
        "data": "",
        "dataType": "jsonata",
        "mergecontext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 450,
        "y": 40,
        "wires": [
            []
        ]
    },
    {
        "id": "b43de5f2819711c2",
        "type": "function",
        "z": "85ed41d1b523eda1",
        "name": "Get env",
        "func": "//Get environment variables\nmsg.title = env.get(\"title\");\nmsg.message = env.get(\"message\");\nmsg.reciever = env.get(\"user\");\nmsg.critical = env.get(\"critical?\");\nmsg.locationupdate = env.get(\"location\");\n\n//Check if all loggedin devices should recieve notification\n//Groups can be created in the configuration.yaml file of HA\nif(msg.reciever == 'all'){\n    msg.reciever = 'notify'\n} else if(msg.reciever == 'GROEP HIER'){\n    msg.reciever = 'ALL_DEVICES'\n}\n\nif(msg.locationupdate){ msg.message = 'request_location_update' }\n\nif(msg.critical) { msg.setCritical = 1 } else { msg.setCritical = 0 }\nif(!msg.message) { msg.message = msg.payload }\n\n    msg.payload = {\n        data :{ \n        title : msg.title,\n        message : msg.message,\n        data: {\n            push: {\n                sound: {\n                    name: 'default',\n                    critical: msg.setCritical,\n                    volume: 1\n                }\n            }\n        }\n    },\n        service : msg.reciever\n    }\n\n\n\n//Return payload\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 160,
        "y": 40,
        "wires": [
            [
                "5a5d26f88b8ad3d4"
            ]
        ]
    },
    {
        "id": "1d523c9b04aaa68e",
        "type": "server",
        "name": "Home Assistant",
        "version": 2,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30"
    }
]


Notificaties moeten vooral informeren op de momenten dat het de ontvanger uitkomt en niet wanneer het het systeem uit komt. Zo ontvangst mijn vrouw alleen een notificatie als ze thuis is en de was klaar is.
Ik las je flow verkeerd. Mijn notificaties gaan voor 75% in Node-Red en de laatste 25% (fictief ;) ) gaan in de call-service node waar ik ook de datavelden gebruik. Maar nu ik wat verder gespit heb, je hebt gelijk daarmee pak je inderdaad wel een stuk 'controle' extra op de notificaties.

Ik ga m verder doorspitten, kijken of dit toegepast kan worden.. maar eh @Toppe het is receiver en niet reciever ;)

Acties:
  • +1 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 22:46
Koepert schreef op maandag 31 januari 2022 @ 09:36:
[...]


Ik las je flow verkeerd. Mijn notificaties gaan voor 75% in Node-Red en de laatste 25% (fictief ;) ) gaan in de call-service node waar ik ook de datavelden gebruik. Maar nu ik wat verder gespit heb, je hebt gelijk daarmee pak je inderdaad wel een stuk 'controle' extra op de notificaties.

Ik ga m verder doorspitten, kijken of dit toegepast kan worden.. maar eh @Toppe het is receiver en niet reciever ;)
Hahaha en ik wist dat het niet goed was, erg hé.

Code in het bericht boven jou heb ik weer wat aangepast. Voor de container gebruik ik nog een template met deze content: Let op, morgen moet de {{payload}} bak aan straat. en die stuur ik weer naar de notificatie door.

Hij kijkt nu of msg.payload leeg is, zo niet, dan gebruikt hij altijd de payload ipv de environment message

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Toppe schreef op maandag 31 januari 2022 @ 09:54:
[...]


Hahaha en ik wist dat het niet goed was, erg hé.

Code in het bericht boven jou heb ik weer wat aangepast. Voor de container gebruik ik nog een template met deze content: Let op, morgen moet de {{payload}} bak aan straat. en die stuur ik weer naar de notificatie door.

Hij kijkt nu of msg.payload leeg is, zo niet, dan gebruikt hij altijd de payload ipv de environment message
Nice. Ik ga m eens toepassen. Moet m alleen ff ombouwen voor mn eigen situatie. Vrouw zit wel in een groep ivm status huis(ergo: verlichting) maar hoeft/wil geen notificaties. Dus moet ik m ff omzetten naar "alleen mezelf"..

Acties:
  • 0 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 22:46
Koepert schreef op maandag 31 januari 2022 @ 10:16:
[...]


Nice. Ik ga m eens toepassen. Moet m alleen ff ombouwen voor mn eigen situatie. Vrouw zit wel in een groep ivm status huis(ergo: verlichting) maar hoeft/wil geen notificaties. Dus moet ik m ff omzetten naar "alleen mezelf"..
Je hoeft geen groep te gebruiken, je kan ook gewoon de entiteit van je HA device waarop je de notificatie wilt ontvangen invoeren.

Let trouwens wel op waar je critical notificaties toepast. Die gaan echt overal doorheen :)

[ Voor 8% gewijzigd door Toppe op 31-01-2022 10:19 ]

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Toppe schreef op maandag 31 januari 2022 @ 10:17:
[...]


Je hoeft geen groep te gebruiken, je kan ook gewoon de entiteit van je HA device waarop je de notificatie wilt ontvangen invoeren.
In dit stukje bedoel je?

code:
1
2
3
4
5
if(msg.reciever == 'all'){
    msg.reciever = 'notify'
} else if(msg.reciever == 'GROEP HIER'){
    msg.reciever = 'ALL_DEVICES'
}


Of zet je dat wel in de call service node?

Acties:
  • +1 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 22:46
Koepert schreef op maandag 31 januari 2022 @ 10:19:
[...]


In dit stukje bedoel je?

code:
1
2
3
4
5
if(msg.reciever == 'all'){
    msg.reciever = 'notify'
} else if(msg.reciever == 'GROEP HIER'){
    msg.reciever = 'ALL_DEVICES'
}


Of zet je dat wel in de call service node?
Nee. De naam keuze aan mijn kant is wat ongelukkig.

GROEP HIER kan een willekeurige naam zijn.
ALL_DEVICES is een groep in configuration.yaml met die zelfde naam.

Als je bij user all invoert dan zal elke gebruiker een notificatie ontvangen.
Als je bij user de zelfde naam invult die je bij GROEP HIER hebt ingevuld dan stuurt hij een notificatie naar de groep ALL_DEVICES

Mijn groep in configuration.yaml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
# Notify group
notify:
  - name: NOTIFY_TOPPE
    platform: group
    services:
      - service: mobile_app_iphone_13_pro_max_toppe
      - service: mobile_app_ipad

  - name: ALL_IPHONES
    platform: group
    services:
      - service: mobile_app_iphone_13_pro_max_toppe
      - service: mobile_app_iphone_13_vrouwlief


Dit zou je dan weer kunnen toevoegen aan de subflow code.
code:
1
2
3
4
5
6
7
if(msg.reciever == 'all'){
    msg.reciever = 'notify'
} else if(msg.reciever == 'ej'){
    msg.reciever = 'NOTIFY_TOPPE'
} else if(msg.reciever == 'iphones'){
    msg.reciever = 'ALL_IPHONES'
}


Je hebt dan 4 opties om bij user in te voeren:
all - Stuur notificatie naar alle apparaten die dit kunnen ontvangen
ej - Stuur notificatie naar de groep NOTIFY_TOPPE
iphones - Stuur notificatie naar de groep ALL_IPHONES
... - Vul hier een losse entiteit in en stuur de notificatie alleen naar dat specifieke apparaat.

[ Voor 38% gewijzigd door Toppe op 31-01-2022 10:30 ]

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Toppe schreef op maandag 31 januari 2022 @ 10:25:
[...]


Nee. De naam keuze aan mijn kant is wat ongelukkig.

GROEP HIER kan een willekeurige naam zijn.
ALL_DEVICES is een groep in configuration.yaml met die zelfde naam.

Als je bij user all invoert dan zal elke gebruiker een notificatie ontvangen.
Als je bij user de zelfde naam invult die je bij GROEP HIER hebt ingevuld dan stuurt hij een notificatie naar de groep ALL_DEVICES

Mijn groep in configuration.yaml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
# Notify group
notify:
  - name: NOTIFY_TOPPE
    platform: group
    services:
      - service: mobile_app_iphone_13_pro_max_toppe
      - service: mobile_app_ipad

  - name: ALL_IPHONES
    platform: group
    services:
      - service: mobile_app_iphone_13_pro_max_toppe
      - service: mobile_app_iphone_13_vrouwlief


Dit zou je dan weer kunnen toevoegen aan de subflow code.
code:
1
2
3
4
5
6
7
if(msg.reciever == 'all'){
    msg.reciever = 'notify'
} else if(msg.reciever == 'ej'){
    msg.reciever = 'NOTIFY_TOPPE'
} else if(msg.reciever == 'iphones'){
    msg.reciever = 'ALL_IPHONES'
}


Je hebt dan 4 opties om bij user in te voeren:
all - Stuur notificatie naar alle apparaten die dit kunnen ontvangen
ej - Stuur notificatie naar de groep NOTIFY_TOPPE
iphones - Stuur notificatie naar de groep ALL_IPHONES
... - Vul hier een losse entiteit in en stuur de notificatie alleen naar dat specifieke apparaat.
Thx. T werkt nu.. enige dat ik me afvraag (of ik n foutje heb gemaakt tijdens testen) is dat ik nu dit in mn HA log heb staan:

Passing templates to notify service is deprecated and will be removed in 2021.12. Automations and scripts handle templates automatically


K weet niet of dat dus 'eigen schuld is' (denk t wel), maar denk, geeft t toch even aan.

Acties:
  • 0 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 22:46
Koepert schreef op maandag 31 januari 2022 @ 12:07:
[...]


Thx. T werkt nu.. enige dat ik me afvraag (of ik n foutje heb gemaakt tijdens testen) is dat ik nu dit in mn HA log heb staan:

Passing templates to notify service is deprecated and will be removed in 2021.12. Automations and scripts handle templates automatically


K weet niet of dat dus 'eigen schuld is' (denk t wel), maar denk, geeft t toch even aan.
Ik zit op core-2021.12.10 met een een Docker container maar zie die melding niet in HA of Node-Red voorbij komen.

Heb jij nog interessante flows' voor HA/Node-Red? Ben nu bezig met een weer alarm notificatie maar dat is makkelijker gezegd dan gedaan ben ik bang.

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Koepert
  • Registratie: Augustus 2013
  • Laatst online: 21:26
Toppe schreef op maandag 31 januari 2022 @ 12:14:
[...]


Ik zit op core-2021.12.10 met een een Docker container maar zie die melding niet in HA of Node-Red voorbij komen.

Heb jij nog interessante flows' voor HA/Node-Red? Ben nu bezig met een weer alarm notificatie maar dat is makkelijker gezegd dan gedaan ben ik bang.
K zit op zelfde versie in Proxmox VM (Supervised). Zie de melding nu ook niet meer dus denk foutje gemaakt.

Die weer-alarm heb ik toevallig recent gedaan, maar dat is n vrij platte.

Deze integratie via HACS: https://github.com/golles/ha-knmi

En dan een flow die begint met een event-state node --> template node -->> Notify (de jouwe sinds nu :P))

Die template trekt dit uit de state van de binary sensor van die integratie:

code:
1
 {{data.new_state.attributes.friendly_name}}  {{data.new_state.attributes.Waarschuwing}}


en zo krijg ik n melding als er een code geel/oranje/etc is, maar ook als die voorbij is.. Ten opzichte van n Telegramgroep die ik volg (KNMI Weerwaarschuwingen 112Pers) is t echter wat laat/later. Maar t werkt wel.

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Noisy schreef op maandag 31 januari 2022 @ 09:10:
[...]


Je zou verwachten van een beweging sensor dat bij beweging meerdere berichten verstuurd worden.
Misschien eerst de debug node direct op de sensor en de payload bij beweging bekijken.
Nee ik krijg gewoon geen andere data uit mijn Hue Motion sensors.
Hij gaat enkel aan en blijft daar op staan zolang er beweging is maar update niet met een nieuwe debug.

Nu gaan de lampen hier dus gewoon uit na de ingestelde tijd. Ik heb echt even geen idee hoe ik het op kan lossen, wat ik ook doe. De lampen blijven niet aan.

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 16-09 15:27
Wachten... schreef op maandag 31 januari 2022 @ 12:42:
[...]

Nee ik krijg gewoon geen andere data uit mijn Hue Motion sensors.
Hij gaat enkel aan en blijft daar op staan zolang er beweging is maar update niet met een nieuwe debug.

Nu gaan de lampen hier dus gewoon uit na de ingestelde tijd. Ik heb echt even geen idee hoe ik het op kan lossen, wat ik ook doe. De lampen blijven niet aan.
Zelf heb ik de outdoor sensor en heb die ervaring niet. Nu heb ik een conbee stick en Node-Red en geen HUE gateway en HA.
Lees dat de update interval rond de 05sec zou moeten zitten. Heb je de sensor al eens gereset?
Anders: https://community.home-as...-in-home-assistant/127284

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Noisy schreef op maandag 31 januari 2022 @ 14:25:
[...]


Zelf heb ik de outdoor sensor en heb die ervaring niet. Nu heb ik een conbee stick en Node-Red en geen HUE gateway en HA.
Lees dat de update interval rond de 05sec zou moeten zitten. Heb je de sensor al eens gereset?
Anders: https://community.home-as...-in-home-assistant/127284
Ik heb exact hetzelfde, want ik gebruik ook Deconz/Conbee.
Gek dat het bij jou dan wel goed werkt. Zou jij eens je gehele flow kunnen delen? Misschien zie ik iets wat ik anders heb gedaan....

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 16-09 15:27
Wachten... schreef op maandag 31 januari 2022 @ 14:31:
[...]

Ik heb exact hetzelfde, want ik gebruik ook Deconz/Conbee.
Gek dat het bij jou dan wel goed werkt. Zou jij eens je gehele flow kunnen delen? Misschien zie ik iets wat ik anders heb gedaan....
Zit op mijn werk en geen toegang tot de flow. Een screenshot lukt net:
Afbeeldingslocatie: https://tweakers.net/i/wuWkuI7kGMaIRjrpfWU1Eko1iTY=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/BII63MhXm1Z4RlQ1oM3b2qCo.jpg?f=user_large

Als jij een debug node hangt aan Output 2 van de sensor node?
De state eerst leeg laten dan zie je de complete payload

[ Voor 4% gewijzigd door Noisy op 31-01-2022 15:07 ]


Acties:
  • 0 Henk 'm!

  • pCOW
  • Registratie: Oktober 2006
  • Laatst online: 00:26
Wachten... schreef op maandag 31 januari 2022 @ 12:42:
[...]


Nee ik krijg gewoon geen andere data uit mijn Hue Motion sensors.
Hij gaat enkel aan en blijft daar op staan zolang er beweging is maar update niet met een nieuwe debug.

Nu gaan de lampen hier dus gewoon uit na de ingestelde tijd. Ik heb echt even geen idee hoe ik het op kan lossen, wat ik ook doe. De lampen blijven niet aan.
ik heb de Ikea Tradfri motion sensors en die doen hetzelfde. Bij de 1e keer beweging wordt er een signaal gestuurd, maar daarna pas weer een signaal als er na een bepaalde tijd geen beweging is gedecteerd. Als er in die periode wel beweging wordt gedecteerd wordt in de sensor zelf de timer opnieuw gestart, maar komt er geen nieuw signaal.

In mijn node-red flow check ik dus of er een uit-signaal komt. Dan laat ik het licht nog 1 minuutje aan en dan gaat het uit. Zelfs nog iets ingewikkelder, omdat ik 2 sensoren voor dezelfde lamp heb (lamp in de gang op de begane grond, 1 sensor in diezelfde hal en 1 sensor bovenaan de trap). Ik check dus als 1 van de sensoren een uitsignaal geeft wat de status is van de andere. Is die ook uit -> licht uit na 1 minuut. Deze timer wordt dan wel gestopt als het licht via de sensor weer aangaat trouwens.
Hopelijk heb je er iets aan.

Zie deze flow:
 [{"id":"e1d9558c994897e4","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"f1967169980def75","type":"server-state-changed","z":"e1d9558c994897e4","name":"sensor gang trap aan","server":"f9d6b39a.93c1f","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.ikea_tradfri_sensor_gang_trap_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":280,"y":240,"wires":[["91f18b8db0a7c702"]]},{"id":"91f18b8db0a7c702","type":"switch","z":"e1d9558c994897e4","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":480,"y":240,"wires":[["4faaee5584179cce"],["d9f703adc05d76a8"]]},{"id":"4faaee5584179cce","type":"api-call-service","z":"e1d9558c994897e4","name":"gang licht: to on (2%)","server":"f9d6b39a.93c1f","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.gang","data":"{\"brightness\":2}","dataType":"json","mergecontext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":680,"y":180,"wires":[["866936fe45c42925"]]},{"id":"d9f703adc05d76a8","type":"api-current-state","z":"e1d9558c994897e4","name":"gang beweging = on","server":"f9d6b39a.93c1f","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.ikea_tradri_sensor_gang_occupancy","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":680,"y":280,"wires":[[],["94c5f649715d447b"]]},{"id":"866936fe45c42925","type":"change","z":"e1d9558c994897e4","name":"stop off signal","rules":[{"t":"set","p":"payload","pt":"msg","to":"stop","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":240,"wires":[["94c5f649715d447b"]]},{"id":"94c5f649715d447b","type":"stoptimer-varidelay","z":"e1d9558c994897e4","duration":"1","durationType":"num","units":"Minute","payloadtype":"num","payloadval":"0","name":"","reporting":"last_minute_seconds","persist":false,"ignoretimerpass":true,"x":1020,"y":360,"wires":[["dbb494ebf0eddae7"],[],[]]},{"id":"25256eeff3febdef","type":"api-call-service","z":"e1d9558c994897e4","name":"gang licht: to on (1%)","server":"f9d6b39a.93c1f","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.gang","data":"{\"brightness\":2}","dataType":"json","mergecontext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":700,"y":340,"wires":[["866936fe45c42925"]]},{"id":"d696932fea596c9f","type":"api-current-state","z":"e1d9558c994897e4","name":"gang trap beweging = on","server":"f9d6b39a.93c1f","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.ikea_tradfri_sensor_gang_trap_occupancy","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":710,"y":400,"wires":[[],["94c5f649715d447b"]]},{"id":"dbb494ebf0eddae7","type":"api-call-service","z":"e1d9558c994897e4","name":"gang licht: to off","server":"f9d6b39a.93c1f","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.gang","data":"","dataType":"json","mergecontext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":1220,"y":360,"wires":[[]]},{"id":"d14707b9539da962","type":"switch","z":"e1d9558c994897e4","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":480,"y":340,"wires":[["25256eeff3febdef"],["d696932fea596c9f"]]},{"id":"7219683e65b94f56","type":"server-state-changed","z":"e1d9558c994897e4","name":"sensor gang aan","server":"f9d6b39a.93c1f","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.ikea_tradri_sensor_gang_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"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":260,"y":340,"wires":[["d14707b9539da962"]]},{"id":"5ceda34ca42e68b6","type":"comment","z":"e1d9558c994897e4","name":"gang licht beneden via motion sensors","info":"","x":190,"y":140,"wires":[]},{"id":"f9d6b39a.93c1f","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}] 

mijn signature is bewust leeg :-)


Acties:
  • +1 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Wachten... schreef op maandag 24 januari 2022 @ 19:17:
@musicpixel

Weet jij toevallig of het mogelijk is om binnen nodered een commando te sturen naar Google Assistant(home)?

Ik wil graag een fysieke knop gebruiken om bepaalde Google commando's te activeren, maar kan nergens iets vinden.

Ik gebruik de Google Assistant op mijn Sonos Speaker.
Zo, weer tijd om even wat op het forum te doen.

Google Assistant aanroepen heb ik echt nog nooit gedaan, dus kan je hier niet mee helpen helaas.
Dat gezegd hebbende, ik zocht even via Google op "call google assistant commands programmatically" en kwam toen een assistent-relay project tegen:
https://github.com/greghesp/assistant-relay
Maar geen ervaring mee, en wordt ook niet meer gesupport zo te zien...

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
pCOW schreef op maandag 31 januari 2022 @ 15:17:
[...]


ik heb de Ikea Tradfri motion sensors en die doen hetzelfde. Bij de 1e keer beweging wordt er een signaal gestuurd, maar daarna pas weer een signaal als er na een bepaalde tijd geen beweging is gedecteerd. Als er in die periode wel beweging wordt gedecteerd wordt in de sensor zelf de timer opnieuw gestart, maar komt er geen nieuw signaal.

In mijn node-red flow check ik dus of er een uit-signaal komt. Dan laat ik het licht nog 1 minuutje aan en dan gaat het uit. Zelfs nog iets ingewikkelder, omdat ik 2 sensoren voor dezelfde lamp heb (lamp in de gang op de begane grond, 1 sensor in diezelfde hal en 1 sensor bovenaan de trap). Ik check dus als 1 van de sensoren een uitsignaal geeft wat de status is van de andere. Is die ook uit -> licht uit na 1 minuut. Deze timer wordt dan wel gestopt als het licht via de sensor weer aangaat trouwens.
Hopelijk heb je er iets aan.

Zie deze flow:
 [{"id":"e1d9558c994897e4","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"f1967169980def75","type":"server-state-changed","z":"e1d9558c994897e4","name":"sensor gang trap aan","server":"f9d6b39a.93c1f","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.ikea_tradfri_sensor_gang_trap_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":280,"y":240,"wires":[["91f18b8db0a7c702"]]},{"id":"91f18b8db0a7c702","type":"switch","z":"e1d9558c994897e4","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":480,"y":240,"wires":[["4faaee5584179cce"],["d9f703adc05d76a8"]]},{"id":"4faaee5584179cce","type":"api-call-service","z":"e1d9558c994897e4","name":"gang licht: to on (2%)","server":"f9d6b39a.93c1f","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.gang","data":"{\"brightness\":2}","dataType":"json","mergecontext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":680,"y":180,"wires":[["866936fe45c42925"]]},{"id":"d9f703adc05d76a8","type":"api-current-state","z":"e1d9558c994897e4","name":"gang beweging = on","server":"f9d6b39a.93c1f","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.ikea_tradri_sensor_gang_occupancy","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":680,"y":280,"wires":[[],["94c5f649715d447b"]]},{"id":"866936fe45c42925","type":"change","z":"e1d9558c994897e4","name":"stop off signal","rules":[{"t":"set","p":"payload","pt":"msg","to":"stop","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":240,"wires":[["94c5f649715d447b"]]},{"id":"94c5f649715d447b","type":"stoptimer-varidelay","z":"e1d9558c994897e4","duration":"1","durationType":"num","units":"Minute","payloadtype":"num","payloadval":"0","name":"","reporting":"last_minute_seconds","persist":false,"ignoretimerpass":true,"x":1020,"y":360,"wires":[["dbb494ebf0eddae7"],[],[]]},{"id":"25256eeff3febdef","type":"api-call-service","z":"e1d9558c994897e4","name":"gang licht: to on (1%)","server":"f9d6b39a.93c1f","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.gang","data":"{\"brightness\":2}","dataType":"json","mergecontext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":700,"y":340,"wires":[["866936fe45c42925"]]},{"id":"d696932fea596c9f","type":"api-current-state","z":"e1d9558c994897e4","name":"gang trap beweging = on","server":"f9d6b39a.93c1f","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.ikea_tradfri_sensor_gang_trap_occupancy","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":710,"y":400,"wires":[[],["94c5f649715d447b"]]},{"id":"dbb494ebf0eddae7","type":"api-call-service","z":"e1d9558c994897e4","name":"gang licht: to off","server":"f9d6b39a.93c1f","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.gang","data":"","dataType":"json","mergecontext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":1220,"y":360,"wires":[[]]},{"id":"d14707b9539da962","type":"switch","z":"e1d9558c994897e4","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":480,"y":340,"wires":[["25256eeff3febdef"],["d696932fea596c9f"]]},{"id":"7219683e65b94f56","type":"server-state-changed","z":"e1d9558c994897e4","name":"sensor gang aan","server":"f9d6b39a.93c1f","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.ikea_tradri_sensor_gang_occupancy","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"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":260,"y":340,"wires":[["d14707b9539da962"]]},{"id":"5ceda34ca42e68b6","type":"comment","z":"e1d9558c994897e4","name":"gang licht beneden via motion sensors","info":"","x":190,"y":140,"wires":[]},{"id":"f9d6b39a.93c1f","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}] 
Dank je voor het delen. Het lijkt er inderdaad op dat ik iets moet gaan doen met enkel het OFF signaal om de trigger te activeren en niet met een ON signaal.

Ik denk dat ik inmiddels iets heb gevonden wat werkt. Ik ben helaas niet thuis, maar als ik het simuleer met inject nodes dan werkt het. Overigens was het ook even uitzoeken hoe iedere functie nu werkt binnen de Trigger node, maar ik heb het denk ik gevonden.

Wat ik heb gedaan is het volgende:
Als er beweging wordt gedetecteerd, dan zet hij de lamp gewoon aan en gaat er geen trigger lopen. De output ON is wel verbonden met de Trigger node, maar deze dient enkel voor het resetten van de trigger node. Je moet dus ON zetten bij msg.payload equals

Afbeeldingslocatie: https://tweakers.net/i/-VmaHat1WjrXssgLrAjk2jFu02k=/x800/filters:strip_exif()/f/image/P4rM09ysSx3ZL6hIXmU5DFfJ.png?f=fotoalbum_large


Als de bewegingssensor op OFF gaat, dan wordt de Trigger pas geactiveerd en gaat de timer lopen. Mocht er dan toch weer beweging zijn, dan wordt de trigger opnieuw gereset en stopt deze met lopen.


Afbeeldingslocatie: https://tweakers.net/i/t-RNIAjzI6F1fY-9g0MdcndNTfc=/800x/filters:strip_exif()/f/image/drn313rVoBREMeyxPIAm8i0l.png?f=fotoalbum_large


Misschien heb je er zelf ook wat aan, want je flow kan hierdoor wel wat korter en overzichtelijker worden.

code:
1
[{"id":"d8f05cfbc8707bb1","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"080ebbc653233ada","type":"server-state-changed","z":"d8f05cfbc8707bb1","name":"Gang beweging","server":"9b8bc642.fed038","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_gang","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","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":140,"y":100,"wires":[["37d7ecd73c2e9c68"]]},{"id":"37d7ecd73c2e9c68","type":"switch","z":"d8f05cfbc8707bb1","name":"Gang aan of uit","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":340,"y":100,"wires":[["9b6a260a1193d37c","a3b9406861ac983f"],["a3b9406861ac983f"]]},{"id":"83c585a02883aad6","type":"api-call-service","z":"d8f05cfbc8707bb1","name":"Zet ganglamp aan","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.gang_group","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":810,"y":100,"wires":[[]]},{"id":"9b6a260a1193d37c","type":"api-current-state","z":"d8f05cfbc8707bb1","name":"Ganglamp al aan?","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.gang_group","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":590,"y":100,"wires":[[],["83c585a02883aad6"]]},{"id":"a3b9406861ac983f","type":"trigger","z":"d8f05cfbc8707bb1","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"20","extend":false,"overrideDelay":false,"units":"s","reset":"on","bytopic":"all","topic":"topic","outputs":1,"x":570,"y":180,"wires":[["3d2827cc9bee4bbe"]]},{"id":"3d2827cc9bee4bbe","type":"api-call-service","z":"d8f05cfbc8707bb1","name":"Zet ganglamp uit","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.gang_group","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":810,"y":180,"wires":[[]]},{"id":"892c3f6ffb1cbd31","type":"inject","z":"d8f05cfbc8707bb1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"on","payloadType":"str","x":130,"y":160,"wires":[["37d7ecd73c2e9c68"]]},{"id":"c2fcc6b60b3332f4","type":"inject","z":"d8f05cfbc8707bb1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"off","payloadType":"str","x":130,"y":220,"wires":[["37d7ecd73c2e9c68"]]},{"id":"9b8bc642.fed038","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

[ Voor 29% gewijzigd door Wachten... op 31-01-2022 16:43 ]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Wachten... schreef op maandag 31 januari 2022 @ 12:42:
[...]

Nee ik krijg gewoon geen andere data uit mijn Hue Motion sensors.
Hij gaat enkel aan en blijft daar op staan zolang er beweging is maar update niet met een nieuwe debug.

Nu gaan de lampen hier dus gewoon uit na de ingestelde tijd. Ik heb echt even geen idee hoe ik het op kan lossen, wat ik ook doe. De lampen blijven niet aan.
Ik heb even gekeken naar de laatste flow die je hebt gepost (die met de schoonmaakster erin).

Wat me daarin opvalt is dat je alleen acties hebt hangen aan de "on" status van je motion sensor en niet aan de "off" status.
En aangezien je timers allemaal achter de "on" hangen, lopen die dus gewoon af en gaat het licht uit. Altijd.

Oplossing is om ook de "off" trigger van je motion sensor te gebruiken (dan weet je dus zeker dat er geen motion meer is) en op basis daarvan de timer te starten en het licht uit te doen.

Zelf gebruik ik een delay als timer en hier kun je ook een msg.reset naar sturen om de timer te stoppen.
Volgens de documentatie kun je ook een msg.reset sturen naar de wait until node. Bij de stoptimer kun je "stop" sturen volgens de docs.

Als je timer loopt nadat je een "off" van je motion sensor hebt binnengekregen, kun je tijdens je timer weer een "on" binnenkrijgen en dan moet je dus je timer resetten/stoppen zodat je lichten niet uit gaan. Dat is tenminste hoe ik het doe met de delay node. De wait until node werkt mogelijk wat anders, maar heb ik niet getest.

En wat je in je laatste post hebt gemaakt is bijna dit:
Afbeeldingslocatie: https://tweakers.net/i/3UL6GKSdlOV1EjtwY7fIhcUMK-U=/800x/filters:strip_icc():strip_exif()/f/image/ePn4jKFY5EFEFabbhlKHB8e9.jpg?f=fotoalbum_large

[ Voor 12% gewijzigd door musicpixel op 31-01-2022 16:46 ]

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
musicpixel schreef op maandag 31 januari 2022 @ 16:43:
[...]


Ik heb even gekeken naar de laatste flow die je hebt gepost (die met de schoonmaakster erin).

Wat me daarin opvalt is dat je alleen acties hebt hangen aan de "on" status van je motion sensor en niet aan de "off" status.
En aangezien je timers allemaal achter de "on" hangen, lopen die dus gewoon af en gaat het licht uit. Altijd.

Oplossing is om ook de "off" trigger van je motion sensor te gebruiken (dan weet je dus zeker dat er geen motion meer is) en op basis daarvan de timer te starten en het licht uit te doen.

Zelf gebruik ik een delay als timer en hier kun je ook een msg.reset naar sturen om de timer te stoppen.
Volgens de documentatie kun je ook een msg.reset sturen naar de wait until node. Bij de stoptimer kun je "stop" sturen volgens de docs.

Als je timer loopt nadat je een "off" van je motion sensor hebt binnengekregen, kun je tijdens je timer weer een "on" binnenkrijgen en dan moet je dus je timer resetten/stoppen zodat je lichten niet uit gaan. Dat is tenminste hoe ik het doe met de delay node. De wait until node werkt mogelijk wat anders, maar heb ik niet getest.

En wat je in je laatste post hebt gemaakt is bijna dit:
[Afbeelding]
Ja hier kwam ik dus ook achter. Ik benaderde het altijd verkeerd kom ik nu achter. Het werkte toen der tijd wel, maar nu liep ik dus tegen problemen aan. Zie nu ook mijn laatste post (hierboven), daarbij wordt enkel de trigger geactiveerd bij een OFF signaal, en bij een ON signaal wordt de trigger gereset.

Dit lijkt (zover ik het kan simuleren) goed te werken, Ik ben benieuwd als ik thuis ben of het ook allemaal goed blijft werken.

(en welkom terug)

@musicpixel
De wait until node werkt mogelijk wat anders, maar heb ik niet getest.
Klopt de wait untill node werkt ook prima, maar je moet wel even snappen hoe hij werkt. Het nadeel vond ik alleen dat deze dezelfde kleur heeft (blauw) en het dus iets minder overzichtelijk is. Overigens is de wait untill node echt ideaal om bijvoorbeeld een looppad te bepalen. In de ochtend gebruiken we dit als we naar beneden lopen en bepaalde sensoren aangaan binnen een bepaalde tijd (met de wait untill node)
Als je deze node goed snapt, dan kun je er leuke dingen mee doen.
En wat je in je laatste post hebt gemaakt is bijna dit:
Klopt inderdaad, zoals gezegd heb ik het altijd verkeerd bekeken en lag de focus meer op het ON commando om lampen maar wakker te houden. Nu gaan de lampen gewoon aan en blijven aan, tenzij er een OFF commando komt en de timer gaat lopen. Veel overzichtelijker zo!

[ Voor 19% gewijzigd door Wachten... op 31-01-2022 17:08 ]

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
Wachten... schreef op maandag 31 januari 2022 @ 16:49:
[...]

Klopt de wait untill node werkt ook prima, maar je moet wel even snappen hoe hij werkt. Het nadeel vond ik alleen dat deze dezelfde kleur heeft (blauw) en het dus iets minder overzichtelijk is. Overigens is de wait untill node echt ideaal om bijvoorbeeld een looppad te bepalen. In de ochtend gebruiken we dit als we naar beneden lopen en bepaalde sensoren aangaan binnen een bepaalde tijd (met de wait untill node)
Als je deze node goed snapt, dan kun je er leuke dingen mee doen.
Ben wel benieuwd hoe dat werkt met dat looppad en sensoren die aangaan. Care to share?

Feel free to Buy me a coffee


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
musicpixel schreef op maandag 31 januari 2022 @ 17:43:
[...]


Ben wel benieuwd hoe dat werkt met dat looppad en sensoren die aangaan. Care to share?
Zeker, doe ik even als ik thuis ben (na het eten)

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
@musicpixel

Bij deze even één van de flows die ik heb met de wait untill node.

Je moet het zo zien dat de wait untill node een bepaalde tijd wacht (dit stel je zelf in) totdat er iets anders triggert of gebeurt. Je kunt hiermee dus een flow een tijd pauzeren als het waren, tot er iets anders gebeurt binnen die tijd.

Aan de hand hiervan kun je dus een looproute bepalen binnen je huis.
Als er bij ons in de ochtend (vanaf 05:00) beweging wordt gezien op de overloop, dan gaat de flow lopen tot de wait untill node. Daar wacht hij 20 seconden totdat er beweging wordt gezien beneden in de gang. Als dit het geval is, dan kan de keukenlamp alvast aan zodat ik koffie kan zetten en brood klaar kan maken.

nu zul je denken. Je kan toch ook gewoon een bewegingssensor in de keuken plaatsen? Echter hebben wij hier huisdieren, en die willen per ongeluk nog wel iets triggeren. Ik werk dus soms liever met looppaden.

Je kunt hiermee bijvoorbeeld ook beter zien of iemand een deur in of uitgaat. Stel je hebt een deursensor, dan weet je alsnog niet of je de deur in of uitgaat. Als je dit combineert met een wait untill node, dan kun je beter achterhalen voor Home Assistant waar jij je begeeft of wat je looproute is binnen het huis.

Afbeeldingslocatie: https://tweakers.net/i/Vx5jVP1X-9DJ9jDokLNd59Ptr7o=/800x/filters:strip_exif()/f/image/WmZ5N8awtPEkHFdDXDRTOn6X.png?f=fotoalbum_large

code:
1
 [{"id":"36262b08b0cab132","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"fb68f81d194070cb","type":"server-state-changed","z":"36262b08b0cab132","name":"Beweging overloop?","server":"9b8bc642.fed038","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.bewegingssensor_overloop","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":"","forType":"num","forUnits":"milliseconds","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":330,"y":260,"wires":[["71590c08b648da52"],[]]},{"id":"dd3a700c049304a2","type":"ha-wait-until","z":"36262b08b0cab132","name":"Beweging gang binnen 20 seconden?","server":"9b8bc642.fed038","version":0,"outputs":2,"entityId":"binary_sensor.bewegingssensor_gang","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":"20","timeoutType":"num","timeoutUnits":"seconds","entityLocation":"","entityLocationType":"none","checkCurrentState":false,"blockInputOverrides":true,"x":910,"y":260,"wires":[["ee51a086cfcffa4b"],[]]},{"id":"67c2347523413a0f","type":"comment","z":"36262b08b0cab132","name":"Keukenlamp in de ochtend automatisch aan doormiddel van looppad!","info":"","x":480,"y":220,"wires":[]},{"id":"b99ddcd2bc44a265","type":"api-call-service","z":"36262b08b0cab132","name":"Zet keukenlamp aan","server":"9b8bc642.fed038","version":3,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.keuken_group","data":"{\"brightness_pct\":10,\"transition\":1}","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1460,"y":260,"wires":[[]]},{"id":"ee51a086cfcffa4b","type":"api-current-state","z":"36262b08b0cab132","name":"Staat keukenlamp uit?","server":"9b8bc642.fed038","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"light.keuken_group","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","x":1220,"y":260,"wires":[["b99ddcd2bc44a265"],[]]},{"id":"71590c08b648da52","type":"time-range-switch","z":"36262b08b0cab132","name":"Tussen 05:00 en sunrise","lat":"52.12","lon":"4.65","startTime":"05:00","endTime":"sunrise","startOffset":0,"endOffset":0,"x":590,"y":260,"wires":[["dd3a700c049304a2"],[]]},{"id":"9b8bc642.fed038","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]


Hier wordt overigens een beetje hetzelfde uitgelegd, echter dan met een andere oplossing.

En vanaf 5:17 in de onderstaande video wordt het ook toegepast op een mooie manier als je savonds naar het toilet gaat.

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • 0 Henk 'm!

  • Noisy
  • Registratie: Augustus 2002
  • Laatst online: 16-09 15:27
Wachten... schreef op maandag 31 januari 2022 @ 20:51:

nu zul je denken. Je kan toch ook gewoon een bewegingssensor in de keuken plaatsen? Echter hebben wij hier huisdieren, en die willen per ongeluk nog wel iets triggeren. Ik werk dus soms liever met looppaden.
Misschien is de Aqara Human Presence Sensor FP1 dan wat voor je.
https://www.aqara.com/cn/...ara-Presence-Detector-FP1

Acties:
  • 0 Henk 'm!

  • Wachten...
  • Registratie: Januari 2008
  • Laatst online: 19-09 07:37
Noisy schreef op dinsdag 1 februari 2022 @ 12:12:
[...]


Misschien is de Aqara Human Presence Sensor FP1 dan wat voor je.
https://www.aqara.com/cn/...ara-Presence-Detector-FP1
Wel leuk, ik kende het niet! Echter is het voor mij veel te duur en werkt de huidige situatie wel prima. Op de katten reageren de sensors al niet eens (denk ik een te klein object) en heel soms gebeurt het eens met de hond. Maar over het algemeen werkt alles perfect hier. Je moet ze alleen niet pal naar de grond laten richten. :)

Als je dit kunt lezen, dan werkt mij Signature!


Acties:
  • +4 Henk 'm!

  • KvNwPPr
  • Registratie: Februari 2014
  • Laatst online: 10-08 10:41
Ik was op zoek naar een manier om met 1 hue dimmer switch alle lampen op de beneden verdieping te bedienen - inclusief dimmen. Kon online geen goede flow vinden dus zelf wat in elkaar geknutseld.
  • wissel naar andere lamp door 2,3 of 4 keer op de aan knop te drukken. bij 5x drukken alles tegelijk bedienen
  • Na het wisselen naar een andere lamp kan je hem 5 sec bedienen, daarna springt hij terug naar de woonkamer spotjes. Bij elke knopbediening wordt delay met 5 sec verlengd.
  • Als standaard (zonder wisselen) bedien ik de woonkamer spotjes
Bovenste gedeelte van de flow is om van lamp te switchen, onderste gedeelte is de lamp bedienen met de hue dimmer. niet de mooiste flow maar het werkt.

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

code:
1
[{"id":"0abb6b3f174be3ed","type":"switch","z":"3b6d8aa196ca5f2e","name":"Remote Action","property":"payload.action","propertyType":"msg","rules":[{"t":"eq","v":"on_press","vt":"str"},{"t":"eq","v":"off_press","vt":"str"},{"t":"eq","v":"up_press","vt":"str"},{"t":"eq","v":"down_press","vt":"str"},{"t":"eq","v":"up_hold","vt":"str"},{"t":"eq","v":"down_hold","vt":"str"},{"t":"eq","v":"up_hold_release","vt":"str"},{"t":"eq","v":"down_hold_release","vt":"str"}],"checkall":"false","repair":false,"outputs":8,"x":360,"y":3100,"wires":[["094d020613730c08","30e3cdd97b4dfd59"],["e325fecac4681a4b"],["281d53935dda7c41"],["72f4ac687f55265f"],["76544695f18d87fb"],["b5273dbd6cca22e4"],["d5b9905718f560f1","dbb4d11dca32f433"],["d5b9905718f560f1","dbb4d11dca32f433"]]},{"id":"d5b9905718f560f1","type":"change","z":"3b6d8aa196ca5f2e","name":"reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":530,"y":3120,"wires":[["b5273dbd6cca22e4","76544695f18d87fb"]]},{"id":"091e1de5d03dff4b","type":"change","z":"3b6d8aa196ca5f2e","name":"move up","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness_move\": 40}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":3100,"wires":[["d14c498cbb887f1d"]]},{"id":"dbb4d11dca32f433","type":"change","z":"3b6d8aa196ca5f2e","name":"stop","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness_move\": 0}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":3180,"wires":[["d14c498cbb887f1d"]]},{"id":"26efecd031381daa","type":"change","z":"3b6d8aa196ca5f2e","name":"move down","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness_move\": -40}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":3140,"wires":[["d14c498cbb887f1d"]]},{"id":"76544695f18d87fb","type":"trigger","z":"3b6d8aa196ca5f2e","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":700,"y":3100,"wires":[["091e1de5d03dff4b"]]},{"id":"b5273dbd6cca22e4","type":"trigger","z":"3b6d8aa196ca5f2e","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"0","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":700,"y":3140,"wires":[["26efecd031381daa"]]},{"id":"281d53935dda7c41","type":"change","z":"3b6d8aa196ca5f2e","name":"step up","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness_step\": 15}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":3020,"wires":[["d14c498cbb887f1d"]]},{"id":"72f4ac687f55265f","type":"change","z":"3b6d8aa196ca5f2e","name":"step down","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"brightness_step\": -15}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":3060,"wires":[["d14c498cbb887f1d"]]},{"id":"bce6b4c577f65835","type":"change","z":"3b6d8aa196ca5f2e","name":"on","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"on\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":2940,"wires":[["d14c498cbb887f1d"]]},{"id":"e325fecac4681a4b","type":"change","z":"3b6d8aa196ca5f2e","name":"off","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"state\":\"off\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":2980,"wires":[["d14c498cbb887f1d"]]},{"id":"beebe8ade112ba1e","type":"mqtt out","z":"3b6d8aa196ca5f2e","name":"woonkamer spotjes","topic":"zigbee2mqtt/woonkamer spotjes/set","qos":"2","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ca728fa.8b9898","x":1330,"y":3160,"wires":[]},{"id":"0c58e2bf83b40084","type":"change","z":"3b6d8aa196ca5f2e","name":"delete action","rules":[{"t":"delete","p":"action","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":130,"y":3040,"wires":[["0abb6b3f174be3ed","8c16edac8a5d8e5b"]]},{"id":"279211f9c9348f57","type":"counter","z":"3b6d8aa196ca5f2e","name":"Counter","init":"0","step":"1","lower":"","upper":"","mode":"increment","outputs":"1","x":360,"y":2560,"wires":[["420c7b1f32d40611"]]},{"id":"420c7b1f32d40611","type":"switch","z":"3b6d8aa196ca5f2e","name":"Count to 5","property":"count","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"}],"checkall":"true","repair":false,"outputs":4,"x":530,"y":2560,"wires":[["d271de115ea5a1fd"],["97db4034c1ca53ab"],["6c336ac008b6d9ac"],["5b88b820cb20bc45"]]},{"id":"c4d5f9e67518e9f8","type":"switch","z":"3b6d8aa196ca5f2e","name":"After 2","property":"count","propertyType":"msg","rules":[{"t":"gte","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1230,"y":2560,"wires":[["e4d3b40410543c0d","f0f7ee821833c744"]]},{"id":"7798a0b793db9dec","type":"change","z":"3b6d8aa196ca5f2e","name":"Reset Count","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":150,"y":2560,"wires":[["279211f9c9348f57","3ea329658c70cd6e","32c834d719c2b6c8","8769141c289ec0e0"]]},{"id":"3ea329658c70cd6e","type":"change","z":"3b6d8aa196ca5f2e","name":"set flow woonkamer dimmer","rules":[{"t":"set","p":"dimmer","pt":"flow","to":"woonkamer spotjes","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":2480,"wires":[[]]},{"id":"d14c498cbb887f1d","type":"switch","z":"3b6d8aa196ca5f2e","name":"switch lights","property":"dimmer","propertyType":"flow","rules":[{"t":"eq","v":"salontafel lamp","vt":"str"},{"t":"eq","v":"werkplek spotjes","vt":"str"},{"t":"eq","v":"eetkamer lamp","vt":"str"},{"t":"eq","v":"all","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":5,"x":1090,"y":3060,"wires":[["e15f6391e30c0bc2"],["961dad89ca1ac84a"],["fb6bcdeee711c161"],["e15f6391e30c0bc2","961dad89ca1ac84a","fb6bcdeee711c161","beebe8ade112ba1e"],["beebe8ade112ba1e"]]},{"id":"961dad89ca1ac84a","type":"mqtt out","z":"3b6d8aa196ca5f2e","name":"werkplek spotjes","topic":"zigbee2mqtt/werkplek spotjes/set","qos":"2","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ca728fa.8b9898","x":1340,"y":3040,"wires":[]},{"id":"e15f6391e30c0bc2","type":"mqtt out","z":"3b6d8aa196ca5f2e","name":"salontafel lamp","topic":"zigbee2mqtt/salontafel lamp/set","qos":"2","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ca728fa.8b9898","x":1340,"y":2980,"wires":[]},{"id":"d271de115ea5a1fd","type":"change","z":"3b6d8aa196ca5f2e","name":"set flow salontafel","rules":[{"t":"set","p":"dimmer","pt":"flow","to":"salontafel lamp","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":2500,"wires":[["73689385e70eef2c"]]},{"id":"97db4034c1ca53ab","type":"change","z":"3b6d8aa196ca5f2e","name":"set flow werkplek spotjes","rules":[{"t":"set","p":"dimmer","pt":"flow","to":"werkplek spotjes","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":2540,"wires":[["73689385e70eef2c"]]},{"id":"094d020613730c08","type":"trigger","z":"3b6d8aa196ca5f2e","name":"","op1":"","op2":"1","op1type":"nul","op2type":"str","duration":"500","extend":true,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":700,"y":2940,"wires":[["bce6b4c577f65835"]]},{"id":"e4d3b40410543c0d","type":"trigger","z":"3b6d8aa196ca5f2e","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"5","extend":true,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1400,"y":2560,"wires":[["4d070bfdb33f4999"]]},{"id":"643a8068a93b6cb6","type":"comment","z":"3b6d8aa196ca5f2e","name":"Licht woonkamer bedienen met hue dimmer","info":"","x":190,"y":2920,"wires":[]},{"id":"6c336ac008b6d9ac","type":"change","z":"3b6d8aa196ca5f2e","name":"set flow eetkamer lamp","rules":[{"t":"set","p":"dimmer","pt":"flow","to":"eetkamer lamp","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":2580,"wires":[["73689385e70eef2c"]]},{"id":"fb6bcdeee711c161","type":"mqtt out","z":"3b6d8aa196ca5f2e","name":"eetkamer lamp","topic":"zigbee2mqtt/eetkamer lamp/set","qos":"2","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9ca728fa.8b9898","x":1340,"y":3100,"wires":[]},{"id":"30e3cdd97b4dfd59","type":"traffic","z":"3b6d8aa196ca5f2e","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":true,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"block","ignore_case_stop":true,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":550,"y":2760,"wires":[["279211f9c9348f57"]]},{"id":"ca3638baf373e0cb","type":"change","z":"3b6d8aa196ca5f2e","name":"block","rules":[{"t":"set","p":"payload","pt":"msg","to":"block","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":2720,"wires":[["30e3cdd97b4dfd59"]]},{"id":"32c834d719c2b6c8","type":"change","z":"3b6d8aa196ca5f2e","name":"allow","rules":[{"t":"set","p":"payload","pt":"msg","to":"allow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":2760,"wires":[["30e3cdd97b4dfd59"]]},{"id":"73689385e70eef2c","type":"trigger","z":"3b6d8aa196ca5f2e","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"500","extend":true,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1060,"y":2560,"wires":[["c4d5f9e67518e9f8","929b5ce5b29da17e"]]},{"id":"8c16edac8a5d8e5b","type":"traffic","z":"3b6d8aa196ca5f2e","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":true,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"block","ignore_case_stop":true,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":790,"y":2800,"wires":[["e4d3b40410543c0d"]]},{"id":"929b5ce5b29da17e","type":"change","z":"3b6d8aa196ca5f2e","name":"allow","rules":[{"t":"set","p":"payload","pt":"msg","to":"allow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":2600,"wires":[["8c16edac8a5d8e5b"]]},{"id":"8769141c289ec0e0","type":"change","z":"3b6d8aa196ca5f2e","name":"block","rules":[{"t":"set","p":"payload","pt":"msg","to":"block","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":2800,"wires":[["8c16edac8a5d8e5b"]]},{"id":"5b88b820cb20bc45","type":"change","z":"3b6d8aa196ca5f2e","name":"set flow all","rules":[{"t":"set","p":"dimmer","pt":"flow","to":"all","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":2620,"wires":[["73689385e70eef2c"]]},{"id":"d1e72f5ee7beba90","type":"link in","z":"3b6d8aa196ca5f2e","name":"","links":["f0f7ee821833c744"],"x":295,"y":2720,"wires":[["ca3638baf373e0cb"]]},{"id":"f0f7ee821833c744","type":"link out","z":"3b6d8aa196ca5f2e","name":"","mode":"link","links":["d1e72f5ee7beba90"],"x":1355,"y":2520,"wires":[]},{"id":"db9a31c064b4536e","type":"link in","z":"3b6d8aa196ca5f2e","name":"","links":["4d070bfdb33f4999"],"x":35,"y":2560,"wires":[["7798a0b793db9dec"]]},{"id":"4d070bfdb33f4999","type":"link out","z":"3b6d8aa196ca5f2e","name":"","mode":"link","links":["db9a31c064b4536e"],"x":1495,"y":2560,"wires":[]},{"id":"556cd3803c85e73c","type":"comment","z":"3b6d8aa196ca5f2e","name":"Wisselen lamp die bediend wordt met de hue dimmer ","info":"","x":210,"y":2440,"wires":[]},{"id":"ab4966b40296b4ae","type":"mqtt in","z":"3b6d8aa196ca5f2e","name":"woonkamer dimmer","topic":"zigbee2mqtt/woonkamer dimmer","qos":"2","datatype":"json","broker":"9ca728fa.8b9898","nl":false,"rap":false,"rh":"2","inputs":0,"x":110,"y":3120,"wires":[["0c58e2bf83b40084"]]},{"id":"9ca728fa.8b9898","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.2.80","port":"1883","tls":"","clientid":"Node-red","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"2","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"2","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"2","willRetain":"false","willPayload":"","willMsg":{},"sessionExpiry":""}]


Update: MQTT JSON node vervangen voor MQTT IN

[ Voor 0% gewijzigd door KvNwPPr op 03-02-2022 13:04 . Reden: update to MQTT in ]


Acties:
  • 0 Henk 'm!

  • Megalomania
  • Registratie: April 2011
  • Laatst online: 09-09 16:35
@KvNwPPr ziet er goed uit!

Die woonkamer dimmer, is dat een mtqq in? Als ik de flow importeer herkent node red het niet:

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

Acties:
  • 0 Henk 'm!

  • KvNwPPr
  • Registratie: Februari 2014
  • Laatst online: 10-08 10:41
Megalomania schreef op donderdag 3 februari 2022 @ 11:33:
@KvNwPPr ziet er goed uit!

Die woonkamer dimmer, is dat een mtqq in? Als ik de flow importeer herkent node red het niet:
Het is MQTT JSON, dus hetzelfde als MQTT IN maar dan output in JSON format. Vervangen voor een gewone MQTT in zou in deze flow geen verschil moeten maken. of "node-red-contrib-mqtt-json" installeren.

[ Voor 52% gewijzigd door KvNwPPr op 03-02-2022 11:42 . Reden: dubbel antwoord ]


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
KvNwPPr schreef op donderdag 3 februari 2022 @ 11:40:
[...]


Het is MQTT JSON, dus hetzelfde als MQTT IN maar dan output in JSON format. Vervangen voor een gewone MQTT in zou in deze flow geen verschil moeten maken. of "node-red-contrib-mqtt-json" installeren.
dat kan de normale mqtt-in ook (sinds bepaalde versie zie ik)
en is die "speciale" dan niet verouderd? (4 jaar sinds laatste update als ik zo snel kijk)

maar buiten dat, interessante flow! daar lenen die 5 knops ikea knoppen zich ook wel voor :)

Acties:
  • 0 Henk 'm!

  • KvNwPPr
  • Registratie: Februari 2014
  • Laatst online: 10-08 10:41
Step5 schreef op donderdag 3 februari 2022 @ 12:34:
[...]

dat kan de normale mqtt-in ook (sinds bepaalde versie zie ik)
en is die "speciale" dan niet verouderd? (4 jaar sinds laatste update als ik zo snel kijk)

maar buiten dat, interessante flow! daar lenen die 5 knops ikea knoppen zich ook wel voor :)
Je hebt idd gelijk, zie dat de normale MQTT IN die optie nu ook heeft. Binnenkort alles maar eens overzetten dan naar MQTT IN :).

Acties:
  • 0 Henk 'm!

  • Megalomania
  • Registratie: April 2011
  • Laatst online: 09-09 16:35
@Step5 @KvNwPPr even een domme vraag hoor: waarom kan je niet gewoon event state node gebruiken voor mqtt? Wat is het verschil?

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

Acties:
  • +2 Henk 'm!

  • KvNwPPr
  • Registratie: Februari 2014
  • Laatst online: 10-08 10:41
Megalomania schreef op donderdag 3 februari 2022 @ 17:53:
@Step5 @KvNwPPr even een domme vraag hoor: waarom kan je niet gewoon event state node gebruiken voor mqtt? Wat is het verschil?

[Afbeelding]
Theoretisch net iets langzamer en dan kan je het niet onafhankelijk van HA gebruiken.
In de praktijk zal het weinig verschil uitmaken.

Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 22:44
Na het update van add-on Node-RED naar versie v2.0.x krijg ik nu een melding
Afbeeldingslocatie: https://tweakers.net/i/QIVxnBWRx8ZSRjRnRZRgAM9x0gQ=/800x/filters:strip_exif()/f/image/aH0SVPGJHZ8nBYLOQ6Yrbj5m.png?f=fotoalbum_large

Het blijkt dus dat deze overbodig is?
Ik wil graag module "node-red-node-rbe" de-installeren zodat de fouotmelding verdwijnt, maar deze module is uitgegrijst.
Hoe kan ik deze de-installeren?

Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
CAD-tekenaar schreef op vrijdag 4 februari 2022 @ 23:57:
Na het update van add-on Node-RED naar versie v2.0.x krijg ik nu een melding
[Afbeelding]

Het blijkt dus dat deze overbodig is?
Ik wil graag module "node-red-node-rbe" de-installeren zodat de fouotmelding verdwijnt, maar deze module is uitgegrijst.
Hoe kan ik deze de-installeren?
misschien eens node-red herstarten?
https://discourse.nodered.org/t/rbe-already-registered/50406
of handmatig verwijderen? raar dat dat nodig zou zijn maar ik zou eerst eens herstarten. er staat ook iets over de rbe nodes vervangen door filter node.

Acties:
  • 0 Henk 'm!

  • Megalomania
  • Registratie: April 2011
  • Laatst online: 09-09 16:35
@KvNwPPr Hoe ik het nu heb is nu behoorlijk langzaam. Kan je mij opweg helpen hoe het een mqtt out in te stellen?

Ik heb bij de mosquito broker configuration het wachtwoord en username opgezocht voor de security top bij server. Vul ik de rest goed in?

Afbeeldingslocatie: https://tweakers.net/i/ol7JlPx8-zm3lTksf7LJ_xPSd2A=/232x232/filters:strip_exif()/f/image/EEj0MetcIV855VkV4ErtDuqG.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/FOae-qQ099PBtXSdvE_q4kFSEy4=/232x232/filters:strip_exif()/f/image/dNgVSEM8KUIOcsJu7Yhccl1T.png?f=fotoalbum_tile

Acties:
  • 0 Henk 'm!

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

OcGuru

Giulietta Qv

Ik zit nu ook al een tijdje te stoeien met node red. Kan nu eindelijk een lampje aan en uit zetten dmv van een switch op het dashboard. :P Wel ff een leercurve...


Zit nu alleen met het volgende probleem. Heb nu een philips dimmer switch gekoppeld met z2m icm mosquitto.

Nu heb ik deze flow erin staan.

Afbeeldingslocatie: https://tweakers.net/i/oEdrsLyHGjfCI-YQtafHqnfIm9A=/234x176/filters:strip_exif()/f/image/ITAGz9IQaogpMLpce1kG9els.png?f=fotoalbum_medium

Nu gaat de lamp dus aan bij elke actie van de dimmer switch. Nu wil ik uiteraard dat die alleen aan gaat als ik de on button indruk uiteraard. Lijkt me geen hogere wiskunde maar krijg het nog niet voor elkaar.

Als in ik in HA kijk zie ik verschillende acties voorbijkomen. Maar als ik de on button press komt on_press voorbij.

maar als ik dit bv probeer sensor.0x0017880109aa6ed4_action_on_press of sensor.0x0017880109aa6ed4_on_press werkt dit dus niet.

Iemand enig idee?

Bl44t


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 22:44
Step5 schreef op zaterdag 5 februari 2022 @ 09:45:
[...]


misschien eens node-red herstarten?
https://discourse.nodered.org/t/rbe-already-registered/50406
of handmatig verwijderen? raar dat dat nodig zou zijn maar ik zou eerst eens herstarten. er staat ook iets over de rbe nodes vervangen door filter node.
Herstarten heb ik natuurlijk al wel gedaan alleen niet vermeld.
Hoe kan je iets handmatig verwijderen? De node uitgegrijst (= in gebruik) en kan niet via de GUI verwijderd worden.
Hoe kan je de rbe-nodes vervangen? Ik heb dit geprobeerd maar ik zie er maar één rbe-node en da's van de verkeerde module.
Mijn homeassistant wertk op een Raspberry Pi OS met supervisor-2022.01.1

[ Voor 5% gewijzigd door CAD-tekenaar op 06-02-2022 17:06 ]


Acties:
  • +2 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Laatst online: 00:06
OcGuru schreef op zondag 6 februari 2022 @ 16:53:
Ik zit nu ook al een tijdje te stoeien met node red. Kan nu eindelijk een lampje aan en uit zetten dmv van een switch op het dashboard. :P Wel ff een leercurve...


Zit nu alleen met het volgende probleem. Heb nu een philips dimmer switch gekoppeld met z2m icm mosquitto.

Nu heb ik deze flow erin staan.

[Afbeelding]

Nu gaat de lamp dus aan bij elke actie van de dimmer switch. Nu wil ik uiteraard dat die alleen aan gaat als ik de on button indruk uiteraard. Lijkt me geen hogere wiskunde maar krijg het nog niet voor elkaar.

Als in ik in HA kijk zie ik verschillende acties voorbijkomen. Maar als ik de on button press komt on_press voorbij.

maar als ik dit bv probeer sensor.0x0017880109aa6ed4_action_on_press of sensor.0x0017880109aa6ed4_on_press werkt dit dus niet.

Iemand enig idee?
Goed bezig! Inderdaad, de leercurve is hoog. Maar zodra je het snapt werkt het top!
Heb je de debug node al gevonden? Ik zou je als advies willen geven direct na je eerste node een debug node te hangen. Klik vervolgens op je knop en dan krijg je de status te zien in de debug node. Dit kun je vervolgens gebruiken in je events state node.

Een van de eerste dingen die ik doe als ik een nieuwe flow ga maken is de debug node droppen. (samen met de inject). Met deze 2 kun je flow testen. Kun je vervolgens stap voor stap nieuwe node's toevoegen.

[ Voor 9% gewijzigd door denuz op 06-02-2022 18:23 ]


Acties:
  • 0 Henk 'm!

  • Step5
  • Registratie: Oktober 2011
  • Laatst online: 18-09 23:08
CAD-tekenaar schreef op zondag 6 februari 2022 @ 17:03:
[...]


Herstarten heb ik natuurlijk al wel gedaan alleen niet vermeld.
Hoe kan je iets handmatig verwijderen? De node uitgegrijst (= in gebruik) en kan niet via de GUI verwijderd worden.
Hoe kan je de rbe-nodes vervangen? Ik heb dit geprobeerd maar ik zie er maar één rbe-node en da's van de verkeerde module.
Mijn homeassistant wertk op een Raspberry Pi OS met supervisor-2022.01.1
hmm zou het niet zo weten eigenlijk, heb dit niet bij de hand gehad. wat misschien een optie is om op de command line
code:
1
npm remove node-red-node-rbe
te doen in de juiste .nodered directory.
maar ik draai node-red niet als HA add-on en weet ook niet hoe je dan bij node-red op de commandline terecht komt...

Acties:
  • 0 Henk 'm!

  • musicpixel
  • Registratie: Juni 2011
  • Laatst online: 18:01
OcGuru schreef op zondag 6 februari 2022 @ 16:53:
Ik zit nu ook al een tijdje te stoeien met node red. Kan nu eindelijk een lampje aan en uit zetten dmv van een switch op het dashboard. :P Wel ff een leercurve...


Zit nu alleen met het volgende probleem. Heb nu een philips dimmer switch gekoppeld met z2m icm mosquitto.

Nu heb ik deze flow erin staan.

[Afbeelding]

Nu gaat de lamp dus aan bij elke actie van de dimmer switch. Nu wil ik uiteraard dat die alleen aan gaat als ik de on button indruk uiteraard. Lijkt me geen hogere wiskunde maar krijg het nog niet voor elkaar.

Als in ik in HA kijk zie ik verschillende acties voorbijkomen. Maar als ik de on button press komt on_press voorbij.

maar als ik dit bv probeer sensor.0x0017880109aa6ed4_action_on_press of sensor.0x0017880109aa6ed4_on_press werkt dit dus niet.

Iemand enig idee?
Allereerst wil ik je aanraden om in z2m je dimmer switch een wat handiger naam te geven, anders word je er al snel geen wijs meer uit ;)

Wat betreft je vraag heb je ruwweg twee opties:
1. Je kunt in de events-state node die je nu hebt de velden achter "if state" invullen en zo testen op "on_press".
2. Je kunt na de events-state node een switch node opnemen. Daarmee kun je afhankelijk van de waarde die in de switch node binnenkomt (vanuit de events-state node) een of meer acties uitvoeren, dus voor "on_press", "off_press", etc.

En wat @denuz zegt: check de debug en inject nodes.
https://nodered.org/docs/tutorials/first-flow

Naast de inject en debug zijn de change en switch veel gebruikt. Ook delay en trigger zijn interessant. Wat geavanceerder zijn de function en template nodes.

Van HA zijn bij mij de "call service", "current state" en "events:state" nodes veel gebruikt.

Feel free to Buy me a coffee

Pagina: 1 ... 24 ... 32 Laatste