Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 10:40

Sebazzz

3dp

Ik wil graag dat als ik 's avonds mijn HTPC (Kodi) uitschakel het licht na een korte tijd uitgaat. Ik weet echter niet hoe ik ervoor kan zorgen dat ik een trigger kan krijgen bij het uitschakelen van Kodi of OS (Windows).

Tenminste, ik kan natuurlijk een Powershell scriptje draaien bij shutdown - maar ik vraag mij af of er iets ingebouwd danwel via een plugin te krijgen is wat beter is uitgedacht?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

Sp33dFr34k schreef op vrijdag 17 april 2020 @ 13:03:
[...]
Mijn PIR is zwave, ik heb al eens met die trigger lopen klooien, maar kreeg het niet direct werkend.
Welk type de PIR is maakt natuurlijk niet zoveel uit. Waar je rekening mee moet houden is dat je alleen de On / 1 / true message door laat gaan naar de trigger node. Dat is dan ook in mijn voorbeeld de switch node direct na mijn sensor.

Als de trigger node zowel de aan als uit message ontvangt zal je lamp te lang gaan branden. In jouw geval zou het licht dan nog 60 seconde aanblijven nadat de PIR doorgeeft dat hij geen beweging meer ziet. Kan niet echt kwaad, maar dat is niet de functionaliteit die je wilt :)

@Sebazzz Ik ken Kodi niet, maar ik zie wel dat er een MQTT plugin voor is met o.a. dit als mogelijkheid:
The addon publishes on the following topics (prefixed with the configured topic prefix):

connected: 2 if the addon is currently connected to the broker, 0 otherwise.
Dat maakt het natuurlijk eenvoudig om bij een verandering van msg.connected 2 naar msg.connected 0 met een delay het licht uit te doen :)

edit: of, als je geen MQTT wil gebruiken: node-red-contrib-kodi die via de kodi.out node bij system.onQuit een JSON ontvangt waar je mee aan de slag kunt.

Meerdere opties dus, zonder powershell.

[ Voor 40% gewijzigd door Gizz op 17-04-2020 13:22 ]

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


Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 11:08
Sebazzz schreef op vrijdag 17 april 2020 @ 13:10:
Ik wil graag dat als ik 's avonds mijn HTPC (Kodi) uitschakel het licht na een korte tijd uitgaat. Ik weet echter niet hoe ik ervoor kan zorgen dat ik een trigger kan krijgen bij het uitschakelen van Kodi of OS (Windows).

Tenminste, ik kan natuurlijk een Powershell scriptje draaien bij shutdown - maar ik vraag mij af of er iets ingebouwd danwel via een plugin te krijgen is wat beter is uitgedacht?
Ik haal de kodi status uit home assistant.

Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Gizz schreef op vrijdag 17 april 2020 @ 09:42:
@wervisser Dat kun je heel simpel doen door MQTT te gebruiken. Domoticz stuurt dan alle sensoren / switches / noem maar op door naar je MQTT-broker, die het weer doorstuurt naar Node-RED. In Node-RED haal je dan de data van Domoticz binnen (domoticz/out) en gooit daar een filter achter om 1 specifiek apparaat door te laten gaan in je flow. Meer is het niet :)
Nice, ik had hier al eens naar gekeken, maar zag mijn PIR nooit voorbij komen in de eindeloze stroom van gegevens. Nu net heb ik hem een keer gezien, nu eens zien dat mijn flow dat ook doet :)

Acties:
  • +1 Henk 'm!

  • sOid
  • Registratie: Maart 2004
  • Niet online
Repi3 schreef op vrijdag 17 april 2020 @ 12:39:
[...]

Laat je hier iets weten, ik wil namelijk hetzelfde doen ook met een Bose Soundtouch :)
Je had iets verder moeten scrollen, dan zag je dat ik al een antwoord had gegeven ;)

Maar het werkt dus prima. De wifi van de SoundTouch lijkt alleen niet heel stabiel. Daardoor werkt het soms niet. Ik heb 'm nog een beetje aangepast. O.a. een node die checkt of er een switch in HomeAssistant is ingeschakeld (wel/geen radio bij de wake-up light).

Dit is de code voor de radio.
code:
1
[{"id":"19cb4c1d.716d9c","type":"delay","z":"2769e554.9b801a","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":860,"y":400,"wires":[["7a461030.0e0a9"]]},{"id":"e2f7498f.894e18","type":"delay","z":"2769e554.9b801a","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1200,"y":400,"wires":[["21a42270.578b8e"]]},{"id":"b4f5d282.ce83b","type":"api-call-service","z":"2769e554.9b801a","name":"Volume 1%","server":"a4b021fc.a9221","version":1,"debugenabled":false,"service_domain":"media_player","service":"volume_set","entityId":"media_player.zanger_rinus","data":"{\"volume_level\":0.01}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":690,"y":400,"wires":[["19cb4c1d.716d9c"]]},{"id":"9a235e3d.fbf998","type":"delay","z":"2769e554.9b801a","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":520,"y":400,"wires":[["b4f5d282.ce83b"]]},{"id":"21a42270.578b8e","type":"api-call-service","z":"2769e554.9b801a","name":"Unmute","server":"a4b021fc.a9221","version":1,"debugenabled":false,"service_domain":"media_player","service":"volume_mute","entityId":"media_player.zanger_rinus","data":"{\"is_volume_muted\":false}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1360,"y":400,"wires":[["29ba54e2.df9644"]]},{"id":"29ba54e2.df9644","type":"change","z":"2769e554.9b801a","name":"1","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1510,"y":400,"wires":[["2093e3ed.22077c"]]},{"id":"b33e79f7.0e1cd8","type":"api-call-service","z":"2769e554.9b801a","name":"Volume","server":"a4b021fc.a9221","version":1,"debugenabled":false,"service_domain":"media_player","service":"volume_set","entityId":"media_player.zanger_rinus","data":"{\"volume_level\":{{payload}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":2100,"y":400,"wires":[[]]},{"id":"7a461030.0e0a9","type":"api-call-service","z":"2769e554.9b801a","name":"Start playing","server":"a4b021fc.a9221","version":1,"debugenabled":false,"service_domain":"media_player","service":"play_media","entityId":"media_player.zanger_rinus","data":"{\"media_content_type\":\"music\",\"media_content_id\":\"2\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1030,"y":400,"wires":[["e2f7498f.894e18"]]},{"id":"34950a07.b376f6","type":"link in","z":"2769e554.9b801a","name":"","links":["ccaaa063.f41eb"],"x":75,"y":400,"wires":[["9d4c25bd.1aa408"]]},{"id":"82b0b5ff.78cfc","type":"comment","z":"2769e554.9b801a","name":"Radio","info":"","x":110,"y":340,"wires":[]},{"id":"9d4c25bd.1aa408","type":"api-current-state","z":"2769e554.9b801a","name":"Enabled?","server":"a4b021fc.a9221","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.house_alarmclock_radio","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":200,"y":400,"wires":[["62e25df8.616fec"],[]]},{"id":"62e25df8.616fec","type":"api-current-state","z":"2769e554.9b801a","name":"Off?","server":"a4b021fc.a9221","version":1,"outputs":2,"halt_if":"playing","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"media_player.zanger_rinus","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":350,"y":400,"wires":[[],["9a235e3d.fbf998"]]},{"id":"2093e3ed.22077c","type":"function","z":"2769e554.9b801a","name":"Volume 1 hoger","func":"newmsg = {};\nvolume = msg.payload;\n\nif (volume < 25)\n{\n  volume = volume + 1;\n  newmsg.payload = volume;\n  return newmsg;\n}","outputs":1,"noerr":0,"x":1700,"y":400,"wires":[["f7a87156.16c628","f36e4e85.ccf4c8"]]},{"id":"f7a87156.16c628","type":"delay","z":"2769e554.9b801a","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1700,"y":320,"wires":[["2093e3ed.22077c"]]},{"id":"f36e4e85.ccf4c8","type":"function","z":"2769e554.9b801a","name":"Delen door 100","func":"newmsg = {};\nvolume = msg.payload;\nvolume = volume / 100;\nnewmsg.payload = volume;\nreturn newmsg;","outputs":1,"noerr":0,"x":1920,"y":400,"wires":[["b33e79f7.0e1cd8"]]},{"id":"a4b021fc.a9221","type":"server","z":"","name":"Home Assistant Manetheren","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Acties:
  • +2 Henk 'm!
Aangezien Pi-hole oud nieuws is, ben ik overgestapt op AdGuard Home. Mijn flow hierboven ligt dus in de kliko :+

AdGuard heeft een REST API die je kunt gebruiken om data op te vragen, maar ook om AdGuard volledig mee in te stellen. Dat beidt dus opties voor het synchroniseren van 2 instances. En daar is onderstaande uit voortgekomen.
Afbeeldingslocatie: https://i.imgur.com/PAGqUHS.png

Het belangrijkste is de 'Adguard-# Filter Stats'. Deze haalt o.a. een lijst met door mij met de hand (un)blocked domeinen op. Die lijst moet natuurlijk gelijk zijn met de tweede instance, om problemen te voorkomen als onze devices van DNS server wisselen. Daarom controleer ik op wijzigingen en als die zijn gevonden formatteert hij de data en stuurt dit vervolgens naar de andere instance. Maakt niet uit op welke van de 2 instances de wijziging plaatsvind. Ik haal elke minuut de gegevens op en stuur die naar een MQTT topic. Die topics worden uitgelezen om de wijzigingen te detecteren. Hierdoor kan ik de data inlezen in meerdere systemen en ben ik niet afhankelijk van de eenmalige actie

Node-RED code: https://pastebin.com/3hGs7DSF. Ik kon hem niet in deze post doen, een post heeft blijkbaar een limiet van 75000 karakter :9

Acties:
  • +1 Henk 'm!

  • Sp33dFr34k
  • Registratie: Juni 2006
  • Niet online

Sp33dFr34k

Retro-Geek

Gizz schreef op vrijdag 17 april 2020 @ 12:39:
@Sp33dFr34k Dit kan heel simpel met een trigger node. Voorbeeldje van het licht in mijn keuken:

[Afbeelding]

[Afbeelding]

code:
1
[{"id":"8502368f.aee2c","type":"tab","label":"Licht keuken pir","disabled":false,"info":""},{"id":"8293822d.8f769","type":"mqtt in","z":"8502368f.aee2c","name":"","topic":"ESP_fijnstof/pir/State","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","x":200,"y":240,"wires":[["5aaed5e9.93fd94"]]},{"id":"5aaed5e9.93fd94","type":"switch","z":"8502368f.aee2c","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":240,"wires":[["186622a9.4fd965"]]},{"id":"829b18d8.d63ca8","type":"template","z":"8502368f.aee2c","name":"dmz","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"switchlight\", \"idx\": 319, \"switchcmd\": \"{{payload}}\"}","output":"json","x":670,"y":240,"wires":[["3004aefd.0e5002"]]},{"id":"3004aefd.0e5002","type":"mqtt out","z":"8502368f.aee2c","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"c9b2091b.ca27b8","x":830,"y":240,"wires":[]},{"id":"186622a9.4fd965","type":"trigger","z":"8502368f.aee2c","op1":"On","op2":"Off","op1type":"str","op2type":"str","duration":"30","extend":true,"units":"s","reset":"","bytopic":"all","name":"","x":510,"y":240,"wires":[["829b18d8.d63ca8"]]},{"id":"c9b2091b.ca27b8","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.2","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


Ik weet niet precies hoe jouw Closet On / Off nodes werken, maar als je die niet direct kunt aansturen op basis van de msg kun je na de trigger natuurlijk meteen een switch node plaatsen. In het geval van msg = On leidt de route naar de Closet On node, bij msg = Off naar de Closet Off node. Het kan dus super simpel, zoals je terecht inschatte :)
Yes! PIR -> Switch -> Trigger -> On or Off

Ik heb wel mijn z-wave PIR nog aangepast qua configuration parameters, deze had een lange motion time (bleef 30 seconden op ON hangen, nu 5 wat het minimum is) en een lange blind spot time (8 sec, nu 1).

Het enige probleem nu nog is dat de PIR soms op ON blijft hangen for whatever reason, misschien net het bereik niet lekker genoeg. Maar ik ben hier alvast blij mee, thanks! :)

i7 9700k + Be-Quiet Dark Rock 4 Pro | Gigabyte Z390 Aorus Ultra | Gigabyte Aorus GTX1080TI | Samsung 970 Pro 512GB + 860 EVO 1TB | 2x8GB DDR4 3000Mhz | Seasonic Platinum 660W | Fractal Design R6 | Acer Predator X34P | M-Audio AV40


Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 11:08
lolgast schreef op zondag 19 april 2020 @ 22:07:
Aangezien Pi-hole oud nieuws is, ben ik overgestapt op AdGuard Home. Mijn flow hierboven ligt dus in de kliko :+

AdGuard heeft een REST API die je kunt gebruiken om data op te vragen, maar ook om AdGuard volledig mee in te stellen. Dat beidt dus opties voor het synchroniseren van 2 instances. En daar is onderstaande uit voortgekomen.
[Afbeelding]

Het belangrijkste is de 'Adguard-# Filter Stats'. Deze haalt o.a. een lijst met door mij met de hand (un)blocked domeinen op. Die lijst moet natuurlijk gelijk zijn met de tweede instance, om problemen te voorkomen als onze devices van DNS server wisselen. Daarom controleer ik op wijzigingen en als die zijn gevonden formatteert hij de data en stuurt dit vervolgens naar de andere instance. Maakt niet uit op welke van de 2 instances de wijziging plaatsvind. Ik haal elke minuut de gegevens op en stuur die naar een MQTT topic. Die topics worden uitgelezen om de wijzigingen te detecteren. Hierdoor kan ik de data inlezen in meerdere systemen en ben ik niet afhankelijk van de eenmalige actie

Node-RED code: https://pastebin.com/3hGs7DSF. Ik kon hem niet in deze post doen, een post heeft blijkbaar een limiet van 75000 karakter :9
Ik heb er nu niks aan, maar in de toekomst wellicht wel. >:)

Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Ben bezig met een ogenschijnlijk simpele PIR schakeling, zoals ik hier al een paar keer voorbij heb zien komen, maar het werkt niet.

Als ik een debug op de eerste node zet, zie ik wel de PIR voorbij komen, maar hij schakelt er niet op. Wat kan ik hier fout hebben gedaan?

code:
1
[{"id":"6b97d2e7.7be05c","type":"tab","label":"Flow 5","disabled":false,"info":""},{"id":"beef97af.67af18","type":"mqtt in","z":"6b97d2e7.7be05c","name":"","topic":"domoticz/out","qos":"2","datatype":"auto","broker":"5d933108.daf91","x":70,"y":140,"wires":[["ee5f28a4.c95fe8"]]},{"id":"ee5f28a4.c95fe8","type":"switch","z":"6b97d2e7.7be05c","name":"Zolder PIR","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"251","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":270,"y":140,"wires":[["fd5b8bf.ba89e78"]]},{"id":"fd5b8bf.ba89e78","type":"trigger","z":"6b97d2e7.7be05c","op1":"On","op2":"Off","op1type":"str","op2type":"str","duration":"30","extend":true,"units":"s","reset":"","bytopic":"all","name":"","x":490,"y":140,"wires":[["b44910ab.d397d"]]},{"id":"b44910ab.d397d","type":"template","z":"6b97d2e7.7be05c","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"switchlight\", \"idx\": 251, \"switchcmd\": \"{{payload}}\"}","output":"str","x":700,"y":140,"wires":[["5e6a35cc.8f163c"]]},{"id":"5e6a35cc.8f163c","type":"mqtt out","z":"6b97d2e7.7be05c","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"5d933108.daf91","x":890,"y":140,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser Je hebt bij het signaal van je PIR als idx 251 staan, maar vervolgens zet je ook idx 251 aan als lamp. Dus of je PIR is niet 251 en die moet je aanpassen, of je schakelaar / lamp is niet 251 maar wat anders :)

Nu 'schakelt' de PIR zichzelf in (wat niet kan) als hij beweging waarneemt.

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Gizz schreef op woensdag 22 april 2020 @ 13:30:
@wervisser Je hebt bij het signaal van je PIR als idx 251 staan, maar vervolgens zet je ook idx 251 aan als lamp. Dus of je PIR is niet 251 en die moet je aanpassen, of je schakelaar / lamp is niet 251 maar wat anders :)

Nu 'schakelt' de PIR zichzelf in (wat niet kan) als hij beweging waarneemt.
Ah ja, sorry verkeerde stukje gekopieerd. In mijn volledige flow staat hij (nu) wel goed, maar reageert er niet op. De volledige flow heeft meerdere PIRs staan, maar ik heb de regel er gelijkwaardig in gezet.

Met behulp van MQTT Explorer en heel veel geduld heb ik onderstaande informatie eruit gevist. Dit wordt verstuurd na een bewegingsmelding van de PIR.

{
"Battery" : 100,
"RSSI" : 12,
"description" : "",
"dtype" : "Light/Switch",
"hwid" : "2",
"id" : "00001000",
"idx" : 251,
"name" : "Zolder hal PIR sensor",
"nvalue" : 0,
"stype" : "Switch",
"svalue1" : "0",
"switchType" : "Motion Sensor",
"unit" : 1
}

De idx vang ik wel af, denk ik, maar de inschakelwaardes voor de lamp kloppen dan niet. Althans de lamp gaat niet aan.

Heb hem nu even zo gemaakt.

code:
1
[{"id":"fe60501c.0b15a","type":"tab","label":"PIR","disabled":false,"info":""},{"id":"eefb287e.2b6838","type":"mqtt in","z":"fe60501c.0b15a","name":"","topic":"domoticz/out","qos":"2","datatype":"auto","broker":"5d933108.daf91","x":90,"y":200,"wires":[["46ca5a07.270d84","eef8e0da.626e5"]]},{"id":"46ca5a07.270d84","type":"switch","z":"fe60501c.0b15a","name":"Zolder PIR","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"251","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":290,"y":343,"wires":[["67e1d867.125aa8","bf99559.52f44a8"]]},{"id":"73dc865.e6d8378","type":"telegram sender","z":"fe60501c.0b15a","name":"","bot":"9bf5890a.0d72e8","x":572,"y":187,"wires":[[]]},{"id":"bf99559.52f44a8","type":"function","z":"fe60501c.0b15a","name":"Telegram bericht","func":"msg.payload = {}\nmsg.payload.chatId = '719721025'\nmsg.payload.type = 'message'\nmsg.payload.content = 'zolder'\nreturn msg;","outputs":1,"noerr":0,"x":342,"y":244,"wires":[["73dc865.e6d8378"]]},{"id":"eef8e0da.626e5","type":"switch","z":"fe60501c.0b15a","name":"BGG PIR","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"276","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":280,"y":56,"wires":[["a7a8362b.bfa9a8","feea5bf2.4e1d58"]]},{"id":"feea5bf2.4e1d58","type":"function","z":"fe60501c.0b15a","name":"Telegram bericht","func":"msg.payload = {}\nmsg.payload.chatId = '719721025'\nmsg.payload.type = 'message'\nmsg.payload.content = 'BGG'\nreturn msg;","outputs":1,"noerr":0,"x":341,"y":136,"wires":[["73dc865.e6d8378"]]},{"id":"a7a8362b.bfa9a8","type":"trigger","z":"fe60501c.0b15a","op1":"On","op2":"Off","op1type":"str","op2type":"str","duration":"30","extend":true,"units":"s","reset":"","bytopic":"all","name":"","x":550,"y":136,"wires":[["187a25a3.efc3ca"]]},{"id":"187a25a3.efc3ca","type":"template","z":"fe60501c.0b15a","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"switchlight\", \"idx\": 27, \"switchcmd\": \"{{payload}}\"}","output":"str","x":733,"y":140,"wires":[["f5761832.936228","1d93253d.03629b"]]},{"id":"7bb0444b.4dcc4c","type":"template","z":"fe60501c.0b15a","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"switchlight\", \"idx\": 251, \"switchcmd\": \"{{payload}}\"}","output":"str","x":733,"y":240,"wires":[["f5761832.936228","1d93253d.03629b"]]},{"id":"67e1d867.125aa8","type":"trigger","z":"fe60501c.0b15a","op1":"On","op2":"Off","op1type":"str","op2type":"str","duration":"30","extend":true,"units":"s","reset":"","bytopic":"all","name":"","x":551,"y":243,"wires":[["7bb0444b.4dcc4c"]]},{"id":"f5761832.936228","type":"mqtt out","z":"fe60501c.0b15a","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"5d933108.daf91","x":923,"y":180,"wires":[]},{"id":"1d93253d.03629b","type":"debug","z":"fe60501c.0b15a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":940,"y":380,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"9bf5890a.0d72e8","type":"telegram bot","z":"","botname":"Domo181_bot","usernames":"","chatids":"","baseapiurl":"","updatemode":"polling","pollinterval":"300","usesocks":false,"sockshost":"","socksport":"6667","socksusername":"anonymous","sockspassword":"","bothost":"","localbotport":"8443","publicbotport":"8443","privatekey":"","certificate":"","useselfsignedcertificate":false,"sslterminated":false,"verboselogging":false}]

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser Verander in de ' template' nodes even de output in Parsed JSON. Het staat nu ingesteld als plain text en dat zal Domoticz niet begrijpen. Waarschijnlijk zie je nu ook errors in de logs van Domoticz als deze flow iets naar Domoticz stuurt :)

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz Ok, in heb de node aangepast naar Parsed JSON. Ik heb het idee dat het eigenlijk al eerder fout gaat, aangezien ik ook geen Telegram notificatie ontvang. Ik denk dat de eerste selectie, bijvoorbeeld BGG PIR al geen 'hit' geeft in NR.

Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser ik heb nogmaals naar je flow gekeken en zie nu bij je eerste node (domoticz/out) dat de output daarvan op automatisch staat. Zet die ook eens op a parsed JSON object. Ik denk dat je hele flow dan werkt :)

Stukje uitleg: ik denk dat nu alles van domoticz/out als tekst (dus een lange zin) in je flow terecht komt als msg.payload. Er is dan geen nette JSON structuur waarin msg.payload.idx bestaat, terwijl je die juist nodig hebt voor je filter. Dus in dit geval gaat er in je flow niks door na je filters en dan stopt de boel.

Soms helpt het om wat meer debug nodes toe te voegen, zodat je na elk stapje kunt checken wat er nou eigenlijk qua data doorgaat.

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz Goed bezig :-) Telegram werkt in elk geval alvast. Ik zal eens gaan kijken waarom nu de lamp nog niet inschakelt.

edit: lampjes werken nu ook

[ Voor 11% gewijzigd door wervisser op 23-04-2020 15:21 ]


Acties:
  • 0 Henk 'm!

  • Sp33dFr34k
  • Registratie: Juni 2006
  • Niet online

Sp33dFr34k

Retro-Geek

Ok nieuwe, ik wil elke 2 weken een reminder afvuren in Pushover. Nu zit ik te klooien met cronplus, dat zou de beste oplossing moeten zijn volgens google. Maar elke 2 weken schijnt een probleem te zijn in crontab over het algemeen.

Wat ik wil is dat elke 2 weken op vrijdag, startend morgen, de flow wordt afgevuurd. Iemand een idee?

EDIT: ik mis gewoon dagen en weken in cron, met dit 0 7 * * 5 wordt het elke week op de vrijdag.

[ Voor 12% gewijzigd door Sp33dFr34k op 23-04-2020 13:15 ]

i7 9700k + Be-Quiet Dark Rock 4 Pro | Gigabyte Z390 Aorus Ultra | Gigabyte Aorus GTX1080TI | Samsung 970 Pro 512GB + 860 EVO 1TB | 2x8GB DDR4 3000Mhz | Seasonic Platinum 660W | Fractal Design R6 | Acer Predator X34P | M-Audio AV40


Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@Sp33dFr34k Wellicht krijg je dit met bigtimer voor elkaar. Heb me er niet erg in verdiept, maar die node heeft vrij veel opties.

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


Acties:
  • +3 Henk 'm!
Ik heb een ontzettende hekel aan bigtimer. Dat ding kan veel te veel, is veel te onoverzichtelijk en je hebt door de vele opties geen idee welke waarvoor gebruikt is.

@Sp33dFr34k Ik denk dat ik het in een function zou oplossen. Functie om te zoeken naar oneven/even weken en daar op voortborduren
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
Date.prototype.getWeek = function() {
  var onejan = new Date(this.getFullYear(),0,1);
  return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}
var weekNumber = new Date().getWeek();

if (weekNumber % 2 === 0){
    msg.payload = 'Even week'
    return msg;
} else {
    msg.payload = 'Oneven week'
    return [null,msg];
}

Als je je function node 2 Outputs geeft krijgt elke uitslag zijn eigen uitgang :)

Acties:
  • +1 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Of eenmalig handmatig starten op dat tijdstip, runtime opslaan in een variable en dan in een function elke keer een check uitvoeren of het al X dagen is sinds de laatste run. Als je ook het interval opslaat in een variable dan zou je via triggers dit eenvoudig kunnen aanpassen.

Dna heb je ook gelijk error handling uitgevoerd door de tijd enkel aan te passen wanneer de actie geslaagd is.

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


Acties:
  • +1 Henk 'm!
Dat is inderdaad ook manier. Onder de voorwaarde dat je de variabelen opslaat in een file en niet in memory, zoals default het geval is. Dan zou een reboot namelijk behoorlijk roet in het eten gooien :9

Acties:
  • +1 Henk 'm!

  • z1rconium
  • Registratie: Augustus 2014
  • Laatst online: 01-06 18:29
Sp33dFr34k schreef op donderdag 23 april 2020 @ 13:08:
Ok nieuwe, ik wil elke 2 weken een reminder afvuren in Pushover. Nu zit ik te klooien met cronplus, dat zou de beste oplossing moeten zijn volgens google. Maar elke 2 weken schijnt een probleem te zijn in crontab over het algemeen.

Wat ik wil is dat elke 2 weken op vrijdag, startend morgen, de flow wordt afgevuurd. Iemand een idee?

EDIT: ik mis gewoon dagen en weken in cron, met dit 0 7 * * 5 wordt het elke week op de vrijdag.
Je kunt het zo oplossen, je zal een dan wel een dag mee moeten geven waar ie start. Weet niet wat er dan gebeurd als node-red restart. Dan zou je dat ook automatisch kunnen injecten bij start, maar goed je werkt dan om het "probleem" heen. Of in combi met de suggestie hierboven.

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

Acties:
  • 0 Henk 'm!

  • Sp33dFr34k
  • Registratie: Juni 2006
  • Niet online

Sp33dFr34k

Retro-Geek

Dank voor de suggesties heren! Met bigtimer lukt het me in ieder geval zeker niet helaas. Cron is nog een beetje stoeien, heb al lang zitten klooien, maar ook daar is het lastig. @z1rconium draait jouw suggestie niet elke maand op de 24e? Vraag me af hoe die gaat lopen.

@lolgast denk dat jouw manier de beste is, heb nog nooit iets in een functie geknutseld in node-red, dus ga het eens proberen, thanks!

i7 9700k + Be-Quiet Dark Rock 4 Pro | Gigabyte Z390 Aorus Ultra | Gigabyte Aorus GTX1080TI | Samsung 970 Pro 512GB + 860 EVO 1TB | 2x8GB DDR4 3000Mhz | Seasonic Platinum 660W | Fractal Design R6 | Acer Predator X34P | M-Audio AV40


Acties:
  • +1 Henk 'm!

  • z1rconium
  • Registratie: Augustus 2014
  • Laatst online: 01-06 18:29
Sp33dFr34k schreef op vrijdag 24 april 2020 @ 12:30:
Dank voor de suggesties heren! Met bigtimer lukt het me in ieder geval zeker niet helaas. Cron is nog een beetje stoeien, heb al lang zitten klooien, maar ook daar is het lastig. @z1rconium draait jouw suggestie niet elke maand op de 24e? Vraag me af hoe die gaat lopen.
Nee elke 14 dagen en de start is dan op 24e, daar zit dan wel een issue, als je node-red/flow restart/deployed dan zal ie weer beginnen bij de 24e dat werkt dan niet lekker.

Dan is welke week met een check erachter even/oneven beter en meer reliable.

Acties:
  • +1 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

@Sp33dFr34k de vraag is ook wat de achterliggende requirement is. Hoe vast is die vrijdag? En wat moet er gebeuren als vanwege een error in bijvoorbeeld connectiviteit die melding niet is afgevuurd? Dan wachten tot twee weken later?
Gaat het om iets waarbij een dag later de herinnering nog relevant is of is het iets dat echt op dat moment moet gebeuren?

[ Voor 20% gewijzigd door Tsurany op 24-04-2020 13:46 ]

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


Acties:
  • +1 Henk 'm!

  • Andre_J
  • Registratie: September 2005
  • Laatst online: 16:08
foutje...

[ Voor 92% gewijzigd door Andre_J op 24-04-2020 13:52 . Reden: dubbelpost ]


Acties:
  • 0 Henk 'm!

  • Sp33dFr34k
  • Registratie: Juni 2006
  • Niet online

Sp33dFr34k

Retro-Geek

Tsurany schreef op vrijdag 24 april 2020 @ 13:45:
@Sp33dFr34k de vraag is ook wat de achterliggende requirement is. Hoe vast is die vrijdag? En wat moet er gebeuren als vanwege een error in bijvoorbeeld connectiviteit die melding niet is afgevuurd? Dan wachten tot twee weken later?
Gaat het om iets waarbij een dag later de herinnering nog relevant is of is het iets dat echt op dat moment moet gebeuren?
Het gaat om een afval reminder :) Dus de vrijdag is vast (het is altijd de vrijdag), als er niets is afgevuurd, dan idd wachten tot 2 weken later. Een melding op de zaterdag is irrelevant. Een uurtje later dan gepland kan bijv. wel.
Die crontab plus heb ik idd al bekeken, maar daarmee lukt het me niet.

i7 9700k + Be-Quiet Dark Rock 4 Pro | Gigabyte Z390 Aorus Ultra | Gigabyte Aorus GTX1080TI | Samsung 970 Pro 512GB + 860 EVO 1TB | 2x8GB DDR4 3000Mhz | Seasonic Platinum 660W | Fractal Design R6 | Acer Predator X34P | M-Audio AV40


Acties:
  • +1 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Dan kan je een timer gebruiken die elk half uur start, controleert of het vandaag een even/oneven week is, controleert of hij vandaag al een bericht verstuurd heeft en zo niet dat bericht verstuurd en wegschrijft dat vandaag al een reminder gestuurd is.
Je timer draait dan vrijwel altijd voor niets maar dat kost qua CPU kracht werkelijk niets.

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


Acties:
  • 0 Henk 'm!

  • Sp33dFr34k
  • Registratie: Juni 2006
  • Niet online

Sp33dFr34k

Retro-Geek

Tsurany schreef op vrijdag 24 april 2020 @ 14:45:
Dan kan je een timer gebruiken die elk half uur start, controleert of het vandaag een even/oneven week is, controleert of hij vandaag al een bericht verstuurd heeft en zo niet dat bericht verstuurd en wegschrijft dat vandaag al een reminder gestuurd is.
Je timer draait dan vrijwel altijd voor niets maar dat kost qua CPU kracht werkelijk niets.
I like your thinking, zoiets zat ik ook grofweg te denken, icm het script van lolgast hierboven, en dan nog een stapje wat checkt of het 7AM op een vrijdag is. Moet te doen zijn, en redelijk fullproof icm rebooten :) Wel apart dat zoiets simpels niet makkelijker te programmeren valt in node-red.

i7 9700k + Be-Quiet Dark Rock 4 Pro | Gigabyte Z390 Aorus Ultra | Gigabyte Aorus GTX1080TI | Samsung 970 Pro 512GB + 860 EVO 1TB | 2x8GB DDR4 3000Mhz | Seasonic Platinum 660W | Fractal Design R6 | Acer Predator X34P | M-Audio AV40


Acties:
  • +1 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Dat hangt denk ik af van je definitie van "makkelijk programmeren". Het is voor jou niet makkelijk te programmeren maar ik denk dat een ervaren developer hier z'n hand niet voor omdraait en wel een plugin kan ontwikkelen die precies deze functionaliteit kan uitvoeren en dan gewoon als palette in Node-RED te gebruiken is.
Echter moet je dan net een developer hebben die Node-RED gebruikt, deze specifieke wens heeft en dan deze plugin gaat schrijven ;)

Al moet ik zeggen dat ik met vergelijkbare commerciële software werk en ook daar hebben we niet zulke plugins vrijelijk beschikbaar, dan gebruiken we ook vaak deze methode. Het is nou eenmaal een vrij specifieke situatie.

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


Acties:
  • +2 Henk 'm!
@Sp33dFr34k Voorbeeld
JSON:
1
[{"id":"1a2f6b67.809105","type":"debug","z":"f04bfd0f.7f695","name":"","active":true,"console":"false","complete":"false","x":820,"y":600,"wires":[]},{"id":"6b035f91.ebe29","type":"function","z":"f04bfd0f.7f695","name":"get week moment ","func":"Date.prototype.getWeek = function() {\n  var onejan = new Date(this.getFullYear(),0,1);\n  return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);\n}\nvar date = new Date();\nvar weekNumber = date.getWeek();\nvar day = date.getDay();\n\nif (weekNumber % 2 === 1 && day === 5){\n    msg.payload = 'Oneven week en vrijdag'\n    return [msg];\n} else {\n    msg.payload = 'Elk ander moment'\n    return [null,msg];\n}","outputs":2,"noerr":0,"x":550,"y":670,"wires":[["1a2f6b67.809105"],["ee852fc7.de1ba"]]},{"id":"847dac3e.8fd26","type":"inject","z":"f04bfd0f.7f695","name":"hourly @ Fri in morning","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"0 4-11 * * 5","once":false,"onceDelay":0.1,"x":280,"y":670,"wires":[["6b035f91.ebe29"]]},{"id":"ee852fc7.de1ba","type":"debug","z":"f04bfd0f.7f695","name":"","active":true,"console":"false","complete":"false","x":830,"y":740,"wires":[]}]

Dit draait elk uur op vrijdag tussen 4:00 AM en 12:00 PM, controleer (on)even week en dagnummer (5 = vrijdag).
Als oneven && vrijdag -> output 1.
Anders -> Output 2

Edit:
Nu ik erover nadenk, de controle voor vrijdag in de functionnode komt hiermee natuurlijk te vervallen :+ Maar zo heb je in ieder geval een idee van de mogelijkheden

[ Voor 6% gewijzigd door lolgast op 24-04-2020 15:12 ]


Acties:
  • +1 Henk 'm!

  • Sp33dFr34k
  • Registratie: Juni 2006
  • Niet online

Sp33dFr34k

Retro-Geek

lolgast schreef op vrijdag 24 april 2020 @ 15:04:
@Sp33dFr34k Voorbeeld
JSON:
1
[{"id":"1a2f6b67.809105","type":"debug","z":"f04bfd0f.7f695","name":"","active":true,"console":"false","complete":"false","x":820,"y":600,"wires":[]},{"id":"6b035f91.ebe29","type":"function","z":"f04bfd0f.7f695","name":"get week moment ","func":"Date.prototype.getWeek = function() {\n  var onejan = new Date(this.getFullYear(),0,1);\n  return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);\n}\nvar date = new Date();\nvar weekNumber = date.getWeek();\nvar day = date.getDay();\n\nif (weekNumber % 2 === 1 && day === 5){\n    msg.payload = 'Oneven week en vrijdag'\n    return [msg];\n} else {\n    msg.payload = 'Elk ander moment'\n    return [null,msg];\n}","outputs":2,"noerr":0,"x":550,"y":670,"wires":[["1a2f6b67.809105"],["ee852fc7.de1ba"]]},{"id":"847dac3e.8fd26","type":"inject","z":"f04bfd0f.7f695","name":"hourly @ Fri in morning","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"0 4-11 * * 5","once":false,"onceDelay":0.1,"x":280,"y":670,"wires":[["6b035f91.ebe29"]]},{"id":"ee852fc7.de1ba","type":"debug","z":"f04bfd0f.7f695","name":"","active":true,"console":"false","complete":"false","x":830,"y":740,"wires":[]}]

Dit draait elk uur op vrijdag tussen 4:00 AM en 12:00 PM, controleer (on)even week en dagnummer (5 = vrijdag).
Als oneven && vrijdag -> output 1.
Anders -> Output 2

Edit:
Nu ik erover nadenk, de controle voor vrijdag in de functionnode komt hiermee natuurlijk te vervallen :+ Maar zo heb je in ieder geval een idee van de mogelijkheden
Ennnnnn het werkt, zojuist ff een testje gedaan, thanks voor de hulp! :)

Ik heb hem wat vereenvoudigd trouwens, even kijken hoe goed dit gaat werken:

- Eerst een inject op specific time, op alleen de vrijdag (draait dan dus 1x per week)
- Dan jouw functie erachter die puur kijkt naar even of oneven week
- Dan de pushover config en post nodes

:)

[ Voor 7% gewijzigd door Sp33dFr34k op 24-04-2020 16:33 ]

i7 9700k + Be-Quiet Dark Rock 4 Pro | Gigabyte Z390 Aorus Ultra | Gigabyte Aorus GTX1080TI | Samsung 970 Pro 512GB + 860 EVO 1TB | 2x8GB DDR4 3000Mhz | Seasonic Platinum 660W | Fractal Design R6 | Acer Predator X34P | M-Audio AV40


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
Ik ben een beginner in Node-Red en wil graag de waardes uitlezen van mijn "media_player.denon_avr_x2500h". Bijvoorbeeld waarde "source" of "entity_picture".
Ik heb wel geprobeerd, maar lees alleen de status "playing" uit. :(

ik zie bij Home Assistant > ontwikkelingshulpmiddelen > toestanden
Afbeeldingslocatie: https://tweakers.net/i/G7o-0uAzG2YwbeFQd2-luReoQy8=/800x/filters:strip_exif()/f/image/zS82DgT1c7RZFw27HgMCk5Cr.png?f=fotoalbum_large

kan iemand me opweg helpen of een flow/seqence voorbeeld geven?

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@CAD-tekenaar Je zegt nu dat je wel iets hebt geprobeerd, maar dat het niet helemaal werkt zoals je wilt. Als je je huidige flow post is het makkelijker voor anderen om met je mee te denken :)

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


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
Gizz schreef op zondag 26 april 2020 @ 12:04:
@CAD-tekenaar Je zegt nu dat je wel iets hebt geprobeerd, maar dat het niet helemaal werkt zoals je wilt. Als je je huidige flow post is het makkelijker voor anderen om met je mee te denken :)
Ik heb inmiddels dit gedaan.
Op welke manier kan ik deze waarde uitlezen als deze wijzigt?

code:
1
[{"id":"b573f8d.b135d08","type":"api-current-state","z":"82294c2d.20d9e","name":"","server":"779d12e2.03b0bc","version":1,"outputs":2,"halt_if":"playing","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"media_player.denon_avr_x2500h","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data.entity_picture","override_data":"msg","blockInputOverrides":false,"x":420,"y":780,"wires":[["c1914d7c.16dbf"],[]]},{"id":"c1914d7c.16dbf","type":"debug","z":"82294c2d.20d9e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"data.entity_picture.attributes.entity_picture","targetType":"msg","x":860,"y":780,"wires":[]},{"id":"3d582ce2.0039a4","type":"inject","z":"82294c2d.20d9e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":780,"wires":[["b573f8d.b135d08"]]},{"id":"779d12e2.03b0bc","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true}]

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@CAD-tekenaar Mijn Node-RED raakt van slag van je API-node (kent hij niet) dus daar kan ik niet uitgebreid naar kijken. Maar als je de debug-node op alles zet (dus output: complete msg object), zie je dan nog steeds alleen Play langskomen als status?

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


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
Met mijn flow zie ik de huidige waarde van "entity_picture". Dat is wat ik wil en gelukt is.
(toch heb ik het gevoel dat ik dit nog niet helemaal snap hoe ik er aan kom, maar het is gelukt)

Met complete msg object zie ik alle waardes van mijn media_player, incl. "entity_picture".
Uiteindelijk zou je een filter moeten toevoegen om een specifieke waarde uit te lezen.

Met welke node kan ik de waarde krijgen wanneer een waarde veranderd?

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

CAD-tekenaar schreef op zondag 26 april 2020 @ 12:25:
Met welke node kan ik de waarde krijgen wanneer een waarde veranderd?
Als ik juist begrijp wat je bedoelt gebruik je daarvoor Events: state voor. Ik heb even de nodes geïnstalleerd :P

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

Nu wordt de flow getriggered op het moment dat er iets veranderd in de state van de Denon. Als het volume wordt veranderd of er iets anders wordt afgespeeld bijvoorbeeld.

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


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
Gizz schreef op zondag 26 april 2020 @ 12:33:
[...]

Als ik juist begrijp wat je bedoelt gebruik je daarvoor Events: state voor. Ik heb even de nodes geïnstalleerd :P

[Afbeelding]

Nu wordt de flow getriggered op het moment dat er iets veranderd in de state van de Denon. Als het volume wordt veranderd of er iets anders wordt afgespeeld bijvoorbeeld.
Ik heb je voorstel nagemaakt voor "volume_level" & deployed, maar het reageert bij wijzigingen !
Volgens mij ben ik geholpen. _/-\o_
Nu eens zoeken hoe ik e.e.a kan casten naar Nest Hub. Heb je misschien tips/voorbeelden?

code:
1
[{"id":"9f131072.099dc","type":"api-current-state","z":"82294c2d.20d9e","name":"","server":"779d12e2.03b0bc","version":1,"outputs":2,"halt_if":"playing","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"media_player.denon_avr_x2500h","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data.volume_level","override_data":"msg","blockInputOverrides":false,"x":680,"y":1060,"wires":[["b3f1c1cc.c525e"],[]]},{"id":"b3f1c1cc.c525e","type":"debug","z":"82294c2d.20d9e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"data.volume_level.attributes.volume_level","targetType":"msg","x":1100,"y":1060,"wires":[]},{"id":"1562d473.eac44c","type":"inject","z":"82294c2d.20d9e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":360,"y":1100,"wires":[["9f131072.099dc"]]},{"id":"c9d238de.b92a18","type":"server-state-changed","z":"82294c2d.20d9e","name":"","server":"779d12e2.03b0bc","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":"media_player.denon_avr_x2500h"},{"property":"icon","value":""}],"entityidfilter":"media_player.denon_avr_x2500h","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"playing","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":false,"x":240,"y":1060,"wires":[["9f131072.099dc"],[]]},{"id":"779d12e2.03b0bc","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true}]

[ Voor 3% gewijzigd door CAD-tekenaar op 26-04-2020 12:49 ]


Acties:
  • 0 Henk 'm!

  • nrdnmg
  • Registratie: April 2005
  • Laatst online: 09-07 22:26
Kent iemand het gebruik van een "session cookie" binnen node red?
Ik ben bezig een flow te maken om mijn Envoy (zonnepanelen) uit te lezen. Daarvoor is ook installateur toegang nodig, wat ik inmiddels heb.
Op internet vond ik een geschikte flow, helaas zonder de code. Maar om het werkend te krijgen is er blijkbaar een 'session cookie' nodig.

Afbeeldingslocatie: https://tweakers.net/i/JuHia-PHF-AhyXC-M992j8WMV_8=/800x/filters:strip_exif()/f/image/CY9yDONfHccdyLee0SLgH0Ix.png?f=fotoalbum_large

Zie screenshot wat ik gevonden heb. Al van alles geprobeerd, maar mijn kennis is helaas nog beperkt.
Ik heb een voorbeeld toegevoegd wat ik graag werkend wil hebben.

code:
1
[{"id":"8d129f43.586c78","type":"function","z":"15d28fa1.a69","name":"Session cookie","func":"\nreturn msg;","outputs":1,"noerr":0,"x":520,"y":80,"wires":[["f2b0aad9.3bdee"]]}]

Acties:
  • 0 Henk 'm!

  • schumi2004
  • Registratie: Februari 2004
  • Laatst online: 04-07 15:41
Ik ben opzoek naar ideeen/mogelijk oplossing voor het volgende.

Ik heb een ruimte gedfinieerd die heet Woonkamer, hierin heb ik een 3 tal licht objecten in geplaatst waarbij elk object kan bestaan uit afzonderlijke lampen. Deze ruimte kan geschakeld (of eigenlijk getoggled) worden met een smart switch waarbij alles aan of uit gaat, tenzij iemand tussentijds een licht groep geschakeld heetf en dan krijg je dus wat je ook verwacht bij een toggle dat diegene die uit waren weer aan gaan etc.

Hieronder een tree view van de lichten:

- Woonkamer:
- Licht groep 1
* light 1-1
* light 1-2
* light 1-3
- Licht groep 2
* light 2-1
* light 2-2
* light 2-3
- Licht groep 3
* light 3-1
* light 3-2
* light 3-3

Nu vroeg ik me af hoe je onnodig togglen kunt voorkomen?
Ik heb het volgende pallet installed: https://flows.nodered.org/node/node-red-contrib-deconz

Hierin kun je met deconz-get een state aangeven all-on of any-on en hoopte het hiermee af te kunnen vangen maar ben bang dat het onnodig complex wordt en er vast wel een andere manier is?

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

Heeft iemand ideeën/suggesties hoe dit toggle gedrag op te kunnen lossen?
Ik hoop dat mijn verhaal duidelijk is ook ;)

/edit:
Wellicht niet helemaal helder maar ik gebruik een ConBee2 stick vandaar het Node Red pallet.

[ Voor 3% gewijzigd door schumi2004 op 29-04-2020 15:43 ]


Acties:
  • 0 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

Met een flow context kan je de states opslaan, dat lijkt me het makkelijkst.
Maar dit is een inherent probleem aan toggle, daarom zou ik eerder kijken of je daar geen oplossing voor kan bedenken. Waarom wil je een toggle switch gebruiken en niet een dedicated aan knop en een dedicated uit knop?

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


Acties:
  • 0 Henk 'm!

  • Kaspers
  • Registratie: Juni 2004
  • Laatst online: 10-07 15:27
schumi2004 schreef op woensdag 29 april 2020 @ 13:17:
Ik ben opzoek naar ideeen/mogelijk oplossing voor het volgende.

Ik heb een ruimte gedfinieerd die heet Woonkamer, hierin heb ik een 3 tal licht objecten in geplaatst waarbij elk object kan bestaan uit afzonderlijke lampen. Deze ruimte kan geschakeld (of eigenlijk getoggled) worden met een smart switch waarbij alles aan of uit gaat, tenzij iemand tussentijds een licht groep geschakeld heetf en dan krijg je dus wat je ook verwacht bij een toggle dat diegene die uit waren weer aan gaan etc.

Hieronder een tree view van de lichten:

- Woonkamer:
- Licht groep 1
* light 1-1
* light 1-2
* light 1-3
- Licht groep 2
* light 2-1
* light 2-2
* light 2-3
- Licht groep 3
* light 3-1
* light 3-2
* light 3-3

Nu vroeg ik me af hoe je onnodig togglen kunt voorkomen?
Ik heb het volgende pallet installed: https://flows.nodered.org/node/node-red-contrib-deconz

Hierin kun je met deconz-get een state aangeven all-on of any-on en hoopte het hiermee af te kunnen vangen maar ben bang dat het onnodig complex wordt en er vast wel een andere manier is?

[Afbeelding]

Heeft iemand ideeën/suggesties hoe dit toggle gedrag op te kunnen lossen?
Ik hoop dat mijn verhaal duidelijk is ook ;)
Gebruik je ook home-assistant? Dan kun je het probleem vrij eenvoudig oplossen.
Maak een drietal lichtgroepen aan, met de afzonderlijke lichten. In node-red kun je vervolgens je schakelaar koppelen aan een service node, met service 'toggle' en entity -> de light groep:

Afbeeldingslocatie: https://tweakers.net/i/_8Dj5YAH2kRR9dd9HKoS16-cIOk=/800x/filters:strip_exif()/f/image/xowMXAcQX7Hry52SVdWGIXY8.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • schumi2004
  • Registratie: Februari 2004
  • Laatst online: 04-07 15:41
Kaspers schreef op woensdag 29 april 2020 @ 14:51:
[...]


Gebruik je ook home-assistant? Dan kun je het probleem vrij eenvoudig oplossen.
Maak een drietal lichtgroepen aan, met de afzonderlijke lichten. In node-red kun je vervolgens je schakelaar koppelen aan een service node, met service 'toggle' en entity -> de light groep:

[Afbeelding]
Gebruik ook home-assistant ja (icm Conbee2 stick)
Zal er vanavond eens naar kijken, thanks ;)

/edit
@Kaspers
Voor mijn beeldvorming. Een groep in Phoscon telt niet, de groep met lampen moet aangemaakt zijn in HA?

[ Voor 9% gewijzigd door schumi2004 op 29-04-2020 15:44 ]


Acties:
  • +1 Henk 'm!

  • Kaspers
  • Registratie: Juni 2004
  • Laatst online: 10-07 15:27
schumi2004 schreef op woensdag 29 april 2020 @ 15:37:
[...]

Gebruik ook home-assistant ja (icm Conbee2 stick)
Zal er vanavond eens naar kijken, thanks ;)

/edit
@Kaspers
Voor mijn beeldvorming. Een groep in Phoscon telt niet, de groep met lampen moet aangemaakt zijn in HA?
Inderdaad. Dat werkt ook vele malen prettiger (is mijn ervaring):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
apiVersion: v1
kind: ConfigMap
metadata:
  name: hass-lights
  namespace: domotics
data:
  lights.yaml: |
    --- 
      - platform: group
        name: Keukenlichten
        entities:
          - light.staande_lamp_keuken
          - light.keuken_spot_1
          - light.keuken_spot_2
          - light.hanglamp_keuken
    
      - platform: group
        name: Keukenspots
        entities:
          - light.keuken_spot_1
          - light.keuken_spot_2

      - platform: group
        name: Woonkamerlichten
        entities:
          - light.woonkamer_spot_1
          - light.woonkamer_spot_2
          - light.woonkamer_spot_3
          - light.woonkamer_spot_4
          - light.hanglamp_woonkamer
          - light.staande_lamp_woonkamer
[...]

[ Voor 49% gewijzigd door Kaspers op 29-04-2020 17:08 ]


Acties:
  • 0 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 16:29
Ik zit met een probleem, wat ik niet helemaal kan beschrijven. Ik hoop dat jullie mij iets meer in de richting kunnen wijzen waar het probleem zit.

Zelf heb ik Node-red 1.0.3 draaien samen met een Finder modbus. Dit werkt perfect en gebruik de bekende SDM 120 flow, aangepast voor Finder, die ook hier beschreven wordt: YouTube: Eastron SDM120 single phase modbus energy meter

Mijn buurman heeft minder geluk en heeft niet de mogelijkheid tot een Finder modbus en heeft daarom een Eastron SDM120. Zeer mooi, want het orginele flow is ook gebaseerd op een SDM120 ipv Finder. Appeltje eitje dacht ik.

Ik heb de flow wel werkend, maar na een half dag "knalt" hij eruit. Een restart van een flow zorgt ervoor dat hij weer werkt. Ik vermoed dat het ligt aan het feit dat hij de waardes tegelijk ophaalt, terwijl die van mij keurig om de 5 seconden worden opgehaald:

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

Das heel raar, want de instellingen staan exact hetzelfde als mijn flow en daar pollt hij achter elkaar en "queued" hij de communicatie. Ik heb alles langs gelopen; alle nodes, alle instellingen. Meerdere flows geprobeerd, maar ik snap niet waarom hij bij de buurman alles in 1 keer polled, terwijl het bij mij achter elkaar gebeurt.

De log geeft, zoals in debug stand helemaal niks aan als de informatie niet meer binnen komt.

Enige verschil wat ik kan merken is dat hij node red 1.0.6 draait en ik 1.0.3. Maar juist hierdoor durf ik niet te updaten naar een nieuwe versie om te zien of dit het probleem is. De healthcheck geeft bij mijn buurman inderdaad aan dat hij zeer lang geen gegevens meer opgehaald heeft.

Iemand enig idee waar het aan kan liggen of welke instellingen ik moet aanpassen?

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@grote_oever Probeer eens een node-red-restart via putty.

Welke versie van node-red-contrib-modbus gebruikt hij?
Ik ben terug gegaan destijds naar 4.1.3 vanwege problemen (queing - traagheid)
Ik gebruik versie 1.0.5 van node-red.
code:
1
2
3
4
5
cd .node-red
sudo su
npm uninstall  node-red-contrib-modbus

npm  install node-red-contrib-modbus@4.1.3


Je kan ook de flow even opslaan, wissen, en node-red-contrib-modbus opnieuw installeren en de flow weer importeren. (heb ik ergens gelezen)

En leesvoer: https://github.com/Bianco...?q=is%3Aissue+is%3Aclosed

[ Voor 11% gewijzigd door AUijtdehaag op 29-04-2020 20:42 ]

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


Acties:
  • +1 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 16:29
AUijtdehaag schreef op woensdag 29 april 2020 @ 20:39:
@grote_oever Probeer eens een node-red-restart via putty.

Welke versie van node-red-contrib-modbus gebruikt hij?
Ik ben terug gegaan destijds naar 4.1.3 vanwege problemen (queing - traagheid)
Ik gebruik versie 1.0.5 van node-red.
code:
1
2
3
4
5
cd .node-red
sudo su
npm uninstall  node-red-contrib-modbus

npm  install node-red-contrib-modbus@4.1.3


Je kan ook de flow even opslaan, wissen, en node-red-contrib-modbus opnieuw installeren en de flow weer importeren. (heb ik ergens gelezen)

En leesvoer: https://github.com/Bianco...?q=is%3Aissue+is%3Aclosed
Tnx, ik heb inderdaad nog niet gechecked of de versie palette verschillend is. Ik vermoed namelijk van wel. Ga hier eens een versie terug. Zelf draai ik 5.2.0. Alhoewel ik op de issue list van github een ding zie waar ik zelf ook last van heb (queue reset niet).

Hier ga ik even mee aan de slag. Tnx.

Acties:
  • +1 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

ik ben nu bezig een p2000 berichten ontcijfer ding aan het bouwen ..

code:
1
2
3
4
5
6
7
8
9
10
11
12
//background process commandline 
stap 1. rtl--> sdr output naar /tmp/rtl_sdr_raw 
// node red vanaf hier 
stap 2 (flow A)  reformat naar JSON --> /tmp/rlt_sdr-JSON
// extra "bestand" een cvs file met "wanted" waardes (test)  
stap 3
A)  /tmp/rlt_sdr-JSON import 
B) splits bepaald veld(capcode) naar aparte key/value 
C) extract data (alarmcode,postcode & zet datum tijd) in aparte object key/value
D) add "test" (false/true) key+value 
D) op basis van CSV file als match = true .. 
E) check of "true" en stop dan in bestand A (unwanted) of B (wanted)

Ik krijg 2 errors ..
- split kan niet overweg met undefined
- andere "error"

Nu is niet elke "json" conform het format wat ik wil ontvangen, ik zou het op kunnen lossen door vooraf elk object alvast te defineren, en later eventueel het object te laten vullen .. maar is dit netjes ?


is er trouwens een manier om de flow van een msg(payload) te debuggen ? ik gebruik nu https://playcode.io/ maar is best veel knip en plak werk .. ik hoop dat er iets is dat direct met je flow(s) kan integeren ..

ik wil eigenlijk elke "error' payload vangen .. by playcode kan ik teminste beter zien waar het fout gaat .. (site is alleen ruk)

Tja vanalles


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Binnen Domoticz heb ik een blockly werkend die op basis van een DHT-11 sensor de ventilatie aanstuurt. Nu dacht ik dit ook via Node-Red te kunnen uitvoeren, aangezien de sensor is aangesloten op een NodeMCU.
Nu heb ik het voor elkaar om de waardes van de sensor in NR te krijgen via MQTT. Nu krijg ik onderstaande informatie.

code:
1
MQTT: Topic: domoticz/in, Message: {"idx":343,"RSSI":8,"nvalue":0,"svalue":"21.70;62.90;3"}


Aangezien er meer informatie binnen komt wil ik eerst filteren op idx 343. Dit doe ik met een switch die kijkt naar payload.idx 343. Vervolgens krijg ik enkel de juiste informatie.
Nu wil ik echter de 'svalue' splitsen naar temperatuur en luchtvochtigheid. Dit kan met de split functie, maar als ik die ga gebruiken splitst hij alle informatie uit de payload, terwijl ik enkel de 'svalue' string wil opsplitsen.

Iemand anders die al eens een dergelijke flow heeft gemaakt?

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

code:
1
[{"id":"f5374572.0b97c8","type":"tab","label":"Mechanische ventilatie","disabled":false,"info":""},{"id":"d8ee9547.15beb8","type":"mqtt in","z":"f5374572.0b97c8","name":"","topic":"domoticz/in","qos":"2","datatype":"json","broker":"73bf538b.fbeffc","x":550,"y":120,"wires":[["59305eea.79ffa","7fc3746d.5e82cc"]]},{"id":"59305eea.79ffa","type":"switch","z":"f5374572.0b97c8","name":"status","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"343","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":730,"y":120,"wires":[["c3e928e0.4937e8","86a29f9.95dc46"]]},{"id":"7fc3746d.5e82cc","type":"debug","z":"f5374572.0b97c8","name":"in","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":550,"y":200,"wires":[]},{"id":"c3e928e0.4937e8","type":"split","z":"f5374572.0b97c8","name":"","splt":",","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":910,"y":120,"wires":[["ef308b9a.02b478"]]},{"id":"ef308b9a.02b478","type":"debug","z":"f5374572.0b97c8","name":"split","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":910,"y":200,"wires":[]},{"id":"86a29f9.95dc46","type":"debug","z":"f5374572.0b97c8","name":"status","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":730,"y":200,"wires":[]},{"id":"73bf538b.fbeffc","type":"mqtt-broker","z":"","name":"Badkamer","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Acties:
  • +1 Henk 'm!
@wervisser Een change-node met dit erin?
Afbeeldingslocatie: https://i.imgur.com/JvsMUTh.png

Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@lolgast Nice, snelle oplossing. Die had ik met Google nog niet gevonden.

Nu eens kijken hoe ik waarde 2 kan gebruiken, zodat wanneer de waarde >60 is, deze een switch op idx kan schakelen.

Acties:
  • +1 Henk 'm!
@wervisser Helemaal achteraan die $split het volgende toevoegen: [1]. Na het sluiten-haakje dus
De split maakt een array van je waardes. Die begint met tellen op 0. Door [1] toe te voegen ‘selecteer’ je waarde 2 om mee door te gaan

[ Voor 6% gewijzigd door lolgast op 01-05-2020 21:54 ]


Acties:
  • +1 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@lolgast Cool, werkt helemaal super!

Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
ik heb een afbeelding van mijn media_player kunnen filteren welke track er afgespeeld wordt.
Deze afbeelding heb ik als string.
msg.data.entity_picture.attributes.entity_picture = "http://cdn-albums.tunein.com/gn/72VC1MV0D5d.jpg"
Hoe kan ik deze afbeelding casten naar mijn Nest Hub?
Ik zie deze cast node, maar krijg de parameters niet goed.
Afbeeldingslocatie: https://tweakers.net/i/NlAxke6JU5nKIXEFj5AYeNbbagQ=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/MtDD6qKFKYz3n6QgLpH7UNfQ.png?f=user_large

Acties:
  • +1 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 16:29
AUijtdehaag schreef op woensdag 29 april 2020 @ 20:39:
@grote_oever Probeer eens een node-red-restart via putty.

Welke versie van node-red-contrib-modbus gebruikt hij?
Ik ben terug gegaan destijds naar 4.1.3 vanwege problemen (queing - traagheid)
Ik gebruik versie 1.0.5 van node-red.
code:
1
2
3
4
5
cd .node-red
sudo su
npm uninstall  node-red-contrib-modbus

npm  install node-red-contrib-modbus@4.1.3


Je kan ook de flow even opslaan, wissen, en node-red-contrib-modbus opnieuw installeren en de flow weer importeren. (heb ik ergens gelezen)

En leesvoer: https://github.com/Bianco...?q=is%3Aissue+is%3Aclosed
Kleine update: dit heeft inderdaad probleem opgelost. Hij draait nu stabiel bij de buurman en mijn queue reset probleem is ook met downgrade opgelost.

Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Even door het topic heen gezocht, maar nog niet gevonden. Schakelt een van jullie wellicht een Group vanuit Node-Red naar Domoticz?
Ik heb in een kamer twee rolluiken hangen. Momenteel schakel ik die via een Group in Domoticz, maar dit herkent hij niet vanuit NR. De payload.type is namelijk Group in plaats van Switch en de idx kan hierdoor vaker voorkomen.

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser Zo te zien wordt door Domoticz met JSONs alleen On en Off ondersteund bij groepen. Als je rolluiken simpelweg worden aangestuurd met On en Off zou het dus moeten kunnen.

Mochten ze iets anders nodig hebben dan On/Off, dan is het natuurlijk een kleine moeite om in NR alles in te stellen voor rolluik 1 en de node waarin je JSON-template staat te kopiëren, plakken en de IDX aan te passen voor rolluik 2. Tien seconde werk :)

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


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 20:29
@wervisser Waarom vraag je eigenlijk de informatie bij Domoticz op en ga je er dan in Node-RED mee aan de slag? Die DHT11 bijv., die kun je toch ook rechtstreeks vanuit Node-RED bevragen? Ik heb Tasmota op m'n ESP8266's staan, die heeft gewoon een JSON URL die ik opvraag in Node-RED. Werkt prima en weinig overhead. Met jouw methode lijkt Domoticz mij een beetje een SPOF :?

Ik heb alleen maar Node-RED draaien om zaken te automatiseren. Verder geen Domoticz of Home Assistant o.i.d. ernaast. Voor grafiekjes InfluxDB & Grafana.

[ Voor 15% gewijzigd door ThinkPad op 04-05-2020 15:07 ]


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz, als ik hem snap vast en zeker 10 seconden O-)

@ThinkPad, goed punt. De sensor butst nu zijn data door naar Domoticz. Ik dacht dus op die manier te koppelen, maar ik kan waarschijnlijk dan ook wel een tweede controller kiezen en dan naar NR sturen.

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

Ik gebruik vaak beide routes: data van de ESPs via http direct naar Domoticz en daarnaast uiteraard met MQTT naar de MQTT-broker. Mocht er iets met NR of de MQTT-broker zijn, dan heb ik Domoticz nog en omgekeerd :)

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz Heb je link even bekeken en ik zie daar inderdaad wel de JSON staan, maar hoe kan ik die dan laten aanvullen met mijn variabelen?

Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
Kan iemand me op weg helpen hoe ik in Node-Red kan uitlezen welke knop ik indruk van mijn remote?
Deze remote is van de Harmony Hub.

Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

wervisser schreef op maandag 4 mei 2020 @ 17:42:
@Gizz Heb je link even bekeken en ik zie daar inderdaad wel de JSON staan, maar hoe kan ik die dan laten aanvullen met mijn variabelen?
De structuur zoals die in de Domoticz-wiki staat lijkt een beetje vreemd omdat het niet helemaal overeenkomt met hoe wij JSONs in NR versturen. In de wiki wordt er vanuit gegaan dat je het in de adresbalk van je browser plakt en daar kun je geen aanhalingstekens en zo gebruiken. Ik kijk altijd even bij eerdere JSONs in NR hoe ik het ook alweer heb omgebouwd :P

code:
1
/json.htm?type=command&param=switchscene&idx=&switchcmd=

wordt bijvoorbeeld in NR:
code:
1
{"command": "switchscene", "idx": 554, "switchcmd": "Off"}

De idx is die van je group en On/Off lijkt me evident :)
CAD-tekenaar schreef op maandag 4 mei 2020 @ 20:47:
Kan iemand me op weg helpen hoe ik in Node-Red kan uitlezen welke knop ik indruk van mijn remote?
Deze remote is van de Harmony Hub.
Hier kun je node-red-contrib-harmony voor gebruiken lijkt mij? En dan de observe node gebruiken:
H observe

A node to observe an Activity being triggered on a Harmony Hub through Node-RED

A Harmony Hub needs to be selected from the list or created by clicking on the edit button. The Harmony Hub IP address can be autodetected by clicking on the search button in the configuration node.

When an Activity is switched on the Harmony Hub, the node sends an object with a payload to the output: payload: { activityId: activityId, activityStatus: activityStatus } The activityId is the ID of the current activity, the activityStatus represents the following states: 0 = Hub is off, 1 = Activity is starting, 2 = Activity is started, 3 = Hub is turning off.

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz, dank je wel. Zat te moeilijk te denken. De function die er voor zorgt dat mijn lampen aan gaan bestaat uit onderstaande. Ik heb een nieuwe function aangemaakt met dezelfde inhoud, maar waarbij switchlight door switchscene is verandert. Dit stuurt het bericht door naar Domoticz. Die doet nog niet wat ik wil, maar het commando zal in principe moeten kloppen.

code:
1
2
3
4
5
6
7
8
9
10
var idx = msg.topic
if ( msg.payload === true )
{
msg.payload = { "command": "switchscene", "idx": idx, "switchcmd": "On" };
}
else if ( msg.payload === false )
{
msg.payload = { "command": "switchscene", "idx": idx, "switchcmd": "Off" };
}
return msg

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser Zou je eens je hele flow kunnen plaatsen? De logica snap ik nu niet helemaal, maar misschien klopt hij in de context van de hele flow wel :)

Ik lees nu: als apparaat met IDX 123 true is, wordt datzelfde apparaat met IDX 123 op On gezet in Domoticz. Maar als je al weer dat IDX 123 true is (afkomstig uit Domoticz?), dan is hij toch al aangezet in Domoticz en hoef jij verder niks te doen?

Maar zoals ik zeg, wellicht zit er iets voor deze node wat het allemaal verklaart :)

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz Zie onderstaande voor de flow. Het is een samenraapsel van andere flows. Mijn selecter flow had eerst geen losse idx-en maar een waarde van <null> en dat werkte prima. Ik zag alleen in veel andere flows dat hierbij ook een idx werd opgegeven (terwijl deze idx ook in de NORA node staat).
Omdat terugkoppeling naar Domoticz niet leek te werken, heb ik dit dan ook maar aangepast.

Er staan wat losse nodes in, zonder koppeling dus dat klopt.

code:
1
[{"id":"52a72466.3c9fcc","type":"tab","label":"Woonkamer","disabled":false,"info":""},{"id":"382700fb.72bac","type":"mqtt in","z":"52a72466.3c9fcc","name":"","topic":"domoticz/out","qos":"2","datatype":"auto","broker":"5d933108.daf91","x":90,"y":942,"wires":[["382fdcc.8f56024"]]},{"id":"1b3ed309.1c20dd","type":"debug","z":"52a72466.3c9fcc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":800,"wires":[]},{"id":"7b03be29.d355a","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Mechanische ventilatie","roomhint":"Algemeen","name":"Ventilatie","passthru":false,"nora":"df4bcc24.09f8d","topic":"334","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1120,"y":1636,"wires":[["9f7f070c.cf4c78"]]},{"id":"382fdcc.8f56024","type":"json","z":"52a72466.3c9fcc","name":"","property":"payload","action":"","pretty":false,"x":270,"y":942,"wires":[["ba2838c9.29aa78"]]},{"id":"1d6da93c.671567","type":"switch","z":"52a72466.3c9fcc","name":"Switch","property":"payload.switchType","propertyType":"msg","rules":[{"t":"cont","v":"On/Off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":690,"y":440,"wires":[[]]},{"id":"ba2838c9.29aa78","type":"function","z":"52a72466.3c9fcc","name":"Function in on/off","func":"msg.topic = msg.payload.idx\nif (msg.payload.nvalue === 1 || msg.payload.Status === \"On\")\n{\n    msg.payload = true\n}\nelse if (msg.payload.nvalue === 0 || msg.payload.Status === \"Off\")\n{\n    msg.payload = false\n}\n\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":942,"wires":[["1b3ed309.1c20dd","fbfe3d45.d88fa"]]},{"id":"fbfe3d45.d88fa","type":"switch","z":"52a72466.3c9fcc","name":"Selector","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"},{"t":"eq","v":"36","vt":"str"},{"t":"eq","v":"34","vt":"str"},{"t":"eq","v":"30","vt":"str"},{"t":"eq","v":"365","vt":"str"},{"t":"eq","v":"28","vt":"str"},{"t":"eq","v":"26","vt":"str"},{"t":"eq","v":"27","vt":"str"},{"t":"eq","v":"37","vt":"str"},{"t":"eq","v":"65","vt":"str"},{"t":"eq","v":"62","vt":"str"},{"t":"eq","v":"68","vt":"str"},{"t":"eq","v":"3","vt":"str"},{"t":"eq","v":"71","vt":"str"},{"t":"eq","v":"32","vt":"str"},{"t":"eq","v":"59","vt":"str"},{"t":"eq","v":"41","vt":"str"},{"t":"eq","v":"40","vt":"str"},{"t":"eq","v":"24","vt":"str"},{"t":"eq","v":"56","vt":"str"},{"t":"eq","v":"50","vt":"str"},{"t":"eq","v":"53","vt":"str"},{"t":"eq","v":"38","vt":"str"},{"t":"eq","v":"22","vt":"str"},{"t":"eq","v":"334","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":26,"x":860,"y":942,"wires":[[],["aa19d0e5.4492d"],["e6ae486b.561af8"],["1d88173.de7b5e9"],["58e2a5e9.bb9a1c"],["86452ad8.92c148"],["bb8bf1b1.8c70f"],["7b9aecec.6b60b4"],["27443e41.0e96e2"],["ec39c068.c7687"],["396ce1d4.8013de"],["e10c9cae.a932c"],["a155c2ad.549df"],["84cae8d8.fddaf8"],["ecf8d5b4.f59e78"],["4f3fe744.4a8598"],["c6d71c55.59754"],["32e10d60.655ce2"],["a1e17c65.8e9ac"],["2bab64d7.ecf6fc"],["e9d7e33b.5266b"],["e9d7e33b.5266b"],["42f68547.54cc4c"],["752e84f0.32e7ac"],["7b03be29.d355a"],["4bddd234.dc9dfc"]]},{"id":"9f7f070c.cf4c78","type":"function","z":"52a72466.3c9fcc","name":"Device on/off","func":"var idx = parseInt(msg.topic);\nif ( msg.payload === true )\n{\nmsg.payload = { \"command\": \"switchlight\", \"idx\": idx, \"switchcmd\": \"On\" };\n}\nelse if ( msg.payload === false )\n{\nmsg.payload = { \"command\": \"switchlight\", \"idx\": idx, \"switchcmd\": \"Off\" };\n}\nreturn msg","outputs":1,"noerr":0,"x":1510,"y":942,"wires":[["e2fe4312.d22a4","548dbf84.d8059"]]},{"id":"8b95874.1406a78","type":"mqtt out","z":"52a72466.3c9fcc","name":"","topic":"domoticz/in","qos":"1","retain":"","broker":"5d933108.daf91","x":2270,"y":1180,"wires":[]},{"id":"58e2a5e9.bb9a1c","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"TV","roomhint":"Woonkamer","name":"TV","passthru":false,"nora":"df4bcc24.09f8d","topic":"365","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1110,"y":498,"wires":[["9f7f070c.cf4c78"]]},{"id":"4bddd234.dc9dfc","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Film kijken","roomhint":"Woonkamer","name":"Film kijken","passthru":false,"nora":"df4bcc24.09f8d","topic":"1","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1130,"y":1722,"wires":[["403f844b.b39bac"]]},{"id":"b00422cf.67279","type":"inject","z":"52a72466.3c9fcc","name":"Refresh","topic":"msg.payload","payload":"Refresh","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":730,"y":120,"wires":[["68870079.9d25c","16488092.50eadf","ca84c9b3.a5fa88","1e84be80.f30e71","85bb148c.e6af38"]],"icon":"font-awesome/fa-refresh"},{"id":"68870079.9d25c","type":"function","z":"52a72466.3c9fcc","name":"Manual off","func":"    global.set('AutoOn', 1);\n","outputs":1,"noerr":0,"x":800,"y":260,"wires":[[]]},{"id":"16488092.50eadf","type":"function","z":"52a72466.3c9fcc","name":"TV refresh","func":"msg.payload = {\"command\": \"getdeviceinfo\", \"idx\": 566 } \nreturn msg;","outputs":1,"noerr":0,"x":1050,"y":180,"wires":[["a3356a98.18b9b8"]]},{"id":"1e84be80.f30e71","type":"function","z":"52a72466.3c9fcc","name":"Ventilatie","func":"msg.payload = {\"command\": \"getdeviceinfo\", \"idx\": 756 } \nreturn msg;","outputs":1,"noerr":0,"x":1040,"y":60,"wires":[["a3356a98.18b9b8"]]},{"id":"ca84c9b3.a5fa88","type":"function","z":"52a72466.3c9fcc","name":"Hoeklamp","func":"msg.payload = {\"command\": \"getdeviceinfo\", \"idx\": 867 } \nreturn msg;","outputs":1,"noerr":0,"x":1040,"y":120,"wires":[["a3356a98.18b9b8"]]},{"id":"80731b00.701dd8","type":"switch","z":"52a72466.3c9fcc","name":"Group","property":"payload.Type","propertyType":"msg","rules":[{"t":"eq","v":"Group","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":690,"y":500,"wires":[[]]},{"id":"e9d7e33b.5266b","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Alex rolluik","roomhint":"Slaapkamer Alex","name":"Alex rolluik","passthru":false,"nora":"df4bcc24.09f8d","topic":"2","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1130,"y":1456,"wires":[["403f844b.b39bac"]]},{"id":"a3356a98.18b9b8","type":"debug","z":"52a72466.3c9fcc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1320,"y":80,"wires":[]},{"id":"27443e41.0e96e2","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Woonkamer","roomhint":"Woonkamer","name":"Woonkamer uit","passthru":false,"nora":"df4bcc24.09f8d","topic":"37","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1140,"y":687,"wires":[["9f7f070c.cf4c78"]]},{"id":"86452ad8.92c148","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Toilet lamp","roomhint":"Toilet BGG","name":"Toilet lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"28","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1130,"y":545,"wires":[["9f7f070c.cf4c78"]]},{"id":"e6ae486b.561af8","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Eetkamer plafond lamp","roomhint":"Woonkamer","name":"Eetkamer plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"34","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1170,"y":404,"wires":[["9f7f070c.cf4c78"]]},{"id":"1d88173.de7b5e9","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Keuken plafond lamp","roomhint":"Woonkamer","name":"Keuken plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"30","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1160,"y":451,"wires":[["9f7f070c.cf4c78"]]},{"id":"aa19d0e5.4492d","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Woonkamer plafond lamp","roomhint":"Woonkamer","name":"Woonkamer plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"36","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1170,"y":356,"wires":[["9f7f070c.cf4c78"]]},{"id":"10975060.58ef8","type":"comment","z":"52a72466.3c9fcc","name":"Begane grond","info":"","x":1130,"y":316,"wires":[]},{"id":"12d35694.6ce719","type":"comment","z":"52a72466.3c9fcc","name":"Slaapkamer Sebas","info":"","x":1150,"y":874,"wires":[]},{"id":"a155c2ad.549df","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Sebas rolluiken","roomhint":"Slaapkamer Sebas","name":"Sebas rolluiken","passthru":false,"nora":"df4bcc24.09f8d","topic":"3","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1140,"y":913,"wires":[["403f844b.b39bac"]]},{"id":"bb8bf1b1.8c70f","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Voordeur lamp","roomhint":"Voordeur","name":"Voordeur lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"26","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1140,"y":593,"wires":[["9f7f070c.cf4c78"]]},{"id":"7b9aecec.6b60b4","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Hal plafond lamp","roomhint":"Hal begane grond","name":"Hal plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"27","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1150,"y":640,"wires":[["9f7f070c.cf4c78"]]},{"id":"58a2523a.694bcc","type":"comment","z":"52a72466.3c9fcc","name":"Slaapkamer","info":"","x":1130,"y":1009,"wires":[]},{"id":"ecf8d5b4.f59e78","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Slaapkamer plafond lamp","roomhint":"Slaapkamer","name":"Slaapkamer plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"32","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1170,"y":1045,"wires":[["9f7f070c.cf4c78"]]},{"id":"4f3fe744.4a8598","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Slaapkamer rolluik","roomhint":"Slaapkamer","name":"Slaapkamer rolluik","passthru":false,"nora":"df4bcc24.09f8d","topic":"59","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1150,"y":1093,"wires":[["9f7f070c.cf4c78"]]},{"id":"c6d71c55.59754","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Badkamer plafond lamp","roomhint":"Badkamer","name":"Badkamer plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"41","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1170,"y":1179,"wires":[["9f7f070c.cf4c78"]]},{"id":"32e10d60.655ce2","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Badkamer wand lamp","roomhint":"Badkamer","name":"Badkamer wand lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"40","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1160,"y":1226,"wires":[["9f7f070c.cf4c78"]]},{"id":"6d053532.f9b71c","type":"comment","z":"52a72466.3c9fcc","name":"Badkamer","info":"","x":1120,"y":1141,"wires":[]},{"id":"6315cbc3.d90844","type":"comment","z":"52a72466.3c9fcc","name":"Slaapkamer Alex","info":"","x":1140,"y":1415,"wires":[]},{"id":"42f68547.54cc4c","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Alex plafond lamp","roomhint":"Slaapkamer Alex","name":"Alex plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"38","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1150,"y":1503,"wires":[["9f7f070c.cf4c78"]]},{"id":"84cae8d8.fddaf8","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Sebas plafond lamp","roomhint":"Slaapkamer Sebas","name":"Sebas plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"71","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1160,"y":960,"wires":[["9f7f070c.cf4c78"]]},{"id":"752e84f0.32e7ac","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Zolder plafond lamp","roomhint":"Zolder","name":"Zolder plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"22","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1160,"y":1589,"wires":[["9f7f070c.cf4c78"]]},{"id":"a4c35911.573358","type":"comment","z":"52a72466.3c9fcc","name":"Zolder","info":"","x":1110,"y":1552,"wires":[]},{"id":"a2b31408.265738","type":"comment","z":"52a72466.3c9fcc","name":"Scene","info":"","x":1110,"y":1684,"wires":[]},{"id":"396ce1d4.8013de","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Screen midden","roomhint":"Woonkamer","name":"Screen midden","passthru":false,"nora":"df4bcc24.09f8d","topic":"62","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1140,"y":779,"wires":[["9f7f070c.cf4c78"]]},{"id":"e10c9cae.a932c","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Screen rechts","roomhint":"Woonkamer","name":"Screen rechts","passthru":false,"nora":"df4bcc24.09f8d","topic":"68","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1140,"y":826,"wires":[["9f7f070c.cf4c78"]]},{"id":"ec39c068.c7687","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Screen links","roomhint":"Woonkamer","name":"Screen links","passthru":false,"nora":"df4bcc24.09f8d","topic":"65","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1130,"y":733,"wires":[["9f7f070c.cf4c78"]]},{"id":"85bb148c.e6af38","type":"function","z":"52a72466.3c9fcc","name":"TV refresh","func":"msg.payload = {\"command\": \"getdeviceinfo\", \"idx\": 30 } \nreturn msg;","outputs":1,"noerr":0,"x":1050,"y":220,"wires":[["a3356a98.18b9b8"]]},{"id":"d989ff15.48347","type":"comment","z":"52a72466.3c9fcc","name":"Werkkamer","info":"","x":1130,"y":1275,"wires":[]},{"id":"a1e17c65.8e9ac","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Werkkamer plafond lamp","roomhint":"Werkkamer","name":"Werkkamer plafond lamp","passthru":false,"nora":"df4bcc24.09f8d","topic":"24","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1170,"y":1313,"wires":[["9f7f070c.cf4c78"]]},{"id":"2bab64d7.ecf6fc","type":"nora-switch","z":"52a72466.3c9fcc","devicename":"Werkkamer rolluik","roomhint":"Werkkamer","name":"Werkkamer rolluik","passthru":false,"nora":"df4bcc24.09f8d","topic":"56","onvalue":"true","onvalueType":"bool","offvalue":"false","offvalueType":"bool","x":1150,"y":1364,"wires":[["9f7f070c.cf4c78"]]},{"id":"f9a63845.39f158","type":"template","z":"52a72466.3c9fcc","name":"Gen MQTT On/Off","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"switchlight\", \"idx\": {{payload.idx}}, \"switchcmd\": \"{{payload.switchcmd}}\" }","output":"str","x":730,"y":380,"wires":[[]]},{"id":"c598130d.87aa1","type":"join","z":"52a72466.3c9fcc","name":"","mode":"auto","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":"false","timeout":"","count":"","reduceRight":false,"x":260,"y":1100,"wires":[[]]},{"id":"403f844b.b39bac","type":"function","z":"52a72466.3c9fcc","name":"Scene on/off","func":"var idx = parseInt(msg.topic);\nif ( msg.payload === true )\n{\nmsg.payload = { \"command\": \"switchscene\", \"idx\": idx, \"switchcmd\": \"On\" };\n}\nelse if ( msg.payload === false )\n{\nmsg.payload = { \"command\": \"switchscene\", \"idx\": idx, \"switchcmd\": \"Off\" };\n}\nreturn msg","outputs":1,"noerr":0,"x":1510,"y":1240,"wires":[["548dbf84.d8059"]]},{"id":"aa772520.d82608","type":"debug","z":"52a72466.3c9fcc","name":"genmqtt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1970,"y":860,"wires":[]},{"id":"e2fe4312.d22a4","type":"debug","z":"52a72466.3c9fcc","name":"device on off","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1680,"y":860,"wires":[]},{"id":"43ffeb5d.4dfa24","type":"debug","z":"52a72466.3c9fcc","name":"json","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":2010,"y":920,"wires":[]},{"id":"548dbf84.d8059","type":"json","z":"52a72466.3c9fcc","name":"","property":"payload","action":"","pretty":false,"x":1810,"y":1100,"wires":[["43ffeb5d.4dfa24","8b95874.1406a78"]]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"df4bcc24.09f8d","type":"nora-config","z":"","name":"nora config","group":"","notify":false}]

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Hoe ga ik SPI gebruiken binnen node red voor o.a cc1101 module Uiteindelijk wil ik aantal van deze gebruiken om diverse dingen te monitoren/besturen .. of lorawan op te zetten.

ik heb een RTL_SDR met RTL_433 waar ik goed kan zien dat mijn kaku remote berichten zend, en hierom lijkt het me goed om met dit "protocol" te beginnen . om te leren.

code:
1
2
3
4
5
6
7
8
Vdd    -    3.3V (P1-01)
SI     -    MOSI (P1-19)
SO     -    MISO (P1-21)
CS     -    SS   (P1-24)
SCLK   -    SCK  (P1-23)
GDO2   -    GPIO (P1-22)
GDO0   -    not used in this demo
GND    -    P1-25

ik heb rpi specifieke node(s) maar deze laten je alleen maar I2C,pwm, GPIO pin niks met SPI..
ik heb de MC8xxxx node, (A/D node) RFM69 modules geprobeerd helaas ..

https://www.npmjs.com/package/spi-device,

ook vind ik nergens om bv een node.js library te importeren

Jullie hulp met SPI communicatie op te zetten in node-rd word erg gewaardeerd .. het debuggen/opzetten van communicatie tussen de RPI en de CC1101 is stap 2 ..

Daarnaast wilde ik een msg.reset (via function node) sturen naar een throttle node alleen de orginele payload word gewist door de timestamp van de inject.node.
Doel was een CSV inlezen, dan regel voor regel de input controleren eventueel een waarde wijzigen en dan weer het totaal terug in een (nieuwe) csv stoppen. (lees orgineel overschrijven)

Tja vanalles


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser Ik zal eerlijk zijn: ik begrijp de functionaliteit van je flow niet helemaal. Even mijn gedachte op een rijtje zetten:

Ik denk te begrijpen dat je die NORA-nodes wil gebruiken om via je Google/Nest-speaker te zeggen dat een lamp aan moet, dat in NR op te vangen om vervolgens via MQTT de betreffende lamp aan te zetten in Domoticz.

Wat is dan de functionaliteit van het deel vóór de NORA-nodes? Waarom haal je op wat de huidige staat is van een switch of lamp? Als jij zegt "Lamp 1 aan", dan moet die lamp toch altijd het commando 'On' krijgen? Of hij al aanstond maakt dan niets uit.

Misschien kun je in een paar zinnen uitleggen wat eigenlijk de bedoeling is van de flow :)

Nog een kleine tip: je gebruikt nu bij al je checks ===. Daarmee check je niet alleen of true gelijk is aan true (om maar een voorbeeld te noemen), maar ook of beide van hetzelfde type zijn. Als de eerste true een string is (simpele tekst) en de tweede een boolean (alleen true of false), dan komt dat niet overeen met ===. In jouw flow lijkt het alleen van belang dat waardes overeenkomen en heb je dus genoeg aan ==. Dat scheelt misschien ergens een iets te kritische if-statement :)

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


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
@Gizz :

Ik denk dat node Observe alleen werkt als je een activiteit start.
Het zal denk ik niet werken als je een andere knop (volume/light/mute/enz) indrukt.
Daar was ik naar op zoek.

Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz Eerlijkheid is prima :-)

De basis flow heb ik ooit eerder van iemand gekregen en ben daar op verder gegaan. Ik heb er eerlijk gezegd niet over nagedacht waarom het stuk voor de NORA nodes staat. Hierbij ben ik er vanuit gegaan dat eerst geluisterd moet worden naar de MQTT boodschappen van Domoticz.
Nu je het zo schrijft, is dat wellicht inderdaad wat onnodig/onzinnig.

De bedoeling van de flow is eigenlijk dat ik via GA een aantal lampen/rolluiken kan schakelen. De lampen lukt overigens, de rolluiken hebben als groep/scene geen zin.
Verder vind ik het wel belangrijk dat NR vervolgens Domoticz op de hoogte brengt dat de status is gewijzigd. Vice-Versa is dat natuurlijk ook handig om te weten. Ongeacht waar ik iets schakel, via de Google Home app, Domoticz of via de GA, moet de status wel mee veranderen.
Heb ik daar dan niet het eerste gedeelte voor nodig?

edit: ik heb net de eerste Domoticz MQTT node in de flow uitgeschakeld en GA werkt, Domoticz en de Google Home worden ook bijgewerkt _/-\o_

[ Voor 7% gewijzigd door wervisser op 05-05-2020 13:26 ]


Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@CAD-tekenaar Kun je hier wat mee?

@wervisser Mooi dat het werkt! Ik denk dat je flow eerder niet goed op gang kwam, omdat je flow zo ingericht was dat het begon met input vanuit Domoticz in plaats van input van GA. Terwijl je GA als trigger wilt hebben om dingen te laten gebeuren :)

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


Acties:
  • 0 Henk 'm!

  • CAD-tekenaar
  • Registratie: November 2008
  • Laatst online: 08-07 20:49
Ik ga kijken/proberen. Bedankt !

Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 11:08
Daar ben ik weer eens, zit al een uurtje of 2 te prutten op het volgende.
Wat wil ik? Lees 2 luchtvochtigheids sensors uit, badkamer en voor nu even een buiten sensor, er komt een huiskamer sensor aan.

Als badkamer en buiten vochtigheid met pak m beet 20 uit elkaar liggen, moet de wtw afzuiging hier omhoog.

Afbeeldingslocatie: https://i.imgur.com/neWmOjL.png

De bovenste node werkt niet, want de join node verwacht een msg.payload. Maar zodra ik de 2 change nodes verwijder, dan overschrijft hij bij de 2e vochtigheid sensor de msg.payload van de 1e.


De 2e node werkt wel maar niet goed, zodra ik op "deploy" druk haalt hij van beide sensors de waarde op, en dat werkt. Maar zodra bijvoorbeeld 1 vochtigheid waarde omhoog gaat, stuurt de andere sensor niks door, dit omdat die niet van waarde veranderd is.

Ik ben geen function node held, maar dit moet toch wel op te lossen zijn lijkt me? :+

Acties:
  • 0 Henk 'm!

  • denuz
  • Registratie: Augustus 2006
  • Nu online
Dacuuu schreef op dinsdag 5 mei 2020 @ 19:52:
Daar ben ik weer eens, zit al een uurtje of 2 te prutten op het volgende.
Wat wil ik? Lees 2 luchtvochtigheids sensors uit, badkamer en voor nu even een buiten sensor, er komt een huiskamer sensor aan.

Als badkamer en buiten vochtigheid met pak m beet 20 uit elkaar liggen, moet de wtw afzuiging hier omhoog.

[Afbeelding]

De bovenste node werkt niet, want de join node verwacht een msg.payload. Maar zodra ik de 2 change nodes verwijder, dan overschrijft hij bij de 2e vochtigheid sensor de msg.payload van de 1e.


De 2e node werkt wel maar niet goed, zodra ik op "deploy" druk haalt hij van beide sensors de waarde op, en dat werkt. Maar zodra bijvoorbeeld 1 vochtigheid waarde omhoog gaat, stuurt de andere sensor niks door, dit omdat die niet van waarde veranderd is.

Ik ben geen function node held, maar dit moet toch wel op te lossen zijn lijkt me? :+
Ik zou beide sensors los uitlezen,zoals aan de 2e node. Vervolgens zou ik beide sensor een msg.topic meegeven middels de set node. Vervolgens deze 2 joinen. In de function node kleine berekening. (ik ben verder geen pro, maar het werkt in ieder geval)

code:
1
[{"id":"e96d653f.bd7dd","type":"change","z":"efc7bd79.e3d128","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"badkamer","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":1640,"wires":[["4e9ba5c4.bf27ec"]]},{"id":"79a85a4e.6ee20c","type":"change","z":"efc7bd79.e3d128","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"buiten","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":1700,"wires":[["4e9ba5c4.bf27ec"]]},{"id":"2cda5ccf.0f0e04","type":"inject","z":"efc7bd79.e3d128","name":"badkamer","topic":"","payload":"85","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":200,"y":1620,"wires":[["e96d653f.bd7dd"]]},{"id":"4c5c8e2c.a0e238","type":"inject","z":"efc7bd79.e3d128","name":"buiten","topic":"","payload":"55","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":190,"y":1700,"wires":[["79a85a4e.6ee20c"]]},{"id":"4e9ba5c4.bf27ec","type":"join","z":"efc7bd79.e3d128","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":610,"y":1660,"wires":[["f4515030.b09d3"]]},{"id":"7a35deee.d9b83","type":"debug","z":"efc7bd79.e3d128","name":"","active":true,"tosidebar":true,"console":true,"tostatus":false,"complete":"payload","targetType":"msg","x":1000,"y":1660,"wires":[]},{"id":"f4515030.b09d3","type":"function","z":"efc7bd79.e3d128","name":"Vergelijken","func":"// this is passed a payload which is an object with\n\nif (msg.payload.badkamer - msg.payload.buiten >20) \n{\n    msg.payload = \"verschil hoger dan 20\"\n} \nelse\n{\n   msg.payload = \"verschil kleiner dan 20\"\n    \n}\nreturn msg;","outputs":1,"noerr":0,"x":790,"y":1660,"wires":[["7a35deee.d9b83"]]}]

Acties:
  • 0 Henk 'm!

  • Dacuuu
  • Registratie: Maart 2009
  • Laatst online: 11:08
denuz schreef op dinsdag 5 mei 2020 @ 20:31:
[...]


Ik zou beide sensors los uitlezen,zoals aan de 2e node. Vervolgens zou ik beide sensor een msg.topic meegeven middels de set node. Vervolgens deze 2 joinen. In de function node kleine berekening. (ik ben verder geen pro, maar het werkt in ieder geval)

code:
1
[{"id":"e96d653f.bd7dd","type":"change","z":"efc7bd79.e3d128","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"badkamer","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":1640,"wires":[["4e9ba5c4.bf27ec"]]},{"id":"79a85a4e.6ee20c","type":"change","z":"efc7bd79.e3d128","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"buiten","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":1700,"wires":[["4e9ba5c4.bf27ec"]]},{"id":"2cda5ccf.0f0e04","type":"inject","z":"efc7bd79.e3d128","name":"badkamer","topic":"","payload":"85","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":200,"y":1620,"wires":[["e96d653f.bd7dd"]]},{"id":"4c5c8e2c.a0e238","type":"inject","z":"efc7bd79.e3d128","name":"buiten","topic":"","payload":"55","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":190,"y":1700,"wires":[["79a85a4e.6ee20c"]]},{"id":"4e9ba5c4.bf27ec","type":"join","z":"efc7bd79.e3d128","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":610,"y":1660,"wires":[["f4515030.b09d3"]]},{"id":"7a35deee.d9b83","type":"debug","z":"efc7bd79.e3d128","name":"","active":true,"tosidebar":true,"console":true,"tostatus":false,"complete":"payload","targetType":"msg","x":1000,"y":1660,"wires":[]},{"id":"f4515030.b09d3","type":"function","z":"efc7bd79.e3d128","name":"Vergelijken","func":"// this is passed a payload which is an object with\n\nif (msg.payload.badkamer - msg.payload.buiten >20) \n{\n    msg.payload = \"verschil hoger dan 20\"\n} \nelse\n{\n   msg.payload = \"verschil kleiner dan 20\"\n    \n}\nreturn msg;","outputs":1,"noerr":0,"x":790,"y":1660,"wires":[["7a35deee.d9b83"]]}]
Dank! Net 1 minuut voor je reactie had ik een werkende flow te pakken. Maar ik heb die van jou ge-edit zodat die ook werkt! super happy.
Eerst de modded versie van de jouwe, het gaat vooral om de function node :P

Afbeeldingslocatie: https://i.imgur.com/D5V49ba.png
code:
1
[{"id":"345e072c.367af8","type":"server-state-changed","z":"6fcdccca.42b164","name":"Badkamer sensor","server":"1997c54b.5ff4fb","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.humidity_158d0001b953c8","entityidfiltertype":"exact","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"x":124,"y":606.1112308502197,"wires":[["d4ddfaac.475fd8"]]},{"id":"aa444afb.4b27f8","type":"api-current-state","z":"6fcdccca.42b164","name":"","server":"1997c54b.5ff4fb","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.br_humidity","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":606.0000076293945,"y":609.1112308502197,"wires":[["518a0ca9.24bbe4"]]},{"id":"d4ddfaac.475fd8","type":"change","z":"6fcdccca.42b164","name":"","rules":[{"t":"set","p":"badkamer","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":333.00000381469727,"y":608.3333988189697,"wires":[["aa444afb.4b27f8"]]},{"id":"8a3fdb69.e6a608","type":"debug","z":"6fcdccca.42b164","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1049.0000076293945,"y":680.3333988189697,"wires":[]},{"id":"518a0ca9.24bbe4","type":"change","z":"6fcdccca.42b164","name":"","rules":[{"t":"set","p":"buiten","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":864.0000076293945,"y":607.3333988189697,"wires":[["95fcb2df.f1dea"]]},{"id":"95fcb2df.f1dea","type":"function","z":"6fcdccca.42b164","name":"Vergelijken","func":"// this is passed a payload which is an object with\n\nif (msg.badkamer - msg.buiten >20) \n{\n    msg.payload = \"verschil hoger dan 20\"\n} \nelse\n{\n   msg.payload = \"verschil kleiner dan 20\"\n    \n}\nreturn msg;","outputs":1,"noerr":0,"x":1048.0000076293945,"y":608.3333988189697,"wires":[["8a3fdb69.e6a608"]]},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":false}]



En deze homebrew versie werkt ook goed.

Afbeeldingslocatie: https://i.imgur.com/DiUYUi4.png
code:
1
[{"id":"6aec9c9f.22f404","type":"server-state-changed","z":"6fcdccca.42b164","name":"Badkamer sensor","server":"1997c54b.5ff4fb","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.humidity_158d0001b953c8","entityidfiltertype":"exact","outputinitially":true,"state_type":"num","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"x":138,"y":419.0000057220459,"wires":[["18ba44c6.19689b","a7b74028.05b91"]]},{"id":"18ba44c6.19689b","type":"api-current-state","z":"6fcdccca.42b164","name":"","server":"1997c54b.5ff4fb","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.br_humidity","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":461,"y":388.0000057220459,"wires":[["a7b74028.05b91"]]},{"id":"a7b74028.05b91","type":"join","z":"6fcdccca.42b164","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":472.00000381469727,"y":467.00000762939453,"wires":[["bf33940b.71cb08"]]},{"id":"267d009b.a346d","type":"debug","z":"6fcdccca.42b164","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":905.0000076293945,"y":418.0000066757202,"wires":[]},{"id":"bf33940b.71cb08","type":"calculator","z":"6fcdccca.42b164","name":"","inputMsgField":"payload","outputMsgField":"payload","operation":"sub","constant":"","x":715.0000038146973,"y":441.0000057220459,"wires":[["267d009b.a346d"]]},{"id":"1997c54b.5ff4fb","type":"server","z":"","name":"Home Assistant","legacy":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":false}]

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 20:29
Ik hoor de deurbel niet altijd als ik boven ben. Heb daarom een ESP8266 aan de deurbel gekoppeld en ben nu bezig de flow te regelen die mij een pushnotificatie op m'n telefoon moet sturen.

Afbeeldingslocatie: https://tweakers.net/i/sH5v_YDiMUlx4mmBAV44NVmzAbQ=/800x/filters:strip_icc():strip_exif()/f/image/Q94gWzkjTFprWWV3ZrQlje96.jpg?f=fotoalbum_large
Het leek mij wel handig om via het Node-RED dashboard een toggleswitch te hebben zodat ik de notificaties evt. ook uit kan zetten. Dit werkt prima, via de switch node check ik op de waarde 'true' is. Punt is alleen dat ik de toggle na uitzetten misschien vergeet weer aan te zetten en de flow dan werkeloos staat te zijn. Ik wil hem daarom bijv. om 08:30 automatisch aanzetten. Schijnbaar is er geen optie om hem default op aan te zetten (is al eens over geklaagd lees ik). Dit lukt nu d.m.v. de inject. Vervelende is alleen, dat zodra het nu 08:30 is, hij een inject gaat doen en de flow dan gaat lopen en ik een pushnotificatie krijg.

Het zal vast iets simpels zijn (ik kan beter gaan slapen op dit tijdstip :z) maar ik kom er even niet uit.

TL;DR: Hoe zorg ik dat ik wel de toggle op aan/true kan zetten, maar dat niet de rest van de flow gaat lopen wanneer dit gedaan wordt?

[ Voor 4% gewijzigd door ThinkPad op 06-05-2020 00:58 ]


Acties:
  • 0 Henk 'm!
@ThinkPad Ik heb het op deze manier opgelost:
Afbeeldingslocatie: https://images.lolgast.nl/uploads/big/7ed0bcfaca6e7cfe7fd5374e96d88e5b.png

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

@ThinkPad denk dat je beter iets er tussen kan zetten (trigger node) bv

Afbeeldingslocatie: https://i.imgur.com/qtd5ocq.png

Deze flow werkt als volgt -->
- een "rate limit" van 1 msg per 3 seconden
- triggert(node) het uitlezen van de CVS en blokkeert daarna (trigger node)
- beide berichten komen in een join (array)
- reset trigger(node)
- stuurt de join door om verder te verwerken ..

wellicht te complex, het is maar een idee

@Gizz nu stel ik de vraag betreft SPI en no response..

Tja vanalles


Acties:
  • +1 Henk 'm!

  • Tsurany
  • Registratie: Juni 2006
  • Niet online

Tsurany

⭐⭐⭐⭐⭐

ThinkPadd schreef op woensdag 6 mei 2020 @ 00:43:
Het zal vast iets simpels zijn (ik kan beter gaan slapen op dit tijdstip :z) maar ik kom er even niet uit.

TL;DR: Hoe zorg ik dat ik wel de toggle op aan/true kan zetten, maar dat niet de rest van de flow gaat lopen wanneer dit gedaan wordt?
Flow Context: https://nodered.org/docs/user-guide/context en https://nodered.org/docs/...ng-functions#storing-data

Je gebruikt een Flow Context om de boolean in op te slaan. Je kan dan simpelweg de boolean value opslaan maar ook een timestamp hoe lang hij onderdrukt moet zijn. In je flow controleer je dan simpelweg of de boolean true is, anders ga je verder. Zo vang je ook null values af.

Om de boolean aan te passen kan je in principe van alles gebruiken. Bijvoorbeeld een timer die elke minuut checked of de suppress timestap al verstreken is maar ook handmatige acties. Je kan ook combinaties hiervan gebruiken. Wellicht zelfs een ESP8266 met fysieke knoppen via MQTT om te triggeren?

Als je een Flow Context gebruikt hoeft de flow die deze waarde aanpast niet verbonden te zijn met een flow die deze waarde uitleest. Dat scheelt dus een hoop gedoe.


Graag verwijs ik je naar deze post van mij: Tsurany in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"
Bovenaan zie je ook een inject met een function om de Flow Context te resetten.

[ Voor 8% gewijzigd door Tsurany op 06-05-2020 11:18 ]

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Ik ben (terug) bezig met het maken van een flow voor mijn DHT22 sensor. Op advies van @ThinkPad heb ik nu Domoticz buiten beeld gelaten door de Tasmota firmware devices aan te passen.

Ik blijf tegen de onderstaande foutmelding lopen.

8-5-2020 12:07:25node: Device on/off
function : (error)
"ReferenceError: on is not defined (line 4, col 15)"

code:
1
[{"id":"25ca59c4.ed4086","type":"mqtt out","z":"f5374572.0b97c8","name":"","topic":"MCU_Badkamer/cmnd/power","qos":"1","retain":"","broker":"5d933108.daf91","x":1130,"y":280,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

vso schreef op woensdag 6 mei 2020 @ 10:53:
@Gizz nu stel ik de vraag betreft SPI en no response..
Dan is er nog niemand met kennis en tijd langsgekomen in dit topic. Er zijn natuurlijk geen garanties dat iemand je altijd verder kan helpen. Komt misschien nog :)
wervisser schreef op vrijdag 8 mei 2020 @ 12:08:

code:
1
[{"id":"25ca59c4.ed4086","type":"mqtt out","z":"f5374572.0b97c8","name":"","topic":"MCU_Badkamer/cmnd/power","qos":"1","retain":"","broker":"5d933108.daf91","x":1130,"y":280,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Volgens mij is dit alleen je MQTT-out node en ontbreekt de rest van de flow :)

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


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Oeps, my bad

code:
1
[{"id":"f5374572.0b97c8","type":"tab","label":"Mechanische ventilatie","disabled":false,"info":""},{"id":"5d6a60fb.c63fb","type":"function","z":"f5374572.0b97c8","name":"Luchtvochtigheidscontrole","func":"msg.topic = msg.payload\nif (msg.payload > 50  || msg.payload === on )\n{\n    msg.payload = true\n}\nelse if (msg.payload < 50  || msg.payload === off )\n{\n    msg.payload = false\n}\n\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":280,"wires":[["e633d6ae.5dfb58","b19e4f23.f609c"]]},{"id":"e633d6ae.5dfb58","type":"function","z":"f5374572.0b97c8","name":"Device on/off","func":"msg.topic = msg.payload\nif ( msg.payload === true )\n{\nmsg.payload = on;\n}\nelse if ( msg.payload === false )\n{\nmsg.payload = off;\n}\nreturn msg","outputs":1,"noerr":0,"x":670,"y":280,"wires":[["25ca59c4.ed4086","6495150f.bacd9c","8f86b9b1.d2ecb8"]]},{"id":"d8ee9547.15beb8","type":"mqtt in","z":"f5374572.0b97c8","name":"DHT22 Temperature","topic":"MCU_Badkamer/DHT22/Temperature","qos":"2","datatype":"json","broker":"5d933108.daf91","x":110,"y":340,"wires":[[]]},{"id":"191f622.e18ef9e","type":"mqtt in","z":"f5374572.0b97c8","name":"DHT22 Humidity","topic":"MCU_Badkamer/DHT22/Humidity","qos":"2","datatype":"json","broker":"5d933108.daf91","x":100,"y":280,"wires":[["5d6a60fb.c63fb","f5aa29b6.af8b18"]]},{"id":"25ca59c4.ed4086","type":"mqtt out","z":"f5374572.0b97c8","name":"","topic":"MCU_Badkamer/cmnd/power","qos":"1","retain":"","broker":"5d933108.daf91","x":1130,"y":280,"wires":[]},{"id":"6495150f.bacd9c","type":"json","z":"f5374572.0b97c8","name":"","pretty":false,"x":870,"y":320,"wires":[["25ca59c4.ed4086","8dcd05d1.631e48"]]},{"id":"8dcd05d1.631e48","type":"debug","z":"f5374572.0b97c8","name":"json","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1040,"y":400,"wires":[]},{"id":"8f86b9b1.d2ecb8","type":"debug","z":"f5374572.0b97c8","name":"device","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":780,"y":460,"wires":[]},{"id":"f5aa29b6.af8b18","type":"debug","z":"f5374572.0b97c8","name":"Humidity","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":330,"y":440,"wires":[]},{"id":"b19e4f23.f609c","type":"debug","z":"f5374572.0b97c8","name":"luchtvochtig","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":540,"y":500,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

@Gizz ach ben zelf maar gaan prutsen .. inmiddels erachter dat het erg helpt als je de pinnetjes goed erin steekt .. :) zodat het in elk geval werkt ..

Nu ik dat weet kan ik verder met SPI communicatie via node.js .. .. ik hoop dat ik zover kom dat ik een CC1101 node aan de node-red pallet kan toevoegen ..

Volgende stap word het ontvangen/decoderen/zenden .. maar dat is 6 stappen verder ben nu al blij als ik een data stroom zou zien ..

Tja vanalles


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

Je moet even wat dingen omdraaien in je topic.

code:
1
MCU_Badkamer/cmnd/power


Moet bij Tasmota zijn:
code:
1
cmnd/MCU_Badkamer/power

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


Acties:
  • 0 Henk 'm!

  • Raider095
  • Registratie: November 2014
  • Laatst online: 02-11-2021
Hallo allemaal, leuk dat hier ook een topic over loopt :)

Sinds enkele weken ben ik met NR, voor de monitoring van technische ruimtes in een appartementencomplex welke via een draadloze node (beetje verwarrend soms, die naam) verzonden wordt via het LoRaWAN netwerk van The Things Network (waar ook weer een topic over loopt op dit forum, maar ik merk hier dat er veel meer aan NR kan hangen haha). Denk aan storingen van (in dit geval, waar de eerste test draait), het ketelhuis. Dat werkt opzich goed, gisteren heb ik daar een deurcontact aan toegevoegd en waar ik in eerste instantie een vertraging (soort anti-dender) wilde inbouwen voor bekende bezoekers, zoals de complexbeheerder, zodat de deur snel geopend en gesloten kan worden, probeer ik nu een andere weg in te slaan.

Deze meldingen gaan via een Telegram BOT naar een handvol personen. Nu ben ik bezig om een "aanmeld" optie in te bouwen waarmee gebruikers van deze app zichzelf kunnen aanmelden, de BOT weet dan de gebruikersnaam en toont deze in de melding op het moment dat een deur open gaat. Nu voor 1 enkele node werkt dat goed, maar er komen meer nodes/devices voor meerdere ruimtes en het is des te gebruiksvriendelijker om daar knoppen voor te maken. Eerste knop "aanmelden" (misschien komen er meer knoppen in de toekomst) en vervolgens krijg je nieuwe knoppen te zien met de verschillende ruimtes waar de gebruiker zich kan aanmelden.

Kort maar krachtig, ik zit wat te vechten om deze knoppen in NR te krijgen. Ik zie wat voorbeelden met reply_markup, maar wat ik dan niet snap, moet er dan al een bericht verstuurd zijn, voordat die knoppen getoond kunnen worden? Volgens mij kijk ik ergens overheen of denk ik te moeilijk :)

Anyhows, iemand ervaring met knoppen die een commando kunnen versturen?

[ Voor 7% gewijzigd door Raider095 op 08-05-2020 20:36 ]


Acties:
  • +1 Henk 'm!

  • Andre_J
  • Registratie: September 2005
  • Laatst online: 16:08
Ik weet niet op welke manier je met telegram bot communiceert.
Deze https://flows.nodered.org/node/node-red-contrib-telegrambot uitbreiding is behoorlijk uitgebreid en kan ook met knoppen in de vorm van een toetsenbord werken.
Hoe doe je trouwens het aanmelden van personen ? Kan je dat delen?

Acties:
  • 0 Henk 'm!

  • Raider095
  • Registratie: November 2014
  • Laatst online: 02-11-2021
Andre_J schreef op vrijdag 8 mei 2020 @ 21:05:
Ik weet niet op welke manier je met telegram bot communiceert.
Deze https://flows.nodered.org/node/node-red-contrib-telegrambot uitbreiding is behoorlijk uitgebreid en kan ook met knoppen in de vorm van een toetsenbord werken.
Hoe doe je trouwens het aanmelden van personen ? Kan je dat delen?
Yes die telegrambot gebruik ik ook, maar qua knoppen kom ik er gewoon nog niet helemaal uit. Ben mezelf wel met terugwerkende kracht door dit topic heen aan het werken, staan best leuke dingen in :)

Qua aanmelden weet ik ook niet of ik de juiste weg bewandel, maar het werkt...!

Ik gebruik een Telegram Command node. Daar heb ik voor nu even het commando /aanmelden in gezet.
Die gaat vervolgens naar een functienode;

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
global.set("aanmelding", msg.originalMessage.from.first_name);

if (msg.payload !== undefined)
{
    msg.payload = {};
    msg.payload.chatId = msg.originalMessage.chat.id;
    msg.payload.type = "message";
    msg.payload.content = "U bent aangemeld";
    msg.payload.reply_markup = {
            inline_keyboard: [
                [{
                    text: "Yes"
                }],
                [{
                    text: "No"
                }]
            ]
        }

    return msg;
}


Die 2 knoppen dienen even ter test, maar krijg ik nog niet zichtbaar...

Vervolgens heb ik een functie waarin de triggers staan van de diverse alarmcontacten. Het deurcontact luidt als volgt;

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var aanmelding = global.get("aanmelding");
if (msg.payload.Port4changed)
{
    if (msg.payload.Port4current)
    {
        port4 = "*" + port4 + " OPEN*";
        if (aanmelding !== null)
        {
            port4 += " (" + aanmelding + ")";
            global.set("aanmelding", null);
        }
    }
    else port4 = "*" + port4 + " gesloten*";
}
else port4 = port4 + " gesloten";


Ter voorbereiding op uitbreiding van dit systeem is het een global variabele. Telegram zit in een aparte flow en de monitoring zit in een aparte flow en zo komen er nog wel meer bij in de toekomst. Dit kan resulteren in een aantal weergaves;

Deur OPEN
Deur OPEN (Pietje)
Deur gesloten

So far so good. Verschillende gebruikers kunnen zich 'aanmelden' en die naam verschijnt dan ook netjes. Dus dat deel van de coding zit redelijk goed, los van het feit of het netter kan, haha. Maar dat wil ik dus in knoppen zetten, temeer omdat er in de toekomst meerdere ruimtes komen binnen dit systeem en het voor de gebruikers als leek een beetje werkbaar moet blijven. Click and Go :)

Acties:
  • 0 Henk 'm!

  • Raider095
  • Registratie: November 2014
  • Laatst online: 02-11-2021
En, laat ik niet teveel vragen tegelijk stellen, wat ik eigenlijk ook nog zoek is het volgende;

Die global "aanmelding" wil ik tijdelijk laten bestaan. Stel dat iemand zich 'aanmeldt' maar zich toch bedenkt.. hi, dan blijft die variabele staan. Eigenlijk wil ik daar een time-to-live van bijvoorbeeld 1 minuut tegenover zetten. 1 minuut om daadwerkelijk die ruimte te betreden en de variabele (de naam) te kunnen gebruiken, daarna wordt hij ge-nulled. Sommige dingen freubel ik zelf wel, maar zoiets zit ik ook weer even mee te stoeien..

EDIT: Opgelost mbv de node-red-contrib-timeout. Die wordt getriggerd door de 'aanmeld-functie' en na 30 seconden leegt hij de variabele en stuurt de aanmelder een berichtje dat hij te laat was :)

[ Voor 15% gewijzigd door Raider095 op 09-05-2020 00:11 ]


Acties:
  • 0 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
Heb weer zo'n noob dingetje die ik na veel pogingen nog niet aan de gang heb gekregen. Ik heb een DHT22 waar ik nu succesvol mijn mechanische ventilatie mee kan regelen op basis van de luchtvochtigheid. Om een of andere reden wil mijn NodeMCU enkel MQTT versturen en niet als tweede controller Domoticz.
Nu dacht ik dat het dan makkelijk zou zijn om de reeds verstuurde MQTT door te sturen naar Domoticz.

Onderstaande flow heb ik gemaakt en de temperatuur en luchtvochtigheid wordt samengevoegd. Nu moet ik die echter nog in een Domoticz HTTP post vormen en daar gaat het mis.

Debug node laat de juiste informatie zien
code:
1
2
3
9-5-2020 20:32:56node: 5c41c94.e978b38
humidity : msg.payload : Object
{ temperature: 22.7, humidity: 43.6 }


De waarde die Domoticz kan begrijpen is bijvoorbeeld.
code:
1
MQTT: Topic: domoticz/in, Message: {"idx":343,"RSSI":8,"nvalue":0,"svalue":"21.70;62.90;3"}


Mijn flow
code:
1
[{"id":"d8ee9547.15beb8","type":"mqtt in","z":"f5374572.0b97c8","name":"DHT22 Temperature","topic":"MCU_Badkamer/DHT22/Temperature","qos":"2","datatype":"json","broker":"5d933108.daf91","x":110,"y":540,"wires":[["2499a707.4ca5c8","9f3550ed.4630e"]]},{"id":"191f622.e18ef9e","type":"mqtt in","z":"f5374572.0b97c8","name":"DHT22 Humidity","topic":"MCU_Badkamer/DHT22/Humidity","qos":"2","datatype":"json","broker":"5d933108.daf91","x":80,"y":280,"wires":[["5d6a60fb.c63fb","c713d60c.1268b8"]]},{"id":"5c41c94.e978b38","type":"debug","z":"f5374572.0b97c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":820,"y":560,"wires":[]},{"id":"38cd9b37.fe67b4","type":"join","z":"f5374572.0b97c8","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":530,"y":540,"wires":[["5c41c94.e978b38","814c72c3.459d9"]]},{"id":"814c72c3.459d9","type":"function","z":"f5374572.0b97c8","name":"Format Data","func":"var temp = { payload:\"msg.payload.temperature\" };\nvar humi = { payload:\"msg.payload.humidity\" };;\n\nmsg.payload = {}\n\nmsg.payload.idx =  343\nmsg.payload.nvalue = 0\nmsg.payload.svalue = [temp,humi];\n\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":680,"wires":[["42103c81.1bd244"]]},{"id":"42103c81.1bd244","type":"debug","z":"f5374572.0b97c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":870,"y":680,"wires":[]},{"id":"2499a707.4ca5c8","type":"debug","z":"f5374572.0b97c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":210,"y":660,"wires":[]},{"id":"c713d60c.1268b8","type":"change","z":"f5374572.0b97c8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"humidity","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":400,"wires":[["38cd9b37.fe67b4","6d59a395.3b739c"]]},{"id":"9f3550ed.4630e","type":"change","z":"f5374572.0b97c8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":500,"wires":[["38cd9b37.fe67b4","6d59a395.3b739c"]]},{"id":"6d59a395.3b739c","type":"debug","z":"f5374572.0b97c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":450,"y":700,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Acties:
  • +2 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 20:37

Gizz

Dunder-Mifflin, Inc.

@wervisser Je mist command: udevice. De hele flow kan trouwens veel simpeler en met minder javascript. Hierbij mijn temperatuur en luchtvochtigheidflow:

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

code:
1
[{"id":"2b50bc39.c8d00c","type":"mqtt in","z":"fccb946.d8f5f68","name":"","topic":"ESP_fijnstof/DHT22/Temperature","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","x":130,"y":660,"wires":[["a195e5dd.2acea8"]]},{"id":"a195e5dd.2acea8","type":"change","z":"fccb946.d8f5f68","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"temp","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":660,"wires":[["59e5d6d4.b5151"]]},{"id":"59e5d6d4.b5151","type":"template","z":"fccb946.d8f5f68","name":"DMZ JSON","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"udevice\", \"idx\": 570, \"nvalue\": 0,  \"svalue\": \"{{flow.temp}};{{flow.hum}};0\"}","output":"json","x":590,"y":680,"wires":[["6aa134ed.2fd68c"]]},{"id":"3cf14fc7.e73d8","type":"mqtt in","z":"fccb946.d8f5f68","name":"","topic":"ESP_fijnstof/DHT22/Humidity","qos":"2","datatype":"json","broker":"c9b2091b.ca27b8","x":120,"y":700,"wires":[["10cf3842.170318"]]},{"id":"10cf3842.170318","type":"change","z":"fccb946.d8f5f68","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"hum","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":700,"wires":[["59e5d6d4.b5151"]]},{"id":"6aa134ed.2fd68c","type":"mqtt out","z":"fccb946.d8f5f68","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"c9b2091b.ca27b8","x":750,"y":680,"wires":[]},{"id":"c9b2091b.ca27b8","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.2","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

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


Acties:
  • +1 Henk 'm!

  • wervisser
  • Registratie: Oktober 2006
  • Laatst online: 14:33
@Gizz Top, bedankt voor je snelle reactie. Ik heb de flow aangepast naar mijn waardes en gelijk ook het inschakelen van de ventilator eraan gekoppeld. Werkt perfect!

code:
1
[{"id":"f5374572.0b97c8","type":"tab","label":"Mechanische ventilatie","disabled":false,"info":""},{"id":"5d6a60fb.c63fb","type":"function","z":"f5374572.0b97c8","name":"Luchtvochtigheidscontrole","func":"msg.topic = msg.payload\nif (msg.payload > 65 )\n{\n    msg.payload = true\n}\nelse if (msg.payload < 60 )\n{\n    msg.payload = false\n}\n\nreturn msg;","outputs":1,"noerr":0,"x":350,"y":57,"wires":[["e633d6ae.5dfb58"]]},{"id":"e633d6ae.5dfb58","type":"function","z":"f5374572.0b97c8","name":"Device on/off","func":"msg.topic = msg.payload\nif ( msg.payload === true )\n{\nmsg.payload = \"ON\";\n}\nelse if ( msg.payload === false )\n{\nmsg.payload = \"OFF\";\n}\nreturn msg","outputs":1,"noerr":0,"x":590,"y":57,"wires":[["25ca59c4.ed4086"]]},{"id":"d8ee9547.15beb8","type":"mqtt in","z":"f5374572.0b97c8","name":"DHT22 Temperature","topic":"MCU_Badkamer/DHT22/Temperature","qos":"2","datatype":"json","broker":"5d933108.daf91","x":110,"y":177,"wires":[["602c9bc6.2e3f54"]]},{"id":"191f622.e18ef9e","type":"mqtt in","z":"f5374572.0b97c8","name":"DHT22 Humidity","topic":"MCU_Badkamer/DHT22/Humidity","qos":"2","datatype":"json","broker":"5d933108.daf91","x":100,"y":57,"wires":[["5d6a60fb.c63fb","3b4d28f1.a93e78"]]},{"id":"25ca59c4.ed4086","type":"mqtt out","z":"f5374572.0b97c8","name":"","topic":"cmnd/SO_MV_Fan/POWER","qos":"1","retain":"","broker":"5d933108.daf91","x":840,"y":57,"wires":[]},{"id":"602c9bc6.2e3f54","type":"change","z":"f5374572.0b97c8","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"temp","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":177,"wires":[["e6f8b0d4.51d62"]]},{"id":"e6f8b0d4.51d62","type":"template","z":"f5374572.0b97c8","name":"DMZ JSON","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{\"command\": \"udevice\", \"idx\": 343, \"nvalue\": 0,  \"svalue\": \"{{flow.temp}};{{flow.hum}};0\"}","output":"json","x":550,"y":137,"wires":[["ac9b5064.76fbe"]]},{"id":"3b4d28f1.a93e78","type":"change","z":"f5374572.0b97c8","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"hum","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":117,"wires":[["e6f8b0d4.51d62"]]},{"id":"ac9b5064.76fbe","type":"mqtt out","z":"f5374572.0b97c8","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"5d933108.daf91","x":750,"y":137,"wires":[]},{"id":"5d933108.daf91","type":"mqtt-broker","z":"","name":"Domoticz Master","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Acties:
  • 0 Henk 'm!

  • devastator83
  • Registratie: Januari 2012
  • Laatst online: 09-07 20:16
Is het iemand gelukt om vanuit Node Red in HomeAssistant een verbinding te maken naar OpenHab (terwijl die in dezelfde PC maar in verschillende dockers draaien)? Om de 1 of andere reden wil dat maar niet lukken.

Installeer ik NodeRed en OpenHab in een andere host, dan lukt het wel ...

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

devastator83 schreef op maandag 11 mei 2020 @ 19:25:
Is het iemand gelukt om vanuit Node Red in HomeAssistant een verbinding te maken naar OpenHab (terwijl die in dezelfde PC maar in verschillende dockers draaien)? Om de 1 of andere reden wil dat maar niet lukken.

Installeer ik NodeRed en OpenHab in een andere host, dan lukt het wel ...
node red is een op zichzelf staand ding, zolang de nodig poort(en) openstaan (firewall) zou dat allemaal toch geen issue mogen zijn..

Tja vanalles


Acties:
  • 0 Henk 'm!

  • devastator83
  • Registratie: Januari 2012
  • Laatst online: 09-07 20:16
Dat was ook mijn idee, maar toch lukt het niet ...

Acties:
  • 0 Henk 'm!

  • Andre_J
  • Registratie: September 2005
  • Laatst online: 16:08
devastator83 schreef op maandag 11 mei 2020 @ 19:25:
Is het iemand gelukt om vanuit Node Red in HomeAssistant een verbinding te maken naar OpenHab (terwijl die in dezelfde PC maar in verschillende dockers draaien)? Om de 1 of andere reden wil dat maar niet lukken.
Meerdere dockers?
Ik denk dat je meerdere containers bedoeld. Hoe zijn deze aangemaakt, gebruiken ze hetzelfde netwerk ?

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 20:29
Wat gebruik jij om te checken wie er thuis is?
We hebben beiden een iPhone, maar ik weet nog uit m'n Domoticz tijd dat pingen naar een iPhone kansloos is, omdat hij zodra het scherm uitgaat, niet meer reageert op ping.

Misschien kan ik uit m'n UniFi controller ophalen wie er verbonden is met de wifi, dit lijkt wel geschikt: https://docs.joepverhaeg.nl/presence/

Acties:
  • 0 Henk 'm!
Ik gebruik de Home Assistant app. Dat werkt hier echt super goed (beide met iPhones). Zeker sinds die app een 'interne URL' setting heeft en hij dus weet dat wanneer je met een bepaalde SSID verbonden bent, je thuis bent.

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 20:29
Ah, Home Assistant gebruik ik al zo'n twee jaar niet meer. Het is hier nu Node-RED only :P
Ben nu aan het spelen met die flow uit m'n link, ik kan daarmee nu een array van de clients die verbonden zijn met m'n accespoints ophalen. Eens kijken hoe betrouwbaar dat is :)

Acties:
  • 0 Henk 'm!
Persoonlijk vind ik het up-to-date inzien van verbonden clients via de webinterface van Unifi érg traag. Valt me eerlijk gezegd best tegen van tijd tot tijd. Ik ben benieuwd naar je resultaat, want opzich ben ik wel in voor een tweede manier naast de HA app.

Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 20:29
Ik heb het net even voor je getest, als ik elke seconde ( :X, even om te testen) de status opvraag bij UniFi dan duurt het tussen de 10 a 30 sec. voordat de statuswijziging in Node-RED doorkomt wanneer ik m'n wifi aanzet op iPhone. Ik vermoed dat als je telefoon in je broekzak zit hij minder vaak naar wifi netwerken zal zoeken vanwege batterijbesparing en het dan ietsje langer zal duren, maar waarschijnlijk nog steeds vrij snel.

Voor mijn toepassing ("naar wie moet Node-RED pushnotificatie sturen?") is dit snel genoeg. Als je er verlichting mee wilt schakelen als je in het donker thuiskomt dan is het te langzaam vermoed ik en stap je een donkere woonkamer binnen. Maar dat gaat bij mij via Philips Hue die het licht aanzet zodra de bewegingssensor beweging ziet en het donker genoeg is.
Pagina: 1 ... 11 ... 32 Laatste