E3DC with the new modbus binding

Tags: #<Tag:0x00007f2fc8dbcc80> #<Tag:0x00007f2fc8dc1e38>

That would be this Item, yes?

This is not going to be straightforward.
First thing you need to find out is if the device (about which I know nothing) will actually let you switch this from modbus?
If so, how? There is no rule that modbus status and control have to in the same register or even register type.

If we assume the likely case for now, reading and writing from the same modbus register, we run into a snag.

Thing data EMS_Charge_Lock		"E3DC EMS charging locked"		[ readStart="84.0", readValueType="bit"]
Thing data EMS_DisCharge_Lock		"E3DC EMS discharging locked"		[ readStart="84.1", readValueType="bit"]

This group of device status are represented as single bits in a 16-bit register. (that the 84.0 part, bit 0 in register 84)
It is not possible for modbus binding to write a single bit in a register.
The closest you can do is write the whole register with that one bit set as you wish.
That would not be too difficult - but the hard part is what about the other bits? Presumably you need to remember what they are and write the register with all of the important bits set the way they last were, except the one you want to change.

That can be done with some coding, but I won’t go into it unless needed. Find out how your E3DC expects modbus writing to happen.

The general idea for bits-in-register writing is here

Thanks for your explaination.
i’ve just checked the vendor documentation and on top of the document it says “control via modbus is not possible, only read access” :frowning:

That’s disappointing. Marketing decision perhaps.

As I mentioned above, for controlling the E3DC via openhab, we would need a binding that builds on the E3DC RSCP interface.

“I would really like to be able to control the E3DC system via Openhab at some point in time. Anyone of the experts interested in developing a binding for that, using the E3DC RSCP interface?”

Maybe this can help: