Pomocy, coś znowu naknociłem. W poniższym flow kolor zmienia tylko pierwszy przycisk a pozostałe już nie. Zmiana stanu zmiennej w PLC działa prawidłowo.
[{"id":"7a0c4296.ea5a9c","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"aacf6ccf.de7218","type":"modbus-read","z":"7a0c4296.ea5a9c","name":"Read Output Cards","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"512","quantity":"4","rate":"500","rateUnit":"ms","delayOnStart":false,"startDelayTime":"","server":"c3ddc1e2.830ea8","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":130,"y":60,"wires":[["d69384c.6661e78"],["2e3b6922.f97b36","fee1b2aa.3ea228"]]},{"id":"d69384c.6661e78","type":"modbus-response","z":"7a0c4296.ea5a9c","name":"","registerShowMax":20,"x":410,"y":40,"wires":[]},{"id":"ca2fca8b.4fd378","type":"ui_button","z":"7a0c4296.ea5a9c","name":"Salon górne","group":"8379383b.58d758","order":1,"width":0,"height":0,"passthru":false,"label":"Salon górne","tooltip":"","color":"{{colour}}","bgcolor":"","icon":"fa-lightbulb-o fa-fw fa-3x","payload":"1","payloadType":"str","topic":"a","x":790,"y":160,"wires":[["e4569b07.971da"]]},{"id":"6a4ed87d.1282f8","type":"modbus-write","z":"7a0c4296.ea5a9c","name":"12288","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"12288","quantity":"1","server":"c3ddc1e2.830ea8","x":1150,"y":160,"wires":[[],[]]},{"id":"2e3b6922.f97b36","type":"function","z":"7a0c4296.ea5a9c","name":"Karta 1 Wyjście 1","func":"var karta = 1;\nvar bit = 1;\nvar pow = Math.pow(2, bit-1);\n// Create new Buffer based on array bytes\nconst buf = Buffer.from(msg.payload.buffer);\n\n// Represent these bytes as 32-bit unsigned int\nconst value = buf.readUInt16BE(2*(karta-1));\n\n// save the value\nmsg.payload = (value & pow)/pow;\n\nif (msg.payload==1) { return [msg,null]; }\nelse { return [null,msg]; }","outputs":2,"noerr":0,"x":390,"y":160,"wires":[["41367ae2.a3c674"],["7814a2b0.d4f2ac"]]},{"id":"fee1b2aa.3ea228","type":"link out","z":"7a0c4296.ea5a9c","name":"Bufor","links":["63375142.c3044","1bed5b36.b62e45","93e994ef.3841a8","9271963d.c6f8a8","ce34520.8540ab"],"x":395,"y":100,"wires":[]},{"id":"41367ae2.a3c674","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"yellow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":140,"wires":[["ca2fca8b.4fd378"]]},{"id":"7814a2b0.d4f2ac","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"default","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":180,"wires":[["ca2fca8b.4fd378"]]},{"id":"e4569b07.971da","type":"trigger","z":"7a0c4296.ea5a9c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"100","extend":false,"units":"ms","reset":"0","bytopic":"all","name":"","x":1000,"y":160,"wires":[["6a4ed87d.1282f8"]]},{"id":"2d566dd.186f592","type":"ui_button","z":"7a0c4296.ea5a9c","name":"Jadalnia","group":"8379383b.58d758","order":2,"width":0,"height":0,"passthru":false,"label":"Jadalnia","tooltip":"","color":"{{colour}}","bgcolor":"","icon":"fa-lightbulb-o fa-fw fa-3x","payload":"1","payloadType":"str","topic":"a","x":780,"y":240,"wires":[["603f2d2.bc7da54"]]},{"id":"b858f27c.405058","type":"modbus-write","z":"7a0c4296.ea5a9c","name":"12289","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"12289","quantity":"1","server":"c3ddc1e2.830ea8","x":1170,"y":240,"wires":[[],[]]},{"id":"477c7ad2.1e48bc","type":"function","z":"7a0c4296.ea5a9c","name":"Karta 1 Wyjście 2","func":"var karta = 1;\nvar bit = 2;\nvar pow = Math.pow(2, bit-1);\n// Create new Buffer based on array bytes\nconst buf = Buffer.from(msg.payload.buffer);\n\n// Represent these bytes as 32-bit unsigned int\nconst value = buf.readUInt16BE(2*(karta-1));\n\n// save the value\nmsg.payload = (value & pow)/pow;\n\nif (msg.payload==1) { return [msg,null]; }\nelse { return [null,msg]; }","outputs":2,"noerr":0,"x":390,"y":240,"wires":[["d192ae91.9d7a1"],["20b7ddfc.e15be2"]]},{"id":"d192ae91.9d7a1","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"yellow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":220,"wires":[["2d566dd.186f592"]]},{"id":"20b7ddfc.e15be2","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"default","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":260,"wires":[["2d566dd.186f592"]]},{"id":"603f2d2.bc7da54","type":"trigger","z":"7a0c4296.ea5a9c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"100","extend":false,"units":"ms","reset":"0","bytopic":"all","name":"","x":1000,"y":240,"wires":[["b858f27c.405058"]]},{"id":"e6bba597.c0c398","type":"ui_button","z":"7a0c4296.ea5a9c","name":"Salon stolik","group":"8379383b.58d758","order":3,"width":0,"height":0,"passthru":false,"label":"Salon stolik","tooltip":"","color":"{{colour}}","bgcolor":"","icon":"fa-lightbulb-o fa-fw fa-3x","payload":"1","payloadType":"str","topic":"","x":790,"y":320,"wires":[["116ce3a7.dbdea4"]]},{"id":"526acf4e.54ceb","type":"modbus-write","z":"7a0c4296.ea5a9c","name":"12290","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"12290","quantity":"1","server":"c3ddc1e2.830ea8","x":1150,"y":320,"wires":[[],[]]},{"id":"b84b762f.919ca","type":"function","z":"7a0c4296.ea5a9c","name":"Karta 1 Wyjście 3","func":"var karta = 1;\nvar bit = 3;\nvar pow = Math.pow(2, bit-1);\n// Create new Buffer based on array bytes\nconst buf = Buffer.from(msg.payload.buffer);\n\n// Represent these bytes as 32-bit unsigned int\nconst value = buf.readUInt16BE(2*(karta-1));\n\n// save the value\nmsg.payload = (value & pow)/pow;\n\nif (msg.payload==1) { return [msg,null]; }\nelse { return [null,msg]; }","outputs":2,"noerr":0,"x":390,"y":320,"wires":[["1015e7bb.e0f62"],["2212ed9.1e62c12"]]},{"id":"1015e7bb.e0f62","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"yellow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":300,"wires":[["e6bba597.c0c398"]]},{"id":"2212ed9.1e62c12","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"default","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":340,"wires":[["e6bba597.c0c398"]]},{"id":"116ce3a7.dbdea4","type":"trigger","z":"7a0c4296.ea5a9c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"100","extend":false,"units":"ms","reset":"0","bytopic":"all","name":"","x":1000,"y":320,"wires":[["526acf4e.54ceb"]]},{"id":"809085e4.29064","type":"ui_button","z":"7a0c4296.ea5a9c","name":"Przedpokój","group":"8379383b.58d758","order":4,"width":0,"height":0,"passthru":false,"label":"Przedpokój","tooltip":"","color":"{{colour}}","bgcolor":"","icon":"fa-lightbulb-o fa-fw fa-3x","payload":"1","payloadType":"str","topic":"","x":790,"y":400,"wires":[["1a085fba.d1a5f8"]]},{"id":"9c4da1eb.2b1338","type":"modbus-write","z":"7a0c4296.ea5a9c","name":"12291","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"12291","quantity":"1","server":"c3ddc1e2.830ea8","x":1150,"y":400,"wires":[[],[]]},{"id":"fdc48fa.4dff7f","type":"function","z":"7a0c4296.ea5a9c","name":"Karta 1 Wyjście 4","func":"var karta = 1;\nvar bit = 4;\nvar pow = Math.pow(2, bit-1);\n// Create new Buffer based on array bytes\nconst buf = Buffer.from(msg.payload.buffer);\n\n// Represent these bytes as 32-bit unsigned int\nconst value = buf.readUInt16BE(2*(karta-1));\n\n// save the value\nmsg.payload = (value & pow)/pow;\n\nif (msg.payload==1) { return [msg,null]; }\nelse { return [null,msg]; }","outputs":2,"noerr":0,"x":390,"y":400,"wires":[["79962d57.824f4c"],["ea1dbe04.881a08"]]},{"id":"79962d57.824f4c","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"yellow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":380,"wires":[["809085e4.29064"]]},{"id":"ea1dbe04.881a08","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"default","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":420,"wires":[["809085e4.29064"]]},{"id":"1a085fba.d1a5f8","type":"trigger","z":"7a0c4296.ea5a9c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"100","extend":false,"units":"ms","reset":"0","bytopic":"all","name":"","x":1000,"y":400,"wires":[["9c4da1eb.2b1338"]]},{"id":"3033c4ae.35874c","type":"ui_button","z":"7a0c4296.ea5a9c","name":"Kuchnia halogeny","group":"8379383b.58d758","order":5,"width":0,"height":0,"passthru":false,"label":"Kuchnia halogeny","tooltip":"","color":"{{colour}}","bgcolor":"","icon":"fa-lightbulb-o fa-fw fa-3x","payload":"1","payloadType":"str","topic":"","x":810,"y":480,"wires":[["b7109f5c.e26a2"]]},{"id":"d9c096e9.d8f13","type":"modbus-write","z":"7a0c4296.ea5a9c","name":"12292","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"12292","quantity":"1","server":"c3ddc1e2.830ea8","x":1150,"y":480,"wires":[[],[]]},{"id":"5f4664ba.e7535c","type":"function","z":"7a0c4296.ea5a9c","name":"Karta 1 Wyjście 5","func":"var karta = 1;\nvar bit = 5;\nvar pow = Math.pow(2, bit-1);\n// Create new Buffer based on array bytes\nconst buf = Buffer.from(msg.payload.buffer);\n\n// Represent these bytes as 32-bit unsigned int\nconst value = buf.readUInt16BE(2*(karta-1));\n\n// save the value\nmsg.payload = (value & pow)/pow;\n\nif (msg.payload==1) { return [msg,null]; }\nelse { return [null,msg]; }","outputs":2,"noerr":0,"x":390,"y":480,"wires":[["d0a18251.b9828"],["d2565cd0.72a75"]]},{"id":"d0a18251.b9828","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"yellow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":460,"wires":[["3033c4ae.35874c"]]},{"id":"d2565cd0.72a75","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"default","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":500,"wires":[["3033c4ae.35874c"]]},{"id":"b7109f5c.e26a2","type":"trigger","z":"7a0c4296.ea5a9c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"100","extend":false,"units":"ms","reset":"0","bytopic":"all","name":"","x":1000,"y":480,"wires":[["d9c096e9.d8f13"]]},{"id":"4d59857d.492734","type":"ui_button","z":"7a0c4296.ea5a9c","name":"Schody kinkiet","group":"8379383b.58d758","order":6,"width":0,"height":0,"passthru":false,"label":"Schody kinkiet","tooltip":"","color":"{{colour}}","bgcolor":"","icon":"fa-lightbulb-o fa-fw fa-3x","payload":"1","payloadType":"str","topic":"a","x":800,"y":560,"wires":[["f79aff51.9c164"]]},{"id":"464c950e.2e199c","type":"modbus-write","z":"7a0c4296.ea5a9c","name":"12293","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"12293","quantity":"1","server":"c3ddc1e2.830ea8","x":1150,"y":560,"wires":[[],[]]},{"id":"b6835fc0.2eb738","type":"function","z":"7a0c4296.ea5a9c","name":"Karta 1 Wyjście 6","func":"var karta = 1;\nvar bit = 6;\nvar pow = Math.pow(2, bit-1);\n// Create new Buffer based on array bytes\nconst buf = Buffer.from(msg.payload.buffer);\n\n// Represent these bytes as 32-bit unsigned int\nconst value = buf.readUInt16BE(2*(karta-1));\n\n// save the value\nmsg.payload = (value & pow)/pow;\n\nif (msg.payload==1) { return [msg,null]; }\nelse { return [null,msg]; }","outputs":2,"noerr":0,"x":390,"y":560,"wires":[["d832d75b.ec5008"],["81621e29.ed636"]]},{"id":"d832d75b.ec5008","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"yellow","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":540,"wires":[["4d59857d.492734"]]},{"id":"81621e29.ed636","type":"change","z":"7a0c4296.ea5a9c","name":"","rules":[{"t":"set","p":"colour","pt":"msg","to":"default","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":580,"wires":[["4d59857d.492734"]]},{"id":"f79aff51.9c164","type":"trigger","z":"7a0c4296.ea5a9c","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"100","extend":false,"units":"ms","reset":"","bytopic":"all","name":"","x":1000,"y":560,"wires":[["464c950e.2e199c"]]},{"id":"c3ddc1e2.830ea8","type":"modbus-client","z":"","name":"","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"tcpHost":"192.168.1.76","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":false,"reconnectTimeout":"1000","parallelUnitIdsAllowed":false},{"id":"8379383b.58d758","type":"ui_group","z":"","name":"Oświetlenie","tab":"21a4c53.0efe1ba","disp":true,"width":3,"collapse":false},{"id":"21a4c53.0efe1ba","type":"ui_tab","z":"","name":"Start","icon":"dashboard","order":1}]