Kanalstatus im Dashboard aktualisiert anzeigen

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Antworten
schorsch05
Beiträge: 38
Registriert: 01.12.2020, 07:25
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 6 Mal

Kanalstatus im Dashboard aktualisiert anzeigen

Beitrag von schorsch05 » 21.07.2022, 20:19

Hey,

Auf meinem Dashboard habe ich Schalter für drei Kanäle in der CCU angelegt. Zusätzlich wird der Status jeweils in einem Textfeld angezeigt.
Im Dashboard habe ich auch einen "Sammelschalter" zum Setzen aller drei Kanäle installiert. Wenn die drei Kanäle durch Ereignisse in der CCU geändert werden, ändern sich auch im Dashboard die jeweiligen Schalter und Statusanzeigen.

Ich würde gern auch den Sammelschalter ändern. Wenn alle drei Kanäle auf "ON" stehen, soll dieser Schalter auch auf "ON" stehen. Ein UND-Gatter an den Ausgängen der drei CCU-Kanäle mit Rückführung des Ausgangs des Logic-Gatters auf den Eingang des Nodes "Alle AN/AUS" erzeugt Fehlermeldungen.

Gibt es eine Möglichkeit, mit einem Function-Node den Status der Buttons zu steuern, ohne dass ein Steuerbefehl in den Flow eingesoeist wird?
Gibt es eine elegantere Möglichkeit, das Dashboard mit dem Status der Kanäle in der CCU synchron zu halten?

Vielen Dank
Schorsch

Code: Alles auswählen

[{"id":"1261cbc8.808dac","type":"ui_switch","z":"13a7d778.395931","name":"Ausgang 1 PrgFreigabe","label":"Ausgang 1","tooltip":"","group":"d0e81c81.8845e8","order":2,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"A1Freigabe","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"radio_button_checked","oncolor":"red","offvalue":"false","offvalueType":"bool","officon":"radio_button_unchecked","offcolor":"darkgrey","animate":false,"className":"","x":550,"y":140,"wires":[["2bed1423.e38e8c"]]},{"id":"ba81bea9.06b1f","type":"ui_text","z":"13a7d778.395931","group":"d0e81c81.8845e8","order":3,"width":"3","height":"1","name":"Freigabestatus 1","label":"","format":"{{msg.payload}}","layout":"row-center","className":"","x":1200,"y":140,"wires":[]},{"id":"90e3bf71.d30858","type":"change","z":"13a7d778.395931","name":"TextStatus","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"aktiv","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"getrennt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":140,"wires":[["ba81bea9.06b1f"]]},{"id":"2bed1423.e38e8c","type":"ccu-value","z":"13a7d778.395931","name":"Ausgang 1 Freigabe","iface":"HmIP-RF","channel":"000D1D89A09EE4:11 Aussen.Gartenwasser.Ausgang1Virt_Freigabe:11","datapoint":"STATE","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":true,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":800,"y":140,"wires":[["90e3bf71.d30858","1261cbc8.808dac"]]},{"id":"47cb7d54.b540bc","type":"ui_switch","z":"13a7d778.395931","name":"Ausgang 2 PrgFreigabe","label":"Ausgang 2","tooltip":"","group":"d0e81c81.8845e8","order":4,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"A1Freigabe","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"radio_button_checked","oncolor":"red","offvalue":"false","offvalueType":"bool","officon":"radio_button_unchecked","offcolor":"darkgrey","animate":false,"className":"","x":550,"y":200,"wires":[["601ac6a0.2e937"]]},{"id":"a7d91c75.5c5518","type":"change","z":"13a7d778.395931","name":"TextStatus","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"aktiv","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"getrennt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":200,"wires":[["2308e4fe.11cacc"]]},{"id":"2308e4fe.11cacc","type":"ui_text","z":"13a7d778.395931","group":"d0e81c81.8845e8","order":5,"width":"3","height":"1","name":"Freigabestatus 2","label":"","format":"{{msg.payload}}","layout":"row-center","className":"","x":1200,"y":200,"wires":[]},{"id":"601ac6a0.2e937","type":"ccu-value","z":"13a7d778.395931","name":"Ausgang 2 Freigabe","iface":"HmIP-RF","channel":"000D1D89A09EE4:15 Aussen.Gartenwasser.Ausgang2Virt_Freigabe:15","datapoint":"STATE","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":800,"y":200,"wires":[["a7d91c75.5c5518","47cb7d54.b540bc"]]},{"id":"81f47735.c98bc8","type":"ui_switch","z":"13a7d778.395931","name":"Ausgang 3 PrgFreigabe","label":"Ausgang 3","tooltip":"","group":"d0e81c81.8845e8","order":6,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"A1Freigabe","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"radio_button_checked","oncolor":"red","offvalue":"false","offvalueType":"bool","officon":"radio_button_unchecked","offcolor":"darkgrey","animate":false,"className":"","x":550,"y":260,"wires":[["d8d06e89.23314"]]},{"id":"6d5521ba.a7e3a8","type":"change","z":"13a7d778.395931","name":"TextStatus","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"aktiv","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"getrennt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":260,"wires":[["4e5cc705.4414c"]]},{"id":"4e5cc705.4414c","type":"ui_text","z":"13a7d778.395931","group":"d0e81c81.8845e8","order":7,"width":"3","height":"1","name":"Freigabestatus 3","label":"","format":"{{msg.payload}}","layout":"row-center","className":"","x":1200,"y":260,"wires":[]},{"id":"d8d06e89.23314","type":"ccu-value","z":"13a7d778.395931","name":"Ausgang 3 Freigabe","iface":"HmIP-RF","channel":"000D1D89A09EE4:19 Aussen.Gartenwasser.Ausgang3Virt_Freigabe:19","datapoint":"STATE","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":800,"y":260,"wires":[["6d5521ba.a7e3a8","81f47735.c98bc8"]]},{"id":"840117c0.9444","type":"ui_switch","z":"13a7d778.395931","name":"Alle An / Aus","label":"Alle Ausgänge An/Aus","tooltip":"","group":"d0e81c81.8845e8","order":1,"width":"6","height":"1","passthru":true,"decouple":"false","topic":"topic","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","animate":false,"className":"","x":240,"y":140,"wires":[["1261cbc8.808dac","47cb7d54.b540bc","81f47735.c98bc8"]]},{"id":"d0e81c81.8845e8","type":"ui_group","name":"Nachtbewässerung","tab":"6180d5b4.bfcaac","order":3,"disp":true,"width":"6","collapse":false,"className":""},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","tls":false,"inSecure":false,"authentication":false,"username":"","password":"","queueTimeout":"5000","queuePause":"250","contextStore":""},{"id":"6180d5b4.bfcaac","type":"ui_tab","name":"Garten","icon":"fa-tree","disabled":false,"hidden":false}]
Grüße
Schorsch

Homematic: CCU3, Addons: RedMatic, CUxD
Apps: PocketControl

Zwenjo
Beiträge: 52
Registriert: 13.11.2020, 12:12
System: CCU
Hat sich bedankt: 11 Mal
Danksagung erhalten: 3 Mal

Re: Kanalstatus im Dashboard aktualisiert anzeigen

Beitrag von Zwenjo » 21.07.2022, 20:37

Hey Schorsch,

als erstes würde ich die Stati der Switch-Nodes in globalen Variablen speichern.

Damit kannst du diese in Function Nodes verwenden und auch beim Neustart von NodeRed die letzten Werte injizieren.

Wenn du den Haken bei "Pass through msg if payload matches valid state" entfernst wird die Message auch nicht durchgelassen.


Ich hoffe das hilft dir weiter.

Viele Grüße
--------------------------------------------
356 Kanäle in 50 Geräten und 16 CUxD-Kanäle in 1 CUxD-Geräten:
1x HmIP-CCU3, 1x HmIP-HAP, 1x CUX28, 1x HmIP-STHO-A, 2x HmIP-FSM, 1x HmIP-SPI, 1x HmIP-SAM, 1x HM-LC-Sw1-Pl-CT-R1, 1x HmIP-FSI16, 1x HmIP-SRH, 1x HmIP-eTRV-E, 6x HmIP-HEATING, 1x HmIP-BSL, 1x HmIP-FROLL, 7x HMIP-SWDO, 9x HmIP-BROLL, 6x HmIP-eTRV-2, 1x HmIP-BSM, 1x HmIP-BDT, 1x HmIP-SWSD, 2x HmIP-WTH-2, 1x HMIP-PS, 1x HmIP-PCBS, 1x HmIP-RCV-50, 1x HMIP-PSM
--------------------------------------------

Benutzeravatar
Henke
Beiträge: 1500
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 133 Mal
Danksagung erhalten: 304 Mal

Re: Kanalstatus im Dashboard aktualisiert anzeigen

Beitrag von Henke » 21.07.2022, 22:52

Ho,

Code: Alles auswählen

[{"id":"7501109f.248a88","type":"ui_switch","z":"559dd95b.86d5d8","name":"Ausgang 1 PrgFreigabe","label":"Ausgang 1","tooltip":"","group":"e887546d.4c4f88","order":2,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"A1Freigabe","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"radio_button_checked","oncolor":"red","offvalue":"false","offvalueType":"bool","officon":"radio_button_unchecked","offcolor":"darkgrey","animate":false,"className":"","x":670,"y":260,"wires":[["b34249c6.9ab638","25a85c46.2e3c6c"]]},{"id":"79c42a75.017bdc","type":"ui_text","z":"559dd95b.86d5d8","group":"e887546d.4c4f88","order":3,"width":"3","height":"1","name":"Freigabestatus 1","label":"","format":"{{msg.payload}}","layout":"row-center","className":"","x":1320,"y":260,"wires":[]},{"id":"b34249c6.9ab638","type":"change","z":"559dd95b.86d5d8","name":"TextStatus","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"aktiv","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"getrennt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":260,"wires":[["79c42a75.017bdc"]]},{"id":"c2224fc4.945d","type":"ui_switch","z":"559dd95b.86d5d8","name":"Ausgang 2 PrgFreigabe","label":"Ausgang 2","tooltip":"","group":"e887546d.4c4f88","order":4,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"A1Freigabe","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"radio_button_checked","oncolor":"red","offvalue":"false","offvalueType":"bool","officon":"radio_button_unchecked","offcolor":"darkgrey","animate":false,"className":"","x":670,"y":320,"wires":[["15393c6e.b3477c","2a29ba8d.80c76e"]]},{"id":"15393c6e.b3477c","type":"change","z":"559dd95b.86d5d8","name":"TextStatus","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"aktiv","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"getrennt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":320,"wires":[["2cde15d5.4b2912"]]},{"id":"2cde15d5.4b2912","type":"ui_text","z":"559dd95b.86d5d8","group":"e887546d.4c4f88","order":5,"width":"3","height":"1","name":"Freigabestatus 2","label":"","format":"{{msg.payload}}","layout":"row-center","className":"","x":1320,"y":320,"wires":[]},{"id":"233bd290.b1e1f6","type":"ui_switch","z":"559dd95b.86d5d8","name":"Ausgang 3 PrgFreigabe","label":"Ausgang 3","tooltip":"","group":"e887546d.4c4f88","order":6,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"A1Freigabe","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"radio_button_checked","oncolor":"red","offvalue":"false","offvalueType":"bool","officon":"radio_button_unchecked","offcolor":"darkgrey","animate":false,"className":"","x":670,"y":380,"wires":[["22e6762.c25070a","4d8e8b2c.50476c"]]},{"id":"22e6762.c25070a","type":"change","z":"559dd95b.86d5d8","name":"TextStatus","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"aktiv","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"getrennt","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":380,"wires":[["94d35aa6.c1ecd8"]]},{"id":"94d35aa6.c1ecd8","type":"ui_text","z":"559dd95b.86d5d8","group":"e887546d.4c4f88","order":7,"width":"3","height":"1","name":"Freigabestatus 3","label":"","format":"{{msg.payload}}","layout":"row-center","className":"","x":1320,"y":380,"wires":[]},{"id":"25190b7d.0076a4","type":"ui_switch","z":"559dd95b.86d5d8","name":"Alle An / Aus","label":"Alle Ausgänge An/Aus","tooltip":"","group":"e887546d.4c4f88","order":1,"width":"6","height":"1","passthru":true,"decouple":"false","topic":"topic","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","animate":false,"className":"","x":250,"y":300,"wires":[["7501109f.248a88","c2224fc4.945d","233bd290.b1e1f6"]]},{"id":"a1c95d56.258aa","type":"combine-list","z":"559dd95b.86d5d8","name":"","topic":"","payload":"array","falsy":"include","columns":["topic","payload"],"sort":"topic","order":"asc","defer":250,"timeout":"0","distinction":"topic","x":850,"y":540,"wires":[["13d6a8f4.f372e7"]]},{"id":"d6c4596c.14d7b8","type":"debug","z":"559dd95b.86d5d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1810,"y":680,"wires":[]},{"id":"25a85c46.2e3c6c","type":"change","z":"559dd95b.86d5d8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"A1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":480,"wires":[["a1c95d56.258aa"]]},{"id":"2a29ba8d.80c76e","type":"change","z":"559dd95b.86d5d8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"A2","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":600,"wires":[["a1c95d56.258aa"]]},{"id":"4d8e8b2c.50476c","type":"change","z":"559dd95b.86d5d8","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"A3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":540,"wires":[["a1c95d56.258aa"]]},{"id":"13d6a8f4.f372e7","type":"function","z":"559dd95b.86d5d8","name":"","func":"var arr = msg.payload;\nlet fLen = arr.length;\n\nvar anzAus = 0;\nvar anzAn = 0;\nfor (let i = 0; i < fLen; i++) \n{\n    if ( arr[i][1] == 0 )\n    {\n        anzAus++;\n    }\n    else\n    {\n        anzAn++;   \n    }\n}\nif ( anzAn == fLen )\n{\n    msg.payload = 1;\n    return msg;\n}\nif ( anzAus == fLen )\n{\n    msg.payload = 0;\n    return msg;\n}\nmsg.payload = 3;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1000,"y":560,"wires":[["33cdc1f6.51ec1e"]]},{"id":"426d1a88.01fc74","type":"inject","z":"559dd95b.86d5d8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":150,"y":600,"wires":[["25190b7d.0076a4"]]},{"id":"d8377f8a.ba6e18","type":"switch","z":"559dd95b.86d5d8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"Alle","vt":"flow"}],"checkall":"true","repair":true,"outputs":1,"x":1150,"y":620,"wires":[["d45601a.4dc07"]]},{"id":"3ed00582.7c130a","type":"switch","z":"559dd95b.86d5d8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":1350,"y":680,"wires":[["b979f456.67694"],["ec876824.b9ff1"]]},{"id":"33cdc1f6.51ec1e","type":"switch","z":"559dd95b.86d5d8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":990,"y":620,"wires":[["d8377f8a.ba6e18"]]},{"id":"f4d338c.05689c8","type":"inject","z":"559dd95b.86d5d8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":150,"y":660,"wires":[["25190b7d.0076a4"]]},{"id":"d45601a.4dc07","type":"change","z":"559dd95b.86d5d8","name":"","rules":[{"t":"set","p":"Alle","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1180,"y":680,"wires":[["3ed00582.7c130a"]]},{"id":"b979f456.67694","type":"change","z":"559dd95b.86d5d8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1550,"y":680,"wires":[["d6c4596c.14d7b8","25190b7d.0076a4"]]},{"id":"ec876824.b9ff1","type":"change","z":"559dd95b.86d5d8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1550,"y":720,"wires":[["d6c4596c.14d7b8","25190b7d.0076a4"]]},{"id":"e887546d.4c4f88","type":"ui_group","name":"Nachtbewässerung","tab":"86adad29.fcaab","order":3,"disp":true,"width":"6","collapse":false,"className":""},{"id":"86adad29.fcaab","type":"ui_tab","name":"Garten","icon":"fa-tree","disabled":false,"hidden":false}]
teste das mal, nachdem du deine 3 Geräte wieder in die Struktur eingefügt hast. Die habe ich zum Testen raus genommen.
Doch mehr zu tun, als ich gedacht habe.

G
Michael

Edit: Code geändert
Zuletzt geändert von Henke am 22.07.2022, 23:59, insgesamt 1-mal geändert.

schorsch05
Beiträge: 38
Registriert: 01.12.2020, 07:25
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 6 Mal

Re: Kanalstatus im Dashboard aktualisiert anzeigen

Beitrag von schorsch05 » 22.07.2022, 23:12

Hey,
Henke hat geschrieben:
21.07.2022, 22:52
Ho,

Code: Alles auswählen

[{"id":"d6c4596c.14d7b8","type":"debug","z":"559dd95b.86d5d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1810,"y":680,"wires":[]}]
teste das mal, nachdem du deine 3 Geräte wieder in die Struktur eingefügt hast. Die habe ich zum Testen raus genommen.
Doch mehr zu tun, als ich gedacht habe.

G
Michael
mit deinem Code Importiere ichnur einen debug-node. Ich erkenne an diesem nichts besonderes. Fehlt da etwas?
Grüße
Schorsch

Homematic: CCU3, Addons: RedMatic, CUxD
Apps: PocketControl

Benutzeravatar
Henke
Beiträge: 1500
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 133 Mal
Danksagung erhalten: 304 Mal

Re: Kanalstatus im Dashboard aktualisiert anzeigen

Beitrag von Henke » 22.07.2022, 23:59

Das war definitiv zu wenig. :roll:
Beitrag geändert.
G
Michael

schorsch05
Beiträge: 38
Registriert: 01.12.2020, 07:25
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 6 Mal

Re: Kanalstatus im Dashboard aktualisiert anzeigen

Beitrag von schorsch05 » 24.07.2022, 17:53

Hallo Michael,
Henke hat geschrieben:
22.07.2022, 23:59
Das war definitiv zu wenig. :roll:
Beitrag geändert.
G
Michael
es funktioniert so wie ich es mir vorstelle. Vielen Dank. Ich muss jetzt nur noch verstehen, was da abläuft :D

Danke
Schorsch
Grüße
Schorsch

Homematic: CCU3, Addons: RedMatic, CUxD
Apps: PocketControl

Antworten

Zurück zu „RedMatic“