NEWS
Modbus Verhalten nicht klar
-
Guten Tag,
ich hoffe ihr könnt mir helfen das Modbus Verhalten hier zu verstehen.
Ich habe eine Modbus Variable (HoldingRegisters) die gelesen und geschrieben werden soll.
Ich schreibe diese Mittels setState wenn ein Ereignis eintritt, gleichzeitig überwache ich diese Modbus-Variable mit on.
Ein Minimalbeispiel sieht wie folgt aus:on({id: "0_userdata.0.Test.MyBool", change: 'ne'}, function(obj) { console.log("0_userdata.0.Test.MyBool"); console.log(getState("0_userdata.0.Test.MyBool")); if (getState("0_userdata.0.Test.MyBool").val) { setState("modbus.1.holdingRegisters.32114_Test", 1); } else { setState("modbus.1.holdingRegisters.32114_Test", 0); } }); on({id: "modbus.1.holdingRegisters.32114_Test", change: 'ne'}, function(obj) { console.log("modbus.1.holdingRegisters.32114_Test"); console.log(getState("modbus.1.holdingRegisters.32114_Test")); });
Die Logausgaben sind wie folgt:
2023-09-28 15:33:59.210 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: 0_userdata.0.Test.MyBool 2023-09-28 15:33:59.211 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: {'val':false,'ack':false,'ts':1695908039206,'q':0,'from':'system.adapter.admin.0','user':'system.user.admin','lc':1695908039206} 2023-09-28 15:33:59.224 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: modbus.1.holdingRegisters.32114_Test 2023-09-28 15:33:59.225 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: {'val':0,'ack':false,'ts':1695908039212,'q':0,'c':'script.js.common.TestModbus','from':'system.adapter.javascript.0','user':'system.user.admin','lc':1695908039212} 2023-09-28 15:33:59.380 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: modbus.1.holdingRegisters.32114_Test 2023-09-28 15:33:59.381 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: {'val':1,'ack':true,'ts':1695908039377,'q':0,'from':'system.adapter.modbus.1','user':'system.user.admin','lc':1695908039377} 2023-09-28 15:33:59.427 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: modbus.1.holdingRegisters.32114_Test 2023-09-28 15:33:59.428 - [32minfo[39m: javascript.0 (4971) script.js.common.TestModbus: {'val':0,'ack':true,'ts':1695908039423,'q':0,'from':'system.adapter.modbus.1','user':'system.user.admin','lc':1695908039423}
Zeile 6 vom Log verstehe ich nicht. Wieso ist der Value wieder kurzzeitig auf 1?
Mit freundlichen Grüßen
Kevin Haybach