Hallo, ich möchte einen Sensostar U Wärmezäherl via Modbus auslesen (also wirklich Modbus nicht MBUS).
Es klappt auch soweit, dass ich bis 30064 auslesen kann, alles was drüber ist geht nicht mehr (mit dem iobroker Modbus Adapter).
Der Modbusadapter verbindet sich über TCP mit einem Waveshare Ethernet zu RS485 Adapter.
Wenn ich hingegen unter Linux mit OpenModScan verbinde und auslese, komme ich auch an die Register über 63 bzw. 64.
2024-12-04 17:09:00.539 - [33mwarn[39m: modbus.5 (1040191) [DevID_1] Poll error count: 1 code: "App Timeout"
2024-12-04 17:09:00.636 - [33mwarn[39m: modbus.5 (1040191) Error: undefined
2024-12-04 17:09:00.637 - [31merror[39m: modbus.5 (1040191) Request timed out.
2024-12-04 17:09:00.637 - [31merror[39m: modbus.5 (1040191) Client in error state.
2024-12-04 17:09:01.637 - [32minfo[39m: modbus.5 (1040191) Disconnected from slave 192.168.103.64
Folgende Register bietet der Wärmezähler an: https://www.engelmann.de/wp-content/uploads/2023/04/Datenblatt_Modbus_S3-S3C_2023_03_27_de.pdf
Eingerichtet habe ich wie folgt im Modbusadapter:
_address deviceId name description unit type len factor offset formula role room cw isScale
0 1 Energy kWh uint32be 2 1 0 value false false
28 1 Volume l uint32be 2 1 0 level false false
49 1 Power W uint32be 2 1 0 level false false
56 1 Flow l/m uint32be 2 1 0 val = x / 60 level false false
63 1 Forward temperature (Fixed) °C int16be 1 1 0 level false false
Sobald ich die Adresse 67 hinzufüge steigt der Adapter mit obigem Log aus.
Was allerdings auffält, dass ich die Register über 63 nur einzeln auslesen kann, wenn ich mehrere gleichzeitig auslesen möchte steigt auch der Modbuscanner aus.
Ironischerweise kann ich die Register 76 und 82 wieder auslesen.
Da ich mit dem gleichen Modbusadapter noch andere Geräte auslese, sollte es nicht am Waveshare liegen (auf Adresse 2 liegt eine LG ThermaV Wärmepumpe mit einigen Registern und unter Adresse 12 ein SDM630).