ioBroker / ioBroker.modbus

Modbus adapter for ioBroker
MIT License
50 stars 28 forks source link

strange value behaviour #255

Open TeslaNator opened 2 years ago

TeslaNator commented 2 years ago

Everythings fine until I add first input register (A), that I need. Let B an enum and C a temperature. Normally B is 0. If I add A to the config, B is not 0. Then B has the value of C.

To Reproduce
Take following input registers _address name description unit type len factor offset formula role room cw isScale 1100 Vorlauftemperatur1 10 °C int16be 1 0.1 0 level false false 1105 Heizkreispumpe1 bool uint16be 1 1 0 level false false 1106 Mischerstellung1 % uint16be 1 1 0 level false false 1107 Status1 enum uint16be 1 1 0 level false false 1150 Vorlauftemperatur2 10 °C int16be 1 0.1 0 level false false 1155 Heizkreispumpe2 bool uint16be 1 1 0 level false false 1156 Mischerstellung2 % uint16be 1 1 0 level false false 1157 Status2 enum uint16be 1 1 0 level false false 1900 PuffertemperaturOben 10 °C int16be 1 0.1 0 level false false 1901 PuffertemperaturUnten 10 °C int16be 1 0.1 0 level false false 1904 Pufferstatus enum uint16be 1 1 0 level false false 2400 Kesseltemperatur 10 int16be 1 0.1 0 level false false 2401 KesselStatus enum uint16be 1 1 0 level false false 2406 Kesselreinigung % int16be 1 1 0 level false false 2407 AscheboxFuellstand % int16be 1 1 0 level false false 2408 Außentemperatur 10 °C int16be 1 0.1 0 level false false

Without 1100 everything works well. 1107 is 0. If you add 1100, then 1107 has the value of 1155.

The device used is a Solarfocus Pellet Heater. German modbus documentation

Versions:

Apollon77 commented 2 years ago

Please show your settings ... Do you use alias? Then sometimes the IDs shift by 1 or such ...

TeslaNator commented 2 years ago

First I have following config: mod1 mod2

This value is corret. mod4

Then I add following register: mod5

The value 1107 is still correct. 1150 too. mod6

Then I add register 1100. mod7

Now 1107 is incorrect. It has the value of 1150 and even switch simultanously. mod8

TeslaNator commented 2 years ago

modbus.4 2022-08-31 10:45:18.887 debug [DevID_1/inputRegs] Poll address 1150 DONE

modbus.4 2022-08-31 10:45:18.778 debug [DevID_1/inputRegs] Poll address 1150 - 1 registers

modbus.4 2022-08-31 10:45:18.777 debug [DevID_1/inputRegs] Poll address 1100 DONE

modbus.4 2022-08-31 10:45:18.667 debug [DevID_1/inputRegs] Poll address 1100 - 8 registers

modbus.4 2022-08-31 10:45:18.667 debug [DevID_1] Poll start ---------------------

modbus.4 2022-08-31 10:45:16.587 debug [DevID_1/inputRegs] Poll address 1150 DONE

modbus.4 2022-08-31 10:45:16.487 debug [DevID_1/inputRegs] Poll address 1150 - 1 registers

modbus.4 2022-08-31 10:45:16.487 debug [DevID_1/inputRegs] Poll address 1100 DONE

modbus.4 2022-08-31 10:45:16.424 debug [DevID_1/inputRegs] Poll address 1100 - 8 registers

modbus.4 2022-08-31 10:45:16.423 debug [DevID_1] Poll start ---------------------

modbus.4 2022-08-31 10:45:14.347 debug [DevID_1/inputRegs] Poll address 1150 DONE

modbus.4 2022-08-31 10:45:14.250 debug [DevID_1/inputRegs] Poll address 1150 - 1 registers

modbus.4 2022-08-31 10:45:14.248 debug [DevID_1/inputRegs] Poll address 1100 DONE

modbus.4 2022-08-31 10:45:14.156 debug [DevID_1/inputRegs] Poll address 1100 - 8 registers

modbus.4 2022-08-31 10:45:14.156 debug Initialization of scale factors done!

modbus.4 2022-08-31 10:45:14.155 debug [DevID_1] Poll start ---------------------

modbus.4 2022-08-31 10:45:14.155 info Connected to slave 10.0.2.164

modbus.4 2022-08-31 10:45:13.710 debug Initialize Objects for holdingRegs: []

modbus.4 2022-08-31 10:45:13.710 debug Add inputRegisters.1150_Vorlauftemperatur2: {"_id":"inputRegisters.1150_Vorlauftemperatur2","type":"state","common":{"name":"*10","role":"level","type":"number","read":true,"write":false,"def":0,"unit":"°C"},"native":{"regType":"inputRegs","address":1150,"deviceId":1,"type":"int16be","len":1,"offset":0,"factor":0.1}}

modbus.4 2022-08-31 10:45:13.710 debug Add inputRegisters.1107_Status1: {"_id":"inputRegisters.1107_Status1","type":"state","common":{"name":"enum","role":"level","type":"number","read":true,"write":false,"def":0,"unit":""},"native":{"regType":"inputRegs","address":1107,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":1}}

modbus.4 2022-08-31 10:45:13.710 debug Add inputRegisters.1100_Vorlauftemperatur1: {"_id":"inputRegisters.1100_Vorlauftemperatur1","type":"state","common":{"name":"*10","role":"level","type":"number","read":true,"write":false,"def":0,"unit":"°C"},"native":{"regType":"inputRegs","address":1100,"deviceId":1,"type":"int16be","len":1,"offset":0,"factor":0.1}}

modbus.4 2022-08-31 10:45:13.709 debug Initialize Objects for inputRegs: [{"_address":1100,"name":"Vorlauftemperatur1","description":"10","unit":"°C","type":"int16be","len":1,"factor":0.1,"offset":0,"formula":"","role":"level","room":"","cw":false,"isScale":false,"deviceId":1,"address":1100,"id":"inputRegisters.1100_Vorlauftemperatur1"},{"_address":1107,"name":"Status1","description":"enum","unit":"","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","cw":false,"isScale":false,"deviceId":1,"address":1107,"id":"inputRegisters.1107_Status1"},{"_address":1150,"name":"Vorlauftemperatur2","description":"10","unit":"°C","type":"int16be","len":1,"factor":0.1,"offset":0,"formula":"","role":"level","room":"","cw":false,"isScale":false,"deviceId":1,"address":1150,"id":"inputRegisters.1150_Vorlauftemperatur2"}]

modbus.4 2022-08-31 10:45:13.709 debug Initialize Objects for coils: []

modbus.4 2022-08-31 10:45:13.709 debug Initialize Objects for disInputs: []

modbus.4 2022-08-31 10:45:13.590 info starting. Version 5.0.4 in C:/Program Files/iobroker/SmartHome/node_modules/iobroker.modbus, node: v12.18.0, js-controller: 4.0.23

modbus.4 2022-08-31 10:45:13.412 debug Plugin sentry Initialize Plugin (enabled=true)

an-klam commented 1 year ago

please provide logs with only registers 1107 and 1150.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions. Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.