Logica voor Node-Red sunevents naar lamp

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Pabz
  • Registratie: Juni 2008
  • Laatst online: 10-09 00:23
Ik zit sinds een paar dagen te stoeien met HA en Node-Red en wil nu de tuinlampen en de portiek lamp aan en uit laten gaan op basis van een sunevent (https://flows.nodered.org/node/node-red-contrib-sunevents).

Wat ik wil is bij het sunevent dusk dat de lamp aan gaat. Voor zover ik weet heeft een lamp de payload on nodig om aan te gaan. Dus op basis van deze aanname heb ik gebouwd.

Hieronder een voorbeeld van de flow zoals ik het nu zelf opgelost heb, maar vraag me af of het niet makkelijker kan.

De flow heeft 2 inject nodes, zodat de sunevent node elke dag getriggerd wordt (werd geadviseerd in de documentatie). Vervolgens wordt er dan een GPS lokatie in de sunevent node geduwd.
De node sunevent heeft als payload een object met 4 properties: msg.payload.latitude, msg.payload.longitude, msg.payload.sunevent en msg.payload.datetime. Omdat ik alleen geinteresseerd ben in msg.payload.sunevent verwijder ik in een change node eerst de andere 3. Dan gaat de gestripte payload naar een JSON node om het om te zetten in een string, dan weer een change node om de string "sunevent":""dusk" om te zetten naar on.

Is er wellicht ook een makkelijkere manier om dit te doen? Waarschijnlijk met function nodes, maar ik kan niet echt coderen :9 . Trouwens de sunevent node blijft bij ieder sunevent deze posten en gaat dan onveranderd door naar de switch node als tekst string ipv on omdat deze niet omgezet wordt als de string iets anders is dan sunevent":""dusk". Ik heb nog niet getest wat voor invloed dat dan op een lamp heeft bijv.

Tips zijn welkom!

code:
1
[{"id":"32cb8da3.eeffc2","type":"tab","label":"Sun Events simple example","disabled":false,"info":""},{"id":"2d8758dc.922e08","type":"inject","z":"32cb8da3.eeffc2","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","payloadType":"str","x":110,"y":120,"wires":[["58c171f7.59b7a"]]},{"id":"ae9be1e3.2e7ab","type":"sun events","z":"32cb8da3.eeffc2","testmode":true,"verbose":true,"topic":"sunset","name":"","x":590,"y":180,"wires":[["7c3cf0a444bb5631"],[]]},{"id":"58c171f7.59b7a","type":"change","z":"32cb8da3.eeffc2","name":"set GPS coordinates (change node) ","rules":[{"t":"set","p":"payload.latitude","pt":"msg","to":"52.702521","tot":"num"},{"t":"set","p":"payload.longitude","pt":"msg","to":"3.188700","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":180,"wires":[["ae9be1e3.2e7ab"]]},{"id":"c0aa61b0.223ae","type":"inject","z":"32cb8da3.eeffc2","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"topic":"","payloadType":"str","x":110,"y":240,"wires":[["58c171f7.59b7a"]]},{"id":"448101bf3080f56a","type":"debug","z":"32cb8da3.eeffc2","name":"debug 7","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":280,"wires":[]},{"id":"7c3cf0a444bb5631","type":"change","z":"32cb8da3.eeffc2","name":"","rules":[{"t":"delete","p":"payload.latitude","pt":"msg"},{"t":"delete","p":"payload.longitude","pt":"msg"},{"t":"delete","p":"payload.datetime","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":380,"wires":[["cf8e5d92f04a1243"]]},{"id":"cf8e5d92f04a1243","type":"json","z":"32cb8da3.eeffc2","name":"","property":"payload","action":"","pretty":false,"x":610,"y":480,"wires":[["a5ea0f971b1aad50"]]},{"id":"a5ea0f971b1aad50","type":"change","z":"32cb8da3.eeffc2","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"{\"sunevent\":\"dusk\"}","fromt":"str","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":480,"wires":[["448101bf3080f56a"]]}]

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Ik gebruik hier schedex voor
Soms willen de lampen nog wel eens smorgens aan blijven.
Daar heb ik dan een extra schakeling voor in gemaakt

code:
1
[{"id":"2752a400.3bd7ec","type":"deconz-output","z":"95642dcb.66e","name":"","config_version":2,"server":"87541ea6.5212d","statustext":"","statustext_type":"auto","search_type":"device","device_list":["groups/device_id/2"],"device_name":"○ Buitenverlichting","query":"","commands":[{"arg":{"on":{"type":"msg","value":"payload"},"alert":{"type":"str","value":""},"effect":{"type":"str","value":""},"colorloopspeed":{"type":"num","value":""},"transitiontime":{"type":"num","value":""},"retryonerror":{"type":"num","value":"0"},"aftererror":{"type":"continue","value":""},"bri":{"direction":"set","type":"num","value":""},"sat":{"direction":"set","type":"num","value":""},"hue":{"direction":"set","type":"num","value":""},"ct":{"direction":"set","type":"num","value":""},"xy":{"direction":"set","type":"json","value":"[]"}},"type":"deconz_state","domain":"groups"}],"specific":{"delay":{"type":"num","value":"0"},"result":{"type":"at_end","value":""}},"x":610,"y":320,"wires":[[]]},{"id":"9a651590.f6fa88","type":"debug","z":"95642dcb.66e","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":260,"wires":[]},{"id":"ac6e55e1.6a4828","type":"change","z":"95642dcb.66e","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"str","to":"true","tot":"bool"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"str","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":320,"wires":[["9a651590.f6fa88","2752a400.3bd7ec"]]},{"id":"efdb3340.0e112","type":"inject","z":"95642dcb.66e","name":"Aan","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":150,"y":200,"wires":[["ac6e55e1.6a4828"]]},{"id":"1252c6f3.44e509","type":"inject","z":"95642dcb.66e","name":"Uit","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":150,"y":260,"wires":[["ac6e55e1.6a4828"]]},{"id":"26804a37.f3d566","type":"comment","z":"95642dcb.66e","name":"Buitenverlichting","info":"","x":120,"y":140,"wires":[]},{"id":"7893dbce.5b9644","type":"schedex","z":"95642dcb.66e","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"sunset","ontopic":"","onpayload":"true","onoffset":"-10","onrandomoffset":0,"offtime":"22:30","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":160,"y":320,"wires":[["ac6e55e1.6a4828","2ddfa15ab0b530f7"]]},{"id":"db2941fd.c8d6e","type":"schedex","z":"95642dcb.66e","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"05:15","ontopic":"","onpayload":"true","onoffset":0,"onrandomoffset":0,"offtime":"sunrise","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":160,"y":380,"wires":[["ac6e55e1.6a4828"]]},{"id":"a49a5629.9ecdd8","type":"schedex","z":"95642dcb.66e","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"","ontopic":"","onpayload":"","onoffset":0,"onrandomoffset":0,"offtime":"07:30","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":140,"y":460,"wires":[["ac6e55e1.6a4828"]]},{"id":"2ddfa15ab0b530f7","type":"change","z":"95642dcb.66e","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"str","to":"true","tot":"bool"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"str","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":440,"wires":[[]]},{"id":"87541ea6.5212d","type":"deconz-server","name":"Phoscon-GW","ip":"192.168.0.212","port":"40850","ws_port":"8081","secure":false,"polling":"15"}]

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


Acties:
  • 0 Henk 'm!

  • Pabz
  • Registratie: Juni 2008
  • Laatst online: 10-09 00:23
AUijtdehaag schreef op dinsdag 17 december 2024 @ 19:31:
Ik gebruik hier schedex voor
Soms willen de lampen nog wel eens smorgens aan blijven.
Daar heb ik dan een extra schakeling voor in gemaakt

code:
1
[{"id":"2752a400.3bd7ec","type":"deconz-output","z":"95642dcb.66e","name":"","config_version":2,"server":"87541ea6.5212d","statustext":"","statustext_type":"auto","search_type":"device","device_list":["groups/device_id/2"],"device_name":"○ Buitenverlichting","query":"","commands":[{"arg":{"on":{"type":"msg","value":"payload"},"alert":{"type":"str","value":""},"effect":{"type":"str","value":""},"colorloopspeed":{"type":"num","value":""},"transitiontime":{"type":"num","value":""},"retryonerror":{"type":"num","value":"0"},"aftererror":{"type":"continue","value":""},"bri":{"direction":"set","type":"num","value":""},"sat":{"direction":"set","type":"num","value":""},"hue":{"direction":"set","type":"num","value":""},"ct":{"direction":"set","type":"num","value":""},"xy":{"direction":"set","type":"json","value":"[]"}},"type":"deconz_state","domain":"groups"}],"specific":{"delay":{"type":"num","value":"0"},"result":{"type":"at_end","value":""}},"x":610,"y":320,"wires":[[]]},{"id":"9a651590.f6fa88","type":"debug","z":"95642dcb.66e","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":260,"wires":[]},{"id":"ac6e55e1.6a4828","type":"change","z":"95642dcb.66e","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"str","to":"true","tot":"bool"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"str","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":320,"wires":[["9a651590.f6fa88","2752a400.3bd7ec"]]},{"id":"efdb3340.0e112","type":"inject","z":"95642dcb.66e","name":"Aan","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":150,"y":200,"wires":[["ac6e55e1.6a4828"]]},{"id":"1252c6f3.44e509","type":"inject","z":"95642dcb.66e","name":"Uit","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":150,"y":260,"wires":[["ac6e55e1.6a4828"]]},{"id":"26804a37.f3d566","type":"comment","z":"95642dcb.66e","name":"Buitenverlichting","info":"","x":120,"y":140,"wires":[]},{"id":"7893dbce.5b9644","type":"schedex","z":"95642dcb.66e","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"sunset","ontopic":"","onpayload":"true","onoffset":"-10","onrandomoffset":0,"offtime":"22:30","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":160,"y":320,"wires":[["ac6e55e1.6a4828","2ddfa15ab0b530f7"]]},{"id":"db2941fd.c8d6e","type":"schedex","z":"95642dcb.66e","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"05:15","ontopic":"","onpayload":"true","onoffset":0,"onrandomoffset":0,"offtime":"sunrise","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":160,"y":380,"wires":[["ac6e55e1.6a4828"]]},{"id":"a49a5629.9ecdd8","type":"schedex","z":"95642dcb.66e","name":"","passthroughunhandled":false,"suspended":false,"lat":"51.535849","lon":"4.4653213","ontime":"","ontopic":"","onpayload":"","onoffset":0,"onrandomoffset":0,"offtime":"07:30","offtopic":"","offpayload":"false","offoffset":0,"offrandomoffset":0,"mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"x":140,"y":460,"wires":[["ac6e55e1.6a4828"]]},{"id":"2ddfa15ab0b530f7","type":"change","z":"95642dcb.66e","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"str","to":"true","tot":"bool"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"str","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":440,"wires":[[]]},{"id":"87541ea6.5212d","type":"deconz-server","name":"Phoscon-GW","ip":"192.168.0.212","port":"40850","ws_port":"8081","secure":false,"polling":"15"}]
Dank ik ga eens kijken! Wat is deCONZ precies en waar gebruik je het voor?

Oh en op basis waarvan pakt Schedex je lokatie? lol nvm, in de node zelf dus

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Dat is zigbee stick van conbee die de chinese zigbee lampen aanstuurt
https://phoscon.de/en/conbee2/software
Maar tegenwoordig zijn er andere alternatieven dacht ik.

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


Acties:
  • 0 Henk 'm!

  • Pabz
  • Registratie: Juni 2008
  • Laatst online: 10-09 00:23
@AUijtdehaag Misschien heel suf, maar waarom zou dit niet gewoon werken met een on/off toggle?

Ik ga ook eens spelen met deze: node-red-contrib-cron-plus

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[
    {
        "id": "32cb8da3.eeffc2",
        "type": "tab",
        "label": "test tuinlamp",
        "disabled": false,
        "info": ""
    },
    {
        "id": "f7259d6659d5cc15",
        "type": "schedex",
        "z": "32cb8da3.eeffc2",
        "name": "",
        "passthroughunhandled": false,
        "suspended": false,
        "lat": "",
        "lon": "",
        "ontime": "sunset",
        "ontopic": "",
        "onpayload": "on",
        "onoffset": 0,
        "onrandomoffset": 0,
        "offtime": "sunset",
        "offtopic": "",
        "offpayload": "off",
        "offoffset": 0,
        "offrandomoffset": 0,
        "mon": true,
        "tue": true,
        "wed": true,
        "thu": true,
        "fri": true,
        "sat": true,
        "sun": true,
        "x": 120,
        "y": 140,
        "wires": [
            [
                "824b729fa3505a4f"
            ]
        ]
    },
    {
        "id": "824b729fa3505a4f",
        "type": "api-call-service",
        "z": "32cb8da3.eeffc2",
        "name": "",
        "server": "5dc6032d.73dfcc",
        "version": 7,
        "debugenabled": false,
        "action": "light.toggle",
        "floorId": [],
        "areaId": [],
        "deviceId": [],
        "entityId": [],
        "labelId": [],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "blockInputOverrides": true,
        "domain": "light",
        "service": "toggle",
        "x": 410,
        "y": 140,
        "wires": [
            []
        ]
    },
    {
        "id": "5dc6032d.73dfcc",
        "type": "server",
        "name": "Home Assistant",
        "addon": true
    }
]