Cookies op Tweakers

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

Meer informatie

  • ny-hardcore
  • Registratie: maart 2002
  • Laatst online: 06-09 10:42
Thoit schreef op vrijdag 1 februari 2019 @ 08:41:
Nee, hier zie ik alleen het volgende staan:

[Afbeelding]

Enige state die ik in HA zie is de batterij status. Maar dat zou normaal gedrag moeten zijn.
https://tweakers.net/ext/f/dffJ8TSC6N5stXiCDe7dvYrY/thumb.png
Zou dat ding eens verwijderen en weer terug opnieuw koppelen.
Ik zie wel dat ik een een andere/oudere firmware(yymmdd) heb?

ny-hardcore wijzigde deze reactie 02-02-2019 07:57 (4%)

cd /pub && more beer


  • jordan2k
  • Registratie: juli 2001
  • Laatst online: 15:48
KvNwPPr schreef op maandag 17 december 2018 @ 14:26:
Ik ben bezig geweest om de postNL automation om te zetten naar node-red. Nu alleen nog de postNL sensor van Hass omzetten maar dat is me nog niet gelukt. Het kan vast makkelijker maar het werkt :).

[Afbeelding]
[Afbeelding]

Function node

code:
1
2
3
4
5
var postnl = msg.data.new_state.entity_id;
var pakketjes = msg.data.new_state.state;
var attributes = msg.data.new_state.attributes;

return[{payload:postnl},{payload:pakketjes},{payload:attributes}]



switch node

[...]


Hoe kan ik mijn flows makkelijk delen zonder dat ik het risico loop om keys etc te delen?
Vraagje, welke node moet ik installeren als ik die PostNL node wil maken?

  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 14-09 10:15
jordan2k schreef op zondag 3 februari 2019 @ 00:18:
[...]


Vraagje, welke node moet ik installeren als ik die PostNL node wil maken?
Je hebt alleen de home assistant node nodig. En in HA voeg je een postnl sensor toe met de volgende waarde:


code:
1
2
3
  - platform: postnl
    username: JOUWUSERNAME
    password: JOUWWACHTWOORD

De bekende HA-module 'node-red-contrib-home-assistant-websocket' heeft sinds kort een nieuwe node genaamd 'wait until' waarbij je in een sequence kan wachten tot een HA-entiteit een bepaalde waarde bereikt (evt. nog met een timeout), incl subattributen zoals 'last changed' en je kan ook werken met > en <. Klinkt handig!

Daarmee kan je wellicht verhalingen (loops van: check waarde via de HA current state node - wacht x seconden en check weer opnieuw) vervangen door deze ene node.

DeadMetal wijzigde deze reactie 03-02-2019 20:01 (8%)


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 18:23
Heb de cube opnieuw toegevoegd en nu doet die het eindelijk _/-\o_ Zie nu ook netjes de events in NR voorbijkomen. Er hoeft dus niks extra's qua logging geconfigureerd te worden.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 22:22
lolgast schreef op vrijdag 1 februari 2019 @ 17:32:
@Greetoz De status van de schakelaar maakt niet uit nee. Waar denk je dat die ‘toggle’-function voor is :9

Maar misschien moet je wat minder nadenken over wat er allemaal fout zou kunnen gaan en het gewoon eens proberen. Dan snap je de flow misschien ook meteen wat beter
Ik ben er vandaag even voor gaan zitten aangezien mijn pulse schakelaars binnen zijn gekomen. En je hebt gelijk. Ik heb jouw flow gebruikt en het werkt als een trein! Excuses ;-)!

@lolgast Ik snap jouw flow nu en hij leest de status van de lamp uit, maar is dat eigenlijk wel nodig als je toch toggled? Want hij moet toch gewoon hoe dan ook de lamp schakelen als je een schakelaar gebruikt dus ik vroeg mij af of het nodig was om de current state uit te lezen?

Greetoz wijzigde deze reactie 07-02-2019 13:41 (19%)

@Greetoz Als je de status van de lamp niet eerst uitleest, op basis van welke gegevens weet je dan naar welke status je moet togglen?

Dat zou je kunnen doen door mijn andere flow, met de flow.insert-variabele, maar zoals gezegd kan dat niet bij MQTT gestuurde lampen omdat je daar geen output hebt na het schakelen van de lamp

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 22:22
lolgast schreef op donderdag 7 februari 2019 @ 13:43:
@Greetoz Als je de status van de lamp niet eerst uitleest, op basis van welke gegevens weet je dan naar welke status je moet togglen?

Dat zou je kunnen doen door mijn andere flow, met de flow.insert-variabele, maar zoals gezegd kan dat niet bij MQTT gestuurde lampen omdat je daar geen output hebt na het schakelen van de lamp
Misschien is het verschil dat ik de Ikea lampen rechtstreeks via Deconz op HA heb. Maar ik kan bij de Call service node op de lamp ook toggle kiezen. Ik kan dat een switch node er tussen zetten die zowel het off als het on event doorsturen naar de lamp: zoals dit:

https://i.postimg.cc/g0J0CvWT/toggle.jpg


code:
1
[{"id":"2a9b7d73.62b572","type":"server-state-changed","z":"c3c5c3b6.2236a","name":"Evi's bedroom light","server":"23904a0c.56d286","entityidfilter":"switch.evisroom_double_switch_switch_1","entityidfiltertype":"substring","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"","halt_if_compare":"is","outputs":1,"x":130,"y":1060,"wires":[["a93148d5.2a74b8"]]},{"id":"5e9e01e9.e838","type":"api-call-service","z":"c3c5c3b6.2236a","name":"Evi's bedroom light","server":"23904a0c.56d286","service_domain":"homeassistant","service":"toggle","data":"{\"entity_id\":\"light.evis_kamer_lamp\"}","render_data":false,"mergecontext":"","output_location":"payload","output_location_type":"msg","x":520,"y":1060,"wires":[[]]},{"id":"a93148d5.2a74b8","type":"switch","z":"c3c5c3b6.2236a","name":"toggle","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"on","vt":"str"},{"t":"cont","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":330,"y":1060,"wires":[["5e9e01e9.e838"],["5e9e01e9.e838"]]},{"id":"23904a0c.56d286","type":"server","z":"","name":"Home Assistant"}]

@Greetoz Ah ja, nu snap ik je. Op die manier kan het ook inderdaad. Ik gebruik mijn lamp nodes met verschillende ingangen en zou heel onverwachts resultaat krijgen als ik het op die manier zou doen. Maar als je een enkele ingang hebt en je flow klein houdt zoals nu werkt dit ook prima.

Vandaar dat ik de toggle gebruik. Ik probeer de actie te definiëren voor de laatste node, en die laatste probeer ik generiek te houden zodat hij meerdere dingen kan afhankelijk van wat er daarvoor bepaald is.

  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 22:22
@lolgast Haha ja ik ben nog bezig met overgang homey->ha. HA is zoveel krachtiger dus moet nog wennen aan al de mogelijkheden. Het is wel slim om jouw manier te gebruiken aangezien ik dan later meer opties heb en niet weer flows hoef te verbouwen.
KvNwPPr schreef op woensdag 19 december 2018 @ 18:31:

Dit zou moeten werken, al is het vast niet de mooiste oplossing ;) :

code:
1
[{"id":"9b1441e6.3bae1","type":"server-state-changed","z":"1b0128b7.d1a2f7","name":"PostNL","server":"22e2907d.b234","entityidfilter":"sensor.postnl","entityidfiltertype":"substring","haltifstate":"0","outputinitially":true,"x":55,"y":2377.000072479248,"wires":[["a4547e3b.a1927"]]},{"id":"a4547e3b.a1927","type":"change","z":"1b0128b7.d1a2f7","name":"set payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"data.new_state.attributes","tot":"msg"},{"t":"delete","p":"data","pt":"msg"},{"t":"delete","p":"payload.attribution","pt":"msg"},{"t":"delete","p":"payload.unit_of_measurement","pt":"msg"},{"t":"delete","p":"payload.friendly_name","pt":"msg"},{"t":"delete","p":"payload.icon","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":255,"y":2377.000072479248,"wires":[["2c8ee828.7101f8"]]},{"id":"2c8ee828.7101f8","type":"split","z":"1b0128b7.d1a2f7","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":445,"y":2377.000072479248,"wires":[["3cffec52.0fd3b4"]]},{"id":"e2536ad5.311de8","type":"function","z":"1b0128b7.d1a2f7","name":"Bericht","func":"msg.payload = \n{ text: `Op ${msg.payload} komt er een pakketje van ${msg.parts.key} `, \nparse_mode: \"Markdown\" };\n\nreturn [msg];","outputs":1,"noerr":0,"x":802.0000228881836,"y":2403.0000705718994,"wires":[["4320911c.b7c8e"]]},{"id":"4320911c.b7c8e","type":"telegrambot-payload","z":"1b0128b7.d1a2f7","name":"Versturen","bot":"76d092d0.28022c","chatId":"667099650","sendMethod":"sendMessage","payload":"","x":1007.0000305175781,"y":2404.0000705718994,"wires":[[]]},{"id":"f5fe2ca9.25116","type":"comment","z":"1b0128b7.d1a2f7","name":"PostNL","info":"","x":55,"y":2327.4375743865967,"wires":[]},{"id":"3cffec52.0fd3b4","type":"switch","z":"1b0128b7.d1a2f7","name":"Bezorgd?","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"bezorgd","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":625.1666851043701,"y":2377.0000705718994,"wires":[["f1de8a04.53ac48"],["e2536ad5.311de8"]]},{"id":"f1de8a04.53ac48","type":"function","z":"1b0128b7.d1a2f7","name":"Bericht bezorgd","func":"msg.payload = \n{ text: `Het pakket van ${msg.parts.key} is ${msg.payload}`, \nparse_mode: \"Markdown\" };\n\nreturn [msg];","outputs":1,"noerr":0,"x":826.0000228881836,"y":2346.000068664551,"wires":[["617d0d36.6ef1a4"]]},{"id":"617d0d36.6ef1a4","type":"telegrambot-payload","z":"1b0128b7.d1a2f7","name":"Versturen","bot":"76d092d0.28022c","chatId":"667099650","sendMethod":"sendMessage","payload":"","x":1006.0000305175781,"y":2346.000068664551,"wires":[[]]},{"id":"22e2907d.b234","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":true},{"id":"76d092d0.28022c","type":"telegrambot-config","z":"","botname":"Kevintelegrambot","usernames":"","chatIds":"667099650","pollInterval":"300"}]

Ik wil ook eens met PostNL experimenteren, maar zou het kunnen dat de PostNL node in HA veranderd is? Want in jullie voorbeeldcode wordt er gewerkt met 'msg.data.new_state.attributes' en wordt de rest van de data komende uit HA verwijderd.

Echter, de data die ik vanuit HA (PostNL sensor) krijg heeft dat element helemaal niet. Ik zie data -> attributes (object) -> shipments (array).

  • JP12
  • Registratie: februari 2006
  • Laatst online: 21:42
Heeft iemand het voor elkaar gekregen om het wisselen van thema (bijvoorbeeld dag/nacht) te automatiseren in Node-RED?

Ik krijg het niet voor elkaar. De "frontend.set_theme" service lijkt onvindbaar in Node-RED.
@JP12 Ja dat gebruik ik. Gewoon via de frontend.set_theme inderdaad
JSON:
1
[{"id":"6d30ecf1.c7b5e4","type":"schedex","z":"ba68260d.f9c468","name":"","suspended":false,"lat":"51.7668","lon":"5.5205","ontime":"sunrise","ontopic":"","onpayload":"true","onoffset":"","onrandomoffset":0,"offtime":"sunset","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":140,"y":1160,"wires":[["771ffde3.6525e4"]]},{"id":"771ffde3.6525e4","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.data","tot":"msg"},{"t":"change","p":"payload.data","pt":"msg","from":"true","fromt":"bool","to":"{\"name\":\"default\"}","tot":"json"},{"t":"change","p":"payload.data","pt":"msg","from":"false","fromt":"bool","to":"{\"name\":\"midnight\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":1160,"wires":[["a34fdd65.1f912"]]},{"id":"a34fdd65.1f912","type":"api-call-service","z":"ba68260d.f9c468","name":"","server":"39fd7a9b.252f86","service_domain":"frontend","service":"set_theme","data":"","render_data":true,"mergecontext":"","output_location":"payload","output_location_type":"msg","x":610,"y":1160,"wires":[[]]}]


  • JP12
  • Registratie: februari 2006
  • Laatst online: 21:42
lolgast schreef op zaterdag 9 februari 2019 @ 20:27:
@JP12 Ja dat gebruik ik. Gewoon via de frontend.set_theme inderdaad
JSON:
1
[{"id":"6d30ecf1.c7b5e4","type":"schedex","z":"ba68260d.f9c468","name":"","suspended":false,"lat":"51.7668","lon":"5.5205","ontime":"sunrise","ontopic":"","onpayload":"true","onoffset":"","onrandomoffset":0,"offtime":"sunset","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":140,"y":1160,"wires":[["771ffde3.6525e4"]]},{"id":"771ffde3.6525e4","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload.data","tot":"msg"},{"t":"change","p":"payload.data","pt":"msg","from":"true","fromt":"bool","to":"{\"name\":\"default\"}","tot":"json"},{"t":"change","p":"payload.data","pt":"msg","from":"false","fromt":"bool","to":"{\"name\":\"midnight\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":1160,"wires":[["a34fdd65.1f912"]]},{"id":"a34fdd65.1f912","type":"api-call-service","z":"ba68260d.f9c468","name":"","server":"39fd7a9b.252f86","service_domain":"frontend","service":"set_theme","data":"","render_data":true,"mergecontext":"","output_location":"payload","output_location_type":"msg","x":610,"y":1160,"wires":[[]]}]

Bij mij pakt hij het frontend domain niet. Heb je hiervoor iets extra's moet instellen?
@JP12 Het enige wat ik me kan bedenken wat invloed heeft is dat in mijn HA configuration.yaml ik frontend: heb staan. Maar volgens mij is dat verplicht wil je gebruik maken van de webinterface. Verder heb ik niets bijzonders gedaan denk ik

Edit: Ik lieg, bij mij ziet het er zo uit in de configuration.yaml
YAML:
1
2
frontend:
  themes: !include_dir_merge_named themes

lolgast wijzigde deze reactie 09-02-2019 20:51 (18%)


  • druipsnor
  • Registratie: januari 2011
  • Laatst online: 13-09 09:36
Dag allemaal,

Net als zovelen ben ik bezig met het overzetten van mijn HomeAssistant automations naar NR. Nu heb ik een vraag over 1 van m'n actions. Als iemand op de deurbel druk start de volgende action:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
action:
  - service: tts.google_say
    entity_id: 
      - media_player.woonkamer_mini
      - media_player.keuken_mini
    data_template:
      message: >
        '{{ [
        "Zin 1", 
        "Zin 2", 
        "Zin 3", 
        "Zin 4"
        ] | random }}'


M.a.w. elke keer als iemand op de bel drukt zegt m'n google mini wat anders.
Nu kan ik de makkelijke weg kiezen en dit in een HA script zetten en die aanroepen maar ik zou dit graag in NR doen. Een enkele zin laten zeggen is geen probleem maar die wisselende zinnen lukt me niet Is er iemand die mij een stukje op weg kan helpen?

druipsnor wijzigde deze reactie 10-02-2019 16:15 (5%)

@druipsnor Er zijn vele wegen die naar Rome leiden voor deze vraag, maar de eerste ingeving die ik heb :+

JSON:
1
[{"id":"2f57ee73.3bcb02","type":"debug","z":"ba68260d.f9c468","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":1780,"wires":[]},{"id":"9527a382.01c43","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"Zin 1","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2","fromt":"num","to":"Zin 2","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3","fromt":"num","to":"Zin 3","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4","fromt":"num","to":"Zin 4","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1780,"wires":[["2f57ee73.3bcb02"]]},{"id":"16cf81f2.0dc6ee","type":"random","z":"ba68260d.f9c468","name":"","low":"1","high":"4","inte":"true","property":"payload","x":290,"y":1780,"wires":[["9527a382.01c43"]]},{"id":"45725f07.45f6e","type":"inject","z":"ba68260d.f9c468","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1780,"wires":[["16cf81f2.0dc6ee"]]}]


  • djkooij
  • Registratie: juni 2001
  • Laatst online: 21-08 09:48

djkooij

voorheen Facemodder

lolgast schreef op zondag 10 februari 2019 @ 16:38:
@druipsnor Er zijn vele wegen die naar Rome leiden voor deze vraag, maar de eerste ingeving die ik heb :+

JSON:
1
[{"id":"2f57ee73.3bcb02","type":"debug","z":"ba68260d.f9c468","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":1780,"wires":[]},{"id":"9527a382.01c43","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"Zin 1","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2","fromt":"num","to":"Zin 2","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3","fromt":"num","to":"Zin 3","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4","fromt":"num","to":"Zin 4","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1780,"wires":[["2f57ee73.3bcb02"]]},{"id":"16cf81f2.0dc6ee","type":"random","z":"ba68260d.f9c468","name":"","low":"1","high":"4","inte":"true","property":"payload","x":290,"y":1780,"wires":[["9527a382.01c43"]]},{"id":"45725f07.45f6e","type":"inject","z":"ba68260d.f9c468","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1780,"wires":[["16cf81f2.0dc6ee"]]}]

Complimenten @lolgast voor je bijdrage in dit draadje, verbazingwekkend dat je zo snel en adequaat reageert.

On topic: Meer mensen die wat zoeken naar logica binnen NR? Ikzelf hou een soort van scripting logica aan qua flow opbouw, maar dat betekend ook dat er (relatief vaak) nodes opnieuw gemaakt worden met dezelfde taak. Voorbeeld:



Hoe lossen jullie dat op om het overzichtelijk en duidelijk te houden?

fotospul

Bedankt, ik kijk gewoon te vaak op Tweakers denk ik. Mijn vrouw zegt van wel in ieder geval :+

Bij mij zit er niet echt een systeem in de manier van opbouwen. Enige uitgangspositie die ik heb is dat ik probeer om het zonder zijwaarts te moeten scrollen in het overzicht wil houden. Maar dat houdt waarschijnlijk ook vanzelf op naarmate er meer zaken in komen. Ik heb nu meerdere tabjes. De ene is een bende en ziet er zo uit
En een andere zoStaat hier beschreven trouwens: lolgast in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"

lolgast wijzigde deze reactie 10-02-2019 17:21 (9%)


  • druipsnor
  • Registratie: januari 2011
  • Laatst online: 13-09 09:36
lolgast schreef op zondag 10 februari 2019 @ 16:38:
@druipsnor Er zijn vele wegen die naar Rome leiden voor deze vraag, maar de eerste ingeving die ik heb :+

JSON:
1
[{"id":"2f57ee73.3bcb02","type":"debug","z":"ba68260d.f9c468","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":1780,"wires":[]},{"id":"9527a382.01c43","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"Zin 1","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"2","fromt":"num","to":"Zin 2","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"3","fromt":"num","to":"Zin 3","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"4","fromt":"num","to":"Zin 4","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1780,"wires":[["2f57ee73.3bcb02"]]},{"id":"16cf81f2.0dc6ee","type":"random","z":"ba68260d.f9c468","name":"","low":"1","high":"4","inte":"true","property":"payload","x":290,"y":1780,"wires":[["9527a382.01c43"]]},{"id":"45725f07.45f6e","type":"inject","z":"ba68260d.f9c468","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1780,"wires":[["16cf81f2.0dc6ee"]]}]

Het werkt perfect, dankjewel. Ik moet duidelijk nog even wennen aan alle mogelijkheden van NR. _/-\o_

  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 22:38
Wie kan mij helpen? Ik probeer in Node-Red een bericht naar Telegram te sturen, maar dat wil niet lukken. Ik gebruik node-red-contrib-telegrambot-home en de notify-module geeft wel connected aan, maar in de debug krijg ik elke seconde "EFATAL: TypeError: tls.convertNPNProtocols is not a function" en daarna "Unknown error. Trying again."

Hoe kan ik dit oplossen?

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 15-09 13:23
Kun je je code laten zien, @jmachiels ? Hier werkt dezelfde node prima.

  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 22:38

code:
1
[{"id":"b547616d.c0601","type":"telegrambot-notify","z":"4b373165.971d1","name":"Telegram","bot":"e1413179.1785a","chatId":"","message":"Testbericht","parseMode":"","x":220,"y":680,"wires":[]},{"id":"e1413179.1785a","type":"telegrambot-config","z":"","botname":"abcBot","usernames":"xxxxxxx","chatIds":"xxxxx","pollInterval":"1000"}]



Is alleen van de node, dan begint hij al te steigeren. Idem als ik er iets aan koppel.
Dan gok ik dat je iets niet goed hebt gedaan met je configuration node. Heb je je token opgehaald? Bij mij ziet die er zo uit, aangepast uiteraard :+

code:
1
157368913:AAHzePkqAsZvobnIFeSBixzHi4QthuZQFbc


  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 22:38
Ja zo ziet hij er bij mij ook uit. Maar zou hij niet connected zeggen als de token fout was?

Edit: nieuwe token gegenereerd, geeft dezelfde fout.

jmachiels wijzigde deze reactie 11-02-2019 19:55 (23%)

@jmachiels Ik heb geen chat ID en Users ingevuld in de configuration node. Misschien dat het probleem hem daar in zit. Anders zou ik het zo niet weten helaas.

  • BoschR
  • Registratie: december 2008
  • Laatst online: 00:44
Om een infinite MQTT loop te voorkomen tussen Domoticz en mn Shelly devices had ik bedacht om het gene wat op domoticz/out gepubliseerd wordt eerst te vergelijken met de shelly device status (via de REST API).

Nu heb ik de "http request" functie wel gevonden en geeft ook terug wat ik wil hebben, maar (volgens mij) ben ik na die node mijn oorspronkelijk "msg" kwijt. En kan ik de http response nergens meer mee vergelijken.

Iemand een idee hoe ik de response van een "http request" kan vergelijken met het initiele MQTT bericht?

PVOutput live - 3060wp


  • djkooij
  • Registratie: juni 2001
  • Laatst online: 21-08 09:48

djkooij

voorheen Facemodder

BoschR schreef op dinsdag 12 februari 2019 @ 23:44:
Om een infinite MQTT loop te voorkomen tussen Domoticz en mn Shelly devices had ik bedacht om het gene wat op domoticz/out gepubliseerd wordt eerst te vergelijken met de shelly device status (via de REST API).

Nu heb ik de "http request" functie wel gevonden en geeft ook terug wat ik wil hebben, maar (volgens mij) ben ik na die node mijn oorspronkelijk "msg" kwijt. En kan ik de http response nergens meer mee vergelijken.

Iemand een idee hoe ik de response van een "http request" kan vergelijken met het initiele MQTT bericht?
Dat kan wellicht met de "join" node.


code:
1
[{"id":"c2b50789.170fe8","type":"inject","z":"8ba5c8aa.443bd8","name":"","topic":"outside_temp","payload":"14","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":340,"y":840,"wires":[["373202bc.58ca5e"]]},{"id":"374cceb8.171062","type":"inject","z":"8ba5c8aa.443bd8","name":"","topic":"outside_temp","payload":"16","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":340,"y":880,"wires":[["373202bc.58ca5e"]]},{"id":"5bf5555c.bdd7cc","type":"inject","z":"8ba5c8aa.443bd8","name":"","topic":"inside_temp","payload":"15","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":340,"y":920,"wires":[["373202bc.58ca5e"]]},{"id":"373202bc.58ca5e","type":"join","z":"8ba5c8aa.443bd8","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"payload","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":651,"y":879,"wires":[["251a6f97.eb7dc"]]},{"id":"d9a0564b.8c95a8","type":"debug","z":"8ba5c8aa.443bd8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1070,"y":880,"wires":[]},{"id":"251a6f97.eb7dc","type":"function","z":"8ba5c8aa.443bd8","name":"Compare","func":"// this is passed a payload which is an object with\n// properties outside_temp and inside_temp\n//if (msg.payload.outside_temp > msg.payload.inside_temp) {\nif (msg.payload.outside_hum > msg.payload.schuur_hum) {\n    msg.payload = 0;\n} else\n{\n    msg.payload = 1;\n}\nreturn msg;","outputs":1,"noerr":0,"x":840,"y":880,"wires":[["d9a0564b.8c95a8"]]}]

fotospul

BoschR schreef op dinsdag 12 februari 2019 @ 23:44:
Om een infinite MQTT loop te voorkomen tussen Domoticz en mn Shelly devices had ik bedacht om het gene wat op domoticz/out gepubliseerd wordt eerst te vergelijken met de shelly device status (via de REST API).

Nu heb ik de "http request" functie wel gevonden en geeft ook terug wat ik wil hebben, maar (volgens mij) ben ik na die node mijn oorspronkelijk "msg" kwijt. En kan ik de http response nergens meer mee vergelijken.

Iemand een idee hoe ik de response van een "http request" kan vergelijken met het initiele MQTT bericht?
Je weet dat je de change-node kunt gebruikt om je msg.payload te verplaatsen naar msg.schuurtemp? Dan kun je die msg.schuurtemp vergelijken met de nieuwe msg.payload

JSON:
1
[{"id":"4e434d5c.f7b304","type":"debug","z":"ba68260d.f9c468","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1027,"y":1825,"wires":[]},{"id":"502b8426.2fcec4","type":"function","z":"ba68260d.f9c468","name":"Compare","func":"if (msg.schuurtemp > msg.payload) {\n    msg.payload = 0;\n} else\n{\n    msg.payload = 1;\n}\nreturn msg;","outputs":1,"noerr":0,"x":837,"y":1825,"wires":[["4e434d5c.f7b304"]]},{"id":"dd6efbf7.15d658","type":"change","z":"ba68260d.f9c468","name":"http-node","rules":[{"t":"set","p":"payload","pt":"msg","to":"16","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":657,"y":1825,"wires":[["502b8426.2fcec4"]]},{"id":"a37a1fab.ac6b4","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"schuurtemp","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":427,"y":1825,"wires":[["dd6efbf7.15d658"]]},{"id":"29b36bf8.903204","type":"inject","z":"ba68260d.f9c468","name":"","topic":"msg.payload","payload":"14","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":197,"y":1825,"wires":[["a37a1fab.ac6b4"]]}]

lolgast wijzigde deze reactie 13-02-2019 21:50 (75%)


  • Goudduif
  • Registratie: juni 2004
  • Niet online
Momenteel lees ik de OpenTherm Gateway uit via Domoticz, en dat werkt goed.
Maar ik wil hem juist via Node-red laten werken..
De Opentherm GW heeft een Ethernet aansluiting, en Node-Red maakt verbinding via een TCP Connectie op poort 23.

TCP Telnet settings


JSON:
1
[{"id":"51c8c8c5.c3c088","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"bf5a772b.13a2f8","type":"openthermdec","z":"51c8c8c5.c3c088","name":"Room Setpoint","x":754.25,"y":386.24999237060547,"wires":[["e7bab556.87a708","650cdf6d.2b5da"]]},{"id":"e7bab556.87a708","type":"debug","z":"51c8c8c5.c3c088","name":"","active":true,"console":"false","complete":"true","x":924.25,"y":452.24999237060547,"wires":[]},{"id":"c5186733.2c1f58","type":"otgwdec","z":"51c8c8c5.c3c088","name":"Room Setpoint","x":299.25,"y":393.24999237060547,"wires":[["b418f6f9.e35bd8","6f5b1770.1313b8"]]},{"id":"b418f6f9.e35bd8","type":"debug","z":"51c8c8c5.c3c088","name":"","active":false,"console":"false","complete":"true","x":453.25,"y":458.24999237060547,"wires":[]},{"id":"99384142.f55bb","type":"file","z":"51c8c8c5.c3c088","name":"","filename":"/opentherm.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":1145.25,"y":388.24999237060547,"wires":[[]]},{"id":"650cdf6d.2b5da","type":"function","z":"51c8c8c5.c3c088","name":"To CSV","func":"msg.payload =         msg.raw\n              + \",\" + msg.msgtype\n              + \",\" + msg.dataid\n              + \",\" + msg.datavalue\n              + \",\" + msg.topic\n              + \",\" + msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":967.25,"y":388.24999237060547,"wires":[["99384142.f55bb"]]},{"id":"6f5b1770.1313b8","type":"switch","z":"51c8c8c5.c3c088","name":"read ack/write ack/else","property":"msgtype","propertyType":"msg","rules":[{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":507.25,"y":393.24999237060547,"wires":[["bf5a772b.13a2f8"],["bf5a772b.13a2f8"],[]]},{"id":"4be361d5.cbda6","type":"tcp in","z":"51c8c8c5.c3c088","name":"Room Setpoint","server":"client","host":"192.168.0.7","port":"23","datamode":"stream","datatype":"buffer","newline":"","topic":"Room Setpoint","base64":false,"x":109,"y":529,"wires":[["c5186733.2c1f58"]],"outputLabels":["9600N"]}]



Helaas krijg ik echter, alleen deze foutmeldingen

3-2-2019 22:06:26node: Room Setpoint
msg : string[38]
"Illegal message length 'SC: 22:06/3↵'"
13-2-2019 22:06:26node: Room Setpoint
msg : string[230]
"Illegal message length 'PR: G=11↵PR: I=00↵PR: O=T21.50↵PS: 1↵00000011/00001010,54.00,00000011/00000011,0.00,0/0,21.50,0.00,0.00,21.51,49.80,0.00,0.00,45.10,60/40,75/20,60.00,70.00,65535,65535,63296,65535,14798,18946,712,860↵'"


Helaas heb ik momenteel nog tekort kennis van Node-red, om hier uit te komen.
Hopelijk kan een van jullie mij duidelijk maken, hoe ik dit werkend kan krijgen?

Mogelijk met wat een wat uitgebreidere voorbeeld flow.

  • vanisher
  • Registratie: augustus 2007
  • Laatst online: 17:21
Ik loop even klem om vanuit node-red een camera.snapshot te maken uit homeassistant.

Ik heb een netatmo welcome camera waar ik graag een fotootje van wil hebben in telegram op het moment dat er beweging is.

Voor zover ik het heb begrepen kan door middel van de home assistant service flow een camera.snapshot uitvoeren.


code:
1
[{"id":"41d11a0e.cdd6dc","type":"api-call-service","z":"a2c72fd.5af225","name":"camera","server":"8df07221.2eb328","service_domain":"camera","service":"snapshot","data":"{\"entity_id\":\"camera.welcome\",\"filename\":\"/data/snapshot.jpg\"}","render_data":true,"mergecontext":"","output_location":"payload","output_location_type":"msg","x":421.7666320800781,"y":390.3000183105469,"wires":[[]]},{"id":"8df07221.2eb328","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]



Ik zou dan verwachten dat ik in m'n node-red container (docker) dan in /data de jpg vind. Dat is dus niet zo :)

Waar doe ik hier wat fout?

vanisher wijzigde deze reactie 13-02-2019 22:39 (52%)

@vanisher Kijk hier anders eens naar :)
lolgast in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"

Als het goed is vind je nu trouwens in de /data van Homeassistant de afbeelding. Je gebruikt een HA node, die uiteraard gebruikmaakt van HA en dus ook de directory van alleen HA kent :)

lolgast wijzigde deze reactie 14-02-2019 08:55 (40%)


  • BoschR
  • Registratie: december 2008
  • Laatst online: 00:44
Ik ben nieuw met NodeRED. Had eerst een node.js script gemaakt die hetzelfde deed (voorkomen van een infinite loop), maar dan met een timeout van een 200ms. Maar ben het een en ander aan het verplaatsen van de NAS en RPi naar een Odroid C2.

@djkooij Bedankt. Ik kreeg de join node niet echt aan de praat helaas.

@lolgast Nee die kende ik nog niet. NodeRED werkt mooi, maar het kost wel even tijd om alles te verkennen merk ik.

Ik kwam erachter dat ik alleens de msg.payload logde naar de debug console. Maar dan in het hele msg object nog wel de oude waardes blijven bestaan. Dus kan de msg.nvalue (uit Domoticz) vergelijk met de msg.payload.ison (van Shelly).

Werkt prima :) Dus als ik nu de lamp handmatig aan doe wordt de status in Domoticz ook bijgewerkt.

PVOutput live - 3060wp


  • vanisher
  • Registratie: augustus 2007
  • Laatst online: 17:21
@lolgast Goede tip, dat ga ik ff proberen. Enige wati k me afvraag, in welke /data gaat er geschreven worden want ik zie namelijk geen bestand verschijnen. Zowel in de HA node niet als op Node-red.

  • KvNwPPr
  • Registratie: februari 2014
  • Laatst online: 14-09 10:15
DeadMetal schreef op zaterdag 9 februari 2019 @ 08:45:
[...]


Ik wil ook eens met PostNL experimenteren, maar zou het kunnen dat de PostNL node in HA veranderd is? Want in jullie voorbeeldcode wordt er gewerkt met 'msg.data.new_state.attributes' en wordt de rest van de data komende uit HA verwijderd.

Echter, de data die ik vanuit HA (PostNL sensor) krijg heeft dat element helemaal niet. Ik zie data -> attributes (object) -> shipments (array).
Het lijkt of er in HA iets is veranderd want ik zie wel dat er een pakket onderweg is maar bij shipments staat "[object Object]
In Node-Red werkt het wel.

In HA zie ik:


In node-red:

KvNwPPr wijzigde deze reactie 19-02-2019 19:17 (3%)


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 23:23

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Is er ook iemand die de API van Buienradar gebruikt? Via deze URL kun je o.a. temperatuurmetingen van stations opvragen: https://data.buienradar.nl/2.0/feed/json

Ik had het draaiende, op de volgende manier:
JavaScript:
1
var temp = msg.payload.actual.stationmeasurements[12].temperature;]

Maar nu is er een station bij/weg, en zit het in een andere array :F

Heb al wat zitten klooien, maar ben geen Javascript expert. Ik heb nu dit, maar krijg nog steeds de data van alle stations terug:


JavaScript:
1
2
3
4
5
6
7
8
9
var stations = {};
for(var i = 0, numStations = stations.length; i < numStations; i++)
{
  if(stations[i].stationid == 6279)
  {
    return stations[i].stationname;
  }
}
return msg;



Het is een multi-dimensionale array begrijp ik, en daardoor wordt het voor mij wat ingewikkeld :D

ThinkPad wijzigde deze reactie 20-02-2019 11:11 (49%)

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


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 18:27

Milmoor

Footsteps and pictures.

ThinkPad schreef op woensdag 20 februari 2019 @ 10:34:
Is er ook iemand die de API van Buienradar gebruikt? Via deze URL kun je o.a. temperatuurmetingen van stations opvragen: https://data.buienradar.nl/2.0/feed/json

Ik had het draaiende, op de volgende manier:
JavaScript:
1
var temp = msg.payload.actual.stationmeasurements[12].temperature;]

Maar nu is er een station bij/weg, en zit het in een andere array :F

Heb al wat zitten klooien, maar ben geen Javascript expert. Ik heb nu dit, maar krijg nog steeds de data van alle stations terug:


JavaScript:
1
2
3
4
5
6
7
8
9
var stations = {};
for(var i = 0, numStations = stations.length; i < numStations; i++)
{
  if(stations[i].stationid == 6279)
  {
    return stations[i].stationname;
  }
}
return msg;

Je hebt twee return statements. Moet je niet ipv de eerste return op die plek de msg.payload vullen met de stations naam?

Maar misschien is dit makkelijker op te lossen in JSONata (http://try.jsonata.org/):
actual.stationmeasurements[stationid = 6279].stationname
result: "Meetstation Hoogeveen"

actual.stationmeasurements[stationid = 6279].temperature
result: 7.6

Maar het is mij niet helemaal duidelijk wat je bereiken wil. Ik zie wel het middel, maar niet het doel. Je eerste statement lijkt niets met het tweede te maken te hebben. Je wil van Meetstation Hoogeveen de temperatuur weten?
actual.stationmeasurements[stationname = "Meetstation Hoogeveen"].temperature
result: 7.6

Milmoor wijzigde deze reactie 20-02-2019 11:45 (22%)
Reden: JSONata oplossing

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 23:23

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Milmoor schreef op woensdag 20 februari 2019 @ 11:12:
[...]
Je wil van Meetsation Hoogeveen de temperatuur weten?
[...]
Dat klopt. Met het eerste statement werkte dat, maar die is dus kapot omdat het weerstation nu in een andere array zit.

Ik heb dit geprobeerd:

JavaScript:
1
var buitentemp = msg.payload.actual.stationmeasurements[stationid = 6279].temperature;



Maar Node-RED ondersteunt het niet op die manier. Even verder puzzelen nog :P

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


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 18:27

Milmoor

Footsteps and pictures.

ThinkPad schreef op woensdag 20 februari 2019 @ 11:45:
[...]

Dat klopt. Met het eerste statement werkte dat, maar die is dus kapot omdat het weerstation nu in een andere array zit.

Ik heb dit geprobeerd:

JavaScript:
1
var buitentemp = msg.payload.actual.stationmeasurements[stationid = 6279].temperature;



Maar Node-RED ondersteunt het niet op die manier. Even verder puzzelen nog :P
Node-Red doet wel JSONata. Dat is J: optie in bijv. de change node. In Javascript wil je blijkbaar het volgende doen:
Loop alle stations entries langs totdat je bij station Hoogeveen bent en haal daar de temperatuur op.

While X do
If juiste station return temperatuur
inc teller

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 23:23

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Klopt. Heb nu dit na de 'J:', maar krijg dan alleen 'undefined' terug.

JavaScript:
1
$flowContext('actual').stationmeasurements[stationid=6279].temperature





Ik heb het gevoel dat ik er bijna ben, maar kom helaas nog geen stap verder. Iemand nog een idee :?

Met Javascript ook nog even weer geprobeerd:

JavaScript:
1
2
3
4
5
6
7
8
var stations = msg.payload.actual.stationmeasurements;
for(var i = 0, numStations = stations.length; i < numStations; i++)
{
  if(stations[i].stationid == 6279)
  {
    return stations[i].stationname;
  }
}



Maar dan krijg ik een error: "Function tried to send a message of type string"

ThinkPad wijzigde deze reactie 20-02-2019 14:51 (99%)

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


  • chuckie86
  • Registratie: februari 2019
  • Laatst online: 03-05 13:04
Hi ik ben bezig om node red te gebruiken om te zien of ik thuis ben of niet.
Hier gebruik ik dan life360 in combinatie met ifttt voor.
IFTTT kan dan via webhooks een telegram bericht namens mijn bot versturen.
Wat ik nu wil is het volgende. Ik wil via Node-Red het telegram bericht van mijn bot gebruiken om een item van mijn openhab te triggeren.
dus
life360 persoon arrived -> IFTTT Webhooks -> Telegram bot message -> Openhab item switch aan.

waar ik tegen aan loop is dat als ik in telegram in het bot kanaal een bericht stuur dan word deze wel doorgezet naar openhab en gaat het item switch aan. maar als mijn bot in zijn eigen kanaal een bericht stuurt word deze niet herkent en gebeurt er niks.

Bot naar bot berichten zijn uitgeschakeld door telegram (dit ook getest in een group en werkt dus niet).
Toen dacht ik mijn bot moet toch zijn eigen gestuurde berichten toch kunnen lezen en via node-red moeten die berichten toch te gebruiken zijn om een verdere actie mee te triggeren?

mischien dat iemand van jullie wel een zelfde soort setup heeft, en hoe hebben jullie dit gedaan?

  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 18:27

Milmoor

Footsteps and pictures.

ThinkPad schreef op woensdag 20 februari 2019 @ 13:05:
Klopt. Heb nu dit na de 'J:', maar krijg dan alleen 'undefined' terug.

JavaScript:
1
$flowContext('actual').stationmeasurements[stationid=6279].temperature



[Afbeelding]

Ik heb het gevoel dat ik er bijna ben, maar kom helaas nog geen stap verder. Iemand nog een idee :?

Met Javascript ook nog even weer geprobeerd:

JavaScript:
1
2
3
4
5
6
7
8
var stations = msg.payload.actual.stationmeasurements;
for(var i = 0, numStations = stations.length; i < numStations; i++)
{
  if(stations[i].stationid == 6279)
  {
    return stations[i].stationname;
  }
}



Maar dan krijg ik een error: "Function tried to send a message of type string"
Waarom de flowContext? Zit de data niet in de msg.payload? Ik zal morgenavond een voorbeeldje posten van beide varianten.

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 23:23

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Milmoor schreef op woensdag 20 februari 2019 @ 21:44:
[...]

Waarom de flowContext? Zit de data niet in de msg.payload? Ik zal morgenavond een voorbeeldje posten van beide varianten.
Ik ben geen programmeur, dit heb ik gemaakt n.a.v. voorbeelden die ik op internet vond. Ben benieuwd naar je voorbeelden, want ik ben er nu al een paar uur mee bezig en kom geen stap verder :D Zo moeilijk moet het niet zijn toch.

ThinkPad wijzigde deze reactie 21-02-2019 15:35 (17%)

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


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
ThinkPad schreef op woensdag 20 februari 2019 @ 10:34:
Is er ook iemand die de API van Buienradar gebruikt? Via deze URL kun je o.a. temperatuurmetingen van stations opvragen: https://data.buienradar.nl/2.0/feed/json
Het is makkelijker om de via de palette manager de buienradar node te installen, die is onlangs geupdate voor de wijziging.
Zie https://github.com/dkijkuit/node-red-contrib-buienradar

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 23:23

ThinkPad

Moderator Duurzame Energie & Domotica

L460

z1rconium schreef op donderdag 21 februari 2019 @ 16:48:
[...]

Het is makkelijker om de via de palette manager de buienradar node te installen, die is onlangs geupdate voor de wijziging.
Zie https://github.com/dkijkuit/node-red-contrib-buienradar
Maar daar leer ik niks van ;) En het is een simpele HTTP-request, JSON parsen en de juiste waarde eruit plukken. Vind ik overkill om een speciale node voor te installeren ;)

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


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
ThinkPad schreef op donderdag 21 februari 2019 @ 18:19:
[...]

Maar daar leer ik niks van ;) En het is een simpele HTTP-request, JSON parsen en de juiste waarde eruit plukken. Vind ik overkill om een speciale node voor te installeren ;)
Maar gewoon wat kopiëren van het internet leer je ook niets van, het is 3x klikken en je kunt verder, precies waar node-red voor bedacht is.

maar goed, je oplossing:

code:
1
2
3
m = msg.payload.actual.stationmeasurements
temp = m.find(station => station.stationid === 6279).temperature
return {payload:temp};


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 18:27

Milmoor

Footsteps and pictures.

ThinkPad schreef op donderdag 21 februari 2019 @ 18:19:
[...]

Maar daar leer ik niks van ;) En het is een simpele HTTP-request, JSON parsen en de juiste waarde eruit plukken. Vind ik overkill om een speciale node voor te installeren ;)
Hier twee voorbeelden, 1x JSONata en 1x javascript. Deze kan je importeren in Node-Red. De tweede heeft meer tijd gekost dan ik had verwacht. Javascript zonder IDE is piep om te debuggen. De oplossing van @z1rconium is mooier, maar ik heb me bewust dicht bij je eigen code gehouden. War je de fout in ging is in het ophalen van de temperatuur. Je zocht wel de stationsnaam, maar deed niets met de temperatuur. Hij zit er nu niet in, maar voor de overzichtelijkheid is de "var stations = msg.payload.actual.stationmeasurements;" wel een goed plan.
In de Change node rommel ik wat met payload, die gooi ik leeg. Dat is in de meeste gevallen niet nodig, dat is voor het demo effect.

code:
1
[{"id":"f7edaeda.ef3a5","type":"function","z":"2e430537.1332da","name":"temperatuur Heino","func":"var numStations = msg.payload.actual.stationmeasurements.length;\nvar station = {name: \"\", temp: 999};\n\nfor(var current = 0; current < numStations; current++)\n{\n \n  if (msg.payload.actual.stationmeasurements[current].stationid == 6278) {\n    station.name = msg.payload.actual.stationmeasurements[current].stationname;\n    station.temp = msg.payload.actual.stationmeasurements[current].temperature;\n  }\n\n}\nmsg.payload = station;\nreturn msg;","outputs":1,"noerr":0,"x":1550,"y":1840,"wires":[["9ca0c90c.dcc1e8"]]},{"id":"34702f06.08cdf","type":"http request","z":"2e430537.1332da","name":"GET buienrader","method":"GET","ret":"txt","url":"https://data.buienradar.nl/2.0/feed/json","tls":"","x":1200,"y":1860,"wires":[["41250e6d.c55c9"]]},{"id":"41250e6d.c55c9","type":"json","z":"2e430537.1332da","name":"","property":"payload","action":"","pretty":false,"x":1370,"y":1860,"wires":[["f7edaeda.ef3a5","d0e4351b.4a59b8"]]},{"id":"d0e4351b.4a59b8","type":"change","z":"2e430537.1332da","name":"temperatuur Hoogeveen","rules":[{"t":"set","p":"temperatuur","pt":"msg","to":"{\t   \"name\": payload.actual.stationmeasurements[stationid = 6279].stationname,\t   \"temp\": payload.actual.stationmeasurements[stationid = 6279].temperature\t}","tot":"jsonata"},{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload","pt":"msg","to":"temperatuur","tot":"msg"},{"t":"delete","p":"temperatuur","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1570,"y":1880,"wires":[["4fa15f95.b2d44"]]},{"id":"9ca0c90c.dcc1e8","type":"debug","z":"2e430537.1332da","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1790,"y":1840,"wires":[]},{"id":"4fa15f95.b2d44","type":"debug","z":"2e430537.1332da","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1790,"y":1880,"wires":[]},{"id":"5d8c3796.7b56e8","type":"inject","z":"2e430537.1332da","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1020,"y":1860,"wires":[["34702f06.08cdf"]]}]

Milmoor wijzigde deze reactie 21-02-2019 21:53 (7%)

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
Milmoor schreef op donderdag 21 februari 2019 @ 19:59:
[...]

Hier twee voorbeelden, 1x JSONata en 1x javascript. Deze kan je importeren in Node-Red. De tweede heeft meer tijd gekost dan ik had verwacht. Javascript zonder IDE is piep om te debuggen. De oplossing van @z1rconium is mooier, maar ik heb me bewust dicht bij je eigen code gehouden. War je de fout in ging is in het ophalen van de temperatuur. Je zocht wel de stationsnaam, maar deed niets met de temperatuur.
Die http node kan ook direct een parsed json object sturen naar de output, dan kun je de json node verwijderen.

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 23:23

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Bedankt voor het meedenken beiden :) Ik zie dat ik er met het Javascript-script al een heel eind in de buurt zat. De oplossing van @z1rconium is heel compact inderdaad _O_

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


  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 15-09 13:23

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{
  "_msgid": "998d4536.ecad78",
  "topic": "",
  "payload": [
    [
      {
        "attributes": {
          "battery": 100,
          "device_class": "motion",
          "friendly_name": "Keuken",
          "last_seen": "2019-01-19T14:28:22.600Z",
          "linkquality": 31,
          "occupancy": false,
          "voltage": 3005
        },
        "context": {
          "id": "d54dc773dcde4684b02169cd2a3b7279",
          "user_id": null
        },
        "entity_id": "binary_sensor.0x00158d000223cbbf_occupancy",
        "last_changed": "2019-02-22T05:13:42.820000+00:00",
        "last_updated": "2019-02-22T05:13:42.820000+00:00",
        "state": "off"
      },
      {
        "attributes": {
          "battery": 100,
          "device_class": "motion",
          "friendly_name": "Keuken",
          "last_seen": "2019-01-19T14:28:22.600Z",
          "linkquality": 31,
          "occupancy": true,
          "voltage": 3005
        },
        "context": {
          "id": "f9d9aff6e7da42119f0ede3e7aff6d3b",
          "user_id": null
        },
        "entity_id": "binary_sensor.0x00158d000223cbbf_occupancy",
        "last_changed": "2019-02-22T08:28:20.362000+00:00",
        "last_updated": "2019-02-22T08:28:20.362000+00:00",
        "state": "on"
      }
    ]
  ],
  "startdate": "2019-02-22T05:13:42.820Z",
  "enddate": null,
  "entityid": "binary_sensor.0x00158d000223cbbf_occupancy"
}


Iemand enig idee waarom deze expressie geen resultaat oplevert:



En deze wel:



Als ik een index meegeef, werkt het overigens wel:


Ik was echter in de veronderstelling dat het niet meegeven van een index de gehele hele array zou moeten selecteren..

Kaspers wijzigde deze reactie 22-02-2019 17:47 (9%)


  • Milmoor
  • Registratie: januari 2000
  • Laatst online: 18:27

Milmoor

Footsteps and pictures.

Dat komt doordat jouw payload geen array van objecten is, maar begint met een array van een array van objecten. Deze array heeft weliswaar maar een item/hokje/cel, maar het is wel een array. In de eerste vraag je om alle objecten met state = on in payload. In de tweede om alle objecten met state = on in hokje 0 van payload.

Milmoor wijzigde deze reactie 22-02-2019 20:27 (17%)

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


  • H143
  • Registratie: juli 2006
  • Laatst online: 18:50
heeft iemand het al voor elkaar gekregen om de hoog en laag tariefen tijden in nodered te krijgen?
ik wil graag mijn dommen draaischijfmeter uitlezen en ook de verdeling tussen hoog en laag kunnen monitoren
@H143 Misschien kun je hier iets mee als inspiratie? Ik haal mijn tarieven uit DSMRreader, maar die kun je ook op andere manieren (desnoods handmatig, wijzigt maar eens per jaar of minder) in NR krijgen.
lolgast in "Node-RED - grafisch 'programmeren' (bijv. voor domotica)"

  • H143
  • Registratie: juli 2006
  • Laatst online: 18:50
lolgast schreef op dinsdag 15 januari 2019 @ 21:17:
Een eerste opzetje, maar ter lering en vermaak. En sta uiteraard open voor verbeteringen of andere denkwijzen
[Afbeelding]

Wat ik wil (lees; ik heb de onderdelen binnen maar moet het nog in elkaar knutselen) is een op de HX711 gebaseerde sensor om te controleren of we in bed liggen. Als we/een van ons dan in de nacht uit bed stappen, moet de lamp op de gang op 20% gaan branden totdat we beide weer in bed liggen, of de lamp uitschakelen met de Hue Tap aan de muur. Tot daar geen problemen, maar toen :+ Ik heb onze Hue Taps zo ingesteld dat ze vanuit de Hue bridge bij schakelen de status van daarvoor herpakken. Simpele toggle switch dus eigenlijk. Maar ik wil niet dat ze aangaan op 20% :9 Vandaar mijn bouwsel hierboven.

Stapt er iemand uit bed: lamp aan op 20% en de bovenste Traffic Light gaat aan. Stapt diegene weer in bed, gaat de bovenste Traffic Light uit. Perfect scenario, want daarin wordt de lamp op 65% (normaal) ingesteld en meteen daarna weer uit. Die oplichting naar 65% zie je niet eens.
Máár: Je stapt uit bed, lamp op 20% en zet de lamp uit met de Hue Tap. Lamp met de laatste status van 20%... In dit scenario staan beide Traffic Lights aan zodat bij het inschakelen van de lamp via de Hue Tap, de lamp alsnog op 65% gezet wordt. Dan gaat het bovenste Traffic Light weer off zodat in het vervolg bij gebruik van de Tap niet doelloos via NR ook nog geschakeld wordt
zoiets wil ik ook gaan maken maar dan adhv tijd en een motion sensor,
kan jij je code hiervoor ook delen?

  • king_bass
  • Registratie: januari 2005
  • Laatst online: 00:08
Zelf nu ook begonnen met het toepassen van Node-Red.
Ten eerste natuurlijk mijn Hue verlichting automatiseren.
Daarbij heb ik de volgende flow gecreëerd:



Wat ik me hier nog bij afvraag:
Kan dit zonder de check of mijn verlichting aan is of belast ik dan mijn hue teveel?
En ten tweede gebruik ik hierbij mijn trigger correct aangezien ik hier nu een changer heb voor heb toegevoegd die de status reset doorgeeft.

De delay van 1 seconde zit erin aangezien de bridge zoveel aansturing in 1 keer niet kan omzetten.

Code toegevoegd:

code:
1
[{"id":"345e9f65.87b2f","type":"hue-motion","z":"1aaf8bf7.c49224","name":"Hue motion sensor 2","bridge":"1cfa8d8d.2b8e4a","sensorid":"27","x":136,"y":90,"wires":[["eaf54167.7a0c7"]]},{"id":"89f72679.16dcd8","type":"hue-brightness","z":"1aaf8bf7.c49224","name":"Hue ambient light sensor 1","bridge":"1cfa8d8d.2b8e4a","sensorid":"11","x":150,"y":40,"wires":[["bbafe7db.2d579"]]},{"id":"eaf54167.7a0c7","type":"switch","z":"1aaf8bf7.c49224","name":"Movement?","property":"payload.motion","propertyType":"msg","rules":[{"t":"cont","v":"true","vt":"str"},{"t":"cont","v":"false","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":350,"y":100,"wires":[["bbafe7db.2d579","8d1851b.48cbdb"],["7e9e27ae.ad2f78"]]},{"id":"e4794c16.3695e8","type":"hue-motion","z":"1aaf8bf7.c49224","name":"Hue motion sensor 1","bridge":"1cfa8d8d.2b8e4a","sensorid":"10","x":136,"y":144,"wires":[["eaf54167.7a0c7"]]},{"id":"b29391b2.8abb78","type":"debug","z":"1aaf8bf7.c49224","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":910,"y":340,"wires":[]},{"id":"bbafe7db.2d579","type":"traffic","z":"1aaf8bf7.c49224","name":"Dark?","property_allow":"payload.dark","filter_allow":"true","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.dark","filter_stop":"false","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":350,"y":40,"wires":[["7e4668df.8316a"]]},{"id":"26f4c0f6.c08608","type":"hue-light","z":"1aaf8bf7.c49224","name":"Hue lightstrip plus 1","bridge":"1cfa8d8d.2b8e4a","lightid":"9","colornamer":true,"x":905.5,"y":72.79997253417969,"wires":[["7e4668df.8316a"]]},{"id":"7e4668df.8316a","type":"traffic","z":"1aaf8bf7.c49224","name":"Lamp aan?","property_allow":"payload.on","filter_allow":"false","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.on","filter_stop":"true","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":550,"y":40,"wires":[["5d4448f7.e97048"]]},{"id":"242b9c36.07267c","type":"hue-group","z":"1aaf8bf7.c49224","name":"Tv","bridge":"1cfa8d8d.2b8e4a","groupid":"2","colornamer":true,"x":950,"y":120,"wires":[[]]},{"id":"c61fd6d7.9ce0d","type":"hue-group","z":"1aaf8bf7.c49224","name":"Voor","bridge":"1cfa8d8d.2b8e4a","groupid":"3","colornamer":true,"x":950,"y":167,"wires":[[]]},{"id":"8809773d.c83c48","type":"hue-group","z":"1aaf8bf7.c49224","name":"Trap","bridge":"1cfa8d8d.2b8e4a","groupid":"4","colornamer":true,"x":950,"y":216,"wires":[[]]},{"id":"367d2c68.071e1c","type":"hue-group","z":"1aaf8bf7.c49224","name":"Woonkamer","bridge":"1cfa8d8d.2b8e4a","groupid":"1","colornamer":true,"x":930,"y":264,"wires":[[]]},{"id":"5d4448f7.e97048","type":"change","z":"1aaf8bf7.c49224","name":"Aan","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":40,"wires":[["26f4c0f6.c08608","242b9c36.07267c","c61fd6d7.9ce0d","3711c7f4.d74388"]]},{"id":"3711c7f4.d74388","type":"delay","z":"1aaf8bf7.c49224","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":560,"y":100,"wires":[["8809773d.c83c48","367d2c68.071e1c"]]},{"id":"8d1851b.48cbdb","type":"change","z":"1aaf8bf7.c49224","name":"Reset","rules":[{"t":"set","p":"payload","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":140,"wires":[["7e9e27ae.ad2f78"]]},{"id":"7e9e27ae.ad2f78","type":"trigger","z":"1aaf8bf7.c49224","op1":"","op2":"false","op1type":"nul","op2type":"bool","duration":"5","extend":false,"units":"min","reset":"reset","bytopic":"all","name":"","x":570,"y":160,"wires":[["b29391b2.8abb78","c22c83a8.69d46"]]},{"id":"c22c83a8.69d46","type":"change","z":"1aaf8bf7.c49224","name":"Uit","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":100,"wires":[["3711c7f4.d74388","26f4c0f6.c08608","242b9c36.07267c","c61fd6d7.9ce0d"]]},{"id":"1cfa8d8d.2b8e4a","type":"hue-bridge","z":"","name":"Philips hue","bridge":"192.168.0.100","key":"sMZn5MXxE7Eu-AvIvHEdE91Cx8MaBREndJBgLzc-","interval":"3000"}]

king_bass wijzigde deze reactie 10-03-2019 19:46 (76%)


  • xinud
  • Registratie: maart 2019
  • Laatst online: 08-06 21:02
Goedenavond

Ik probeer via node red drukknoppen (hardware) te bedienen, kort drukken en lang drukken.

Voor elk event een andere uitgang of resultaat.
bvb
kort is lamp aan
kort is lamp uit

lang drukken zou bvb overeen komen met dimfunctie 0-100 en van 100-0

Ik vind niet zo direct een oplossing tussen de node's in node red en google helpt me ook al niet echt vooruit.

Node red draait op pi 3

Alvast bedankt voor antwoord.

  • king_bass
  • Registratie: januari 2005
  • Laatst online: 00:08
Welke hardware probeer je hiervoor te gebruiken?

  • Pixal
  • Registratie: oktober 2001
  • Niet online

Pixal

Mijn poes popelt.

Ik ben van Domoticz aan het overstappen op Hass. Hoewel ik met domoticz alles aardig voor elkaar heb en geen knop meer aan raak, voel ik me ook steeds vaker beperkt. Net Node-Red ontdekt.

Nu kom ik even niet meer verder. Ik wil de lichten in de woonkamer inschakelen bij een aantal voorwaarden, zoals, we zijn thuis, we slapen niet, het wordt donker etc, maar alleen als er in de laatste 60 minuten beweging is geweest in de woonkamer. Dat laatste lukt me niet, ik kan niet gewoon de status van de motion sensor uitlezen want die gaat na een paar minuten bankzitten op "uit". Maar als we al een tijdje op de bank zitten en het gaat schemeren moet wel het licht aan. In feite wil ik gewoon uitlezen of de motion sensor in de laatste 60 minuten van status is veranderd, dan kan ik er vanuit gaan dat er iemand beneden is.

Volgens mij heb ik nu alle nodes geprobeerd en combinaties gemaakt. :S
@Pixal Ik kom op zoiets uit. Als de bewegingssensor melding geeft van beweging gaat de traffic light op allow. Op die ingang zet je dus je verlichting. Als er al een uur geen beweging is, gaat de traffic light deny. Als je verlichting wil inschakelen moet hij via de traffic light, die staat op deny dus gaat er niets aan.

code:
1
[{"id":"de2861b0.a96b1","type":"debug","z":"ba68260d.f9c468","name":"Gelukt?","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":780,"y":1710,"wires":[]},{"id":"9739d586.f20938","type":"traffic","z":"ba68260d.f9c468","name":"","property_allow":"payload.motion","filter_allow":"true","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.motion","filter_stop":"false","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":580,"y":1770,"wires":[["de2861b0.a96b1"]]},{"id":"79df75c5.3b33ac","type":"switch","z":"ba68260d.f9c468","name":"","property":"payload.motion","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":1820,"wires":[["9739d586.f20938"],["6d74447d.a1956c"]]},{"id":"6d74447d.a1956c","type":"trigger","z":"ba68260d.f9c468","op1":"","op2":"","op1type":"nul","op2type":"pay","duration":"1","extend":true,"units":"hr","reset":"","bytopic":"all","name":"","x":580,"y":1820,"wires":[["9739d586.f20938"]]},{"id":"2043c870.867378","type":"inject","z":"ba68260d.f9c468","name":"Klik mij","topic":"","payload":"Ik ben een lamp, ik wil aan!","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":360,"y":1720,"wires":[["9739d586.f20938"]]},{"id":"b097aae2.c24e78","type":"hue-motion","z":"ba68260d.f9c468","name":"Keuken sensor","bridge":"e9503c7a.ea5fe8","sensorid":"23","x":200,"y":1820,"wires":[["79df75c5.3b33ac"]]}]

lolgast wijzigde deze reactie 12-03-2019 07:55 (14%)


Acties:
  • +2Henk 'm!
Node-Red 0.20 is uit. Ik gebruikte tot nu toe de 'node-red-contrib-mqtt-json' module om een binnenkomend MQTT-bericht meteen te converteren naar een JSON-structuur, maar de standaard 'MQTT' (input) node heeft nu zelf die mogelijkheid gekregen:
The MQTT In node can now be configured to assume messages it receives are JSON and to emit the parsed object. That will save you from adding a JSON node after your MQTT In nodes if you are sure that everything you receive will be valid JSON. If the node receives something that isn’t valid JSON, it’ll log an error that can be handled with a Catch node.
https://nodered.org/blog/2019/03/12/version-0-20-released

  • xinud
  • Registratie: maart 2019
  • Laatst online: 08-06 21:02
king_bass schreef op maandag 11 maart 2019 @ 23:33:
[...]


Welke hardware probeer je hiervoor te gebruiken?
Bticino living
https://gigatek.be/nl/bti...Ddf0OSIHfPU4aArzpEALw_wcB

Als uitgang een relais, via I2C om meerdere (56 uitgangen te bekomen)

Acties:
  • +1Henk 'm!

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 15-09 13:23
In de releasenotes van Node-Red 0.20 staat tevens een uitnodiging om een survey in te vullen. Misschien ook voor jullie aardig om hier aan deel te nemen (2 min):
We speak to lots of you in Slack and the Forum and love hearing about how Node-RED is being used. But we know there’s a much larger community of users and developers out there who are using Node-RED that we haven’t spoken to.

This survey is an opportunity for us to get a better understanding of who our users are, what they do with Node-RED and to help the project stay pointed in the right direction.

Please spare us 10 minutes of your time to fill in the survey here: https://tiny.cc/NodeRED2019Survey

  • Pixal
  • Registratie: oktober 2001
  • Niet online

Pixal

Mijn poes popelt.

lolgast schreef op dinsdag 12 maart 2019 @ 07:53:
@Pixal Ik kom op zoiets uit. Als de bewegingssensor melding geeft van beweging gaat de traffic light op allow. Op die ingang zet je dus je verlichting. Als er al een uur geen beweging is, gaat de traffic light deny. Als je verlichting wil inschakelen moet hij via de traffic light, die staat op deny dus gaat er niets aan.

code:
1
[{"id":"de2861b0.a96b1","type":"debug","z":"ba68260d.f9c468","name":"Gelukt?","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":780,"y":1710,"wires":[]},{"id":"9739d586.f20938","type":"traffic","z":"ba68260d.f9c468","name":"","property_allow":"payload.motion","filter_allow":"true","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload.motion","filter_stop":"false","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":false,"differ":false,"x":580,"y":1770,"wires":[["de2861b0.a96b1"]]},{"id":"79df75c5.3b33ac","type":"switch","z":"ba68260d.f9c468","name":"","property":"payload.motion","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":1820,"wires":[["9739d586.f20938"],["6d74447d.a1956c"]]},{"id":"6d74447d.a1956c","type":"trigger","z":"ba68260d.f9c468","op1":"","op2":"","op1type":"nul","op2type":"pay","duration":"1","extend":true,"units":"hr","reset":"","bytopic":"all","name":"","x":580,"y":1820,"wires":[["9739d586.f20938"]]},{"id":"2043c870.867378","type":"inject","z":"ba68260d.f9c468","name":"Klik mij","topic":"","payload":"Ik ben een lamp, ik wil aan!","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":360,"y":1720,"wires":[["9739d586.f20938"]]},{"id":"b097aae2.c24e78","type":"hue-motion","z":"ba68260d.f9c468","name":"Keuken sensor","bridge":"e9503c7a.ea5fe8","sensorid":"23","x":200,"y":1820,"wires":[["79df75c5.3b33ac"]]}]

_/-\o_ ik heb deze stappen in mijn flow ingebouwd, alleen nog niet kunnen testen (zwave antenne hangt nog aan Domoticz...). Maar dit zijn echt van die voorbeeldjes waarmee ik weer tien andere problemen kan oplossen. :D
De PostNL sensor blijft bij mij niet lekker werken. Want ik vaak zie is dat zodra de sensor vanuit HA van waarde 0 naar 1 verspringt (= er is een aankomend pakket), dat er op dat moment nog niet alle gegevens bekend zijn. Dan is bijv. een pakket wel aangemeld vanuit de webshop, maar ontbreken nog de gegevens zoals ontvanger/verzender/verwachte bezorgtijd. Of dat het een tekst heeft zoals 'pakket is aangemeld maar nog niet ontvangen bij PostNL'

Op zich is dat geen probleem, je zou natuurlijk met wat checks ervoor kunnen zorgen dat je in die gevallen geen notificatie krijgt.

Het probleem lijkt echter te zijn dat op een later moment die gegevens wel aangevuld worden, maar binnen HA blijft de status op 1 staan, enkel de details (binnen het object) wijzigen. Dat triggert dan binnen Node-Red geen nieuwe sequence en dus geen mogelijkheid om er wat mee te doen.

Herkennen jullie dit? Misschien is het dan beter om via een inject node op een bepaalde tijd, bijv. elke ochtend, zelf de sensor uit te lezen en een notificatie te krijgen, mits er voldoende data bekend is. Evt. met een RBE node vlak voor het eind om niet exact dezelfde notificatie te versturen t.o.v. de vorige keer.

DeadMetal wijzigde deze reactie 13-03-2019 11:52 (8%)

@DeadMetal Wat nou als je het omdraait:
Stel de sensor wijzigt van 0 naar 1, dan stuur je met een delay van bijvoorbeeld 2 uur een bericht. Dan zijn de details wel gevuld toch neem ik aan? Zelfs PostNL is niet zo langzaam :+
Mooie suggestie. Ik zal eens iets bouwen in de trant van direct notificeren als de data beschikbaar is, en anders een delay. Als het goed werkt deel ik hier t.z.t. wel de code. Kan wat tijd overheen gaan want ik bestel niet wekelijks online ;)

  • Jlo88
  • Registratie: augustus 2014
  • Laatst online: 14-08 12:18
Ik ben nu ook een tijdje met HA en node-red bezig en ik moet zeggen dat het me super bevalt! Sinds kort ondersteunt de zigbee2mqtt addon ook de ikea remote control. Ik heb deze nu succesvol gepaired en ik ben nu aan het proberen om een algemene subflow te maken waar deze remote wordt nagebootst.

Dit is wat ik tot nu toe gemaakt heb:



code:
1
 [{"id":"89b2e43.9051118","type":"switch","z":"b7f02e99.81c44","name":"Parse","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"toggle","vt":"str"},{"t":"eq","v":"brightness_up_click","vt":"str"},{"t":"eq","v":"brightness_down_click","vt":"str"},{"t":"eq","v":"arrow_right_click","vt":"str"},{"t":"eq","v":"arrow_left_click","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":350,"y":180,"wires":[["a41971ba.31ca7"],["19fbce3c.72f872"],["d99599ee.909e28"],["28864d0f.820bb2"],["7b0adee.3e5262"]]},{"id":"a41971ba.31ca7","type":"api-call-service","z":"b7f02e99.81c44","name":"Toggle","server":"7919b5c7.98b45c","service_domain":"light","service":"toggle","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":530,"y":80,"wires":[[]]},{"id":"95bdb06c.d8e93","type":"function","z":"b7f02e99.81c44","name":"Increase brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness + 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":710,"y":140,"wires":[["20310ef.eb005f2"]]},{"id":"f66cc129.e0b09","type":"function","z":"b7f02e99.81c44","name":"Decrease brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness - 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":200,"wires":[["20310ef.eb005f2"]]},{"id":"eb91116a.814af","type":"function","z":"b7f02e99.81c44","name":"Increase temperature","func":"function IncreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp + 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": IncreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":320,"wires":[["20310ef.eb005f2"]]},{"id":"8b4d032a.7f867","type":"function","z":"b7f02e99.81c44","name":"Decrease temperature","func":"function DecreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp - 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": DecreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":260,"wires":[["20310ef.eb005f2"]]},{"id":"20310ef.eb005f2","type":"api-call-service","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":930,"y":140,"wires":[[]]},{"id":"46d22cf4.1fb614","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":180,"y":180,"wires":[["89b2e43.9051118"]]},{"id":"19fbce3c.72f872","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":140,"wires":[["95bdb06c.d8e93"]]},{"id":"d99599ee.909e28","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":200,"wires":[["f66cc129.e0b09"]]},{"id":"28864d0f.820bb2","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":260,"wires":[["8b4d032a.7f867"]]},{"id":"7b0adee.3e5262","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"light.panel_bathroom","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":320,"wires":[["eb91116a.814af"]]},{"id":"7919b5c7.98b45c","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]



Dit werkt allemaal prima maar ik zou eigenlijk af willen van de definitie van het licht in de Light blokjes:



Het idee daar zou zijn om het entity_id te halen uit een globale variable die ik light_entity heb genoemd. In de call service blokjes is dit gelukt:



Helaas lukt dit in de get current state blokjes niet. Wanneer ik dat zo doe kan de entity id niet gevonden worden. Heeft iemand misschien een idee hoe dit te doen? :?

Ik zou het nog mooier vinden als ik de remote aan de ingang kan hangen en aan de uitgang een licht en dat ik geen globale variabele moet gebruiken maar ik heb geen idee hoe ik dit kan doen.. |:(
@Jlo88 :? Veel duidelijker gaat de uitleg toch niet worden volgens mij


POC:
code:
1
[{"id":"e702f0ce.8e69a8","type":"api-current-state","z":"ba68260d.f9c468","name":"","server":"39fd7a9b.252f86","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":590,"y":1810,"wires":[["42ef5f78.251a48"]]},{"id":"42ef5f78.251a48","type":"debug","z":"ba68260d.f9c468","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":850,"y":1730,"wires":[]},{"id":"5d1df3c4.bc1b6c","type":"change","z":"ba68260d.f9c468","name":"","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light.bank","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":270,"y":1790,"wires":[["e702f0ce.8e69a8"]]},{"id":"6e91c734.8e3848","type":"inject","z":"ba68260d.f9c468","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":280,"y":1900,"wires":[["5d1df3c4.bc1b6c"]]}]

lolgast wijzigde deze reactie 14-03-2019 16:40 (77%)


  • Jlo88
  • Registratie: augustus 2014
  • Laatst online: 14-08 12:18
@lolgast Hmm ja true, zo werkt het inderdaad wel. Ik snap nog niet zo goed waarom je de hele message eerst weggooit? Ik heb het nu aan de praat als ik het change entity blok na het parsen plaats, dan heb ik em wel 5x nodig. Zou toch makkelijker moeten kunnen zou je zeggen?


code:
1
[{"id":"b7f02e99.81c44","type":"subflow","name":"Ikea Tradfri Remote Mimic","info":"","category":"Jan","in":[{"x":60,"y":180,"wires":[{"id":"89b2e43.9051118"}]}],"out":[],"env":[{"name":"light_entity","type":"str","value":"light.panel_bathroom"}]},{"id":"89b2e43.9051118","type":"switch","z":"b7f02e99.81c44","name":"Parse","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"toggle","vt":"str"},{"t":"eq","v":"brightness_up_click","vt":"str"},{"t":"eq","v":"brightness_down_click","vt":"str"},{"t":"eq","v":"arrow_right_click","vt":"str"},{"t":"eq","v":"arrow_left_click","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":170,"y":180,"wires":[["46d22cf4.1fb614"],["4a843006.67777"],["618f224c.a385fc"],["cc6d61cf.005ed"],["4ddc45c1.2ec4bc"]]},{"id":"a41971ba.31ca7","type":"api-call-service","z":"b7f02e99.81c44","name":"Toggle","server":"7919b5c7.98b45c","service_domain":"light","service":"toggle","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":530,"y":80,"wires":[[]]},{"id":"95bdb06c.d8e93","type":"function","z":"b7f02e99.81c44","name":"Increase brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness + 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":710,"y":140,"wires":[["20310ef.eb005f2"]]},{"id":"f66cc129.e0b09","type":"function","z":"b7f02e99.81c44","name":"Decrease brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness - 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":200,"wires":[["20310ef.eb005f2"]]},{"id":"eb91116a.814af","type":"function","z":"b7f02e99.81c44","name":"Increase temperature","func":"function IncreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp + 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": IncreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":320,"wires":[["20310ef.eb005f2"]]},{"id":"8b4d032a.7f867","type":"function","z":"b7f02e99.81c44","name":"Decrease temperature","func":"function DecreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp - 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": DecreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":720,"y":260,"wires":[["20310ef.eb005f2"]]},{"id":"20310ef.eb005f2","type":"api-call-service","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":930,"y":140,"wires":[[]]},{"id":"46d22cf4.1fb614","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":100,"wires":[["a41971ba.31ca7"]]},{"id":"19fbce3c.72f872","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":140,"wires":[["95bdb06c.d8e93"]]},{"id":"d99599ee.909e28","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":200,"wires":[["f66cc129.e0b09"]]},{"id":"28864d0f.820bb2","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":260,"wires":[["8b4d032a.7f867"]]},{"id":"7b0adee.3e5262","type":"api-current-state","z":"b7f02e99.81c44","name":"Light","server":"7919b5c7.98b45c","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":530,"y":320,"wires":[["eb91116a.814af"]]},{"id":"4a843006.67777","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":140,"wires":[["19fbce3c.72f872"]]},{"id":"618f224c.a385fc","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":200,"wires":[["d99599ee.909e28"]]},{"id":"cc6d61cf.005ed","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":260,"wires":[["28864d0f.820bb2"]]},{"id":"4ddc45c1.2ec4bc","type":"change","z":"b7f02e99.81c44","name":"Change entity","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":320,"wires":[["7b0adee.3e5262"]]},{"id":"7919b5c7.98b45c","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]

@Jlo88 Ik kan je code niet importeren, is leeg in mijn NR

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
lolgast schreef op donderdag 14 maart 2019 @ 18:01:
@Jlo88 Ik kan je code niet importeren, is leeg in mijn NR
Het is een subflow, ik kreeg ook allerlei errors ;) (gebruik geen ha)
8)7 Bedankt

@Jlo88 Ik denk dat dit ook moet kunnen
code:
1
[{"id":"d8bed0f5.5739f","type":"switch","z":"e0d3a09b.7816e","name":"Parse","property":"action","propertyType":"msg","rules":[{"t":"eq","v":"toggle","vt":"str"},{"t":"eq","v":"brightness_up_click","vt":"str"},{"t":"eq","v":"brightness_down_click","vt":"str"},{"t":"eq","v":"arrow_right_click","vt":"str"},{"t":"eq","v":"arrow_left_click","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":410,"y":180,"wires":[["2a9f2d24.2a9ac2"],["a293ba91.adccf8"],["e0f70afc.4efef8"],["1356e2a3.51909d"],["34dc278f.c68fd8"]]},{"id":"2a9f2d24.2a9ac2","type":"api-call-service","z":"e0d3a09b.7816e","name":"Toggle","server":"638b3c86.920fd4","service_domain":"light","service":"toggle","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":670,"y":80,"wires":[[]]},{"id":"8b0032f2.b86c4","type":"function","z":"e0d3a09b.7816e","name":"Increase brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness + 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":850,"y":140,"wires":[["d648fbee.a1fa38"]]},{"id":"fe296cbf.6e1d9","type":"function","z":"e0d3a09b.7816e","name":"Decrease brightness","func":"function newBrightness(current_brightness) {\n    newBrightness_tmp = current_brightness - 50\n    return Math.max(0, Math.min(255, Math.round(newBrightness_tmp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"brightness\": newBrightness(msg.data.attributes.brightness)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":860,"y":200,"wires":[["d648fbee.a1fa38"]]},{"id":"d194a549.a9eea8","type":"function","z":"e0d3a09b.7816e","name":"Increase temperature","func":"function IncreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp + 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": IncreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":860,"y":320,"wires":[["d648fbee.a1fa38"]]},{"id":"f0e06fbe.ca82d","type":"function","z":"e0d3a09b.7816e","name":"Decrease temperature","func":"function DecreaseColorTemp(current_color_temp,min_mireds,max_mireds) {\n    new_color_temp = current_color_temp - 50\n    return Math.max(min_mireds, Math.min(max_mireds, Math.round(new_color_temp)))\n}\n    \nnewMsg = {\n    payload: {\n        \"data\": {\n            \"entity_id\": msg.topic,\n            \"color_temp\": DecreaseColorTemp(msg.data.attributes.color_temp,msg.data.attributes.min_mireds,msg.data.attributes.max_mireds)\n        }\n    }\n}\nreturn newMsg;","outputs":1,"noerr":0,"x":860,"y":260,"wires":[["d648fbee.a1fa38"]]},{"id":"d648fbee.a1fa38","type":"api-call-service","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","service_domain":"light","service":"turn_on","data":"{\"entity_id\":\"{{data.entity_id}}\"}","mergecontext":"","output_location":"","output_location_type":"none","x":1070,"y":140,"wires":[[]]},{"id":"a293ba91.adccf8","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":140,"wires":[["8b0032f2.b86c4"]]},{"id":"e0f70afc.4efef8","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":200,"wires":[["fe296cbf.6e1d9"]]},{"id":"1356e2a3.51909d","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":260,"wires":[["f0e06fbe.ca82d"]]},{"id":"34dc278f.c68fd8","type":"api-current-state","z":"e0d3a09b.7816e","name":"Light","server":"638b3c86.920fd4","outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":true,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":670,"y":320,"wires":[["d194a549.a9eea8"]]},{"id":"e4b1d39f.a7363","type":"change","z":"e0d3a09b.7816e","name":"Change entity","rules":[{"t":"move","p":"payload","pt":"msg","to":"action","tot":"msg"},{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.entity_id","pt":"msg","to":"light_entity","tot":"env"},{"t":"set","p":"data.entity_id","pt":"msg","to":"light_entity","tot":"env"}],"action":"","property":"","from":"","to":"","reg":false,"x":220,"y":180,"wires":[["d8bed0f5.5739f"]]},{"id":"638b3c86.920fd4","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open"}]


  • Jlo88
  • Registratie: augustus 2014
  • Laatst online: 14-08 12:18
@lolgast dat is een nette oplossing! Ik ben nog niet zo handig met hoe je omgaat met de payloads enzo maar eigenlijk is het heel logisch hoe je het nu gemaakt hebt. Heb het net getest en het werkt super!

Acties:
  • +5Henk 'm!

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
Er is weer een kleine update.

Op 1 of andere manier is dit topic niet razendpopulair wat me enigzins verbaast. Dit is echt de mooiste software waar ik ooit mee heb gewerkt (althans het zit ergens in de top) het zo uberflexibel. Niet alleen voor home automation, maar voor alles wat data uitpoept.

Hoe kan het dat mensen het fijner lijken te vinden om in een yaml file te gaan zitten rommelen dan gewoon wat mooie flows in elkaar draggen en droppen ? Alles wat met http/tcp praat kun je fantastisch mooi in NR doen en volledig geautomatiseerd. Liefst heb ik nergens knopjes en gebeurd alles automagisch.

Een gemiste kans voor veel mensen denk ik.

Einde brainfart

Acties:
  • +1Henk 'm!
druipsnor schreef op vrijdag 15 maart 2019 @ 20:21:
[...]

Heb je dit in NR gedaan? zoja, zou je je flow willen delen?
Bij deze
YAML:
1
[{"id":"50265648.612f58","type":"function","z":"afed89c9.ec0e38","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       'De meterstanden van deze maand',\n     'message':\n       \"Energiestand Piek: \" + msg.payload.piek + \" kWh \\nEnergiestand Dal: \" + msg.payload.dal + \" kWh \\nGasstand: \" + msg.payload.gas + \" m³\" }};\nmsg.payload.service = 'iphones'\nreturn msg;","outputs":1,"noerr":0,"x":1130,"y":110,"wires":[["d4224149.8d6348"]]},{"id":"72032069.d157","type":"change","z":"afed89c9.ec0e38","name":"copy payloads","rules":[{"t":"set","p":"payload.dal","pt":"msg","to":"payload.results.0.electricity_delivered_1","tot":"msg"},{"t":"set","p":"payload.piek","pt":"msg","to":"payload.results.0.electricity_delivered_2","tot":"msg"},{"t":"set","p":"payload.gas","pt":"msg","to":"payload.results.0.extra_device_delivered","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":910,"y":110,"wires":[["50265648.612f58"]]},{"id":"89bdf884.dc4fc8","type":"http request","z":"afed89c9.ec0e38","name":"DSMR API","method":"GET","ret":"obj","url":"http://192.168.4.50:8888/api/v2/datalogger/dsmrreading?ordering=-timestamp&limit=1","tls":"","x":700,"y":110,"wires":[["72032069.d157"]]},{"id":"ec5ace9e.0e985","type":"change","z":"afed89c9.ec0e38","name":"set headers","rules":[{"t":"set","p":"headers['X-AUTHKEY']","pt":"msg","to":"Hier-je-API-key","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":110,"wires":[["89bdf884.dc4fc8"]]},{"id":"14b316e8.e9e589","type":"function","z":"afed89c9.ec0e38","name":"first_of_month","func":"msg.payload = msg.payload + 7200000\nlet dayOfMonth = new Date(msg.payload).getDate();\n//let hourOfDay = new Date(msg.payload).getHours();\n//let minuteOfDay = new Date(msg.payload).getMinutes();\nif (dayOfMonth === 1) {\n    return [ msg ];\n}\nelse {\n    return [ null ];\n}","outputs":1,"noerr":0,"x":320,"y":110,"wires":[["ec5ace9e.0e985"]]},{"id":"1d4e82b.159f6fd","type":"inject","z":"afed89c9.ec0e38","name":"run @ 2:00","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 02 * * *","once":false,"onceDelay":0.1,"x":130,"y":110,"wires":[["14b316e8.e9e589"]]}]


  • druipsnor
  • Registratie: januari 2011
  • Laatst online: 13-09 09:36
lolgast schreef op vrijdag 15 maart 2019 @ 21:25:
[...]

Bij deze
YAML:
1
[{"id":"50265648.612f58","type":"function","z":"afed89c9.ec0e38","name":"Message template","func":"msg.payload = { \n    data: {\n     'title':\n       'De meterstanden van deze maand',\n     'message':\n       \"Energiestand Piek: \" + msg.payload.piek + \" kWh \\nEnergiestand Dal: \" + msg.payload.dal + \" kWh \\nGasstand: \" + msg.payload.gas + \" m³\" }};\nmsg.payload.service = 'iphones'\nreturn msg;","outputs":1,"noerr":0,"x":1130,"y":110,"wires":[["d4224149.8d6348"]]},{"id":"72032069.d157","type":"change","z":"afed89c9.ec0e38","name":"copy payloads","rules":[{"t":"set","p":"payload.dal","pt":"msg","to":"payload.results.0.electricity_delivered_1","tot":"msg"},{"t":"set","p":"payload.piek","pt":"msg","to":"payload.results.0.electricity_delivered_2","tot":"msg"},{"t":"set","p":"payload.gas","pt":"msg","to":"payload.results.0.extra_device_delivered","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":910,"y":110,"wires":[["50265648.612f58"]]},{"id":"89bdf884.dc4fc8","type":"http request","z":"afed89c9.ec0e38","name":"DSMR API","method":"GET","ret":"obj","url":"http://192.168.4.50:8888/api/v2/datalogger/dsmrreading?ordering=-timestamp&limit=1","tls":"","x":700,"y":110,"wires":[["72032069.d157"]]},{"id":"ec5ace9e.0e985","type":"change","z":"afed89c9.ec0e38","name":"set headers","rules":[{"t":"set","p":"headers['X-AUTHKEY']","pt":"msg","to":"Hier-je-API-key","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":110,"wires":[["89bdf884.dc4fc8"]]},{"id":"14b316e8.e9e589","type":"function","z":"afed89c9.ec0e38","name":"first_of_month","func":"msg.payload = msg.payload + 7200000\nlet dayOfMonth = new Date(msg.payload).getDate();\n//let hourOfDay = new Date(msg.payload).getHours();\n//let minuteOfDay = new Date(msg.payload).getMinutes();\nif (dayOfMonth === 1) {\n    return [ msg ];\n}\nelse {\n    return [ null ];\n}","outputs":1,"noerr":0,"x":320,"y":110,"wires":[["ec5ace9e.0e985"]]},{"id":"1d4e82b.159f6fd","type":"inject","z":"afed89c9.ec0e38","name":"run @ 2:00","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 02 * * *","once":false,"onceDelay":0.1,"x":130,"y":110,"wires":[["14b316e8.e9e589"]]}]

Top, dankjewel.

  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 22:38
Zijn er hier mensen die de node-red-contrib-nefit-easy2 in Node-Red aan de praat hebben gekregen? Hij zegt connected maar de debug geeft geen output.

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
jmachiels schreef op zondag 17 maart 2019 @ 18:30:
Zijn er hier mensen die de node-red-contrib-nefit-easy2 in Node-Red aan de praat hebben gekregen? Hij zegt connected maar de debug geeft geen output.
Heb je geprobeerd de debug node op complete msg object te zetten ?

  • Snipperty
  • Registratie: november 2017
  • Laatst online: 20:07
Is hier ook iemand die NR gebruikt icm Slack? (of is deze combi een apart topic?)

  • jmachiels
  • Registratie: januari 2009
  • Laatst online: 22:38
z1rconium schreef op woensdag 20 maart 2019 @ 00:21:
[...]

Heb je geprobeerd de debug node op complete msg object te zetten ?
Geen effect helaas.
Snipperty schreef op donderdag 21 maart 2019 @ 19:47:
Is hier ook iemand die NR gebruikt icm Slack? (of is deze combi een apart topic?)
Vrij algemene vraag. Waar ben je naar op zoek? Er is een actief onderhouden module voor beschikbaar: https://flows.nodered.org/node/node-red-contrib-slack

  • Snipperty
  • Registratie: november 2017
  • Laatst online: 20:07
Ik weet dat er een module voor Slack is. Ik loop tegen een uitdaging aan icm Slack en hoop dat er iemand is die mij hiermee kan helpen. Issue is Async afhandeling.
Gebuitker klikt op button in slack (dan komt er een text "processing" te staan, vervolgens wordt er een andere externe API aangeropen en wanneer deze OK (200) geeft moet er pas een bericht 200 terug naar Slack.. Heb reeds van alles geprobeerd, maar tot op heden zonder succes,. Dus vandaar de vraag hier.

  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
Snipperty schreef op donderdag 21 maart 2019 @ 23:58:
Ik weet dat er een module voor Slack is. Ik loop tegen een uitdaging aan icm Slack en hoop dat er iemand is die mij hiermee kan helpen. Issue is Async afhandeling.
Gebuitker klikt op button in slack (dan komt er een text "processing" te staan, vervolgens wordt er een andere externe API aangeropen en wanneer deze OK (200) geeft moet er pas een bericht 200 terug naar Slack.. Heb reeds van alles geprobeerd, maar tot op heden zonder succes,. Dus vandaar de vraag hier.
Klinkt niet ingewikkeld. Heb je mss een flow ?

Acties:
  • +1Henk 'm!

  • Tranzity
  • Registratie: januari 2001
  • Niet online
z1rconium schreef op vrijdag 15 maart 2019 @ 18:00:
Er is weer een kleine update.

Op 1 of andere manier is dit topic niet razendpopulair wat me enigzins verbaast. Dit is echt de mooiste software waar ik ooit mee heb gewerkt (althans het zit ergens in de top) het zo uberflexibel. Niet alleen voor home automation, maar voor alles wat data uitpoept.

Hoe kan het dat mensen het fijner lijken te vinden om in een yaml file te gaan zitten rommelen dan gewoon wat mooie flows in elkaar draggen en droppen ? Alles wat met http/tcp praat kun je fantastisch mooi in NR doen en volledig geautomatiseerd. Liefst heb ik nergens knopjes en gebeurd alles automagisch.

Een gemiste kans voor veel mensen denk ik.

Einde brainfart
Misschien is het zo gemakkelijk in gebruik dat er geen vragen over gesteld hoeft te worden?
Ik ben 100% tevreden, ook ik ben het er mee eens dat dit een mooi stuk software is! O+

  • Snipperty
  • Registratie: november 2017
  • Laatst online: 20:07
@z1rconium Ik heb nog geen correcte flow, want die krijg ik dus niet werkend. Wat ik wel heb is de nodejs code die ik destijds gemaakt heb en die wel werkt en die ik wil omzetten naar NodeRed (ik wil van de code weg en deze fatastsche tool Node red gebruiken)


code:
1
2
3
4
5
6
7
8
9
10
11
12
app.post('/slack/review', urlencodedParser, async (req,res) => {
    try{res.send(`Contract is currently processed`)
        var request = JSON.parse(req.body.payload);
        var slackmessage = await SlackContractReviewContent(request);
        var response = await sendContractReview(slackmessage.entity, slackmessage.status);
        var Slackresponse = await sendSlackDelayedMessage(slackmessage,response);
        console.log(Slackresponse);
        res.end()
    } catch (err) {
        console.log(`Could not be processed!`);
        res.end();
    };


  • Thoit
  • Registratie: februari 2015
  • Laatst online: 18:23
z1rconium schreef op vrijdag 15 maart 2019 @ 18:00:
Er is weer een kleine update.

Op 1 of andere manier is dit topic niet razendpopulair wat me enigzins verbaast. Dit is echt de mooiste software waar ik ooit mee heb gewerkt (althans het zit ergens in de top) het zo uberflexibel. Niet alleen voor home automation, maar voor alles wat data uitpoept.

Hoe kan het dat mensen het fijner lijken te vinden om in een yaml file te gaan zitten rommelen dan gewoon wat mooie flows in elkaar draggen en droppen ? Alles wat met http/tcp praat kun je fantastisch mooi in NR doen en volledig geautomatiseerd. Liefst heb ik nergens knopjes en gebeurd alles automagisch.

Een gemiste kans voor veel mensen denk ik.

Einde brainfart
Omdat ik bepaalde automations met HA wel aan de gang krijg maar in NR niet. Tevens gebruik ik bepaalde automations (bijv. vertraagd opstarten van bepaalde services) in HA zodat ik niet hoef te wachten tot NR is gestart en dan een automation af trapt.

De melding dat de wasmachine klaar is krijg ik bijv. met geen mogelijkheid meer aan de gang met NR. Maak gebruik van de Power-monitor (https://flows.nodered.org...red-contrib-power-monitor) en in standby gebruikt de wasmachine ongeveer 3 watt. Heb dus al van alles geprobeerd met de Power threshold, start after, stop after e.d. maar ik krijg óf geen melding, óf elke 15 minuten een melding. Terwijl ik gewoon één melding wil als de wasmachine klaar is :(

  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 21:04
Goudduif schreef op woensdag 13 februari 2019 @ 22:23:
Momenteel lees ik de OpenTherm Gateway uit via Domoticz, en dat werkt goed.
Maar ik wil hem juist via Node-red laten werken..
De Opentherm GW heeft een Ethernet aansluiting, en Node-Red maakt verbinding via een TCP Connectie op poort 23.

[Afbeelding: TCP Telnet settings]


JSON:
1
[{"id":"51c8c8c5.c3c088","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"bf5a772b.13a2f8","type":"openthermdec","z":"51c8c8c5.c3c088","name":"Room Setpoint","x":754.25,"y":386.24999237060547,"wires":[["e7bab556.87a708","650cdf6d.2b5da"]]},{"id":"e7bab556.87a708","type":"debug","z":"51c8c8c5.c3c088","name":"","active":true,"console":"false","complete":"true","x":924.25,"y":452.24999237060547,"wires":[]},{"id":"c5186733.2c1f58","type":"otgwdec","z":"51c8c8c5.c3c088","name":"Room Setpoint","x":299.25,"y":393.24999237060547,"wires":[["b418f6f9.e35bd8","6f5b1770.1313b8"]]},{"id":"b418f6f9.e35bd8","type":"debug","z":"51c8c8c5.c3c088","name":"","active":false,"console":"false","complete":"true","x":453.25,"y":458.24999237060547,"wires":[]},{"id":"99384142.f55bb","type":"file","z":"51c8c8c5.c3c088","name":"","filename":"/opentherm.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":1145.25,"y":388.24999237060547,"wires":[[]]},{"id":"650cdf6d.2b5da","type":"function","z":"51c8c8c5.c3c088","name":"To CSV","func":"msg.payload =         msg.raw\n              + \",\" + msg.msgtype\n              + \",\" + msg.dataid\n              + \",\" + msg.datavalue\n              + \",\" + msg.topic\n              + \",\" + msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":967.25,"y":388.24999237060547,"wires":[["99384142.f55bb"]]},{"id":"6f5b1770.1313b8","type":"switch","z":"51c8c8c5.c3c088","name":"read ack/write ack/else","property":"msgtype","propertyType":"msg","rules":[{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":507.25,"y":393.24999237060547,"wires":[["bf5a772b.13a2f8"],["bf5a772b.13a2f8"],[]]},{"id":"4be361d5.cbda6","type":"tcp in","z":"51c8c8c5.c3c088","name":"Room Setpoint","server":"client","host":"192.168.0.7","port":"23","datamode":"stream","datatype":"buffer","newline":"","topic":"Room Setpoint","base64":false,"x":109,"y":529,"wires":[["c5186733.2c1f58"]],"outputLabels":["9600N"]}]



Helaas krijg ik echter, alleen deze foutmeldingen

3-2-2019 22:06:26node: Room Setpoint
msg : string[38]
"Illegal message length 'SC: 22:06/3↵'"
13-2-2019 22:06:26node: Room Setpoint
msg : string[230]
"Illegal message length 'PR: G=11↵PR: I=00↵PR: O=T21.50↵PS: 1↵00000011/00001010,54.00,00000011/00000011,0.00,0/0,21.50,0.00,0.00,21.51,49.80,0.00,0.00,45.10,60/40,75/20,60.00,70.00,65535,65535,63296,65535,14798,18946,712,860↵'"


Helaas heb ik momenteel nog tekort kennis van Node-red, om hier uit te komen.
Hopelijk kan een van jullie mij duidelijk maken, hoe ik dit werkend kan krijgen?

Mogelijk met wat een wat uitgebreidere voorbeeld flow.
Zelfde hier. Ben je er nog verder mee gekomen?

iRacing Profiel


  • z1rconium
  • Registratie: augustus 2014
  • Laatst online: 21:21
MrBarBarian schreef op vrijdag 29 maart 2019 @ 11:07:
[...]

Zelfde hier. Ben je er nog verder mee gekomen?
Wat is het probleem precies ? Heb je een tcp node----debug en dan verschillende instellingen geprobeerd ?

  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 21:04
z1rconium schreef op zaterdag 30 maart 2019 @ 09:23:
[...]

Wat is het probleem precies ? Heb je een tcp node----debug en dan verschillende instellingen geprobeerd ?
Inmiddels opgelost. hier staat de oplossing.

Er staat een newline character in de eruit gefiltert moet worden.

iRacing Profiel


  • Greetoz
  • Registratie: juni 2002
  • Laatst online: 22:22
Heeft iemand hier misschien een voorbeeld hoe ik een Xiaomi Air Purifier aanstuur via nodered? Als ik google vind ik wel automations binnen HA maar niets met nodered. Ik moet service fanspeed aanspreken volgens mij. https://www.home-assistant.io/components/fan.xiaomi_miio/

Edit:

Het is mij toch gelukt:


code:
1
[{"id":"8f1f0236.beea1","type":"timerswitch","z":"a6bf0d9f.9ec52","name":"Fan Speed","ontopic":"","offtopic":"","onpayload":"Favorite","offpayload":"Silent","disabled":false,"schedules":[{"on_h":"09","on_m":"00","on_s":"00","off_h":"22","off_m":"00","off_s":"00","valid":true}],"x":170,"y":240,"wires":[["c7bd5269.1345"]]},{"id":"e013eec5.bccdd","type":"api-call-service","z":"a6bf0d9f.9ec52","name":"Favorite Speed","server":"23904a0c.56d286","service_domain":"fan","service":"set_speed","data":"{\"entity_id\":\"fan.slaapkamer_luchtreiniger\"}","mergecontext":"","output_location":"payload","output_location_type":"msg","x":740,"y":200,"wires":[[]]},{"id":"c7bd5269.1345","type":"switch","z":"a6bf0d9f.9ec52","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Favorite","vt":"str"},{"t":"eq","v":"Silent","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":350,"y":240,"wires":[["1c7e8d73.a7f433"],["a8461703.6d50b8"]]},{"id":"49dcc29a.4bcedc","type":"api-call-service","z":"a6bf0d9f.9ec52","name":"Silent Speed","server":"23904a0c.56d286","service_domain":"fan","service":"set_speed","data":"{\"entity_id\":\"fan.slaapkamer_luchtreiniger\"}","mergecontext":"","output_location":"payload","output_location_type":"msg","x":730,"y":280,"wires":[[]]},{"id":"1c7e8d73.a7f433","type":"function","z":"a6bf0d9f.9ec52","name":"Set fan Favorite","func":"msg.payload = {\n  \"data\": {\n    \"speed\": \"Favorite\"\n  }\n};\nreturn msg;","outputs":1,"noerr":0,"x":540,"y":220,"wires":[["e013eec5.bccdd"]]},{"id":"a8461703.6d50b8","type":"function","z":"a6bf0d9f.9ec52","name":"Set fan Silent","func":"msg.payload = {\n  \"data\": {\n    \"speed\": \"Silent\"\n  }\n};\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":260,"wires":[["49dcc29a.4bcedc"]]},{"id":"23904a0c.56d286","type":"server","z":"","name":"Home Assistant"}]

Greetoz wijzigde deze reactie 30-03-2019 14:30 (77%)


  • jossie67
  • Registratie: oktober 2006
  • Laatst online: 15-09 22:30
Hi,

Ik heb gisteren mijn NR geupgrade in HA naar versie 3.0.1, maar nu werkt mij I-frame niet meer en ik kan ook niet meer naar NR dmv
http://ipadres:1880

ik kan de oorzaak lijkt te liggen aan ingress , maar hoe kan krijg ik dit nu goed in i-frame en hoe kom ok de ui?

  • Sjef_
  • Registratie: september 2012
  • Laatst online: 14-09 21:36
jossie67 schreef op donderdag 18 april 2019 @ 10:59:
Hi,

Ik heb gisteren mijn NR geupgrade in HA naar versie 3.0.1, maar nu werkt mij I-frame niet meer en ik kan ook niet meer naar NR dmv
http://ipadres:1880

ik kan de oorzaak lijkt te liggen aan ingress , maar hoe kan krijg ik dit nu goed in i-frame en hoe kom ok de ui?
Dit kan nu middels een panel-custom.
zie ook https://www.home-assistant.io/components/panel_custom/

Uit de blogpost van ingress zal er in versie 0.92.0 een anders oplossing hiervoor komen.

code:
1
2
3
4
5
6
7
8
9
- name: hassio-main
  sidebar_title: Node-RED
  sidebar_icon: mdi:sitemap
  js_url: /api/hassio/app/entrypoint.js
  url_path: nodered
  embed_iframe: true
  require_admin: true
  config:
    ingress: a0a0a123_nodered


  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21:58
Vraag. Ik heb een groot deel van mijn huis automatisering met Node-Red geautomatiseerd. Nu heb ik iets vaags waar ik maar niet kom, ook niet met Google als vriend.

Ik gebruik een simpele input_select om de WTW snelheid te sturen. Die input_select zit aan een andere flow gekoppeld die een 0-10v uitgang richting de WTW stuurt. Dit werkt top, en als ik handmatig de input_select verander werkt dat mooi.

Nu heb ik een flow die de luchtvochtigheid in de badkamer uitleest en op basis daarvan de WTW harder /zachter moet zetten. Ik heb alleen een probleem met het kiezen van een Option voor de Input_select. Ik krijg een error dat ik geen Option Key mag meegeven aan de Call. "extra keys not allowed @ data['Option']"


Op Internet vond ik mensen die aangaven dat ik mogelijk last had van andere attributen of gevulde payload van nodes ervoor. Dus heb ik de payload etc leeggemaakt maar ik houd dezelfde fout.

Iemand een idee wat ik hier nou fout doe?

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • haborym
  • Registratie: september 2008
  • Laatst online: 15:26
jossie67 schreef op donderdag 18 april 2019 @ 10:59:
Hi,

Ik heb gisteren mijn NR geupgrade in HA naar versie 3.0.1, maar nu werkt mij I-frame niet meer en ik kan ook niet meer naar NR dmv
http://ipadres:1880

ik kan de oorzaak lijkt te liggen aan ingress , maar hoe kan krijg ik dit nu goed in i-frame en hoe kom ok de ui?
Welke versie van HA heb je?

Ik draai momenteel 91.2 (hassio) en ik kan de update van 3.0.1 niet installeren omdat deze "This update is no longer compatible with your system."

  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21:58
Sjef_ schreef op donderdag 18 april 2019 @ 11:13:
[...]


Dit kan nu middels een panel-custom.
zie ook https://www.home-assistant.io/components/panel_custom/

Uit de blogpost van ingress zal er in versie 0.92.0 een anders oplossing hiervoor komen.

code:
1
2
3
4
5
6
7
8
9
- name: hassio-main
  sidebar_title: Node-RED
  sidebar_icon: mdi:sitemap
  js_url: /api/hassio/app/entrypoint.js
  url_path: nodered
  embed_iframe: true
  require_admin: true
  config:
    ingress: a0a0a123_nodered

Volgens mij hebben ze in Hassio het systeem aangepast. Ze hebben nu Ingress geïmplementeerd en daardoor werken de URL's etc anders met iFrames. In 0.92 is het ook mogelijk om bij elke add-on te kiezen voor de optie "Show in Sidebar". Dan kun je die hele iFrame constructie uit je config halen. Mooie verbetering van de makers van Hassio.

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • jossie67
  • Registratie: oktober 2006
  • Laatst online: 15-09 22:30
haborym schreef op zondag 28 april 2019 @ 16:55:
[...]


Welke versie van HA heb je?

Ik draai momenteel 91.2 (hassio) en ik kan de update van 3.0.1 niet installeren omdat deze "This update is no longer compatible with your system."
Ik heb net weer geupgrade naar 0.92.1, mijn NR versie is 1.3.5 , ik kan upgrade naar 3.0.3, maar als ik dat doe dan werkt NR tot dat ik eer reboot doen.

Ondertussen wel gemigeerd naar een NUC met daarom Proxmox, daarop een Ubuntu 18.04 met Hassio
Voorlopig ga ik niet upgrade, en als ik het weer een probeer maak ik eerst een snapshot met Proxmox

  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21:58
GAEvakYD schreef op zondag 28 april 2019 @ 10:10:
Vraag. Ik heb een groot deel van mijn huis automatisering met Node-Red geautomatiseerd. Nu heb ik iets vaags waar ik maar niet kom, ook niet met Google als vriend.

Ik gebruik een simpele input_select om de WTW snelheid te sturen. Die input_select zit aan een andere flow gekoppeld die een 0-10v uitgang richting de WTW stuurt. Dit werkt top, en als ik handmatig de input_select verander werkt dat mooi.

Nu heb ik een flow die de luchtvochtigheid in de badkamer uitleest en op basis daarvan de WTW harder /zachter moet zetten. Ik heb alleen een probleem met het kiezen van een Option voor de Input_select. Ik krijg een error dat ik geen Option Key mag meegeven aan de Call. "extra keys not allowed @ data['Option']"
[Afbeelding]

Op Internet vond ik mensen die aangaven dat ik mogelijk last had van andere attributen of gevulde payload van nodes ervoor. Dus heb ik de payload etc leeggemaakt maar ik houd dezelfde fout.

Iemand een idee wat ik hier nou fout doe?
Iemand enig idee wat ik hier fout doe met Input_select.select_option?

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • RobertMe
  • Registratie: maart 2009
  • Laatst online: 23:27
GAEvakYD schreef op dinsdag 30 april 2019 @ 08:58:
[...]


Iemand enig idee wat ik hier fout doe met Input_select.select_option?
option i.p.v. Option moet het volgens mij zijn.

  • GAEvakYD
  • Registratie: juni 2001
  • Laatst online: 21:58
RobertMe schreef op dinsdag 30 april 2019 @ 09:33:
[...]

option i.p.v. Option moet het volgens mij zijn.
Dammmm, dat was de truc. Wat kan de oplossing toch soms makkelijk zijn. 8)7

Dank.

Kia Niro EV (64 kWh), Alpha Innotec Brine warmtepomp (MSW2-6S), 18x295WP=5310 Wp met Growatt 4600 op Oost, 13x325WP=4225 Wp met Growatt 4200 op Zuid, 8x325WP=2600 Wp met Growatt 2500 op Zuid. Totaal 12135 Wp geïnstalleerd.


  • MrBarBarian
  • Registratie: oktober 2003
  • Laatst online: 21:04
Ik wil Node-red gebruiken om SBFspot via MQTT te laten communiceren met Home Assistent.

Ik heb SBFspot zo geconfigureert dat de data van mijn Sunnyboy naar een SQLite database wordt geschreven. Ik zou denken dat het nu niet moeilijk zou moeten zijn om dmv Node-Rred e.a om te zetten naar MQTT. Maar, helaas toch wel (ben ook nog een beginner met Node-Red :)).

Wie kan helpen? Als hetzelfde resultaat mogelijk is door CSV-files uit te lezen is dat ook prima ;)

Data schrijven naar een SQLite db lijkt niet zo moeilijk te zijn. Maar lezen....

MrBarBarian wijzigde deze reactie 30-04-2019 19:22 (8%)

iRacing Profiel

Pagina: 1 ... 6 7 8 Laatste


Apple iPhone 11 Nintendo Switch Lite LG OLED C9 Google Pixel 4 FIFA 20 Samsung Galaxy S10 Sony PlayStation 5 Games

'14 '15 '16 '17 2018

Tweakers vormt samen met Tweakers Elect, Hardware Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True