-
Notifications
You must be signed in to change notification settings - Fork 47
Flow Windows

Das Ergebnis dieses Flows im Dashboard:

Der RPC Event Node wird so konfiguriert, dass er alle Events von Geräten, in deren Kanal-Namen die Zeichenkette Fenster vorkommt und bei denen eine Änderung des Wertes des STATE Datenpunktes erfolgt ist ausgibt. Als Topic wird der Kanal-Name (channelName) ausgegeben, dies wird später verwendet um die Liste der offenen Fenster zu erzeugen.

Ein Switch Node wird so konfiguriert dass er nur Nachrichten weiterleitet deren Payload true (TFK offen) bzw. größer als 0 (Drehgriffsensor auf offen oder kipp) ist.

Der Statistic Node zählt die Anzahl offener Fenster und erzeugt ein Array in msg.topics das die jeweiligen Kanal-Namen beinhaltet.

Ein Function Node verbindet dass Array mit den Kanal-Namen der offenen Fenster zu einem Komma-getrennten String und entfernt die Zeichenkette Fenster aus dieser Liste.

msg.list = msg.topics
.join(', ')
.replace(/Fenster /g, '');
return msg;Zu guter letzt wird ein Dashboard Template Node verwendet um die Anzahl und Liste der offenen Fenster anzuzeigen.

<div style="font-weight: bold">
<span ng-bind-html="msg.payload"></span> offen
</div>
<div ng-bind-html="msg.list"></div>[{"id":"5a42cf85.8405a","type":"tab","label":"Fenster","disabled":false,"info":""},{"id":"683cd0e.df3593","type":"ccu-rpc-event","z":"5a42cf85.8405a","name":"Fenster","iface":"BidCos-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"","deviceRx":"str","deviceName":"","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"","channelRx":"str","channelName":"Fenster","channelNameRx":"re","channelType":"","channelTypeRx":"str","datapoint":"STATE","datapointRx":"str","change":true,"working":false,"cache":true,"topic":"${channelName}","x":110,"y":120,"wires":[["5962474e.a084b8"]]},{"id":"977003d8.c29ff","type":"combine-statistic","z":"5a42cf85.8405a","name":"","topic":"","operator":"len","defer":250,"timeout":0,"distinction":"topic","x":420,"y":120,"wires":[["1fbaf348.970e6d"]]},{"id":"5962474e.a084b8","type":"switch","z":"5a42cf85.8405a","name":"ist offen","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"gt","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":260,"y":120,"wires":[["977003d8.c29ff"],["977003d8.c29ff"]]},{"id":"56faaa2d.9f16b4","type":"ui_template","z":"5a42cf85.8405a","group":"c987989b.d46ad8","name":"","order":0,"width":"6","height":"3","format":"<div style=\"font-weight: bold\">\n <span ng-bind-html=\"msg.payload\"></span> offen\n</div>\n<div ng-bind-html=\"msg.list\"></div>\n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":440,"y":220,"wires":[[]]},{"id":"1fbaf348.970e6d","type":"function","z":"5a42cf85.8405a","name":"Liste formatieren","func":"msg.list = msg.topics\n .join(', ')\n .replace(/Fenster /g, '');\n \nreturn msg;","outputs":1,"noerr":0,"x":250,"y":220,"wires":[["56faaa2d.9f16b4"]]},{"id":"38263145.35ea0e","type":"ccu-connection","z":"","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048"},{"id":"c987989b.d46ad8","type":"ui_group","z":"","name":"Fenster","tab":"566b87c7.3046e8","disp":true,"width":"6","collapse":false},{"id":"566b87c7.3046e8","type":"ui_tab","z":"","name":"Geräte","icon":"dashboard","order":1}]
Inhaltsverzeichnis RedMatic Documentation © 2018-2022 Sebastian Raff and RedMatic Contributors, licensed under CC BY-SA License 4.0
