Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

  • vso
  • Registratie: augustus 2001
  • Laatst online: 19:04

vso

raap voor zijn recht

ik moet nog steeds MPIO ipv I2C werkend zien te krijgen voor een radio module als ik het goed zeg (beide werken ongeveer het zelfde in theorie) via de radio module en/of SDR ontvang ik diverse kanalen uit de omgeving (kaku en andere vergelijkbare remote RF meuk, p2000 etc) maar ik wil graag berichten terug zenden zodat ik niet meer aan een remote vast zit :) ...

Gevonden gramatica fouten, mag je houden


  • quizzical
  • Registratie: maart 2007
  • Laatst online: 12-06 23:11
Ik heb uren gezocht hoe ik een deel van een pad in node red als string kan gebruiken om verder mee te werken, maar zonder resultaat.
Ik gebruik een alarmsysteem (alarmo) in home assistant die meegeeft welke sensor het alarm deed afgaan
(in geel hieronder).


Dus de info die ik nodig heb is als object opgeslagen in data.new_state.attributes.open_sensors en ziet er zo uit:
{“binary_sensor.inkom_pir_alarm”:“open”}

Ik weet uiteraard hoe ik "open" te pakken kan krijgen en daarmee werken. het probleem is dat de info die ik nodig heb voor de ":" staat en deel is van wat ik denk het pad is naar de waarde "open".

Is er iermand die weet hoe ik "binary_sensor.inkom_pir_alarm" als string te pakken kan krijgen?
@quizzical JSONata to the rescue! :) Je kunt deze change-node zo tussen jouw regel plakken en dan plaatst hij de waarde in msg.sensor.
code:
1
[{"id":"c66c682.fb9eb98","type":"debug","z":"5a2fc9d2.f02bf8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":790,"y":1240,"wires":[]},{"id":"de74aabe.b9a208","type":"change","z":"5a2fc9d2.f02bf8","name":"","rules":[{"t":"set","p":"sensor","pt":"msg","to":"$string($.data.new_state.attributes.open_sensors)","tot":"jsonata"},{"t":"set","p":"sensor","pt":"msg","to":"$replace($.sensor.$split(':')[0], /(?!\\.)\\W/, \"\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":470,"y":1240,"wires":[["c66c682.fb9eb98"]]},{"id":"2db80c40.0abf04","type":"inject","z":"5a2fc9d2.f02bf8","name":"","props":[{"p":"payload"},{"p":"data.new_state.attributes.open_sensors","v":"{\"binary_sensor.inkom_pir_alarm\":\"open\"}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":180,"y":1240,"wires":[["de74aabe.b9a208"]]}]


Edit: Hij kan ook in 1 keer, maar dan is het (nog) minder overzichtelijk voor iemand die er niet al te veel ervaring mee heeft
code:
1
$replace($string($.data.new_state.attributes.open_sensors).$split(':')[0], /(?!\.)\W/, "")

[Voor 9% gewijzigd door lolgast op 25-12-2020 13:39]


  • quizzical
  • Registratie: maart 2007
  • Laatst online: 12-06 23:11
@lolgast super bedankt! nu krijg ik notificaties op mijn telefoon met de melding welke sensor af is gegaan :)

  • DennusB
  • Registratie: mei 2006
  • Niet online
quizzical schreef op vrijdag 25 december 2020 @ 17:47:
@lolgast super bedankt! nu krijg ik notificaties op mijn telefoon met de melding welke sensor af is gegaan :)
Tof! Heb je ook een sirene in gebruik bij je Alarmo setup? En zo ja, welke?

  • quizzical
  • Registratie: maart 2007
  • Laatst online: 12-06 23:11
Ik heb op verschillende plaatsen in mijn huis hikvision camera's staan met een microfoon en een speaker. Ik gebruik dus die speakers om diverse alarm gerelateerde meldingen te doen. Snachts bvb geeft deze een subtiele piep als hij iemand gezien heeft en na 30 seconden maakt hij veel herrie (blaffende hond op 1 speaker en elders alarm geluid).
Ik heb geen outdoor sirene geplaatst. Misschien doe ik dat ooit eens ik veel vertrouwen in mijn systeem heb opgebouwd en de wetgeving daarrond heb uitgezocht.

  • H143
  • Registratie: juli 2006
  • Laatst online: 09:55
afgelopen week ben ik thuis overgestapt en wil graag monnitoren of mijn warmtepomp zuiniger is per graaddag tov de oude cv ketel.
nu heb ik het verbruik van mijn gas omgezet naar elektra om het goed te kunnen vergelijken

dit doe ik door in de flow de formule kw stand warmtepomp x 0.343711781
waarbij 0.343711781 staat voor de aantal kuub gas wat ik prijs technisch kan verbruiken tov een kw elektra

dit werkt goed en upload de gegevens elke dag automatisch naar mijn mindergas account
de formule in de function node is nu "newmsg.payload.reading = msg.payload * 0.343711781"

nu wil ik alleen ook nog het gasverbruik wat ik nog gebruik hierbij optellen en hier loop ik vast
de formule zou dan moeten worden kw stand warmtepomp * 0.343711781 + m3 gasmeterstand

hoe kan ik dit in nodered verwerken?
omdat het beide 2 apparte mqtt node's zijn kom ik hier helaas niet uit waarschijnlijk is het iets heel simpels maar dmv google kom ik er helaas ook niet uit



code:
1
[{"id":"dc6d59eb.2392a8","type":"http request","z":"4d68921c.1d161c","name":"Mindergas.nl","method":"POST","ret":"txt","paytoqs":"ignore","url":"https://www.mindergas.nl/api/gas_meter_readings","tls":"","persist":false,"proxy":"","authType":"","x":769,"y":412,"wires":[["30f622a5.cf09de"]]},{"id":"30f622a5.cf09de","type":"debug","z":"4d68921c.1d161c","name":"","active":false,"tosidebar":true,"console":false,"complete":"true","statusVal":"","statusType":"auto","x":970,"y":340,"wires":[]},{"id":"81df4693.7e20b8","type":"function","z":"4d68921c.1d161c","name":"Set values","func":"var debug = true;\nvar token = \"API mindergasj\";\nvar newmsg = {};\nvar yesterday = new Date(new Date().setDate(new Date().getDate()-1));\nvar day = (\"0\" + yesterday.getDate()).slice(-2);\nvar month = (\"0\" + (yesterday.getMonth() + 1)).slice(-2);\nvar senddate = yesterday.getFullYear() + \"-\" + (month) + \"-\" + (day);\n\nif (debug || ((yesterday.getMinutes() < 10) && (yesterday.getHours() == 0))) {\t\t\t\n\tnewmsg.headers = { \"Content-Type\":\"application/json\" };\n\tnewmsg.headers[\"AUTH-TOKEN\"] = token;\n\t\n\tnewmsg.payload = {};\n    newmsg.payload.date = senddate;\n    newmsg.payload.reading = msg.payload * 0.343711781\n;\n\treturn newmsg;\n}\n        \n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":660,"y":334,"wires":[["dc6d59eb.2392a8"]]},{"id":"d09363e6.2f6ca","type":"comment","z":"4d68921c.1d161c","name":"kwh>mindergas","info":"","x":167,"y":226,"wires":[]},{"id":"4a969201.09e0dc","type":"mqtt in","z":"4d68921c.1d161c","name":"","topic":"ESP_Easy/Warmtepomp/Wh_imp","qos":"2","datatype":"auto","broker":"c17baaa2.b8aff8","x":250,"y":320,"wires":[["81df4693.7e20b8"]]},{"id":"e724fc96.770a8","type":"mqtt in","z":"4d68921c.1d161c","name":"","topic":"dsmr/consumption/gas/delivered","qos":"2","datatype":"auto","broker":"c17baaa2.b8aff8","x":250,"y":440,"wires":[[]]},{"id":"c17baaa2.b8aff8","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.102","port":"1883","clientid":"nodered","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

  • H143
  • Registratie: juli 2006
  • Laatst online: 09:55
H143 schreef op zondag 27 december 2020 @ 11:30:
afgelopen week ben ik thuis overgestapt en wil graag monnitoren of mijn warmtepomp zuiniger is per graaddag tov de oude cv ketel.
nu heb ik het verbruik van mijn gas omgezet naar elektra om het goed te kunnen vergelijken

dit doe ik door in de flow de formule kw stand warmtepomp x 0.343711781
waarbij 0.343711781 staat voor de aantal kuub gas wat ik prijs technisch kan verbruiken tov een kw elektra

dit werkt goed en upload de gegevens elke dag automatisch naar mijn mindergas account
de formule in de function node is nu "newmsg.payload.reading = msg.payload * 0.343711781"

nu wil ik alleen ook nog het gasverbruik wat ik nog gebruik hierbij optellen en hier loop ik vast
de formule zou dan moeten worden kw stand warmtepomp * 0.343711781 + m3 gasmeterstand

hoe kan ik dit in nodered verwerken?
omdat het beide 2 apparte mqtt node's zijn kom ik hier helaas niet uit waarschijnlijk is het iets heel simpels maar dmv google kom ik er helaas ook niet uit

[Afbeelding]

code:
1
[{"id":"dc6d59eb.2392a8","type":"http request","z":"4d68921c.1d161c","name":"Mindergas.nl","method":"POST","ret":"txt","paytoqs":"ignore","url":"https://www.mindergas.nl/api/gas_meter_readings","tls":"","persist":false,"proxy":"","authType":"","x":769,"y":412,"wires":[["30f622a5.cf09de"]]},{"id":"30f622a5.cf09de","type":"debug","z":"4d68921c.1d161c","name":"","active":false,"tosidebar":true,"console":false,"complete":"true","statusVal":"","statusType":"auto","x":970,"y":340,"wires":[]},{"id":"81df4693.7e20b8","type":"function","z":"4d68921c.1d161c","name":"Set values","func":"var debug = true;\nvar token = \"API mindergasj\";\nvar newmsg = {};\nvar yesterday = new Date(new Date().setDate(new Date().getDate()-1));\nvar day = (\"0\" + yesterday.getDate()).slice(-2);\nvar month = (\"0\" + (yesterday.getMonth() + 1)).slice(-2);\nvar senddate = yesterday.getFullYear() + \"-\" + (month) + \"-\" + (day);\n\nif (debug || ((yesterday.getMinutes() < 10) && (yesterday.getHours() == 0))) {\t\t\t\n\tnewmsg.headers = { \"Content-Type\":\"application/json\" };\n\tnewmsg.headers[\"AUTH-TOKEN\"] = token;\n\t\n\tnewmsg.payload = {};\n    newmsg.payload.date = senddate;\n    newmsg.payload.reading = msg.payload * 0.343711781\n;\n\treturn newmsg;\n}\n        \n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":660,"y":334,"wires":[["dc6d59eb.2392a8"]]},{"id":"d09363e6.2f6ca","type":"comment","z":"4d68921c.1d161c","name":"kwh>mindergas","info":"","x":167,"y":226,"wires":[]},{"id":"4a969201.09e0dc","type":"mqtt in","z":"4d68921c.1d161c","name":"","topic":"ESP_Easy/Warmtepomp/Wh_imp","qos":"2","datatype":"auto","broker":"c17baaa2.b8aff8","x":250,"y":320,"wires":[["81df4693.7e20b8"]]},{"id":"e724fc96.770a8","type":"mqtt in","z":"4d68921c.1d161c","name":"","topic":"dsmr/consumption/gas/delivered","qos":"2","datatype":"auto","broker":"c17baaa2.b8aff8","x":250,"y":440,"wires":[[]]},{"id":"c17baaa2.b8aff8","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.102","port":"1883","clientid":"nodered","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Inmiddels heb ik het opgelost, ik zal vanavind even de oplossing huer neerzetten

  • CAD-tekenaar
  • Registratie: november 2008
  • Laatst online: 13-06 20:51
-verwijderd-

[Voor 99% gewijzigd door CAD-tekenaar op 27-12-2020 21:45]


  • Frakke0
  • Registratie: februari 2012
  • Laatst online: 09:26
Goedemiddag,

Ik heb een youless en deze geeft volgende als output.
Hoe krijg ik nu makkelijk deze "opgesplistst"?


  • vso
  • Registratie: augustus 2001
  • Laatst online: 19:04

vso

raap voor zijn recht

Frakke0 schreef op maandag 28 december 2020 @ 13:36:
Goedemiddag,

Ik heb een youless en deze geeft volgende als output.
Hoe krijg ik nu makkelijk deze "opgesplistst"?

[Afbeelding]
wat je krijgt is een object/array van de youless .. met 4 items iets in de trant van om op te splitse doe je het volgende:
test = msg.payload["key"]
msg.payload = test

wat hier gebeurd is dat je een specifieke "key" aanwijst die value daarvan word in "test" gestopt en test stop je vervolgens in msg.payload. en die zal de waarde dan als output geven.

Stuur het zelfde bericht van de youles naar 4 nodes waar je elk een andere "key" invoert ..het hangt een beetje ervanaf of je een object/array item zoekt

ps let er wel op dat je andere output kan hebben in sommige gevallen, dus 123.45 ipv 12.345 of NULL als je dit verwacht is dit wijsheid om bv 000000123.4500 te doen of NULL door 000000.0000 te vervangen zodat de rest van je code ermee overweg kan.

[Voor 15% gewijzigd door vso op 28-12-2020 14:09]

Gevonden gramatica fouten, mag je houden


  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica
@Frakke0 Hoe ziet je flow om de Youless te lezen eruit? De Youless is erg makkelijk namelijk, door de juiste URL te gebruiken spuugt hij zelf de waardes al in JSON formatting uit namelijk. Ik lees hem als volgt uit:

JSON:
1
[{"id":"dacc559b.92542","type":"http request","z":"c6fdfd3.e9f43","name":"Youless","method":"GET","ret":"obj","paytoqs":false,"url":"http://adresvanjouwyouless/e?f=j","tls":"","persist":false,"proxy":"","authType":"","x":340,"y":220,"wires":[[]]}]


In Node-RED geef ik vervolgens aan dat hij de ontvangen data als een JSON-object moet interpreteren. Resultaat is dat hij zelf de velden netjes opsplitst en je deze kan benaderen door msg.payload[0].p1, msg.payload[0].gas etc. te gebruiken.

[Voor 13% gewijzigd door ThinkPad op 28-12-2020 14:13]

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


  • Frakke0
  • Registratie: februari 2012
  • Laatst online: 09:26
ThinkPad schreef op maandag 28 december 2020 @ 14:12:
@Frakke0 Hoe ziet je flow om de Youless te lezen eruit? De Youless is erg makkelijk namelijk, door de juiste URL te gebruiken spuugt hij zelf de waardes al in JSON formatting uit namelijk. Ik lees hem als volgt uit:

JSON:
1
[{"id":"dacc559b.92542","type":"http request","z":"c6fdfd3.e9f43","name":"Youless","method":"GET","ret":"obj","paytoqs":false,"url":"http://adresvanjouwyouless/e?f=j","tls":"","persist":false,"proxy":"","authType":"","x":340,"y":220,"wires":[[]]}]


In Node-RED geef ik vervolgens aan dat hij de ontvangen data als een JSON-object moet interpreteren. Resultaat is dat hij zelf de velden netjes opsplitst en je deze kan benaderen door msg.payload[0].p1, msg.payload[0].gas etc. te gebruiken.
Yes, deze heb ik gebruikt, waarvoor dank.
Huidig verbruik voor gas zit er hier precies wel niet tussen? Enkel het totaal?

  • Frakke0
  • Registratie: februari 2012
  • Laatst online: 09:26
vso schreef op maandag 28 december 2020 @ 14:04:
[...]

wat je krijgt is een object/array van de youless .. met 4 items iets in de trant van om op te splitse doe je het volgende:
test = msg.payload["key"]
msg.payload = test

wat hier gebeurd is dat je een specifieke "key" aanwijst die value daarvan word in "test" gestopt en test stop je vervolgens in msg.payload. en die zal de waarde dan als output geven.

Stuur het zelfde bericht van de youles naar 4 nodes waar je elk een andere "key" invoert ..het hangt een beetje ervanaf of je een object/array item zoekt

ps let er wel op dat je andere output kan hebben in sommige gevallen, dus 123.45 ipv 12.345 of NULL als je dit verwacht is dit wijsheid om bv 000000123.4500 te doen of NULL door 000000.0000 te vervangen zodat de rest van je code ermee overweg kan.
Het was de plugin die ik gebruikte (uit de palette), ik spreek hem nu rechstreeks aan zoals Thinkpad doet.

  • vso
  • Registratie: augustus 2001
  • Laatst online: 19:04

vso

raap voor zijn recht

Frakke0 schreef op maandag 28 december 2020 @ 21:46:
[...]


Het was de plugin die ik gebruikte (uit de palette), ik spreek hem nu rechstreeks aan zoals Thinkpad doet.
voor progammeer doeleinden is het wel makkelijk als je hier verder mee stoeit :) hoeft niet natuurlijk

Gevonden gramatica fouten, mag je houden


  • BazemanKM
  • Registratie: januari 2008
  • Laatst online: 18:59
Wie kan mij helpen?

Ik heb een M5Stack met Homepoint er op.
Daar wil ik een schakelaar op maken, die synchroniseert met een schakelaar binnen Domoticz.

Vanuit Homepoint komt het binnen in MQTT:
code:
1
2
3
4
"setTopic": "homepoint_bad",
      "getTopic": "homepoint_bad",
      "onValue": "true",
      "offValue": "false"


IDX in Domoticz is 204.

Node-red wil ik dus gebruiken tussen Domoticz en Homepoint. Schakelaar in Domoticz aan, dan moet dat in Homepoint ook zichbaar zijn en andersom natuurlijk ook.

  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica
Ben nu bezig met node-red-contrib-fakeroku zodat ik de commando's van m'n Logitech Harmony afstandsbediening kan onderscheppen, doordat Node-RED zich voordoet als een 'Roku' device. Idee is dat ik dan met de Harmony remote m'n Chromecast kan pauzeren. Het pauzeren van de Chromecast lukt mij al vanuit Node-RED (via node-red-contrib-castv2), maar nu het uitlezen van de Harmony remote nog.

Is alleen netwerktechnisch wel vrij ingewikkeld, m'n Node-RED en Harmony zitten beiden in een apart VLAN, en daarnaast draait Node-RED bij mij in een Docker container. Nog even wat puzzelen hoe ik het verkeer bij elkaar kan krijgen :+

[Voor 13% gewijzigd door ThinkPad op 29-12-2020 13:09]

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

@ThinkPad Als ik de code bekijk van het project waarop het is gebaseerd zou je zeggen dat poort 9093 bereikbaar moet zijn naar je NR container.

https://raw.githubusercon...ku/master/io-package.json

  • CAD-tekenaar
  • Registratie: november 2008
  • Laatst online: 13-06 20:51
ThinkPad schreef op dinsdag 29 december 2020 @ 11:35:
Ben nu bezig met node-red-contrib-fakeroku zodat ik de commando's van m'n Logitech Harmony afstandsbediening kan onderscheppen, doordat Node-RED zich voordoet als een 'Roku' device. Idee is dat ik dan met de Harmony remote m'n Chromecast kan pauzeren. Het pauzeren van de Chromecast lukt mij al vanuit Node-RED (via node-red-contrib-castv2), maar nu het uitlezen van de Harmony remote nog.

Is alleen netwerktechnisch wel vrij ingewikkeld, m'n Node-RED en Harmony zitten beiden in een apart VLAN, en daarnaast draait Node-RED bij mij in een Docker container. Nog even wat puzzelen hoe ik het verkeer bij elkaar kan krijgen :+
Is het in Home Assistant dan ook nodig dat je integratie Roku of integratie EmulatedRoku moet installeren?
Of moet ik Node-RED geheel hiervan los zien?

  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica
lolgast schreef op dinsdag 29 december 2020 @ 13:22:
@ThinkPad Als ik de code bekijk van het project waarop het is gebaseerd zou je zeggen dat poort 9093 bereikbaar moet zijn naar je NR container.

https://raw.githubusercon...ku/master/io-package.json
Het is niet super ingewikkelde code, het is een soort webservertje die bepaalde informatie aanlevert die de Harmony wil zien als ik het goed begrijp. Dat is volgens mij die poort die je ziet, die is in de Node-RED module aanpasbaar. Ik heb het al zo ver dat ik die poort/pagina vanaf m'n laptop (ander VLAN dan Node-RED) kan openen. Maar die fakeroku maakt zich via mDNS bekend in het netwerk, dan zit je met dingen als multicast en mDNS repeater te klooien om dat van het ene naar het andere VLAN doorgesluisd te krijgen. Volgens mij ben ik er bijna, nog even verder puzzelen.

@CAD-tekenaar Home Assistant en Node-RED zijn twee losstaande applicaties, ik heb geen Home Assistant maar alleen Node-RE. Ik zie wel dat Home Assistant ook een integratie voor fakeroku heeft, dan hoef je dat in Node-RED niet ook nog eens te doen.

@lolgast Paar uur verder, maar helaas nog niet werkend. Het lijkt erop dat een Docker container (waarin mijn Node-RED draait) geen multicast kan ontvangen. Je kunt de container wel omzetten naar host network, dan zou het wel moeten werken. Maar dat wil ik eigenlijk niet. Heb het net even getest, maar ook dan vind de Harmony hem niet. Ik vraag mij af of ik dit werkend ga krijgen :/

[Voor 17% gewijzigd door ThinkPad op 30-12-2020 01:26]

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


  • DFKT
  • Registratie: maart 2008
  • Laatst online: 07-06 22:20
Ik ben sinds een paar dagen met Node-RED aan het experimenteren binnen Home Assistant. Ik ben aan het kijken om een script te maken wat:
  • de stand (azimuth) en hoogte van de zon inleest
  • constantes inleest t.b.v. de hoekverdraaiing van de woning t.o.v. N-Z & de hoogte v.d. zon waarboven het zonnescherm open zou moeten gaan
  • op basis hiervan berekent of de stan v.d. zon inderdaad binnen de gegeven range (azimuth en hoogte) valt
  • voor nu wordt dit vertaald naar een parameter "true" of "false"; bij een state change wordt deze doorgegeven aan een input_boolean in Home Assistant
  • uiteindelijk is het (uiteraard) de bedoeling dat het zonnescherm (bij zonnig weer) open en dicht gaat
Ik gebruik een change node om van msg.payloads numbers te maken, die vervolgens via een join worden gevoed aan een function die uitrekent of het scherm uit zou moeten (true) of niet (false).

Hieronder de graph en code:



code:
1
[{"id":"bfb4f005.3c32","type":"change","z":"adb89f20.e238b","name":"ToInt","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"},{"t":"set","p":"parts['index']","pt":"msg","to":"2","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":260,"wires":[["f4643ce3.05568"]]},{"id":"8791db4d.9e3f18","type":"change","z":"adb89f20.e238b","name":"ToInt","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"},{"t":"set","p":"parts['index']","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":140,"wires":[["f4643ce3.05568"]]},{"id":"7b7cd028.ca93c","type":"function","z":"adb89f20.e238b","name":"CalcRange","func":"var sun_in_range, sunscreen_open\nvar sun_azm = msg.payload[0]\nvar sun_elev = msg.payload[1]\nvar home = msg.payload[2]\nvar sun_elev_min = msg.payload[3]\n\nvar range_start = 90 + home\nvar range_end = 270 + home\n\nif (sun_azm > range_start && sun_azm < range_end) {\n    sun_in_range = true\n}\nelse {\n    sun_in_range = false\n}\n\nif (sun_in_range == true && sun_elev >= sun_elev_min){\n    sunscreen_open = true\n}\nelse {\n    sunscreen_open = false\n}\n\nvar newMsg = { payload: sunscreen_open, topic:\"sun in range\" }\nreturn newMsg\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":830,"y":160,"wires":[["c4274433.2dbf38"]]},{"id":"570bdf5b.1fc85","type":"poll-state","z":"adb89f20.e238b","name":"var_sun_azm","server":"ecbd2b1d.017548","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinterval":"5","updateIntervalUnits":"minutes","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.sun_azm","state_type":"str","halt_if":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"x":170,"y":160,"wires":[["8791db4d.9e3f18","2dbb3cc2.17f414","2922778f.7f78c8","d193277a.229278"]]},{"id":"2922778f.7f78c8","type":"api-current-state","z":"adb89f20.e238b","name":"var_home_orientation","server":"ecbd2b1d.017548","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_number.home_orientation","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":380,"y":260,"wires":[["bfb4f005.3c32"]]},{"id":"f4643ce3.05568","type":"join","z":"adb89f20.e238b","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"4","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":690,"y":160,"wires":[["7b7cd028.ca93c"]]},{"id":"2dbb3cc2.17f414","type":"api-current-state","z":"adb89f20.e238b","name":"var_sun_elev","server":"ecbd2b1d.017548","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.sun_elev","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":350,"y":200,"wires":[["2be439e5.a28fb6"]]},{"id":"2be439e5.a28fb6","type":"change","z":"adb89f20.e238b","name":"ToInt","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"},{"t":"set","p":"parts['index']","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":200,"wires":[["f4643ce3.05568"]]},{"id":"c4274433.2dbf38","type":"api-current-state","z":"adb89f20.e238b","name":"Change_Sunscreen_State","server":"ecbd2b1d.017548","version":1,"outputs":2,"halt_if":"payload","halt_if_type":"msg","halt_if_compare":"is_not","override_topic":false,"entity_id":"input_boolean.test_sunscreen","state_type":"habool","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":1040,"y":160,"wires":[["f2325161.f627f"],[]]},{"id":"a56b1108.f14ef","type":"debug","z":"adb89f20.e238b","name":"StateChanged","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1700,"y":160,"wires":[]},{"id":"f2325161.f627f","type":"api-call-service","z":"adb89f20.e238b","name":"Change_Test_Sunscreen","server":"ecbd2b1d.017548","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"toggle","entityId":"input_boolean.test_sunscreen","data":"{\"entity_id\": \"input_boolean.test_sunscreen\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1290,"y":160,"wires":[["5753577d.94ab28"]]},{"id":"5753577d.94ab28","type":"api-call-service","z":"adb89f20.e238b","name":"Sunscreen_Notify","server":"ecbd2b1d.017548","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_p30_marco_app","entityId":"","data":"{\"message\": \"Zonnescherm stand: {{payload}}\"}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1510,"y":160,"wires":[["a56b1108.f14ef"]]},{"id":"d193277a.229278","type":"api-current-state","z":"adb89f20.e238b","name":"var_min_sun_elev","server":"ecbd2b1d.017548","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_number.sun_elev_min","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":370,"y":320,"wires":[["d8bb585c.cef028"]]},{"id":"d8bb585c.cef028","type":"change","z":"adb89f20.e238b","name":"ToInt","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"},{"t":"set","p":"parts['index']","pt":"msg","to":"3","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":320,"wires":[["f4643ce3.05568"]]},{"id":"ecbd2b1d.017548","type":"server","name":"Home Assistant","addon":true}]


Nu is deze basis (nog niet klaar) al erg ingewikkeld geworden, heb ik de indruk. Ik vraag me daarom af of dit niet veel eenvoudiger kan?

Alvast bedankt voor jullie input...

Je moet de mening van een meerderheid niet verwarren met de waarheid.

ThinkPad schreef op dinsdag 29 december 2020 @ 16:14:
...

@lolgast Paar uur verder, maar helaas nog niet werkend. Het lijkt erop dat een Docker container (waarin mijn Node-RED draait) geen multicast kan ontvangen. Je kunt de container wel omzetten naar host network, dan zou het wel moeten werken. Maar dat wil ik eigenlijk niet. Heb het net even getest, maar ook dan vind de Harmony hem niet. Ik vraag mij af of ik dit werkend ga krijgen :/
Dat gaat inderdaad niet werken nu je het zegt. Multicast en Docker containers = no bueno. Alleen met --net-host inderdaad, maar daar ben ik ook geen fan van inderdaad. Ik vrees dat dit een doodlopend spoor is.

Ik heb helaas geen Chromecast én geen Harmony, dus even iets proberen vanaf mijn kant zit er niet in ;(

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 06-04 08:17
ThinkPad schreef op dinsdag 29 december 2020 @ 16:14:
[...]
Het lijkt erop dat een Docker container (waarin mijn Node-RED draait) geen multicast kan ontvangen.
Node-red in een docker container geeft meer problemen dan het oplost vrees ik. Dit zeggen de developers zelf ook. (ondanks dat het retehandig is om een container een slinger te geven)

@DFKT
Is er een reden waarom die zon informatie uit HA moet komen ? Dat maakt het niet simpeler lijkt me.
Wellicht is het handiger om een zon positie node te installeren en daarmee aan de slag te gaan: devices in HA, logic in NR.

[Voor 5% gewijzigd door z1rconium op 04-01-2021 11:44]


  • DFKT
  • Registratie: maart 2008
  • Laatst online: 07-06 22:20
z1rconium schreef op maandag 4 januari 2021 @ 11:43:
[...]

Node-red in een docker container geeft meer problemen dan het oplost vrees ik. Dit zeggen de developers zelf ook. (ondanks dat het retehandig is om een container een slinger te geven)

@DFKT
Is er een reden waarom die zon informatie uit HA moet komen ? Dat maakt het niet simpeler lijkt me.
Wellicht is het handiger om een zon positie node te installeren en daarmee aan de slag te gaan: devices in HA, logic in NR.
Nope, geen specifieke reden, zoals ik aangaf n00b met node-red ;) Goede tip, gaan we naar kijken!

Je moet de mening van een meerderheid niet verwarren met de waarheid.


  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica
z1rconium schreef op maandag 4 januari 2021 @ 11:43:
[...]

Node-red in een docker container geeft meer problemen dan het oplost vrees ik. Dit zeggen de developers zelf ook. (ondanks dat het retehandig is om een container een slinger te geven)

[...]
Negatieve ervaring mee dan :) ? Het draait hier als een trein, dit multicast issue is de eerste keer dat ik tegen een beperking aan loop. Vind Docker ideaal voor een homelab. Zeker met Watchtower erop is alles altijd netjes bijgewerkt. Nooit meer gezeur met apt-get om te zorgen dat alles bijgewerkt is.

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

Ik draai NR ook via Docker. Eerst als losse container, nu als addon via Home Assistant. Wat ook gewoon een Docker container is. Ik vind het ideaal. Updaten is zo gedaan, teruggaan naar een oude versie nog veel sneller. Geen gedoe met dependancies of andere software die in de weg kan zitten.

Multicast werkt nu niet omdat Docker dat niet ondersteunt zonder de container uit zijn isolatie te halen, maar verder ben ik nog nooit een issue tegengekomen waarbij Docker een beperkende factor voor NR introduceert hoor :)

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 06-04 08:17
ThinkPad schreef op maandag 4 januari 2021 @ 11:51:
[...]

Negatieve ervaring mee dan :) ? Het draait hier als een trein, dit is de eerste keer dat ik tegen een issue aan loop. Vind Docker ideaal voor een homelab. Zeker met Watchtower erop is alles altijd netjes bijgewerkt. Nooit meer gezeur met apt-get om te zorgen dat alles bijgewerkt is.
Ligt er aan wat je nodig hebt, om het moment dat je op je local filesystem moet zijn, loop je al vast.
Seriele poort aanspreken, sqlite binary in je container, zwave, gaat allemaal niet zomaar werken.

Alles wat een compiler build/port nodig heeft kan voor problemen zorgen, then again mijn homeautomation zit volledig in node-red en gebruik geen HA of andere applicaties dus ik gebruik wellicht meer exotische zaken. Node-red is overigens redelijk triviaal tov docker gezien het een nodejs programma is wat via nodejs praat.
Het is 1 commando om te installeren/updaten/restarten.

Uiteraard heeft docker voordelen, zeker voor deployment/update management.

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 07-06 13:41
z1rconium schreef op maandag 4 januari 2021 @ 12:41:
Ligt er aan wat je nodig hebt, om het moment dat je op je local filesystem moet zijn, loop je al vast.
Seriele poort aanspreken, sqlite binary in je container, zwave, gaat allemaal niet zomaar werken.
Ik moet bekennen dat ik dit erg kort door de bocht vind. Local filesystem bereiken is geen enkel probleem met Docker (of een andere CRI):



En middels een docker-compose YAML een fluitje van een cent:

YAML:
1
2
3
4
5
6
7
8
9
web:
 build: .
 links:
  - "db:postgres"
 ports:
  - "8000:80"
 volumes:
  - ".:/app:rw"
  - "./data:/data:rw"


Of een (serial/USB) device:

YAML:
1
2
3
4
5
6
7
8
9
10
services: 
  deconz:
    image: marthoc/deconz
    container_name: deconz
    network_mode: host
    restart: always
    volumes:
      - /opt/deconz:/root/.local/share/dresden-elektronik/deCONZ
    devices:
      - /dev/ttyUSB0


Kun je onderbouwen waarom je hierop vastloopt?

  • vso
  • Registratie: augustus 2001
  • Laatst online: 19:04

vso

raap voor zijn recht

Wel allemaal leuk .. maar een key van een goeie NR setup Is het feit dat je de unieke zooi snel kan "repliceren" op een andere instance.. (backup hebt oid)
Of je nu update Node-js, docker of een andere deployment doet .. dat lurk je toch wel van het net af ..
multiple instances omdat 1 productie en de ander test is tja .. dat is de werkwijze van jouzelf IMHO
Dat een bepaalde gekozen route opstakels opwerpt vind ik juist het leukste uitdaging van het geheel :)


@ThinkPad volgens mij moet het best mogelijk zijn om bv via tcpdump/wireshark achtige manier de data op vlan x te vangen en weer af te spelen op een ander vlan .. of een andere proxy achtige oplossing

[Voor 10% gewijzigd door vso op 04-01-2021 17:31]

Gevonden gramatica fouten, mag je houden


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 06-04 08:17
Kaspers schreef op maandag 4 januari 2021 @ 17:03:
[...]


Ik moet bekennen dat ik dit erg kort door de bocht vind. Local filesystem bereiken is geen enkel probleem met ...
Een bind mount is geen local filesystem maar een bind. ;) maw je kunt daar niet uitbreken als je ergens anders moet zijn, dan moet je er nog 1 toevoegen.

Voor de goede orde; ik gebruik LXC's/docker(-compose)/VM's dagelijks, alles wat handig is voor het doel. Voor mijn homeautomation instance was het niet handig, want er zit geen compiler in de image en die hebben sommige nodes nodig en daarbij als je zaken uit /dev nodig hebt loop je tegen zaken aan met permissies, als je bijv met GPIO's wilt spelen. Voor jouw USB voorbeeld heb je ook een usermod moeten doen vermoed ik.

@vso klopt ook, ook daar heb ik een flow voor; backup. Uiteindelijk heb je alleen de flow.json/credentials nodig, dat is het mooie er van.
z1rconium schreef op maandag 4 januari 2021 @ 19:21:
...

@vso klopt ook, ook daar heb ik een flow voor; backup. Uiteindelijk heb je alleen de flow.json/credentials nodig, dat is het mooie er van.
En de settings.js, als je die hebt aangepast voor bijvoorbeeld local filesystem variables :)

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 07-06 13:41
z1rconium schreef op maandag 4 januari 2021 @ 19:21:
[...]
You
Een bind mount is geen local filesystem maar een bind. ;) maw je kunt daar niet uitbreken als je ergens anders moet zijn, dan moet je er nog 1 toevoegen.

Voor de goede orde; ik gebruik LXC's/docker(-compose)/VM's dagelijks, alles wat handig is voor het doel. Voor mijn homeautomation instance was het niet handig, want er zit geen compiler in de image en die hebben sommige nodes nodig en daarbij als je zaken uit /dev nodig hebt loop je tegen zaken aan met permissies, als je bijv met GPIO's wilt spelen. Voor jouw USB voorbeeld heb je ook een usermod moeten doen vermoed ik.

@vso klopt ook, ook daar heb ik een flow voor; backup. Uiteindelijk heb je alleen de flow.json/credentials nodig, dat is het mooie er van.
Ik begrijp ‘m. Dank voor je redenatie en toelichting. Het voorbeeld van het compose statement met het USB device heb ik even snel van internet geplukt. Ik moet toegeven dat ik in mijn setup geen enkele usermod heb hoeven draaien. Ik maak gebruik van K3OS (single master/worker kubernetes node),

code:
1
2
3
kubernetes [~]$ ls -la /dev | grep USB
crw-rw-rw-  1 root dialout 188,     0 Dec 30 19:30 ttyUSB0
kubernetes [~]$


root:dialout

Ik vermoed dat het toch werkt doordat er geen gebruik wordt gemaakt van user namespaces en de user table van de k8s host overgenomen wordt in pods.

Edit:

Idd, zie de pod waarin deconz draait: de deconz binary draait ook als root:

code:
1
2
3
4
5
6
7
8
9
root@deconz:/# ps -x
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 /bin/sh /start.sh
   25 ?        Sl    13:58 /usr/bin/Xtigervnc :0 -desktop kub   32 ?        S      0:00 /usr/bin/perl /usr/bin/tigervncser   33 ?        S      0:00 /bin/sh /etc/X11/Xvnc-session
   34 ?        S      0:00 vncconfig -iconic
   35 ?        S      3:05 x-window-manager
   60 ?        Ss     0:00 x-window-manager
   64 ?        Sl   546:45 /usr/bin/deCONZ --auto-connect=1 -  824 pts/0    Ss     0:00 bash
 1151 pts/0    R+     0:00 ps -x

  • stoner1978
  • Registratie: januari 2012
  • Laatst online: 04-04 15:03
Hallo,

sinds een tijdje ben ik ook bezig met Home assistant en Node Red. Volgens mij snap ik wel aardig, kan de buitenlamp aan laten gaan als de auto thuis komt etc. Maar toch loop ik tegen een eigenaardigheid aan.

Ik heb meerdere lampen gekoppeld via Deconz maar de entiteiten kan ik niet allemaal terug vinden in Node Red, het lijkt alsof Node Red niet de meest actuele entiteit lijst gebruikt?
De lampen zie ik wel in automations van Home assistant.

Heb de lampen al eens verwijderd en server opnieuw opgestart maar dit lijkt niet te helpen.

heeft er iemand een idee, zie ik iets over het hoofd.

alvast bedankt!

Remco
Hallo.

Ik wil graag een melding voor mn wasmachine & droger als deze klaar zijn. Gaat dit goed voor de wasmachine?

JSON:
1
[{"id":"a3887334.8c1838","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Wasmachine klaar","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.power_35","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"2","halt_if_type":"num","halt_if_compare":"lt","outputs":2,"output_only_on_state_change":true,"for":"3","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":120,"y":580,"wires":[["814f509c.7c71e","5822f46d.a95414"],[]]},{"id":"814f509c.7c71e","type":"function","z":"8339f3e4.d68d5","name":"Wasmachine is klaar!","func":"var bericht = 'De wasmachine is klaar';\n\nmsg.payload = {chatId : xx, type : 'message', content : bericht};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":400,"y":580,"wires":[["534bc994.0298c8","dfdaaaf.1dee1d8"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Check state op < 2 for 2 minutes. Pollt dit 'continu'? Of moet er dan nog een time-sensor oid overheen die vaststelt wanneer gepollt moet worden?

Ok op zich werkt dit nu.. maar de wasmachine heeft een soort continu gependel tussen 0 en 1W. Blijkbaar triggert dit toch. Nu met Power Monitor dit op 10 messages gezet, maar dat lijkt me ook niet de beste. Nog adviezen hier?

K wil dus eigenlijk dat de message alleen 'meetellen' als deze van (laten we zeggen) 20w naar < 3W gaan, maar dat het gependel rond die 1W niet gaat meetellen.

[Voor 11% gewijzigd door Koepert op 09-01-2021 19:44]


  • wervisser
  • Registratie: oktober 2006
  • Laatst online: 25-05 16:14
Ik probeer mijn boilertemperatuur in een bericht op te nemen, maar ik loop vast met het volgende.

Mijn flow.



Via Domoticz/out ontvang ik een bericht van mijn device. In dit bericht is svalue1 de temperatuur. De msg.payload zet ik vervolgens om zodat ik enkel de temperatuur over heb.



Nu probeer ik dit echter samen te voegen in een enkel regel, maar hoe roep ik nu de temperatuur waarde bij de tekst?

Zuid 4600Wp, Loria 6008, 300L boiler, Domoticz icm Fibaro, Aeotec, Sonoff

@wervisser
code:
1
"Boilertemperatuur is " & $.payload & " °C"

  • wervisser
  • Registratie: oktober 2006
  • Laatst online: 25-05 16:14
lolgast schreef op maandag 11 januari 2021 @ 08:57:
@wervisser
code:
1
"Boilertemperatuur is " & $.payload & " °C"
Werkt prima, bedankt voor je snelle hulp _/-\o_

Zuid 4600Wp, Loria 6008, 300L boiler, Domoticz icm Fibaro, Aeotec, Sonoff


  • FlyingDutchMen
  • Registratie: februari 2010
  • Laatst online: 08-06 13:29
In de kerstvakantie is het er dan eindelijk van gekomen. Ik heb mijn huis wat slimmer gemaakt door Node-Red te gebruiken. Ik gebruik dus geen HASS oid maar heb alles in NodeRed staan. Het idee is voorals nog dat ik ook geen UI nodig heb want alles moet te bedienen zijn via sensors, voice( google home) en schakelaars.

Alles werkt nu dus ik ben momenteel bezig met alle schakelaars op/in de muren te vervangen door 3D geprinte houders die draadloze schakelaars kunnen 'vast houden'. De Fase en schakeldraad zitten dus direct aan elkaar door gelust in de muur. En alle lampen gaan softwarematig uit ipv hardwarematig.

Setup:

Lokaal heb ik een server met Ubuntu Server draaien. Hierop draai ik via docker verschillende containers. De dockers die ik voor dit project heb draaien zijn:
- NodeRed -> Lijkt me duidelijk
- Portainer -> UI om Docker containers te beheren
- Zigbee2MQTT -> Praat met Zigbee apparaten
- DsmrReader -> UI die mijn slimme meter data
- Postgres -> database that is used by DsmrReader .

Het volgende heb ik.
Lampen
- Philips hue (momenteel stuur ik dit nog aan via de bridge)
- Ikea tradfri lampen (stuur ik aan via Zigbee2MQTT).
Relais
- Sonoff Basic (Tasmota met mqtt)
Smart meter
- ESP-DSMR Slimme Meter Logger

Sensoren
- xiaomi rtcgq01lm (ontvang data via Zigbee2MQTT).
Schakelaars
- IKEA E1743 (ontvang data via Zigbee2MQTT).
- IKEA E1524 (ontvang data via Zigbee2MQTT).
Google homes
-Woonkamer
- Kantoor
- Slaapkamer

DSMR
Het enige wat deze flow doet is elke 10 sec mijn slimme meter data ophalen converteren in een ander jasje en naar de dsmrreader doorsturen.
https://tweakers.net/i/xPIvCTN_fw-Hr64564SWQz8wFKY=/800x/filters:strip_exif()/f/image/vsyrnHpXN4MpzN3UfVO21LM2.png?f=fotoalbum_large

Bewegingssensoren (xiaomi rtcgq01lm)
In zowel de gang/hall beneden als op de overloop hangt een bewegingssensor. Op de overloop gaat mijn lamp automatische tot dat deze voor 3 min geen beweging ziet. Beneden kijk ik naar de stand van de zon en bepaal of deze aan moet of niet, ook deze blijft aan tot dat deze 3min geen beweging ziet.

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

https://tweakers.net/i/MN30KRA1RdqdWDFLGoUKeKFpODE=/800x/filters:strip_exif()/f/image/ZQYCoAeHd3ikRlTtZCCk8zZY.png?f=fotoalbum_large

Sonoff
Bij de bank heb ik een lamp welke ik via een relais aan stuur. Deze kan ik zowel via een schakelaar als via google home aansturen.



Philips hue
Alle philips hue lampen kan ik via voice aan sturen. 2 van de drie opties werken al. 1. Aan/uit 2. Brightness 3(nog mee bezig) Kleuren selecteren.



Switch
In de meeste gevallen heb ik de simpele on/off switches van Ikea. Voor beneden heb ik de ronde uitgebreidere van ikea. Deze heb ik (met veel pijn en moeite) zo ingeregeld dat ik hier zowel de eettafel en de lamp boven in de woonkamer (circle) kan aansturen. als ik de aan/uit knop vast blijft houden switch ik tussen de lampen. De nieuwe geselecteerde lamp knippert rood om aan te geven dat deze geselecteerd is.

Zoals ik al zei ben ik dus ook bezig om de "ouderwetse" schakelaars van de muur te vervangen door de zelf gemaakte 3D houders voor de ikea schakelaars.



Gehele huis
Ik kan ook het gehele huis bedienen door ALL te bedienen via voice. Of in de meterkast (naast de voordeur) een ikea schakelaar te bedienen. of de ikea schakelaar van de slaapkamer lang ingesrukt te houden.



Dit is dus een beetje mijn opstelling. Als jullie hier nog vragen opmerking of leuke ideen voor hebben hoor ik het graag. Ben benieuwd wat jullie mening hierover is.

Edit: Mijn feature lijst is als volgt

- Aanpassen kleur IKEA lampen via voice.
- TV aan/uit zetten via Chroemcast. Dit kan al wel via google home zelf. Helaas lijkt dit niet zo makkelijk te zijn via iets externs.
- NFC reader bij de meterkast zodat mijn vriendin en ik ons aan/af kunnen melden zodat er bepaalde acties gebeuren. (lees snel de pron uit als de vriendin thuis komt).
- Blindering aansturen (zit te denken aan een SOnoff dual).
- Buitenlampen aan sturen
- Lampen in de keuken aansturen
Iets van een soort van alarm systeem maken (lees in combi met de nfc reader).
- Lampen op o.a. laten knipperen als ik bepaalde notificaties krijg.
- Evt. lampen op kantoor op andere kleur zodat de vriendin weet dat ik in een meeting zit.

[Voor 5% gewijzigd door FlyingDutchMen op 11-01-2021 10:30]

Learn from yesterday, Live for today, Hope for tomorrow

Koepert schreef op zaterdag 9 januari 2021 @ 15:23:
Hallo.

Ik wil graag een melding voor mn wasmachine & droger als deze klaar zijn. Gaat dit goed voor de wasmachine?

JSON:
1
[{"id":"a3887334.8c1838","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Wasmachine klaar","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.power_35","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"2","halt_if_type":"num","halt_if_compare":"lt","outputs":2,"output_only_on_state_change":true,"for":"3","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":120,"y":580,"wires":[["814f509c.7c71e","5822f46d.a95414"],[]]},{"id":"814f509c.7c71e","type":"function","z":"8339f3e4.d68d5","name":"Wasmachine is klaar!","func":"var bericht = 'De wasmachine is klaar';\n\nmsg.payload = {chatId : xx, type : 'message', content : bericht};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":400,"y":580,"wires":[["534bc994.0298c8","dfdaaaf.1dee1d8"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Check state op < 2 for 2 minutes. Pollt dit 'continu'? Of moet er dan nog een time-sensor oid overheen die vaststelt wanneer gepollt moet worden?

Ok op zich werkt dit nu.. maar de wasmachine heeft een soort continu gependel tussen 0 en 1W. Blijkbaar triggert dit toch. Nu met Power Monitor dit op 10 messages gezet, maar dat lijkt me ook niet de beste. Nog adviezen hier?

K wil dus eigenlijk dat de message alleen 'meetellen' als deze van (laten we zeggen) 20w naar < 3W gaan, maar dat het gependel rond die 1W niet gaat meetellen.
Iemand hier nog een suggestie voor? Ik heb inmiddels wat andere dingen geprobeerd, maar krijg OF een buttload aan meldingen OF geen.

- Power Monitor Node toegepast (threshold 2, messages 5 en 5, melding op zowel stop als start omdat ik niet weet welke ik nu precies moet hebben), die geeft echter ook geen melding af
JSON:
1
[{"id":"d15d8b56.90a2c","type":"function","z":"8339f3e4.d68d5","name":"Droger is klaar!","func":"var bericht = 'De droger is klaar';\n\nmsg.payload = {chatId : 1068168675, type : 'message', content : bericht};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":480,"y":660,"wires":[["cc784c6e.0003f8","dfdaaaf.1dee1d8"]]},{"id":"1f111a0c.0a832e","type":"power-monitor","z":"8339f3e4.d68d5","name":"Droger-meter","threshold":"1","startafter":"5","stopafter":"5","x":270,"y":660,"wires":[["d15d8b56.90a2c"],["d15d8b56.90a2c"]]}]


- switch node die dmv een function & reset de meldingen binnen de perken houdt:

JSON:
1
[{"id":"bc9137fd.63cdb8","type":"switch","z":"8339f3e4.d68d5","name":"switch","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"True","vt":"str"},{"t":"eq","v":"False","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":270,"y":520,"wires":[["7d4d4e69.d3ae"],["39fe547e.3f039c"]]},{"id":"39fe547e.3f039c","type":"change","z":"8339f3e4.d68d5","name":"Reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":410,"y":560,"wires":[["3d8d1a4.384ab66"]]},{"id":"7d4d4e69.d3ae","type":"function","z":"8339f3e4.d68d5","name":"Was just false?","func":"if(msg.data !== null && msg.data.old_state !== null) {\n    if(msg.data.old_state.state === \"False\") {\n        return msg\n    }\n}\nreturn null;","outputs":1,"noerr":0,"x":380,"y":460,"wires":[["3d8d1a4.384ab66"]]},{"id":"3d8d1a4.384ab66","type":"delay","z":"8339f3e4.d68d5","name":"Wait 2 mins","pauseType":"delay","timeout":"2","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":510,"y":520,"wires":[["814f509c.7c71e"]]}]


Kortom: ik ben nog wel aan het puzzelen, de flows zijn wel al anders, maar krijg het laatste stukje niet voor elkaar
@Koepert Ik doe het op deze manier (wil ik nog een keer aanpassen, maar dit werkt al maanden perfect)
Ik heb een template sensor in HA die de status van de apparaten aanpast op basis van gebruikte wattage.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
    wasmachine_state_template:
      friendly_name: 'Wasmachine - Status'
      value_template: >-
        {%- if is_state("switch.fibaro_wasmachine_switch", "off") %}
            Schakelaar Uit
        {%  elif states('sensor.fibaro_wasmachine_power') | float >= 0.1 and states('sensor.fibaro_wasmachine_power') | float < 10.0 | float %}
            Standby
        {%  elif states('sensor.fibaro_wasmachine_power') | float >= 10.0 and states('sensor.fibaro_wasmachine_power') | float < 3600.0 | float %}
            In gebruik
        {% else %}
            Uit
        {%- endif %}

In NR heb ik het volgende
code:
1
[{"id":"e3ec94cf.ceffc8","type":"subflow","name":"Subflow 1","info":"","category":"","in":[{"x":120,"y":220,"wires":[{"id":"e0812ccf.7509"},{"id":"5bbeb9a5.2ba298"}]}],"out":[{"x":970,"y":220,"wires":[{"id":"28cef756.6e07d8","port":0}]}],"env":[],"color":"#6EC0F0","icon":"font-awesome/fa-mail-forward"},{"id":"46aa7bd7.e097e4","type":"api-current-state","z":"e3ec94cf.ceffc8","name":"Check Stefan home","server":"5c0abd7f.7b22a4","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"person.stefan","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":true,"x":480,"y":190,"wires":[["28cef756.6e07d8"],[]]},{"id":"c4afa6df.583138","type":"api-current-state","z":"e3ec94cf.ceffc8","name":"Check Meggie home","server":"5c0abd7f.7b22a4","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"person.meggie","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":true,"x":490,"y":290,"wires":[["28cef756.6e07d8"],[]]},{"id":"28cef756.6e07d8","type":"function","z":"e3ec94cf.ceffc8","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       msg.title,\n     'message':\n       msg.message }};\nmsg.payload.service = msg.topic.replace('person.', 'iphone_');\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":800,"y":220,"wires":[[]]},{"id":"e5ce5222.af43f","type":"change","z":"e3ec94cf.ceffc8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"person.stefan","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":150,"wires":[["28cef756.6e07d8"]]},{"id":"5bbeb9a5.2ba298","type":"switch","z":"e3ec94cf.ceffc8","name":"","property":"always","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$.always.$contains(\"meggie\")","vt":"jsonata"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":300,"y":250,"wires":[["f02cf92f.294bd8"],["c4afa6df.583138"]]},{"id":"f02cf92f.294bd8","type":"change","z":"e3ec94cf.ceffc8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"person.meggie","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":250,"wires":[["28cef756.6e07d8"]]},{"id":"e0812ccf.7509","type":"switch","z":"e3ec94cf.ceffc8","name":"","property":"always","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$.always.$contains(\"stefan\")","vt":"jsonata"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":300,"y":150,"wires":[["e5ce5222.af43f"],["46aa7bd7.e097e4"]]},{"id":"2c5c5a6c.f75b36","type":"server-state-changed","z":"4ebe943f.2c34cc","name":"Wasmachine status","server":"5c0abd7f.7b22a4","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.wasmachine_state_template","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":true,"ignorePrevStateUnknown":true,"ignorePrevStateUnavailable":true,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":150,"y":270,"wires":[["91dafc34.0578e"]]},{"id":"91dafc34.0578e","type":"switch","z":"4ebe943f.2c34cc","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"Uit","vt":"str"},{"t":"eq","v":"Uit","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":360,"y":270,"wires":[["4618a4fa.a1dcec"],["ab31bf58.1b51f"]]},{"id":"4618a4fa.a1dcec","type":"change","z":"4ebe943f.2c34cc","name":"payload to reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":247,"wires":[["ab31bf58.1b51f"]]},{"id":"ab31bf58.1b51f","type":"trigger","z":"4ebe943f.2c34cc","name":"trigger 10 min","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"units":"min","reset":"reset","bytopic":"all","topic":"topic","outputs":1,"x":550,"y":294,"wires":[["34158b0f.f691b4"]],"icon":"node-red-contrib-stoptimer/stoptimer.png"},{"id":"34158b0f.f691b4","type":"function","z":"4ebe943f.2c34cc","name":"msg format","func":"msg.title = 'Was is klaar'\nmsg.message = \"Wasmachine is klaar en moet leeggehaald worden!\"\nmsg.always = \"meggie\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":760,"y":270,"wires":[["e3bd561a.7f4848"]],"icon":"node-red-dashboard/ui_text.png"},{"id":"e3bd561a.7f4848","type":"subflow:e3ec94cf.ceffc8","z":"4ebe943f.2c34cc","name":"Send message","env":[],"x":950,"y":270,"wires":[["39b465dc.fff1ba"]]},{"id":"39b465dc.fff1ba","type":"link out","z":"4ebe943f.2c34cc","name":"","links":["3831b68e.cdbc1a"],"x":1085,"y":270,"wires":[]},{"id":"5c0abd7f.7b22a4","type":"server","name":"HassIO","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

lolgast schreef op dinsdag 12 januari 2021 @ 09:48:
@Koepert Ik doe het op deze manier (wil ik nog een keer aanpassen, maar dit werkt al maanden perfect)
Ik heb een template sensor in HA die de status van de apparaten aanpast op basis van gebruikte wattage.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
    wasmachine_state_template:
      friendly_name: 'Wasmachine - Status'
      value_template: >-
        {%- if is_state("switch.fibaro_wasmachine_switch", "off") %}
            Schakelaar Uit
        {%  elif states('sensor.fibaro_wasmachine_power') | float >= 0.1 and states('sensor.fibaro_wasmachine_power') | float < 10.0 | float %}
            Standby
        {%  elif states('sensor.fibaro_wasmachine_power') | float >= 10.0 and states('sensor.fibaro_wasmachine_power') | float < 3600.0 | float %}
            In gebruik
        {% else %}
            Uit
        {%- endif %}

In NR heb ik het volgende
code:
1
[{"id":"e3ec94cf.ceffc8","type":"subflow","name":"Subflow 1","info":"","category":"","in":[{"x":120,"y":220,"wires":[{"id":"e0812ccf.7509"},{"id":"5bbeb9a5.2ba298"}]}],"out":[{"x":970,"y":220,"wires":[{"id":"28cef756.6e07d8","port":0}]}],"env":[],"color":"#6EC0F0","icon":"font-awesome/fa-mail-forward"},{"id":"46aa7bd7.e097e4","type":"api-current-state","z":"e3ec94cf.ceffc8","name":"Check Stefan home","server":"5c0abd7f.7b22a4","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"person.stefan","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":true,"x":480,"y":190,"wires":[["28cef756.6e07d8"],[]]},{"id":"c4afa6df.583138","type":"api-current-state","z":"e3ec94cf.ceffc8","name":"Check Meggie home","server":"5c0abd7f.7b22a4","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"person.meggie","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":true,"x":490,"y":290,"wires":[["28cef756.6e07d8"],[]]},{"id":"28cef756.6e07d8","type":"function","z":"e3ec94cf.ceffc8","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       msg.title,\n     'message':\n       msg.message }};\nmsg.payload.service = msg.topic.replace('person.', 'iphone_');\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":800,"y":220,"wires":[[]]},{"id":"e5ce5222.af43f","type":"change","z":"e3ec94cf.ceffc8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"person.stefan","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":150,"wires":[["28cef756.6e07d8"]]},{"id":"5bbeb9a5.2ba298","type":"switch","z":"e3ec94cf.ceffc8","name":"","property":"always","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$.always.$contains(\"meggie\")","vt":"jsonata"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":300,"y":250,"wires":[["f02cf92f.294bd8"],["c4afa6df.583138"]]},{"id":"f02cf92f.294bd8","type":"change","z":"e3ec94cf.ceffc8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"person.meggie","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":250,"wires":[["28cef756.6e07d8"]]},{"id":"e0812ccf.7509","type":"switch","z":"e3ec94cf.ceffc8","name":"","property":"always","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"$.always.$contains(\"stefan\")","vt":"jsonata"},{"t":"else"}],"checkall":"false","repair":false,"outputs":2,"x":300,"y":150,"wires":[["e5ce5222.af43f"],["46aa7bd7.e097e4"]]},{"id":"2c5c5a6c.f75b36","type":"server-state-changed","z":"4ebe943f.2c34cc","name":"Wasmachine status","server":"5c0abd7f.7b22a4","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.wasmachine_state_template","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":true,"ignorePrevStateUnknown":true,"ignorePrevStateUnavailable":true,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":150,"y":270,"wires":[["91dafc34.0578e"]]},{"id":"91dafc34.0578e","type":"switch","z":"4ebe943f.2c34cc","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"Uit","vt":"str"},{"t":"eq","v":"Uit","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":360,"y":270,"wires":[["4618a4fa.a1dcec"],["ab31bf58.1b51f"]]},{"id":"4618a4fa.a1dcec","type":"change","z":"4ebe943f.2c34cc","name":"payload to reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":550,"y":247,"wires":[["ab31bf58.1b51f"]]},{"id":"ab31bf58.1b51f","type":"trigger","z":"4ebe943f.2c34cc","name":"trigger 10 min","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"units":"min","reset":"reset","bytopic":"all","topic":"topic","outputs":1,"x":550,"y":294,"wires":[["34158b0f.f691b4"]],"icon":"node-red-contrib-stoptimer/stoptimer.png"},{"id":"34158b0f.f691b4","type":"function","z":"4ebe943f.2c34cc","name":"msg format","func":"msg.title = 'Was is klaar'\nmsg.message = \"Wasmachine is klaar en moet leeggehaald worden!\"\nmsg.always = \"meggie\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":760,"y":270,"wires":[["e3bd561a.7f4848"]],"icon":"node-red-dashboard/ui_text.png"},{"id":"e3bd561a.7f4848","type":"subflow:e3ec94cf.ceffc8","z":"4ebe943f.2c34cc","name":"Send message","env":[],"x":950,"y":270,"wires":[["39b465dc.fff1ba"]]},{"id":"39b465dc.fff1ba","type":"link out","z":"4ebe943f.2c34cc","name":"","links":["3831b68e.cdbc1a"],"x":1085,"y":270,"wires":[]},{"id":"5c0abd7f.7b22a4","type":"server","name":"HassIO","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

[Afbeelding]
Thnx, Waarom die template-sensor? Om minder variabelen te hebben? Misschien toch maar eens naar kijken. Ik dacht dat het op basis van de bestaande moest kunnen (beneden 1 = uit), maar wellicht is dit beter.
Die template sensor had ik al en nu hoefde ik in NR geen statussen op basis van gebruik te maken, want die heb ik in HA al. Ik wil dit nog aanpassen aangezien er in NR tegenwoordig meer mogelijkheden zijn om dat uit te lezen zonder 10 nodes nodig te hebben. Maar daar was ik 1,5 jaar geleden niet van op de hoogte :9
lolgast schreef op dinsdag 12 januari 2021 @ 10:07:
Die template sensor had ik al en nu hoefde ik in NR geen statussen op basis van gebruik te maken, want die heb ik in HA al. Ik wil dit nog aanpassen aangezien er in NR tegenwoordig meer mogelijkheden zijn om dat uit te lezen zonder 10 nodes nodig te hebben. Maar daar was ik 1,5 jaar geleden niet van op de hoogte :9
Zit wat in.. Voor nu lijkt dit te werken.. Alleen staat mn wasmachine te pendelen tussen UIT en Standby :P Blijkbaar regelmatig 1w 'lekstroom' (want de wasmachine staat wel 'uit' ) maar goed, dat hoeft geen probleem te zijn.

Crap, blijkbaar zorgt dit er voor dat de melding ‘willekeurig’ komt ipv alleen na wasmachine klaar. Dus nog wat tweaking nodig

[Voor 9% gewijzigd door Koepert op 12-01-2021 17:38]


  • Gizz
  • Registratie: maart 2001
  • Laatst online: 18:18

Gizz

Dunder-Mifflin, Inc.

Koepert schreef op dinsdag 12 januari 2021 @ 09:38:
[...]

- Power Monitor Node toegepast (threshold 2, messages 5 en 5, melding op zowel stop als start omdat ik niet weet welke ik nu precies moet hebben),
De werking daarvan is vrij simpel:

Threshold is de grens, in jouw geval 2 watt.

Aantal messages start = hoeveel keer achter elkaar moet er een meting van meer dan 2 watt binnenkomen voordat we aannemen dat het apparaat echt gestart is.

Aantal messages stop = hoeveel keer achter elkaar moet er een meting van minder dan 2 watt binnenkomen voordat we aannemen dat het apparaat echt gestopt is.

2 watt lijkt mij vrij laag want een apparaat wil wel eens 1 of 2 watt vragen in standby. Zelf heb ik voor mijn wasmachine iets van 10 watt ingesteld geloof ik. Zal eens kijken als ik thuis ben.

edit: ik heb in juni al mijn flow voor de wasmachine gedeeld zie ik :P Gizz in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"
die geeft echter ook geen melding af
Ben je bekend met de debug-node? Daarmee controleer je wat de output is van je flow. Alleen maar 'geen melding' is wat vaag. Heb je het over de power node zelf waar geen enkele output uit komt? Of bedoel je dat je complete flow uiteindelijk geen melding geeft als de wasmachine klaar is?

Zaak is om goed te kijken wat er uit elke node komt en niet alleen te kijken of een complete flow het eindresultaat geeft waar je op hoopte.

[Voor 5% gewijzigd door Gizz op 12-01-2021 17:18]

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

Gizz schreef op dinsdag 12 januari 2021 @ 17:16:
[...]

De werking daarvan is vrij simpel:

Threshold is de grens, in jouw geval 2 watt.

Aantal messages start = hoeveel keer achter elkaar moet er een meting van meer dan 2 watt binnenkomen voordat we aannemen dat het apparaat echt gestart is.

Aantal messages stop = hoeveel keer achter elkaar moet er een meting van minder dan 2 watt binnenkomen voordat we aannemen dat het apparaat echt gestopt is.

2 watt lijkt mij vrij laag want een apparaat wil wel eens 1 of 2 watt vragen in standby. Zelf heb ik voor mijn wasmachine iets van 10 watt ingesteld geloof ik. Zal eens kijken als ik thuis ben.

edit: ik heb in juni al mijn flow voor de wasmachine gedeeld zie ik :P Gizz in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"


[...]

Ben je bekend met de debug-node? Daarmee controleer je wat de output is van je flow. Alleen maar 'geen melding' is wat vaag. Heb je het over de power node zelf waar geen enkele output uit komt? Of bedoel je dat je complete flow uiteindelijk geen melding geeft als de wasmachine klaar is?

Zaak is om goed te kijken wat er uit elke node komt en niet alleen te kijken of een complete flow het eindresultaat geeft waar je op hoopte.
Thx, heb je flow ook gevonden/geïmporteerd, maar wat ik dan weer lastig vind is dit omzetten naar mijn situatie (puur kennisgebrek). Ik begrijp nog niet 100% welk deel voor wat verantwoordelijk is zeg maar.

- Ik heb geen MQTT in gebruik dus mijn 'input' zal de sensor zelf zijn. Zover kom ik.
- Het 'lezen' van de waardes in die Power Monitor en wat het doet begrijp ik nu ook. Maar het stukje erachter, is dat ' noodzakelijk' om de output om te zetten in iets leesbaar in een notificatie? Of kun je ook direct naar een message ' de was is klaar' .. (Doel dus op de function en template node)

Het is een leerschool, ik wil dit ook graag bijleren, maar soms zou ik liever voor de simpelste weg gaan, zodat het ook goed te bevatten is. Snap je wat ik zeg?

PS: de Debug node mee bekend, werkt soms ook beter maar soms is het gewoon te weinig kennis van wat iets doet (een node bijv, of wat er essentieel onderdeel is van de flow)

Grrmb.. ik krijg niet wat ik wil eruit.

Ik heb nu 2 flows in test.

1)
JSON:
1
[{"id":"971b30c4.1f4d6","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Wasmachine klaar","server":"1d8e9a4c.b062a6","version":1,"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,"x":90,"y":920,"wires":[["bdd992d4.d83eb8"]]},{"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":760,"y":940,"wires":[["dfdaaaf.1dee1d8"]]},{"id":"bdd992d4.d83eb8","type":"power-monitor","z":"8339f3e4.d68d5","name":"","threshold":"5","startafter":1,"stopafter":"10","x":420,"y":920,"wires":[["1e2b0cb5.2e1c0b"],["1912c046.2d6ce"]]},{"id":"4077f116.e269e8","type":"template","z":"8339f3e4.d68d5","name":"Klaar","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Clean clothes alert! The laundry is finished. It took {{payload.energy}}kWh of energy and {{payload.minutes}} minutes.","output":"str","x":590,"y":980,"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":430,"y":980,"wires":[["4077f116.e269e8"]]},{"id":"1e2b0cb5.2e1c0b","type":"template","z":"8339f3e4.d68d5","name":"Start","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Laundry started! :)","output":"str","x":590,"y":900,"wires":[["d7e32651.30c9d"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]



2)
JSON:
1
[{"id":"814f509c.7c71e","type":"function","z":"8339f3e4.d68d5","name":"Wasmachine is klaar!","func":"var bericht = 'De wasmachine is klaar';\n\nmsg.payload = {chatId : 1068168675, type : 'message', content : bericht};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":480,"wires":[["534bc994.0298c8","80d79c2a.2b9b5"]]},{"id":"90b52e36.8832f8","type":"switch","z":"8339f3e4.d68d5","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"Uit","vt":"str"},{"t":"eq","v":"Uit","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":310,"y":580,"wires":[["c9132e91.daa97"],["8a15a828.693a48"]]},{"id":"c9132e91.daa97","type":"change","z":"8339f3e4.d68d5","name":"payload to reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":520,"wires":[["8a15a828.693a48"]]},{"id":"8a15a828.693a48","type":"trigger","z":"8339f3e4.d68d5","name":"trigger 10 min","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"10","extend":false,"units":"min","reset":"reset","bytopic":"all","topic":"topic","outputs":1,"x":520,"y":580,"wires":[["814f509c.7c71e"]],"icon":"node-red-contrib-stoptimer/stoptimer.png"},{"id":"e9a5ae19.97513","type":"server-state-changed","z":"8339f3e4.d68d5","name":"Wasmachine klaar","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.wasmachine_state_template","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,"x":90,"y":560,"wires":[["90b52e36.8832f8"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Uit de dbug node krijg ik niet precies wat er mis gaat, maar ik krijg bij beide geen notificatie op het juiste moment of zelfs niet (1 gaat met Telegram, andere met HA notify om te kijken of daar wellicht een probleem zit).


- De eerste lijkt soort van at random berichten uit te sturen op basis van het pendelen van de sensor tussen 0 en 1W dus van UIT naar Standby en terug

- de tweede stuurt niets uit. Wellicht dat daar een te grote drop in W de oorzaak is, of juist het pendelen niet voor een juiste 'UIT'melding zorgt.

Ik zie het even niet, maar zoals gezegd komt dat ook omdat ik de 'noodzaak' en daarmee het doel van de function en changenodes in deze niet helemaal 100% begrijp.

[Voor 53% gewijzigd door Koepert op 14-01-2021 12:40]


  • B2
  • Registratie: april 2000
  • Laatst online: 16:48

B2

wa' seggie?

Ik sinds kort mijn pelletkachel weten aan te sluiten op Home Assistant. Omdat de eigen app niet veel bijzonders qua schema en aan/afwezigheids detectie kan wil ik dit via Node Red laten afhandelen. Mijn andere automatiseringen voor bv lampen, alarm e.d. zit ook al in Node Red.

Ik heb nu het volgende bij elkaar geklikt. Eigenlijk is het heel simpel wat ik wil, 's ochtends de kachel aan naar een bepaalde temperatuur en aan het einde van de middag een graadje erbij.
Daarnaast naar 10 graden bij afwezigheid en nacht. Dat laatste gaat bij een status wijziging van het alarm.

Iets zegt me alleen dat onderstaande flow beter moet kunnen. Wat zijn jullie gedachten hier over?


  • Dacuuu
  • Registratie: maart 2009
  • Nu online
B2 schreef op donderdag 14 januari 2021 @ 15:45:
Ik sinds kort mijn pelletkachel weten aan te sluiten op Home Assistant. Omdat de eigen app niet veel bijzonders qua schema en aan/afwezigheids detectie kan wil ik dit via Node Red laten afhandelen. Mijn andere automatiseringen voor bv lampen, alarm e.d. zit ook al in Node Red.

Ik heb nu het volgende bij elkaar geklikt. Eigenlijk is het heel simpel wat ik wil, 's ochtends de kachel aan naar een bepaalde temperatuur en aan het einde van de middag een graadje erbij.
Daarnaast naar 10 graden bij afwezigheid en nacht. Dat laatste gaat bij een status wijziging van het alarm.

Iets zegt me alleen dat onderstaande flow beter moet kunnen. Wat zijn jullie gedachten hier over?

[Afbeelding]
Welke palletkachel heb je, en hoe heb je hem aangesloten op home assistant?

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


  • FlyingDutchMen
  • Registratie: februari 2010
  • Laatst online: 08-06 13:29
B2 schreef op donderdag 14 januari 2021 @ 15:45:
Ik sinds kort mijn pelletkachel weten aan te sluiten op Home Assistant. Omdat de eigen app niet veel bijzonders qua schema en aan/afwezigheids detectie kan wil ik dit via Node Red laten afhandelen. Mijn andere automatiseringen voor bv lampen, alarm e.d. zit ook al in Node Red.

Ik heb nu het volgende bij elkaar geklikt. Eigenlijk is het heel simpel wat ik wil, 's ochtends de kachel aan naar een bepaalde temperatuur en aan het einde van de middag een graadje erbij.
Daarnaast naar 10 graden bij afwezigheid en nacht. Dat laatste gaat bij een status wijziging van het alarm.

Iets zegt me alleen dat onderstaande flow beter moet kunnen. Wat zijn jullie gedachten hier over?

[Afbeelding]
Het lijkt erop dat zowel de ochtend als de ochtend weekend een zelfde schema hebben dus die kan je combineren.

Eind middag mist een niet thuis optie.

Ik zou het zelf in een functie gooien waarbij ik de input (ochtend, middag etc.) lees. Dan bedenk of er iemand thuis is en dan een waarde richting de kachel uitsturen. Maarja ik ga dan ook al snel over naar het programmeer werk. Old habbits 8)7

Learn from yesterday, Live for today, Hope for tomorrow


  • Gizz
  • Registratie: maart 2001
  • Laatst online: 18:18

Gizz

Dunder-Mifflin, Inc.

Koepert schreef op dinsdag 12 januari 2021 @ 18:07:
[...]

- Het 'lezen' van de waardes in die Power Monitor en wat het doet begrijp ik nu ook. Maar het stukje erachter, is dat ' noodzakelijk' om de output om te zetten in iets leesbaar in een notificatie? Of kun je ook direct naar een message ' de was is klaar' .. (Doel dus op de function en template node)
Omdat je de flow al uit de andere post hebt gehaald hierbij even alleen een plaatje:

Het 'stukje erachter' doet het volgende:

Start = letterlijk de boodschap (die verderop verstuurd gaat worden) dat de was is gestart. In mijn geval "Laundry started! :)"Die tekst moet je zelf typen, uit de power-monitor komt natuurlijk geen kant-en-klare zin.

Seconds to minutes + klaar = de power-node geeft het aantal secondes en de energie die is gemeten. Met seconds to minutes zet ik die secondes om naar minuten. In het blokje klaar wordt de boodschap dat de was klaar is gecombineerd met de tijdsduur en verbruikte energie:
code:
1
Clean clothes alert! The laundry is finished. It took {{payload.energy}}kWh of energy and {{payload.minutes}} minutes.


Okay, op dit punt hebben we dus een msg.payload met daarin de boodschap dat de was gestart is, of juist dat de was klaar is. Maar dat kun je niet direct via Telegram gaan versturen, want de Telegram-node heeft veel meer informatie nodig dan alleen een zinnetje met tekst. Namelijk:

msg.payload.content met daarin de boodschap zelf
msg.payload.type waarin wordt aangegeven dat dit een tekstbericht is (message) en niet een plaatje of iets anders.
msg.payload.chatId het gesprek op Telegram waar het bericht naartoe gestuurd moet worden.

De node change: 2 rules zorgt ervoor dat:
  1. onze boodschap van msg.payload naar msg.payload.content wordt gekopieerd
  2. msg.payload.type wordt ingesteld op message
De twee nodes daarachter vullen msg.payload.chatId in voor zowel mijn vriendin als mijzelf. Vanaf dat punt hebben we de drie noodzakelijke msg.payload onderdelen ingevuld en kan het bericht via Telegram verstuurd worden.
- De eerste lijkt soort van at random berichten uit te sturen op basis van het pendelen van de sensor tussen 0 en 1W dus van UIT naar Standby en terug
Dat kan veroorzaakt worden doordat je nu hebt ingesteld dat bij één enkele meting boven de 5 watt de power-monitor aan moet nemen dat je wasmachine gestart is. Veiliger is om dat bijvoorbeeld op 10 te zetten: pas als de power-monitor 10x achter elkaar een meting boven de 5 watt krijgt zal getriggerd worden dat je wasmachine aan staat.

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


  • B2
  • Registratie: april 2000
  • Laatst online: 16:48

B2

wa' seggie?

Dacuuu schreef op donderdag 14 januari 2021 @ 15:50:
[...]


Welke palletkachel heb je, en hoe heb je hem aangesloten op home assistant?
Het is een JollyMec pellet ;) kachel. Maar waar het eigenlijk om gaat is dat er een Micronova T009 Navel 2.0 module wordt gebruikt voor wifi connectie. Het platform wat daar achter zit heeft een API, en daar is een custom component voor HA voor.
FlyingDutchMen schreef op donderdag 14 januari 2021 @ 15:54:
[...]


Het lijkt erop dat zowel de ochtend als de ochtend weekend een zelfde schema hebben dus die kan je combineren.
Klopt, lijkt bijna hetzelfde alleen springt in het weekend de kachel wat later aan (7.30 ipv 5.30 door de weeks)
Ik zou het zelf in een functie gooien waarbij ik de input (ochtend, middag etc.) lees. Dan bedenk of er iemand thuis is en dan een waarde richting de kachel uitsturen. Maarja ik ga dan ook al snel over naar het programmeer werk. Old habbits 8)7
[Afbeelding]
Zoiets bedoelde ik ook, dat leek mij efficiënter. Echter weet ik niet goed hoe die functie in elkaar te zetten.

  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica
Heb je op de afwezigheidsdetectie ook nog een wachttijd zitten? Anders loop je bijv. even naar buiten om je container bij de weg te zetten, kom je terug is de kachel uit ;)


@ wasmachine verhaal. Ik heb een ESP8266 met een LDR in gebruik. Die LDR op het 'geluid uit' (anders maakt hij zo'n irritant Super Mario muziekje als hij klaar is) icoontje op het front geplakt met wat tape. De wasmachine gaat uit als hij klaar is met z'n programma, dat lampje dus ook. Lampje aan = variabele zetten in de flow (+tijdsmeting starten, kun je achteraf zien hoe lang het programma geduurd heeft). Lampje uit = flow stoppen en pushmelding sturen. Werkt al meer dan een jaar prima.

[Voor 14% gewijzigd door ThinkPad op 14-01-2021 16:50]

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


  • FlyingDutchMen
  • Registratie: februari 2010
  • Laatst online: 08-06 13:29
B2 schreef op donderdag 14 januari 2021 @ 16:28:
[...]


Het is een JollyMec pellet ;) kachel. Maar waar het eigenlijk om gaat is dat er een Micronova T009 Navel 2.0 module wordt gebruikt voor wifi connectie. Het platform wat daar achter zit heeft een API, en daar is een custom component voor HA voor.


[...]


Klopt, lijkt bijna hetzelfde alleen springt in het weekend de kachel wat later aan (7.30 ipv 5.30 door de weeks)


[...]


Zoiets bedoelde ik ook, dat leek mij efficiënter. Echter weet ik niet goed hoe die functie in elkaar te zetten.
Kan je eens je flow sturen? Dan zal ik eens kijken of ik het er snel in kan zetten O+

Learn from yesterday, Live for today, Hope for tomorrow


  • B2
  • Registratie: april 2000
  • Laatst online: 16:48

B2

wa' seggie?

ThinkPad schreef op donderdag 14 januari 2021 @ 16:31:
Heb je op de afwezigheidsdetectie ook nog een wachttijd zitten? Anders loop je bijv. even naar buiten om je container bij de weg te zetten, kom je terug is de kachel uit ;)
Dat is zeker een goede opmerking. Mijn afwezigheidsdetectie werkt via owntracks, met een straal van 100m rondom huis, dus het is niet instant, maar als ik even naar de buren zo lopen dan zou de kachel inderdaad uit gaan. (buitengebied, dan krijg je dat met de dichtstbijzijnde buren :) )
FlyingDutchMen schreef op donderdag 14 januari 2021 @ 16:33:
[...]


Kan je eens je flow sturen? Dan zal ik eens kijken of ik het er snel in kan zetten O+
Zeker:

code:
1
[{"id":"901da380.d70aa","type":"tab","label":"Kachel","disabled":false,"info":""},{"id":"4dec9a51.89bc34","type":"inject","z":"901da380.d70aa","name":"Ochtend","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"30 05 * * 1,2,3,4,5","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":120,"wires":[["c5a63b94.883ff8"]]},{"id":"996efc77.0f014","type":"inject","z":"901da380.d70aa","name":"Ochtend Weekend","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"30 06 * * 6,0","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":150,"y":200,"wires":[["5ebba12e.49164"]]},{"id":"c5a63b94.883ff8","type":"api-current-state","z":"901da380.d70aa","name":"Thuis?","server":"d1816b4a.4d719","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.device_trackers","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":290,"y":120,"wires":[["f2c8edc.d8a9f1"],["3a25f82f.c39778"]]},{"id":"f2c8edc.d8a9f1","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 22.5 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 22.5 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":550,"y":80,"wires":[[]]},{"id":"3a25f82f.c39778","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 15 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 15 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":540,"y":140,"wires":[[]]},{"id":"5ebba12e.49164","type":"api-current-state","z":"901da380.d70aa","name":"Thuis?","server":"d1816b4a.4d719","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.device_trackers","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":350,"y":200,"wires":[["37cb0599.6c3d72"],["813846fd.ab4d6"]]},{"id":"37cb0599.6c3d72","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 22.5 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 22.5 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":590,"y":200,"wires":[[]]},{"id":"813846fd.ab4d6","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 15 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 15 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":580,"y":240,"wires":[[]]},{"id":"fb66feb3.8c0a6","type":"api-current-state","z":"901da380.d70aa","name":"Nachtmodus","server":"d1816b4a.4d719","version":1,"outputs":2,"halt_if":"armed_home","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"alarm_control_panel.house","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":110,"y":520,"wires":[["53613161.7011e"],[]]},{"id":"53613161.7011e","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 10 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 10 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":580,"y":520,"wires":[[]]},{"id":"39cffc2d.2ebad4","type":"inject","z":"901da380.d70aa","name":"Einde Middag","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"15 16 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":300,"wires":[["ab68ec6.fc2009"]]},{"id":"ab68ec6.fc2009","type":"api-current-state","z":"901da380.d70aa","name":"Thuis?","server":"d1816b4a.4d719","version":1,"outputs":2,"halt_if":"home","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.device_trackers","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":350,"y":300,"wires":[["682e23a7.61e5cc"],["813846fd.ab4d6"]]},{"id":"682e23a7.61e5cc","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 23.5 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 23.5 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":590,"y":280,"wires":[[]]},{"id":"9d8439ae.98c5b","type":"server-state-changed","z":"901da380.d70aa","name":"Device Trackers Status","server":"d1816b4a.4d719","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"group.device_trackers","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":140,"y":400,"wires":[["bb3655e.43a5228"]]},{"id":"bb3655e.43a5228","type":"switch","z":"901da380.d70aa","name":"Thuis?","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"home","vt":"str"},{"t":"eq","v":"not_home","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":350,"y":400,"wires":[["fb0b9488.ffda18"],["d4c4d3b.5e9a93"]]},{"id":"fb0b9488.ffda18","type":"api-current-state","z":"901da380.d70aa","name":"Overdag?","server":"d1816b4a.4d719","version":1,"outputs":2,"halt_if":"above_horizon","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sun.sun","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":540,"y":360,"wires":[["9daecebd.310948"],["236f12a8.a4e3e6"]]},{"id":"d4c4d3b.5e9a93","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 10 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 10 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":580,"y":420,"wires":[[]]},{"id":"9daecebd.310948","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 22.5 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 22.5 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":750,"y":340,"wires":[[]]},{"id":"236f12a8.a4e3e6","type":"api-call-service","z":"901da380.d70aa","name":"Kachel naar 23.5 graden","server":"d1816b4a.4d719","version":1,"debugenabled":false,"service_domain":"climate","service":"set_temperature","entityId":"climate.woonkamer","data":"{   \"entity_id\": \"climate.woonkamer\",   \"temperature\": 23.5 }","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":750,"y":380,"wires":[[]]},{"id":"d1816b4a.4d719","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

[Voor 3% gewijzigd door B2 op 14-01-2021 16:41]

Gizz schreef op donderdag 14 januari 2021 @ 16:25:
[...]

Omdat je de flow al uit de andere post hebt gehaald hierbij even alleen een plaatje:
[Afbeelding]
Het 'stukje erachter' doet het volgende:

Start = letterlijk de boodschap (die verderop verstuurd gaat worden) dat de was is gestart. In mijn geval "Laundry started! :)"Die tekst moet je zelf typen, uit de power-monitor komt natuurlijk geen kant-en-klare zin.

Seconds to minutes + klaar = de power-node geeft het aantal secondes en de energie die is gemeten. Met seconds to minutes zet ik die secondes om naar minuten. In het blokje klaar wordt de boodschap dat de was klaar is gecombineerd met de tijdsduur en verbruikte energie:
code:
1
Clean clothes alert! The laundry is finished. It took {{payload.energy}}kWh of energy and {{payload.minutes}} minutes.


Okay, op dit punt hebben we dus een msg.payload met daarin de boodschap dat de was gestart is, of juist dat de was klaar is. Maar dat kun je niet direct via Telegram gaan versturen, want de Telegram-node heeft veel meer informatie nodig dan alleen een zinnetje met tekst. Namelijk:

msg.payload.content met daarin de boodschap zelf
msg.payload.type waarin wordt aangegeven dat dit een tekstbericht is (message) en niet een plaatje of iets anders.
msg.payload.chatId het gesprek op Telegram waar het bericht naartoe gestuurd moet worden.

De node change: 2 rules zorgt ervoor dat:
  1. onze boodschap van msg.payload naar msg.payload.content wordt gekopieerd
  2. msg.payload.type wordt ingesteld op message
De twee nodes daarachter vullen msg.payload.chatId in voor zowel mijn vriendin als mijzelf. Vanaf dat punt hebben we de drie noodzakelijke msg.payload onderdelen ingevuld en kan het bericht via Telegram verstuurd worden.


[...]

Dat kan veroorzaakt worden doordat je nu hebt ingesteld dat bij één enkele meting boven de 5 watt de power-monitor aan moet nemen dat je wasmachine gestart is. Veiliger is om dat bijvoorbeeld op 10 te zetten: pas als de power-monitor 10x achter elkaar een meting boven de 5 watt krijgt zal getriggerd worden dat je wasmachine aan staat.
Top, thnx, ik had het "Set ChatID" stuk er niet achter gelaten. Dat zal verklaren waarom dit mis ging. Heb nu dat aangepast. Kijken of deze wel gaat werken. Dit helpt iig meer begrijpen :)

  • ydderf
  • Registratie: december 2017
  • Laatst online: 13:31
B2 schreef op donderdag 14 januari 2021 @ 16:28:
Klopt, lijkt bijna hetzelfde alleen springt in het weekend de kachel wat later aan (7.30 ipv 5.30 door de weeks)
Wat er denk ik bedoeld wordt, is dat je ook meerdere triggers aan één node kunt hangen. Ik heb jou opzet ff een beetje anders georganiseerd. Ik ken alleen niet jou blauwe "thuis" en "tracker" node, dus misschien ga ik net iets te kort door de bocht.

En nu zit er eigenlijk voor mijn gevoel nog iets dubbel in. De controle voor alarm aan/uit zou eigenlijk in de thuis afgevangen moeten worden, maar dan zul je denk ik wat meer moeten programmeren.

Soms gaat het niet zoals het moet, maar moet het maar zoals het gaat


  • B2
  • Registratie: april 2000
  • Laatst online: 16:48

B2

wa' seggie?

ydderf schreef op donderdag 14 januari 2021 @ 17:18:
[...]


Wat er denk ik bedoeld wordt, is dat je ook meerdere triggers aan één node kunt hangen. Ik heb jou opzet ff een beetje anders georganiseerd. Ik ken alleen niet jou blauwe "thuis" en "tracker" node, dus misschien ga ik net iets te kort door de bocht.
[Afbeelding]
En nu zit er eigenlijk voor mijn gevoel nog iets dubbel in. De controle voor alarm aan/uit zou eigenlijk in de thuis afgevangen moeten worden, maar dan zul je denk ik wat meer moeten programmeren.
Ziet er (denk ik) goed uit, en inderdaad met wat ik bedoel met efficiënter. Echter zoals ik ook in mn reactie naar @FlyingDutchMen aangaf, ik ben nog niet zo in Node-Red thuis dat ik dan weet wat in die function blokken moet komen. :$

  • Fleshi
  • Registratie: juni 2001
  • Laatst online: 11-06 22:58
Vraagje en ik krijg het niet gevonden. Ik heb in Home Assistant een NFC tag aangemaakt waar ik vervolgens in Node Red een flow aan wil koppelen. Echter krijg ik de NFC tag niet gevonden in Node Red. Ik heb het al geprobeerd via een Event All node te koppelen aan een Debug node echter krijg ik hem dan ook niet gevonden. Het enige wat ik krijg gevonden, als het over NFC gaat, is een automatisering die ik in Home Assistant heb aangemaakt. Hebben jullie toevallig een tip? :)

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
Fleshi schreef op donderdag 14 januari 2021 @ 23:32:
Vraagje en ik krijg het niet gevonden. Ik heb in Home Assistant een NFC tag aangemaakt waar ik vervolgens in Node Red een flow aan wil koppelen. Echter krijg ik de NFC tag niet gevonden in Node Red. Ik heb het al geprobeerd via een Event All node te koppelen aan een Debug node echter krijg ik hem dan ook niet gevonden. Het enige wat ik krijg gevonden, als het over NFC gaat, is een automatisering die ik in Home Assistant heb aangemaakt. Hebben jullie toevallig een tip? :)
Bij de Event All node moet je bij Event type "tag_scanned" invoeren. Zonder "" ;)
Tijdje geleden heb ik hier deze flow ontvangen/samengesteld.. Als ik dit nu wil kunnen overrulen door de schakelaar UIT te zetten, hoe voer ik dat dan in? ik kan me voorstellen met een soort reset/stop actie, maar hoe ziet dit er dan uit? De switch.schakelaar gaat dus AAN door de Lux-check, maar kan (het is een blitzwolf SHP-13) dus handmatig UIT. Dan wil ik graag dat deze check stopt.

JSON:
1
[{"id":"db53d294.db0de8","type":"inject","z":"6dc72dfa.49a6dc","name":"18:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 18 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":980,"wires":[["954982f9.9a0738"]]},{"id":"954982f9.9a0738","type":"api-current-state","z":"6dc72dfa.49a6dc","name":"lux<20","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"20","halt_if_type":"num","halt_if_compare":"lt","override_topic":false,"entity_id":"sensor.lightlevel_17","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":310,"y":980,"wires":[["770d879f.e57448","6d5af727.a502e8"],[]]},{"id":"a256145d.204ad","type":"debug","z":"6dc72dfa.49a6dc","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":660,"y":1120,"wires":[]},{"id":"157643d0.5f8c34","type":"server-state-changed","z":"6dc72dfa.49a6dc","name":"lux< 20","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.lightlevel_17","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"20","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,"x":90,"y":1040,"wires":[["24637111.d38cee"],[]]},{"id":"24637111.d38cee","type":"time-range-switch","z":"6dc72dfa.49a6dc","name":"Time check","lat":"53.000340","lon":"6.508430","startTime":"18:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":310,"y":1040,"wires":[["a256145d.204ad","770d879f.e57448"],[]]},{"id":"770d879f.e57448","type":"api-call-service","z":"6dc72dfa.49a6dc","name":"Zet Nachtlamp aan","server":"1d8e9a4c.b062a6","version":1,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.schakelaar","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":650,"y":980,"wires":[["e71d0004.3480a8"]]},{"id":"6d5af727.a502e8","type":"debug","z":"6dc72dfa.49a6dc","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":660,"y":1060,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
Koepert schreef op vrijdag 15 januari 2021 @ 18:37:
Tijdje geleden heb ik hier deze flow ontvangen/samengesteld.. Als ik dit nu wil kunnen overrulen door de schakelaar UIT te zetten, hoe voer ik dat dan in? ik kan me voorstellen met een soort reset/stop actie, maar hoe ziet dit er dan uit? De switch.schakelaar gaat dus AAN door de Lux-check, maar kan (het is een blitzwolf SHP-13) dus handmatig UIT. Dan wil ik graag dat deze check stopt.

JSON:
1
[{"id":"db53d294.db0de8","type":"inject","z":"6dc72dfa.49a6dc","name":"18:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 18 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":980,"wires":[["954982f9.9a0738"]]},{"id":"954982f9.9a0738","type":"api-current-state","z":"6dc72dfa.49a6dc","name":"lux<20","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"20","halt_if_type":"num","halt_if_compare":"lt","override_topic":false,"entity_id":"sensor.lightlevel_17","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":310,"y":980,"wires":[["770d879f.e57448","6d5af727.a502e8"],[]]},{"id":"a256145d.204ad","type":"debug","z":"6dc72dfa.49a6dc","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":660,"y":1120,"wires":[]},{"id":"157643d0.5f8c34","type":"server-state-changed","z":"6dc72dfa.49a6dc","name":"lux< 20","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.lightlevel_17","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"20","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,"x":90,"y":1040,"wires":[["24637111.d38cee"],[]]},{"id":"24637111.d38cee","type":"time-range-switch","z":"6dc72dfa.49a6dc","name":"Time check","lat":"53.000340","lon":"6.508430","startTime":"18:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":310,"y":1040,"wires":[["a256145d.204ad","770d879f.e57448"],[]]},{"id":"770d879f.e57448","type":"api-call-service","z":"6dc72dfa.49a6dc","name":"Zet Nachtlamp aan","server":"1d8e9a4c.b062a6","version":1,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.schakelaar","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":650,"y":980,"wires":[["e71d0004.3480a8"]]},{"id":"6d5af727.a502e8","type":"debug","z":"6dc72dfa.49a6dc","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":660,"y":1060,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Ik doe dit op 2 manieren. Ofwel gebruik maken van een traffic node of door gebruik te maken van een input boolean.
Heb het even voor je uitgewerkt.

code:
1
[{"id":"3cbff1ae.c97656","type":"inject","z":"2838595f.c700c6","name":"18:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 18 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":480,"y":1700,"wires":[["440699b8.7bbcd"]]},{"id":"440699b8.7bbcd","type":"api-current-state","z":"2838595f.c700c6","name":"lux<20","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"20","halt_if_type":"num","halt_if_compare":"lt","override_topic":false,"entity_id":"sensor.lightlevel_17","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":690,"y":1700,"wires":[["30c2ae90.48b65a","34de535a.b33bac"],[]]},{"id":"3bde1530.fbb762","type":"debug","z":"2838595f.c700c6","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1040,"y":1840,"wires":[]},{"id":"34d9233b.86c4c4","type":"server-state-changed","z":"2838595f.c700c6","name":"lux< 20","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.lightlevel_17","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"20","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,"x":470,"y":1760,"wires":[["202b7f9.2845d8"],[]]},{"id":"202b7f9.2845d8","type":"time-range-switch","z":"2838595f.c700c6","name":"Time check","lat":"53.000340","lon":"6.508430","startTime":"18:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":690,"y":1760,"wires":[["3bde1530.fbb762","30c2ae90.48b65a"],[]]},{"id":"30c2ae90.48b65a","type":"api-call-service","z":"2838595f.c700c6","name":"Zet Nachtlamp aan","server":"1d8e9a4c.b062a6","version":1,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.schakelaar","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1030,"y":1700,"wires":[[]]},{"id":"34de535a.b33bac","type":"debug","z":"2838595f.c700c6","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1040,"y":1780,"wires":[]},{"id":"f71c53d4.4638d","type":"comment","z":"2838595f.c700c6","name":"origineel","info":"","x":490,"y":1600,"wires":[]},{"id":"ec5644ff.8c79c8","type":"inject","z":"2838595f.c700c6","name":"18:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 18 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":440,"y":2020,"wires":[["57ac8138.763c7"]]},{"id":"57ac8138.763c7","type":"api-current-state","z":"2838595f.c700c6","name":"lux<20","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"20","halt_if_type":"num","halt_if_compare":"lt","override_topic":false,"entity_id":"sensor.lightlevel_17","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":650,"y":2020,"wires":[["c23f777b.5f0f4","8631a091.f0abd"],[]]},{"id":"eb128cb0.bee04","type":"debug","z":"2838595f.c700c6","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1260,"y":2180,"wires":[]},{"id":"a24ee697.45f818","type":"server-state-changed","z":"2838595f.c700c6","name":"lux< 20","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.lightlevel_17","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"20","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,"x":390,"y":2120,"wires":[["1e272ad9.c7636d"],[]]},{"id":"1e272ad9.c7636d","type":"time-range-switch","z":"2838595f.c700c6","name":"Time check","lat":"53.000340","lon":"6.508430","startTime":"18:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":590,"y":2160,"wires":[["eb128cb0.bee04","8631a091.f0abd"],[]]},{"id":"c46e93e8.30b2c","type":"api-call-service","z":"2838595f.c700c6","name":"Zet Nachtlamp aan","server":"1d8e9a4c.b062a6","version":1,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.schakelaar","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1250,"y":2000,"wires":[[]]},{"id":"c23f777b.5f0f4","type":"debug","z":"2838595f.c700c6","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1260,"y":2080,"wires":[]},{"id":"115d89ab.d92eae","type":"comment","z":"2838595f.c700c6","name":"boolean","info":"","x":450,"y":1920,"wires":[]},{"id":"8631a091.f0abd","type":"api-current-state","z":"2838595f.c700c6","name":"Check boolean","server":"7152f269.c6a12c","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.zolderlicht","state_type":"str","state_location":"payload","override_payload":"flow","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":920,"y":2000,"wires":[["c46e93e8.30b2c"],[]]},{"id":"32cbe27e.a930fe","type":"inject","z":"2838595f.c700c6","name":"18:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 18 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":440,"y":2320,"wires":[["8c99a5b9.5c78a8","ea2d1d93.d9693"]]},{"id":"8c99a5b9.5c78a8","type":"api-current-state","z":"2838595f.c700c6","name":"lux<20","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"20","halt_if_type":"num","halt_if_compare":"lt","override_topic":false,"entity_id":"sensor.lightlevel_17","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":610,"y":2380,"wires":[["831808d7.11d13","ea2d1d93.d9693","a7c772c8.2120e8"],[]]},{"id":"1806a57b.daad9b","type":"debug","z":"2838595f.c700c6","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1140,"y":2520,"wires":[]},{"id":"6fcfea74.e6ab44","type":"server-state-changed","z":"2838595f.c700c6","name":"lux< 20","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.lightlevel_17","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"20","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,"x":350,"y":2480,"wires":[["9e86feaf.7f2f68"],[]]},{"id":"9e86feaf.7f2f68","type":"time-range-switch","z":"2838595f.c700c6","name":"Time check","lat":"53.000340","lon":"6.508430","startTime":"18:00","endTime":"21:00","startOffset":0,"endOffset":0,"x":550,"y":2480,"wires":[["1806a57b.daad9b","ea2d1d93.d9693","a7c772c8.2120e8"],[]]},{"id":"68f66a4f.16b404","type":"api-call-service","z":"2838595f.c700c6","name":"Zet Nachtlamp aan","server":"1d8e9a4c.b062a6","version":1,"debugenabled":true,"service_domain":"switch","service":"turn_on","entityId":"switch.schakelaar","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1270,"y":2300,"wires":[[]]},{"id":"831808d7.11d13","type":"debug","z":"2838595f.c700c6","name":"licht aan","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1180,"y":2440,"wires":[]},{"id":"30b4583.93ebca8","type":"comment","z":"2838595f.c700c6","name":"traffic light","info":"","x":410,"y":2280,"wires":[]},{"id":"ea2d1d93.d9693","type":"traffic","z":"2838595f.c700c6","name":"","property_allow":"payload","filter_allow":"1","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"0","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":990,"y":2300,"wires":[["68f66a4f.16b404"]]},{"id":"a7c772c8.2120e8","type":"change","z":"2838595f.c700c6","name":"Stoplicht op rood","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":790,"y":2260,"wires":[["ea2d1d93.d9693"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"7152f269.c6a12c","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Hoi,

Ik ben mijn automations aan het overhevelen naar NodeRed. Hoe zou ik echter iets als dit vertalen naar nodeRed (lees; specifiek de function node om de juiste status weer te geven)

code:
1
2
3
4
5
action:
    - service: notify.mobile_app_iphone_se_qper
      data:
        title: 'Afvalinzameling'
        message: "Overmorgen wordt {{ states('sensor.afvalwijzer_day_after_tomorrow_formatted') }} opgehaald."


Als ik dit letterlijk overneem stuitert NR over de aanhalingstekens. Als ik die weglaat krijg ik de letterlijke tekst in de telegram message.. Hoe kan ik dit het beste aanvliegen?
@Koepert Ik format alles met een function node

JavaScript:
1
2
3
4
5
6
7
8
msg.payload = { 
    data: {
     'title':
       'Titel van je bericht',
     'message':
       'Inhoud van je bericht.' }};
msg.payload.service = 'iphone_stefan';
return msg;
lolgast schreef op zondag 24 januari 2021 @ 20:35:
@Koepert Ik format alles met een function node

JavaScript:
1
2
3
4
5
6
7
8
msg.payload = { 
    data: {
     'title':
       'Titel van je bericht',
     'message':
       'Inhoud van je bericht.' }};
msg.payload.service = 'iphone_stefan';
return msg;
Sorry my bad. Ongelukkig geformuleerd. Ik krijg de ‘State’ van de sensor niet goed vertaald. De rest lukt prima.Dus van dit: {{ states('sensor.afvalwijzer_day_after_tomorrow_formatted') }} naar: ‘Geen’ ‘GFT, PMD of wat dan ook. Dat krijg ik nog niet niet in mn bericht.

[Voor 10% gewijzigd door Koepert op 24-01-2021 21:17]

@Koepert
Ah! De enige manier om die data te gebruiken is door een current-state-node ervoor om het op te halen en daarin in te stellen dat de state wordt geplaatst in bijvoorbeeld msg.state en dan format je het bericht als volgt:
code:
1
2
3
4
5
6
7
8
msg.payload = { 
    data: {
     'title':
       'Titel van je bericht',
     'message':
       'Inhoud van je bericht. ' + msg.state }};
msg.payload.service = 'iphone_stefan';
return msg;

  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
Ik ben nieuw met Node-Red, wil ermee beginnen, ben niet nieuw met docker containers, heb er al een aantal draaien.

Ik heb docker op een losse debian installatie draaien en heb daarin ook Node-Red toegevoegd, alle containers start ik middels docker-compose. Wanneer ik de Node-Red container start zonder dat ik een volume koppel, werkt het prima, maar wanneer ik een volume koppel, dan blijft de Docker container maar herstarten. Ik heb dit niet met mijn andere containers, de volumes draai ik vanuit root of vanuit een gebruiker.

Wanneer ik de container vanuit de cli start krijg ik de volgende melding, wellicht dat iemand

> node-red-docker@1.2.7 start /usr/src/node-red
> node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

fs.js:114
throw err;
^

Error: EACCES: permission denied, copyfile '/usr/src/node-red/node_modules/node-red/settings.js' -> '/data/settings.js'
at Object.copyFileSync (fs.js:1728:3)
at copyFile (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:68:8)
at onFile (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:53:25)
at getStats (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:48:44)
at startCopy (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:38:10)
at handleFilterAndCopy (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:33:10)
at Object.copySync (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:26:10)
at Object.<anonymous> (/usr/src/node-red/node_modules/node-red/red.js:125:20)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-red-docker@1.2.7 start: `node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-red-docker@1.2.7 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
lolgast schreef op zondag 24 januari 2021 @ 20:35:
@Koepert Ik format alles met een function node

JavaScript:
1
2
3
4
5
6
7
8
msg.payload = { 
    data: {
     'title':
       'Titel van je bericht',
     'message':
       'Inhoud van je bericht.' }};
msg.payload.service = 'iphone_stefan';
return msg;
Kan ook met een template.
code:
1
[{"id":"c199e604.aa6b9","type":"template","z":"1c39e175.25a5df","name":"Battery msg","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Morgen wordt {{payload}} opgehaald. ","output":"str","x":770,"y":660,"wires":[["e8323f18.f95af"]]},{"id":"514868d4.fc03f","type":"inject","z":"1c39e175.25a5df","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 20 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":110,"y":660,"wires":[["8dbb3a52.200ae"]]},{"id":"8dbb3a52.200ae","type":"api-current-state","z":"1c39e175.25a5df","name":"Morgen afval?","server":"224924bb.3d06dc","version":1,"outputs":2,"halt_if":"None","halt_if_type":"str","halt_if_compare":"is_not","override_topic":false,"entity_id":"sensor.morgen","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":300,"y":660,"wires":[["d74be39b.a3c968"],[]]},{"id":"d74be39b.a3c968","type":"change","z":"1c39e175.25a5df","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"gft","fromt":"str","to":"groen","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"pmd","fromt":"str","to":"plastic","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":660,"wires":[["c199e604.aa6b9"]]},{"id":"e8323f18.f95af","type":"api-call-service","z":"1c39e175.25a5df","name":"notify mi10","server":"224924bb.3d06dc","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_mi_10_pro","entityId":"","data":"{\"title\":\"Afvalinzameling\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1010,"y":660,"wires":[[]]},{"id":"224924bb.3d06dc","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":false}]
@jenssen Lees dit even: https://nodered.org/docs/...or-persistence-bind-mount

En dan met name het stukje over rechten die op 1000:1000 moeten staan

  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
lolgast schreef op zondag 24 januari 2021 @ 22:01:
@jenssen Lees dit even: https://nodered.org/docs/...or-persistence-bind-mount

En dan met name het stukje over rechten die op 1000:1000 moeten staan
hartelijk bedankt voor de snelle reactie, op die pagina ben ik wel geweest, maar dan bij het Docker gedeelte, het werkt! nu aan de slag met Node-Red, nog niets mee gedaan, dus zal nog wel vaker terugkomen hier ;-)...
denuz schreef op zondag 24 januari 2021 @ 22:00:
[...]

Kan ook met een template.
code:
1
[{"id":"c199e604.aa6b9","type":"template","z":"1c39e175.25a5df","name":"Battery msg","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Morgen wordt {{payload}} opgehaald. ","output":"str","x":770,"y":660,"wires":[["e8323f18.f95af"]]},{"id":"514868d4.fc03f","type":"inject","z":"1c39e175.25a5df","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 20 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":110,"y":660,"wires":[["8dbb3a52.200ae"]]},{"id":"8dbb3a52.200ae","type":"api-current-state","z":"1c39e175.25a5df","name":"Morgen afval?","server":"224924bb.3d06dc","version":1,"outputs":2,"halt_if":"None","halt_if_type":"str","halt_if_compare":"is_not","override_topic":false,"entity_id":"sensor.morgen","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":300,"y":660,"wires":[["d74be39b.a3c968"],[]]},{"id":"d74be39b.a3c968","type":"change","z":"1c39e175.25a5df","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"gft","fromt":"str","to":"groen","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"pmd","fromt":"str","to":"plastic","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":660,"wires":[["c199e604.aa6b9"]]},{"id":"e8323f18.f95af","type":"api-call-service","z":"1c39e175.25a5df","name":"notify mi10","server":"224924bb.3d06dc","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_mi_10_pro","entityId":"","data":"{\"title\":\"Afvalinzameling\",\"message\":\"{{payload}}\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1010,"y":660,"wires":[[]]},{"id":"224924bb.3d06dc","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":false}]
Thx

Stel ik wil nu een message waar ik een reply op kan geven *dus bovenstaande als uitgangspunt: Reply ' ja container staat aan de straat" waarmee ik een inputboolean omzet, Dat heb ik nu met de volgende automation. Ik heb al iets geprobeerd maar voor mn gevoel ben ik daar dubbel bezig geweest.


YAML:
1
2
3
4
5
6
7
8
9
- alias: Afval - Bevestig notificatie
  trigger:
    platform: event
    event_type: ios.notification_action_fired
    event_data:
      actionName: MARK_WASTE_MOVED
  action:
    - service: input_boolean.turn_on
      entity_id: input_boolean.trash_moved


en de poging (met medicijnmelding) bevat dus een function die een inline keyboard met JaNee aanbiedt en via een sender en reaction node dit..denk ik verwerkt.. maar ik heb 2e lijn die het werk doet.. denk ik.. maar dit voelt omslachtig

JSON:
1
[{"id":"9de468e2.18559","type":"debug","z":"809aa730.579b5","name":"ja","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1170,"y":120,"wires":[]},{"id":"7fc5a876.fd6a5","type":"function","z":"809aa730.579b5","name":"Medicijnen gehad","func":"if(msg.payload.content === 'ja')\n{\n    return [msg, null];   \n}\nelse\n{\n    return [null, msg];   \n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":970,"y":100,"wires":[["bf8f6a38.b891b","9de468e2.18559","b2af9b8a.112068"]]},{"id":"bf8f6a38.b891b","type":"debug","z":"809aa730.579b5","name":"nee","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1170,"y":80,"wires":[]},{"id":"26f00c94.cb51f4","type":"telegram reply","z":"809aa730.579b5","name":"Reactie","bot":"159819d.8f1f366","x":760,"y":100,"wires":[["7fc5a876.fd6a5"]]},{"id":"159819d.8f1f366","type":"telegram bot","botname":"xx","usernames":"","chatids":"","baseapiurl":"","updatemode":"polling","pollinterval":"300","usesocks":false,"sockshost":"","socksport":"xx","socksusername":"anonymous","sockspassword":"","bothost":"","botpath":"","localbotport":"xx","publicbotport":"xx","privatekey":"","certificate":"","useselfsignedcertificate":false,"sslterminated":false,"verboselogging":false}]


+


JSON:
1
[{"id":"36f8bfe6.7070e8","type":"api-call-service","z":"809aa730.579b5","name":"Medicijnen gehad","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.medicijnen","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":630,"y":160,"wires":[["64254281.37e9b4"]]},{"id":"cd13367f.3bedb8","type":"telegram command","z":"809aa730.579b5","name":"Medicijnen trigger","command":"ja","bot":"159819d.8f1f366","strict":false,"hasresponse":true,"useregex":false,"removeregexcommand":false,"outputs":2,"x":150,"y":160,"wires":[["36f8bfe6.7070e8"],[]]},{"id":"6fce702.2c0d91","type":"telegram event","z":"809aa730.579b5","name":"Medicijnen gehad","bot":"159819d.8f1f366","event":"callback_query","autoanswer":false,"x":160,"y":220,"wires":[["36f8bfe6.7070e8","4f3bd291.45f3fc"]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"159819d.8f1f366","type":"telegram bot","botname":"xx","usernames":"","chatids":"","baseapiurl":"","updatemode":"polling","pollinterval":"300","usesocks":false,"sockshost":"","socksport":"xx","socksusername":"anonymous","sockspassword":"","bothost":"","botpath":"","localbotport":"xx","publicbotport":"xx","privatekey":"","certificate":"","useselfsignedcertificate":false,"sslterminated":false,"verboselogging":false}]


PS: Nog best lastig hier goed te filteren wat je ' niet wil delen' :P

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
Koepert schreef op maandag 25 januari 2021 @ 08:21:
[...]


Thx

Stel ik wil nu een message waar ik een reply op kan geven *dus bovenstaande als uitgangspunt: Reply ' ja container staat aan de straat" waarmee ik een inputboolean omzet, Dat heb ik nu met de volgende automation. Ik heb al iets geprobeerd maar voor mn gevoel ben ik daar dubbel bezig geweest.


YAML:
1
2
3
4
5
6
7
8
9
- alias: Afval - Bevestig notificatie
  trigger:
    platform: event
    event_type: ios.notification_action_fired
    event_data:
      actionName: MARK_WASTE_MOVED
  action:
    - service: input_boolean.turn_on
      entity_id: input_boolean.trash_moved
Heb je deze automation nog in HA staan?

code:
1
`[{"id":"fa5207f1.caf128","type":"template","z":"2838595f.c700c6","name":"message","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Morgen wordt {{payload}} opgehaald. ","output":"str","x":840,"y":720,"wires":[["3accd732.cb51a8"]]},{"id":"fe28d393.0f57b","type":"inject","z":"2838595f.c700c6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 20 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":190,"y":720,"wires":[["b53d3c2.66e8a4"]]},{"id":"b53d3c2.66e8a4","type":"api-current-state","z":"2838595f.c700c6","name":"Morgen afval?","server":"224924bb.3d06dc","version":1,"outputs":2,"halt_if":"None","halt_if_type":"str","halt_if_compare":"is_not","override_topic":false,"entity_id":"sensor.morgen","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":380,"y":720,"wires":[["662d8fda.95d8f"],[]]},{"id":"662d8fda.95d8f","type":"change","z":"2838595f.c700c6","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"gft","fromt":"str","to":"groen","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"pmd","fromt":"str","to":"plastic","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":720,"wires":[["fa5207f1.caf128"]]},{"id":"3accd732.cb51a8","type":"api-call-service","z":"2838595f.c700c6","name":"notify mi10","server":"224924bb.3d06dc","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_mi_10_pro","entityId":"","data":"{\"title\":\"Afvalinzameling\",\"message\":\"{{payload}}\",\"tag\":\"afvalnotificatie\",\"color\":\"white\",\"sticky\":true,\"channel\":\"General\",\"importance\":\"max\",\"vibrationPattern\":\"1000 , 100 , 1000, 100\",\"ledColor\":\"green\",\"persistent\":true,\"icon_url\":\"https://cdn2.iconfinder.com/data/icons/rounded-white-basic-ui-set-3/139/Time_10oclock-RoundedWhite-512.png\",\"actions\":[{\"action\":\"Afval weggezet\",\"title\":\"Done\"},{\"action\":\"Reminder 60 minuten\",\"title\":\"60 min reminder\"},{\"timeout\":6000}]}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1090,"y":720,"wires":[[]]},{"id":"94d0ce23.2fab9","type":"server-events","z":"2838595f.c700c6","name":"","server":"224924bb.3d06dc","event_type":"mobile_app_notification_action","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"x":190,"y":920,"wires":[["bdb2f59d.db477"]]},{"id":"bdb2f59d.db477","type":"switch","z":"2838595f.c700c6","name":"","property":"payload.event.action","propertyType":"msg","rules":[{"t":"eq","v":"Afval weggezet","vt":"str"},{"t":"eq","v":"Reminder 60 minuten","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":470,"y":920,"wires":[["ad7e06e3.5785d","1eac0fc6.bb0c2"],["ad7e06e3.5785d","bd78bbb.50e1ec8"]]},{"id":"ad7e06e3.5785d","type":"api-call-service","z":"2838595f.c700c6","name":"mobile_app_mi_10_pro","server":"224924bb.3d06dc","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_mi_10_pro","entityId":"","data":"{\"message\":\"clear_notification\",\"data\":{\"tag\":\"afvalnotificatie\"}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1130,"y":820,"wires":[[]]},{"id":"1eac0fc6.bb0c2","type":"debug","z":"2838595f.c700c6","name":"weggezet; switch boolean","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1090,"y":920,"wires":[]},{"id":"bd78bbb.50e1ec8","type":"delay","z":"2838595f.c700c6","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":490,"y":820,"wires":[["b53d3c2.66e8a4"]]},{"id":"224924bb.3d06dc","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":false}]


Ik heb zoiets draaien. Check de notify node, daar staan nu wat extra opties in. Ik heb 1 notifiy node met bijna alle opties, als ik dan een flow maak pak ik deze en dan verwijder ik wat niet nodig is.
en de poging (met medicijnmelding) bevat dus een function die een inline keyboard met JaNee aanbiedt en via een sender en reaction node dit..denk ik verwerkt.. maar ik heb 2e lijn die het werk doet.. denk ik.. maar dit voelt omslachtig

JSON:
1
weggehaald


+


JSON:
1
weggehaald
Ik ben laatste tijd ook even wat bezig geweest met inline keyboard van telegram. Heb nu dit werkend:
code:
1
[{"id":"89d12985.449de8","type":"telegram sender","z":"2838595f.c700c6","name":"sender node telegram","bot":"","haserroroutput":false,"outputs":1,"x":1080,"y":1300,"wires":[[]]},{"id":"11955fdc.55b64","type":"function","z":"2838595f.c700c6","name":"build keyboard","func":"var opts = {\n  reply_markup: JSON.stringify({\n    keyboard: [\n      ['Nacht'],\n      ['Thuis'],\n      ['Nee'],\n      ['Meer']\n      ],\n      'resize_keyboard' : true, \n      'one_time_keyboard' : true\n  })\n};\n\n\nmsg.error = false;\n// Dialogaufbau\nmsg.payload.content = 'Alarm aan?';\nmsg.payload.options = opts;\n\n\nmsg.payload.chatId = ####chatID;\nmsg.payload.messageId = 99;\nmsg.payload.sentMessageId = 99;\nmsg.payload.type = \"message\";\n\nreturn [ msg ];\n","outputs":"1","noerr":8,"initialize":"","finalize":"","x":760,"y":1240,"wires":[["89d12985.449de8","a52c0791.997bb8"]]},{"id":"a52c0791.997bb8","type":"debug","z":"2838595f.c700c6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1070,"y":1180,"wires":[]},{"id":"9f7ea030.85dd28","type":"change","z":"2838595f.c700c6","name":"set content","rules":[{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"},{"t":"move","p":"payload","pt":"msg","to":"payload.content","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":1240,"wires":[["11955fdc.55b64"]]},{"id":"32bde816.2cccc8","type":"inject","z":"2838595f.c700c6","name":"","props":[{"p":"payload.content","v":"","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":230,"y":1240,"wires":[["9f7ea030.85dd28"]]},{"id":"8a9193d4.5d815","type":"telegram receiver","z":"2838595f.c700c6","name":"receiver node telegram","bot":"","saveDataDir":"","filterCommands":false,"x":300,"y":1360,"wires":[["64247081.44cbd8"],[]]},{"id":"64247081.44cbd8","type":"switch","z":"2838595f.c700c6","name":"","property":"payload.content","propertyType":"msg","rules":[{"t":"eq","v":"Nacht","vt":"str"},{"t":"eq","v":"Thuis","vt":"str"},{"t":"eq","v":"Nee","vt":"str"},{"t":"eq","v":"Meer","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":590,"y":1360,"wires":[[],[],[],[]]}]
PS: Nog best lastig hier goed te filteren wat je ' niet wil delen' :P
Altijd opletten ja, ik vind de extra configuraties die je krijgt als een flow importeert knap irritant. Heb nu net een gratis telegram bot gekregen met xx :) en natuurlijk nog een HA server.
denuz schreef op maandag 25 januari 2021 @ 12:00:
[...]


Heb je deze automation nog in HA staan?

code:
1
`[{"id":"fa5207f1.caf128","type":"template","z":"2838595f.c700c6","name":"message","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Morgen wordt {{payload}} opgehaald. ","output":"str","x":840,"y":720,"wires":[["3accd732.cb51a8"]]},{"id":"fe28d393.0f57b","type":"inject","z":"2838595f.c700c6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 20 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":190,"y":720,"wires":[["b53d3c2.66e8a4"]]},{"id":"b53d3c2.66e8a4","type":"api-current-state","z":"2838595f.c700c6","name":"Morgen afval?","server":"224924bb.3d06dc","version":1,"outputs":2,"halt_if":"None","halt_if_type":"str","halt_if_compare":"is_not","override_topic":false,"entity_id":"sensor.morgen","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":380,"y":720,"wires":[["662d8fda.95d8f"],[]]},{"id":"662d8fda.95d8f","type":"change","z":"2838595f.c700c6","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"gft","fromt":"str","to":"groen","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"pmd","fromt":"str","to":"plastic","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":720,"wires":[["fa5207f1.caf128"]]},{"id":"3accd732.cb51a8","type":"api-call-service","z":"2838595f.c700c6","name":"notify mi10","server":"224924bb.3d06dc","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_mi_10_pro","entityId":"","data":"{\"title\":\"Afvalinzameling\",\"message\":\"{{payload}}\",\"tag\":\"afvalnotificatie\",\"color\":\"white\",\"sticky\":true,\"channel\":\"General\",\"importance\":\"max\",\"vibrationPattern\":\"1000 , 100 , 1000, 100\",\"ledColor\":\"green\",\"persistent\":true,\"icon_url\":\"https://cdn2.iconfinder.com/data/icons/rounded-white-basic-ui-set-3/139/Time_10oclock-RoundedWhite-512.png\",\"actions\":[{\"action\":\"Afval weggezet\",\"title\":\"Done\"},{\"action\":\"Reminder 60 minuten\",\"title\":\"60 min reminder\"},{\"timeout\":6000}]}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1090,"y":720,"wires":[[]]},{"id":"94d0ce23.2fab9","type":"server-events","z":"2838595f.c700c6","name":"","server":"224924bb.3d06dc","event_type":"mobile_app_notification_action","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"x":190,"y":920,"wires":[["bdb2f59d.db477"]]},{"id":"bdb2f59d.db477","type":"switch","z":"2838595f.c700c6","name":"","property":"payload.event.action","propertyType":"msg","rules":[{"t":"eq","v":"Afval weggezet","vt":"str"},{"t":"eq","v":"Reminder 60 minuten","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":470,"y":920,"wires":[["ad7e06e3.5785d","1eac0fc6.bb0c2"],["ad7e06e3.5785d","bd78bbb.50e1ec8"]]},{"id":"ad7e06e3.5785d","type":"api-call-service","z":"2838595f.c700c6","name":"mobile_app_mi_10_pro","server":"224924bb.3d06dc","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_mi_10_pro","entityId":"","data":"{\"message\":\"clear_notification\",\"data\":{\"tag\":\"afvalnotificatie\"}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1130,"y":820,"wires":[[]]},{"id":"1eac0fc6.bb0c2","type":"debug","z":"2838595f.c700c6","name":"weggezet; switch boolean","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1090,"y":920,"wires":[]},{"id":"bd78bbb.50e1ec8","type":"delay","z":"2838595f.c700c6","name":"","pauseType":"delay","timeout":"60","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":490,"y":820,"wires":[["b53d3c2.66e8a4"]]},{"id":"224924bb.3d06dc","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":false}]


Ik heb zoiets draaien. Check de notify node, daar staan nu wat extra opties in. Ik heb 1 notifiy node met bijna alle opties, als ik dan een flow maak pak ik deze en dan verwijder ik wat niet nodig is.


[...]

Ik ben laatste tijd ook even wat bezig geweest met inline keyboard van telegram. Heb nu dit werkend:
code:
1
[{"id":"89d12985.449de8","type":"telegram sender","z":"2838595f.c700c6","name":"sender node telegram","bot":"","haserroroutput":false,"outputs":1,"x":1080,"y":1300,"wires":[[]]},{"id":"11955fdc.55b64","type":"function","z":"2838595f.c700c6","name":"build keyboard","func":"var opts = {\n  reply_markup: JSON.stringify({\n    keyboard: [\n      ['Nacht'],\n      ['Thuis'],\n      ['Nee'],\n      ['Meer']\n      ],\n      'resize_keyboard' : true, \n      'one_time_keyboard' : true\n  })\n};\n\n\nmsg.error = false;\n// Dialogaufbau\nmsg.payload.content = 'Alarm aan?';\nmsg.payload.options = opts;\n\n\nmsg.payload.chatId = ####chatID;\nmsg.payload.messageId = 99;\nmsg.payload.sentMessageId = 99;\nmsg.payload.type = \"message\";\n\nreturn [ msg ];\n","outputs":"1","noerr":8,"initialize":"","finalize":"","x":760,"y":1240,"wires":[["89d12985.449de8","a52c0791.997bb8"]]},{"id":"a52c0791.997bb8","type":"debug","z":"2838595f.c700c6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1070,"y":1180,"wires":[]},{"id":"9f7ea030.85dd28","type":"change","z":"2838595f.c700c6","name":"set content","rules":[{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"},{"t":"move","p":"payload","pt":"msg","to":"payload.content","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":1240,"wires":[["11955fdc.55b64"]]},{"id":"32bde816.2cccc8","type":"inject","z":"2838595f.c700c6","name":"","props":[{"p":"payload.content","v":"","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":230,"y":1240,"wires":[["9f7ea030.85dd28"]]},{"id":"8a9193d4.5d815","type":"telegram receiver","z":"2838595f.c700c6","name":"receiver node telegram","bot":"","saveDataDir":"","filterCommands":false,"x":300,"y":1360,"wires":[["64247081.44cbd8"],[]]},{"id":"64247081.44cbd8","type":"switch","z":"2838595f.c700c6","name":"","property":"payload.content","propertyType":"msg","rules":[{"t":"eq","v":"Nacht","vt":"str"},{"t":"eq","v":"Thuis","vt":"str"},{"t":"eq","v":"Nee","vt":"str"},{"t":"eq","v":"Meer","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":590,"y":1360,"wires":[[],[],[],[]]}]



[...]

Altijd opletten ja, ik vind de extra configuraties die je krijgt als een flow importeert knap irritant. Heb nu net een gratis telegram bot gekregen met xx :) en natuurlijk nog een HA server.
Ik krijg een API error op die notify, kan dat zijn omdat ik iOS heb?? Heb uiteraard entity, server etc aangepast, inhoud ook leger gehaald.

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
Koepert schreef op maandag 25 januari 2021 @ 13:31:
[...]


Ik krijg een API error op die notify, kan dat zijn omdat ik iOS heb?? Heb uiteraard entity, server etc aangepast, inhoud ook leger gehaald.
Ja zeker. Er zitten wat verschillen tussen android en iOS op gebied van de app. Zie hier meer info.

Ik heb die pagina ook gebruikt als naslag. De voorbeelden d.m.v een online YAML to JSON converter in node-red gezet ipv HA.
denuz schreef op maandag 25 januari 2021 @ 14:04:
[...]

Ja zeker. Er zitten wat verschillen tussen android en iOS op gebied van de app. Zie hier meer info.

Ik heb die pagina ook gebruikt als naslag. De voorbeelden d.m.v een online YAML to JSON converter in node-red gezet ipv HA.
Dan moet k me daar eens in verdiepen.. Heb t nu werkend op basis van HA, dat in 1 NodeRed flow te verwerken is ff doorpuzzelen :P

  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
Even een praktische vraag, ik heb Node-Red aan Domoticz gekoppeld middels MQTT, ik vraag me even af hoe de meeste hun integraties/acties doen (middels MQTT en/of HTTP/JSON hoe/waarom).

Lees je een waarde van een switch in Domoticz uit door middel van MQTT, of gebruik je dan een HTTP/JSON request? Mij lijkt het dat je MQTT gebruikt op een moment dat je wilt reageren op een verandering van de waarde van de switch, omdat die waarde dan middels MQTT wordt doorgegeven en kan worden opgepakt door Node Red. Met HTTP/JSON moet je anders bijvoorbeeld elke 5 seconden "pollen" om te kijken of de waarde is veranderd.

Wanneer je binnen Node Red op een bepaald tijdstip iets wilt laten uitvoeren, waarbij er tevens de afhankelijkheid is van een stand van een switch binnen Domoticz, dan lijkt het me weer logischer om gebruik te maken van HTTP/JSON request, omdat je op dat tijdstip de waarde van de betreffende switch wilt weten en dit doet d.m.v. een HTTP/JSON request.

Domoticz zal middels MQQT namelijk enkel de stand van een device doorgeven wanneer iets wijzigt. Alternatief is om de laatste stand van de switch op te slaan binnen Node Red, maar dat lijkt me weer omslachtig.

In feite ook voor het aanpassen vanuit Node Red van een waarde van een switch of bijvoorbeeld temperatuur in Domoticz, dat kan via HTTP/JSON, maar ook via MQTT. Ik zie daar niet veel verschil buiten dat je MQTT natuurlijk kan uitlezen op alle devices die eventueel aan MQTT gekoppeld zitten.

Dus kort, mij lijkt binnenkomend reageren op veranderingen in Domoticz, daarvoor gebruik je MQTT, voor de laatste stand van een device binnen Domoticz op een bepaald moment HTTP/JSON. Voor uitgaan zou beide kunnen.

Hoe doen jullie dit/hoe kijken jullie hier tegenaan?

Mvg

[Voor 17% gewijzigd door jenssen op 26-01-2021 12:51]

MQTT is niet gemaakt om statussen uit te lezen. MQTT is gemaakt om te publiceren/luisteren.

Als je de status wilt uitlezen zul je dus inderdaad óf de waarde binnen NR moeten opslaan in global/flow variabele of hem uit Domoticz moeten halen. Ik gebruik Home Assistant en haal op die manier de waarde op. Bijvoorbeeld bij lampen die ik wil togglen met een wandschakelaar.

Zoiets dus

[Voor 9% gewijzigd door lolgast op 26-01-2021 13:04]


  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
lolgast schreef op dinsdag 26 januari 2021 @ 13:00:
MQTT is niet gemaakt om statussen uit te lezen. MQTT is gemaakt om te publiceren/luisteren.

Als je de status wilt uitlezen zul je dus inderdaad óf de waarde binnen NR moeten opslaan in global/flow variabele of hem uit Domoticz moeten halen. Ik gebruik Home Assistant en haal op die manier de waarde op. Bijvoorbeeld bij lampen die ik wil togglen met een wandschakelaar.

Zoiets dus
[Afbeelding]
Voor mij niet duidelijk wat je precies bedoelt met " Ik gebruik Home Assistant en haal op die manier de waarde op". Is dat via een integratie tussen Node Red en Home Assistant die gemaakt is of welke manier?

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
jenssen schreef op dinsdag 26 januari 2021 @ 14:00:
[...]


Voor mij niet duidelijk wat je precies bedoelt met " Ik gebruik Home Assistant en haal op die manier de waarde op". Is dat via een integratie tussen Node Red en Home Assistant die gemaakt is of welke manier?
Node-red kan direct koppelen met HA. Via deze flows.

De devices die je in HA beschikbaar hebt heb je dan ook in Node-red.
Als je nog bezig bent met domoticz zou mijn advies zijn om over te stappen op Home Assistant ( dat zeg ik als oud gebruiker van Domoticz. De ontwikkeling van domoticz en Home Assistant is niet te vergelijken. Achter HA zit een heel team (nabu casa) en een enorme community).

Zeker als je automations al via node-red lopen dan is overstappen prima te doen.

Dus in jouw specifieke geval kun je (als je overstapt) de devices die je ;
in HA hebt, maar niet via MQTT lopen; via de HA integratie benaderen
via MQTT lopen 1: via MQTT in node-red laten lopen, of via de HA integratie.

Zoals je nu met domoticz doet lijkt me dat prima.
Acteren op een wijziging van event --> mqtt.
Waarde uitlezen via http/json.

[Voor 16% gewijzigd door denuz op 26-01-2021 15:18]


  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
denuz schreef op dinsdag 26 januari 2021 @ 15:11:
[...]


Node-red kan direct koppelen met HA. Via deze flows.

De devices die je in HA beschikbaar hebt heb je dan ook in Node-red.
Als je nog bezig bent met domoticz zou mijn advies zijn om over te stappen op Home Assistant ( dat zeg ik als oud gebruiker van Domoticz. De ontwikkeling van domoticz en Home Assistant is niet te vergelijken. Achter HA zit een heel team (nabu casa) en een enorme community).

Zeker als je automations al via node-red lopen dan is overstappen prima te doen.

Dus in jouw specifieke geval kun je (als je overstapt) de devices die je ;
in HA hebt, maar niet via MQTT lopen; via de HA integratie benaderen
via MQTT lopen 1: via MQTT in node-red laten lopen, of via de HA integratie.

Zoals je nu met domoticz doet lijkt me dat prima.
Acteren op een wijziging van event --> mqtt.
Waarde uitlezen via http/json.
Duidelijk, bedankt, zal eerst eens verder met Node Red aan de gang gaan, dan kijk ik later wel of ik wil overstappen naar HA.

  • ericplan
  • Registratie: mei 2006
  • Laatst online: 19:25

ericplan

5180 Wp PV

Net begonnen aan Node Red, dus wat aanloopproblemen. Ik probeer een modbus-device uit te lezen waaraan een aantal kWh-meters gekoppeld zijn. Technisch werkt het allemaal. Met het programma Modpoll kan ik de juiste registers uitlezen, ook de dubbele registers.
Maar met Node Red lukt het me niet twee 16 bits registers (unsigned Big Endian) te combineren tot 1 32 bit getal. Het het geprobeerd met een functie en ook met de Node Red Buffer parser. https://discourse.nodered...uffer-parser-v3-1-2/25879

Zal wel iets fout doen. Iemand een tip?

Dit staat nu in m'n debug window:
29/01/2021, 17:41:00 node: a8342883.f0d89
polling : msg.payload : array[2]
[ 46, 22312 ]

ZonPHP PVOutput

N' avond. Ik begrijp iets niet goed denk ik.. maar ik heb n flow voor mn keukenlampen (3 hue spots, groep: light.lampen_keuken)

JSON:
1
[{"id":"33cee76c.edf79","type":"switch","z":"6dc72dfa.49a6dc","name":"Switch","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":310,"y":1040,"wires":[["31d3db5e.2a6a74"],["1584ad51.5ca4c3"]]},{"id":"f19a0a29.c66788","type":"api-call-service","z":"6dc72dfa.49a6dc","name":"Keukenlampen uit","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.lampen_keuken","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":770,"y":1080,"wires":[[]]},{"id":"1aa1106f.fd9ae","type":"server-state-changed","z":"6dc72dfa.49a6dc","name":"Beweging Keuken","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_9","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,"x":110,"y":1040,"wires":[["33cee76c.edf79"]]},{"id":"1584ad51.5ca4c3","type":"delay","z":"6dc72dfa.49a6dc","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":480,"y":1080,"wires":[["f19a0a29.c66788"]]},{"id":"31d3db5e.2a6a74","type":"api-current-state","z":"6dc72dfa.49a6dc","name":"Check Bewegingswitch","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.beweging","state_type":"str","state_location":"payload","override_payload":"flow","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":530,"y":1020,"wires":[["7ebe3cc3.6acf8c"],[]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Achter de "Check bewegingsensor" zit uiteraard de ' lamp aan' .. Maar als ik nu enige tijd in de keuken loop, gaat de lamp uit. Dus er is geen ' reset' van de timer doordat er beweging blijft plaatsvinden lijkt het wel.

Hoe kan ik dit aanpassen?

Wens:

- Beweging in de keuken? Staat de input boolean aan? Zet de Lampen aan.

- Geen beweging meer in de keuken? Wacht 5 minuten, zet de lampen uit.

  • AUijtdehaag
  • Registratie: oktober 2006
  • Niet online
@ericplan
Wilde gok, maar heb je hier niets aan?
http://domoticx.com/node-...odbus-kwh-meter-uitlezen/
YouTube: Eastron SDM120 single phase modbus energy meter

[Voor 29% gewijzigd door AUijtdehaag op 29-01-2021 17:51]

PV Output - Panasonic Hit Kuro Zuid / Solar Frontier Noord- 5 kW Mitsubsidie WP - Aton powerrr to heat


  • frk123
  • Registratie: september 2008
  • Laatst online: 05-06 17:12
Hoi,

Nadat ik een co2 gestuurde, zone ventilatie via blocky heb gebouwd ben ik nu dit aan het verbeteren. Gizz heeft mij al een eind op weg geholpen.

Ik Loop nu allen tegen de uitdaging aan dat ik domoticz via domoticz/in topic sensor informatie wil omzetten naar acties. Ik kan alleen de informatie die ik wil gebruiken om te sturen/scahkelen niet filteren.

Hierdoor krijg ik een “ loop “ waardoor mijn 3 zone kleppen aangestuurd blijven worden. Ik heb nu 2 vragen:
1) Hoe filter ik in node red een bepaalde idx uit die Domoticz gebruikt om een specifiek device te selecteren voor de flow er achter?
2) hoe zorg ik ervoor dat als hij al is aan gezet hij na een minuut niet opnieuw wordt aangezet. ( ik wil de sensor informatie per minuut gaan ophalen) dit loopt via een bash script in domoticz waar hij de info ophaalt bij netatmo, nu per 10 minuten).

Alle advies is welkom

Yep, i am a newbee

Groet, Andre

  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
frk123 schreef op vrijdag 29 januari 2021 @ 18:54:
Hoi,

Nadat ik een co2 gestuurde, zone ventilatie via blocky heb gebouwd ben ik nu dit aan het verbeteren. Gizz heeft mij al een eind op weg geholpen.

Ik Loop nu allen tegen de uitdaging aan dat ik domoticz via domoticz/in topic sensor informatie wil omzetten naar acties. Ik kan alleen de informatie die ik wil gebruiken om te sturen/scahkelen niet filteren.

Hierdoor krijg ik een “ loop “ waardoor mijn 3 zone kleppen aangestuurd blijven worden. Ik heb nu 2 vragen:
1) Hoe filter ik in node red een bepaalde idx uit die Domoticz gebruikt om een specifiek device te selecteren voor de flow er achter?
2) hoe zorg ik ervoor dat als hij al is aan gezet hij na een minuut niet opnieuw wordt aangezet. ( ik wil de sensor informatie per minuut gaan ophalen) dit loopt via een bash script in domoticz waar hij de info ophaalt bij netatmo, nu per 10 minuten).

Alle advies is welkom

Yep, i am a newbee

Groet, Andre
Ik werk er net een dag of vijf mee, maar antwoord op vraag 1 weet ik, dit doe je door een switch te koppelen, het veld bij property te wijzigen in msg.payload.idx, dan in het veld eronder bij het invoerveld met az erin het juiste id invullen

  • denuz
  • Registratie: augustus 2006
  • Laatst online: 15:14
Koepert schreef op vrijdag 29 januari 2021 @ 17:44:
N' avond. Ik begrijp iets niet goed denk ik.. maar ik heb n flow voor mn keukenlampen (3 hue spots, groep: light.lampen_keuken)

JSON:
1
[{"id":"33cee76c.edf79","type":"switch","z":"6dc72dfa.49a6dc","name":"Switch","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":310,"y":1040,"wires":[["31d3db5e.2a6a74"],["1584ad51.5ca4c3"]]},{"id":"f19a0a29.c66788","type":"api-call-service","z":"6dc72dfa.49a6dc","name":"Keukenlampen uit","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.lampen_keuken","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":770,"y":1080,"wires":[[]]},{"id":"1aa1106f.fd9ae","type":"server-state-changed","z":"6dc72dfa.49a6dc","name":"Beweging Keuken","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_9","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,"x":110,"y":1040,"wires":[["33cee76c.edf79"]]},{"id":"1584ad51.5ca4c3","type":"delay","z":"6dc72dfa.49a6dc","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":480,"y":1080,"wires":[["f19a0a29.c66788"]]},{"id":"31d3db5e.2a6a74","type":"api-current-state","z":"6dc72dfa.49a6dc","name":"Check Bewegingswitch","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.beweging","state_type":"str","state_location":"payload","override_payload":"flow","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":530,"y":1020,"wires":[["7ebe3cc3.6acf8c"],[]]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]


Achter de "Check bewegingsensor" zit uiteraard de ' lamp aan' .. Maar als ik nu enige tijd in de keuken loop, gaat de lamp uit. Dus er is geen ' reset' van de timer doordat er beweging blijft plaatsvinden lijkt het wel.

Hoe kan ik dit aanpassen?

Wens:

- Beweging in de keuken? Staat de input boolean aan? Zet de Lampen aan.

- Geen beweging meer in de keuken? Wacht 5 minuten, zet de lampen uit.
Ik doe dit op 2 manieren.

Ofwel dmv een trigger node. Of door de events node op te geven dat er 5 minuten geen beweging is.

code:
1
[{"id":"33cee76c.edf79","type":"switch","z":"e96488bf.c4fd6","name":"Switch","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":470,"y":220,"wires":[["31d3db5e.2a6a74","a46b7927.4405d"],["a46b7927.4405d"]]},{"id":"f19a0a29.c66788","type":"api-call-service","z":"e96488bf.c4fd6","name":"Keukenlampen uit","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.lampen_keuken","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":930,"y":280,"wires":[[]]},{"id":"1aa1106f.fd9ae","type":"server-state-changed","z":"e96488bf.c4fd6","name":"Beweging Keuken","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_9","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,"x":250,"y":220,"wires":[["33cee76c.edf79"]]},{"id":"31d3db5e.2a6a74","type":"api-current-state","z":"e96488bf.c4fd6","name":"Check Bewegingswitch","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.beweging","state_type":"str","state_location":"payload","override_payload":"flow","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":700,"y":180,"wires":[[],[]]},{"id":"4396418e.83328","type":"server-state-changed","z":"e96488bf.c4fd6","name":"Beweging Keuken","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_9","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"off","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"5","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":250,"y":540,"wires":[["e15b7c62.5d94a"],[]]},{"id":"e15b7c62.5d94a","type":"api-call-service","z":"e96488bf.c4fd6","name":"Keukenlampen uit","server":"1d8e9a4c.b062a6","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"light.lampen_keuken","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":910,"y":540,"wires":[[]]},{"id":"78b8d772.bffe68","type":"server-state-changed","z":"e96488bf.c4fd6","name":"Beweging Keuken","server":"1d8e9a4c.b062a6","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.presence_9","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,"x":250,"y":480,"wires":[["63e9ab62.abbdac"],[]]},{"id":"63e9ab62.abbdac","type":"api-current-state","z":"e96488bf.c4fd6","name":"Check Bewegingswitch","server":"1d8e9a4c.b062a6","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.beweging","state_type":"str","state_location":"payload","override_payload":"flow","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":680,"y":460,"wires":[[],[]]},{"id":"a46b7927.4405d","type":"trigger","z":"e96488bf.c4fd6","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"on","bytopic":"all","topic":"topic","outputs":1,"x":660,"y":280,"wires":[["f19a0a29.c66788"]]},{"id":"5472e61c.ac3c68","type":"comment","z":"e96488bf.c4fd6","name":"= off for 5 minutes","info":"","x":260,"y":600,"wires":[]},{"id":"623afe02.5fbc9","type":"comment","z":"e96488bf.c4fd6","name":"= off for 5 minutes","info":"","x":670,"y":320,"wires":[]},{"id":"1d8e9a4c.b062a6","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
frk123 schreef op vrijdag 29 januari 2021 @ 18:54:
Hoi,

Nadat ik een co2 gestuurde, zone ventilatie via blocky heb gebouwd ben ik nu dit aan het verbeteren. Gizz heeft mij al een eind op weg geholpen.

Ik Loop nu allen tegen de uitdaging aan dat ik domoticz via domoticz/in topic sensor informatie wil omzetten naar acties. Ik kan alleen de informatie die ik wil gebruiken om te sturen/scahkelen niet filteren.

Hierdoor krijg ik een “ loop “ waardoor mijn 3 zone kleppen aangestuurd blijven worden. Ik heb nu 2 vragen:
1) Hoe filter ik in node red een bepaalde idx uit die Domoticz gebruikt om een specifiek device te selecteren voor de flow er achter?
2) hoe zorg ik ervoor dat als hij al is aan gezet hij na een minuut niet opnieuw wordt aangezet. ( ik wil de sensor informatie per minuut gaan ophalen) dit loopt via een bash script in domoticz waar hij de info ophaalt bij netatmo, nu per 10 minuten).

Alle advies is welkom

Yep, i am a newbee

Groet, Andre
2); kan je niet checken of de ventilatie al aan staat? Als dat niet kan, dan kan je een global/flow variabele gebruiken. Dan kun je de global.3zoneklep op true zetten als je deze schakelt. Vervolgens lees je de global uit voordat je schakelt.

[Voor 7% gewijzigd door denuz op 29-01-2021 23:22]


  • tingbrouwer
  • Registratie: augustus 2013
  • Laatst online: 15:35
Hoi Allen,

Ik lees al geruime tijd mee en heb al het nodige hier opgeschoken.

Nu wil ik graag onderstaande weergegevens verwerken in verschillende objecten, echter lukt dat niet.
(in debug 1 tekenreeks waar ik niet verder mee kan)

Ik heb de change-node geprobeerd om er objecten van te maken, loop nu een beetje vast, kan iemand me een tip geven hoe dit aan te pakken. alvast dank.


BOF

$stationDate = "30-01-2021";
$stationTime = "11:05";

$tempUnit = "°C";
$humUnit = "%";
$barUnit = "mb";
$rainUnit = "mm";
$rateUnit = "mm/hr";
$windUnit = "km/h";

$sunriseTime = "08:21";
$sunsetTime = "17:21";

$outsideTemp = "0,9";
$hiOutsideTemp = "1,1";
$lowOutsideTemp = "-0,4";

EOF

  • Step5
  • Registratie: oktober 2011
  • Laatst online: 17:22
ericplan schreef op vrijdag 29 januari 2021 @ 17:44:
Net begonnen aan Node Red, dus wat aanloopproblemen. Ik probeer een modbus-device uit te lezen waaraan een aantal kWh-meters gekoppeld zijn. Technisch werkt het allemaal. Met het programma Modpoll kan ik de juiste registers uitlezen, ook de dubbele registers.
Maar met Node Red lukt het me niet twee 16 bits registers (unsigned Big Endian) te combineren tot 1 32 bit getal. Het het geprobeerd met een functie en ook met de Node Red Buffer parser. https://discourse.nodered...uffer-parser-v3-1-2/25879

Zal wel iets fout doen. Iemand een tip?

Dit staat nu in m'n debug window:
29/01/2021, 17:41:00 node: a8342883.f0d89
polling : msg.payload : array[2]
[ 46, 22312 ]
Interessant node, kende ik niet. Maar ik zie daar ook niet zo snel in hoe je 2 variabelen tot 1 maakt eigenlijk.

Ik denk dat je zelf in een functie node met bits moet gaan schuiven, bijvoorbeeld
JavaScript:
1
2
3
4
5
// swap bytes (16-bits)
var1 = (var1 << 8) | var1 >>>  8)) & 0xFFFF;

// 'plak' twee 16-bits waarden aan elkaar
var32bits = (( var1 & 0xFFFF) << 16) | (var2 & 0xFFFF);

  • ericplan
  • Registratie: mei 2006
  • Laatst online: 19:25

ericplan

5180 Wp PV

Step5 schreef op zaterdag 30 januari 2021 @ 14:05:
[...]


Interessant node, kende ik niet. Maar ik zie daar ook niet zo snel in hoe je 2 variabelen tot 1 maakt eigenlijk.

Ik denk dat je zelf in een functie node met bits moet gaan schuiven, bijvoorbeeld
JavaScript:
1
2
3
4
5
// swap bytes (16-bits)
var1 = (var1 << 8) | var1 >>>  8)) & 0xFFFF;

// 'plak' twee 16-bits waarden aan elkaar
var32bits = (( var1 & 0xFFFF) << 16) | (var2 & 0xFFFF);
Ik heb het werkend, inmiddels. Node Red heeft een aardig steile leercurve :o
De S0-converter werkt met een aantal dubbele registers, schijnt vrij gebruikelijk te zijn bij Modbus. Het omrekenen gaat als volgt:
Ex: Counter S01 High = 13. Counter S01 Low = 60383 13 x 65536 + 60383 = 912351 = 912351. Die klus wordt keurig door de parser node gedaan.

Ik liep tegen twee problemen op: de nummering van de registers is anders: register = register -1. Omdat ik van de documentatie uitging kreeg ik waarden die ik niet kon plaatsen. dat zag ik pas toen ik wat beter naar de debug-resultaten keek.

En verder, te onbekend met Node Red, verbond ik de parser node met de verkeerde port van de Modbus Read node. Die zijn niet gelijk en ik dacht (te simpel) van wel.

Zit nu alleen nog met dit: uit de parser node komt een array met 1 waarde. Alleen krijg ik de text node van de UI niet zover dat hij de blokhaken weglaat.
Geprobeerd, maar helaas werkte het niet.

[Voor 10% gewijzigd door ericplan op 30-01-2021 17:17]

ZonPHP PVOutput


  • Step5
  • Registratie: oktober 2011
  • Laatst online: 17:22
ericplan schreef op zaterdag 30 januari 2021 @ 17:16:
[...]

Ik heb het werkend, inmiddels. Node Red heeft een aardig steile leercurve :o
De S0-converter werkt met een aantal dubbele registers, schijnt vrij gebruikelijk te zijn bij Modbus. Het omrekenen gaat als volgt:
Ex: Counter S01 High = 13. Counter S01 Low = 60383 13 x 65536 + 60383 = 912351 = 912351. Die klus wordt keurig door de parser node gedaan.

Ik liep tegen twee problemen op: de nummering van de registers is anders: register = register -1. Omdat ik van de documentatie uitging kreeg ik waarden die ik niet kon plaatsen. dat zag ik pas toen ik wat beter naar de debug-resultaten keek.

En verder, te onbekend met Node Red, verbond ik de parser node met de verkeerde port van de Modbus Read node. Die zijn niet gelijk en ik dacht (te simpel) van wel.

Zit nu alleen nog met dit: uit de parser node komt een array met 1 waarde. Alleen krijg ik de text node van de UI niet zover dat hij de blokhaken weglaat.
Goed bezig ;)
wat betreft die array: doe je "payload.waarde"? misschien "payload.waarde[0]" proberen?

  • ericplan
  • Registratie: mei 2006
  • Laatst online: 19:25

ericplan

5180 Wp PV

Step5 schreef op zaterdag 30 januari 2021 @ 17:21:
[...]

Goed bezig ;)
wat betreft die array: doe je "payload.waarde"? misschien "payload.waarde[0]" proberen?
Ook dat is net opgelost met:
{{value | number:2}} kWh :)

Zo komen we steeds een stukje verder.

Edit:
Wel een onhebbelijk tintje, een decimaalpunt en (nog erger) zo'n stomme komma bij de duizendtallen. Zit ergens in de number-definitie. Hoe krijgen we dat nu weer weg?

[Voor 35% gewijzigd door ericplan op 30-01-2021 17:50. Reden: number format]

ZonPHP PVOutput


  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
Kan het zijn dat de debug functie niet altijd evengoed de waardes laat zien? ik heb zowel Firefox/Chrome geprobeerd met alle adblockers uit, maar het lijkt erop dat zelf bij een relatief eenvoudige inject, het debugvenster niet atlijd de waarde laat zien, ik moet sowieso vaak eerst de browser verversen middels F5 wanneer ik iets heb gewijzigd. Is dit normaal en is er iets tegen te doen?

  • Gizz
  • Registratie: maart 2001
  • Laatst online: 18:18

Gizz

Dunder-Mifflin, Inc.

@jenssen Dat heb ik nog nooit gehad.

Wat dingen die je kunt checken:
  • Staat de output van de debug node wel goed ingesteld? Bij twijfel kun je hem even op complete msg object zetten.
  • Staat bij To in de debug node debug window aangevinkt?
  • Staat in het debug venster aan de zijkant de boel niet per ongeluk op selected nodes ingesteld terwijl de debug node die je wilt zien niet geselecteerd is?
Het feit dat je steeds moet refreshen is sowieso gek en herken ik totaal niet.

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


  • ericplan
  • Registratie: mei 2006
  • Laatst online: 19:25

ericplan

5180 Wp PV

Inmiddels ook het decimaalteken-probleem opgelost. Na wat Google-werk een functie-node gevonden die het aantal decimalen regelt en het getal omzet naar een string en dan de punt vervangt door een komma.

code:
1
2
3
4
5
6
7
8
9
10
11
msg.payload = Number(msg.payload.toFixed(2));
let convert = msg.payload;
if(typeof convert != "string") convert = String(convert);
if(convert.match(/\./g)) {
    convert = convert.replace(/\,/g, ".");
    convert = convert.replace(/\.(?!.*\.)/g, ",");
} else {
    convert = convert.replace(/\,/g, ".");
}
msg.numstring = convert;
return msg;


Wel in de betreffende dashboard-node {{msg.payload}} vervangen door {{msg.numstring}}

ZonPHP PVOutput


  • TweakMDS
  • Registratie: mei 2002
  • Laatst online: 13-06 21:54
Ik ben al een hele tijd aan het kloten met een fatsoenlijke mogelijkheid om node red op mijn synology nas te laten komen.

Wellicht heeft iemand anders hier een vergelijkbare uitdaging al overwonnen.

Hier is de situatie:
De Synology nas (213j) heeft een 'downloads' share. Daar komen af en toe files in subdirectories terecht.
Ik zou graag node red iets laten doen bij alle nieuwe files of subdirectories die daar in de root bij komen.
Iets laten doen (om het simpel te houden) zou dus kunnen zijn een mqtt bericht publishen.
NB: Als ik dit werkend heb zou ik de file of directory naar een andere share willen verplaatsen en entries aan een database toevoegen, maar dat is voor later...

Node red draait (op een andere machine) in Kubernetes. De node-red pod kan bij de nas (ik kan hem pingen en er zitten verder geen firewall zaken tussen), en ik ben relatief vrij in welke manier van toegang ik gebruik (sFTP of SMB), zolang ik dat op de nas kan configureren.

Wat ik al heb geprobeerd:
node-red-contrib-filebrowser
Erg complex, ongedocumenteerd en lijkt inactief. Blijf een foutmelding "TypeError: Cannot read property 't' of undefined" krijgen.
Zowel via SMB als via sFTP.

node-red-contrib-syno
De DSFile implementatie hiervan lijkt onvolledig, maar krijg "Error: Invalid parameter of file operation" bij elke poging.

node-red-contrib-better-sftp
Mijn node red pod crashed regelmatig volledig als ik deze trigger.
In de andere gevallen krijg ik deze: "Error: sftp.connect: Handshake failed: no matching client->server cipher after 2 attempts".

Wat ik dus probeer is relatief simpel: een listing van een share doen. sFTP zou de voorkeur hebben, en liefst iets wat puur in native javascript draait zodat ik de Kubernetes deployment niet aan hoef te passen.
Een compleet andere benadering waarbij ik iets op mijn nas anders in stel kan natuurlijk ook.

Tips zijn welkom :)

[Voor 15% gewijzigd door TweakMDS op 31-01-2021 16:54]


  • ericplan
  • Registratie: mei 2006
  • Laatst online: 19:25

ericplan

5180 Wp PV

Step5 schreef op zaterdag 30 januari 2021 @ 14:05:
[...]
Interessant node, kende ik niet. Maar ik zie daar ook niet zo snel in hoe je 2 variabelen tot 1 maakt eigenlijk.
[...]
Buffer parser node doet netjes wat hij moet doen. Modbus Read leest acht uint16 registers uit en de buffer-parser node maakt er keurig vier uint32 waarden van. Als toetje zit er ook nog de mogelijkheid om een correctieberekening uit te voeren, dus daar staat nu het pulse/kWh getal. Dat scheelt weer een berekening.



code:
1
 [{"id":"5ba37c9.b90aa84","type":"buffer-parser","z":"83fb710e.4365a","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"uint32be","name":"Groep 5","offset":0,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"Groep 6","offset":4,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"Groep 7","offset":8,"length":1,"offsetbit":0,"scale":"/1000","mask":""},{"type":"uint32be","name":"Groep 8","offset":12,"length":1,"offsetbit":0,"scale":"/1000","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"output","multipleResult":true,"fanOutMultipleResult":true,"setTopic":false,"outputs":4,"x":310,"y":380,"wires":[["61f200a0.867188"],["da263242.309278"],["c98b3f1c.c803"],["cfa251c8.fd3fa8"]]},{"id":"61f200a0.867188","type":"function","z":"83fb710e.4365a","name":"","func":"msg.payload = Number(msg.payload.toFixed(2));\nlet convert = msg.payload;\nif(typeof convert != \"string\") convert = String(convert);\nif(convert.match(/\\./g)) {\n    convert = convert.replace(/\\,/g, \".\");\n    convert = convert.replace(/\\.(?!.*\\.)/g, \",\");\n} else {\n    convert = convert.replace(/\\,/g, \".\");\n}\nmsg.numstring = convert;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":520,"y":300,"wires":[["6ffb5fc0.199bb"]]},{"id":"da263242.309278","type":"function","z":"83fb710e.4365a","name":"","func":"msg.payload = Number(msg.payload.toFixed(2));\nlet convert = msg.payload;\nif(typeof convert != \"string\") convert = String(convert);\nif(convert.match(/\\./g)) {\n    convert = convert.replace(/\\,/g, \".\");\n    convert = convert.replace(/\\.(?!.*\\.)/g, \",\");\n} else {\n    convert = convert.replace(/\\,/g, \".\");\n}\nmsg.numstring = convert;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":520,"y":360,"wires":[["9748d539.f5e5a8"]]},{"id":"c98b3f1c.c803","type":"function","z":"83fb710e.4365a","name":"","func":"msg.payload = Number(msg.payload.toFixed(2));\nlet convert = msg.payload;\nif(typeof convert != \"string\") convert = String(convert);\nif(convert.match(/\\./g)) {\n    convert = convert.replace(/\\,/g, \".\");\n    convert = convert.replace(/\\.(?!.*\\.)/g, \",\");\n} else {\n    convert = convert.replace(/\\,/g, \".\");\n}\nmsg.numstring = convert;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":520,"y":420,"wires":[["7f4a429.880703c"]]},{"id":"cfa251c8.fd3fa8","type":"function","z":"83fb710e.4365a","name":"","func":"msg.payload = Number(msg.payload.toFixed(2));\nlet convert = msg.payload;\nif(typeof convert != \"string\") convert = String(convert);\nif(convert.match(/\\./g)) {\n    convert = convert.replace(/\\,/g, \".\");\n    convert = convert.replace(/\\.(?!.*\\.)/g, \",\");\n} else {\n    convert = convert.replace(/\\,/g, \".\");\n}\nmsg.numstring = convert;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":520,"y":480,"wires":[["8c1c0ca8.0e608"]]},{"id":"b182ad69.56d4a8","type":"modbus-read","z":"83fb710e.4365a","name":"Unit 66","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"66","dataType":"HoldingRegister","adr":"27","quantity":"8","rate":"1","rateUnit":"m","delayOnStart":true,"startDelayTime":"5","server":"40f20c7f.13a934","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":110,"y":380,"wires":[["5ba37c9.b90aa84"],[]]},{"id":"6ffb5fc0.199bb","type":"ui_text","z":"83fb710e.4365a","group":"5127a3c1.7a3d74","order":1,"width":0,"height":0,"name":"","label":"Groep 1","format":"{{msg.numstring}}","layout":"row-spread","x":740,"y":300,"wires":[]},{"id":"9748d539.f5e5a8","type":"ui_text","z":"83fb710e.4365a","group":"5127a3c1.7a3d74","order":2,"width":0,"height":0,"name":"","label":"Groep 4","format":"{{msg.numstring}}","layout":"row-spread","x":740,"y":360,"wires":[]},{"id":"7f4a429.880703c","type":"ui_text","z":"83fb710e.4365a","group":"5127a3c1.7a3d74","order":3,"width":0,"height":0,"name":"","label":"Groep 6","format":"{{msg.numstring}}","layout":"row-spread","x":740,"y":420,"wires":[]},{"id":"8c1c0ca8.0e608","type":"ui_text","z":"83fb710e.4365a","group":"5127a3c1.7a3d74","order":4,"width":0,"height":0,"name":"","label":"Leeg","format":"{{msg.numstring}}","layout":"row-spread","x":730,"y":480,"wires":[]},{"id":"40f20c7f.13a934","type":"modbus-client","name":"RS 485 dongle","clienttype":"serial","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU","serialBaudrate":"19200","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","unit_id":"","commandDelay":"30","clientTimeout":"2000","reconnectOnTimeout":false,"reconnectTimeout":"5000","parallelUnitIdsAllowed":false},{"id":"5127a3c1.7a3d74","type":"ui_group","name":"Studio","tab":"72b1a4dc.4f488c","order":2,"disp":true,"width":"6","collapse":false},{"id":"72b1a4dc.4f488c","type":"ui_tab","name":"Modbus","icon":"memory","order":15}]

[Voor 74% gewijzigd door ericplan op 02-02-2021 20:42. Reden: code]

ZonPHP PVOutput


  • Step5
  • Registratie: oktober 2011
  • Laatst online: 17:22
Kun je die flow ff delen?

  • jenssen
  • Registratie: september 2018
  • Laatst online: 12-06 07:55
Gizz schreef op zondag 31 januari 2021 @ 11:59:
@jenssen Dat heb ik nog nooit gehad.

Wat dingen die je kunt checken:
  • Staat de output van de debug node wel goed ingesteld? Bij twijfel kun je hem even op complete msg object zetten.
  • Staat bij To in de debug node debug window aangevinkt?
  • Staat in het debug venster aan de zijkant de boel niet per ongeluk op selected nodes ingesteld terwijl de debug node die je wilt zien niet geselecteerd is?
Het feit dat je steeds moet refreshen is sowieso gek en herken ik totaal niet.
Bedankt, bovenstaande had ik allemaal gecontroleerd maar lijkt het toch niet te zijn. Blijft apart.

  • the1one
  • Registratie: augustus 2014
  • Laatst online: 10-06 07:17
hallo, ik ben een pas begonnen in node red.
heb een vraagje ik zou graag bij zonsondergang mijn lichten laten aangaan heb al vannalles geprobeerd maar kom er niet uit kunnen jullie mij opweg zetten?
bedankt!!
@the1one Daar kun je onder andere deze node voor gebruiken:
https://flows.nodered.org/node/node-red-contrib-schedex

Kwestie van je coordinaten invullen en de begin/eind momenten

  • the1one
  • Registratie: augustus 2014
  • Laatst online: 10-06 07:17
was ik vergeten te vermelden maar ik heb node-red als ad-on in hassio.

  • the1one
  • Registratie: augustus 2014
  • Laatst online: 10-06 07:17
bedankt!!! ik heb hem toegevoegd aan de ad-on straks verder proberen.
Pagina: 1 ... 17 ... 20 Laatste


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

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