this year I got my E3DC system and for sure I wanted to integrate this into openHAB. This post does quite a good job and on top the Grafana diagrams are quite nice.
In June a new Modbus spec was released by E3DC with some Wallbox control possibilities. This was quite hard to implement in rules. So i decied to implement an E3DC Modbus binding. Release candiate + config are available here.
If you own such a system I would be appreciate your feedback!
i’ve upgraded to 2.5.9 and tried to migrate from my own E3DC modbus interpretation to your Binding. I’ve copied the things and items files and just configured the correct IP address. Unfortunately the items don’t get any values.
2020-09-21 10:52:30.414 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'e3dc.things'
2020-09-21 10:52:30.451 [DEBUG] [modbus.internal.ModbusHandlerFactory] - createHandler Modbus tcp
2020-09-21 10:52:30.462 [TRACE] [very.internal.ModbusDiscoveryService] - Received new handler: org.openhab.binding.modbus.discovery.internal.ModbusEndpointDiscoveryService@652613
==> /var/log/openhab2/events.log <==
2020-09-21 10:52:30.484 [hingStatusInfoChangedEvent] - 'modbus:tcp:device' changed from UNINITIALIZED to INITIALIZING
==> /var/log/openhab2/openhab.log <==
2020-09-21 10:52:30.510 [TRACE] [r.AbstractModbusEndpointThingHandler] - Initializing modbus:tcp:device from status INITIALIZING
2020-09-21 10:52:30.516 [TRACE] [r.AbstractModbusEndpointThingHandler] - initialize() of thing modbus:tcp:device 'E3DC Modbus TCP' finished
==> /var/log/openhab2/events.log <==
2020-09-21 10:52:30.518 [hingStatusInfoChangedEvent] - 'modbus:tcp:device' changed from INITIALIZING to ONLINE
To start analysis from scratch please check if your E3DC IP-Address is really 192.168.178.56!
In the example description I missed to replace the concrete IP with YOUR_E3DC_IP. Modbus TCP Bridge gets online with any valid IP-Address,even if you type 188.8.131.52 it go’s online. So please double check valid IP!
Does it work with the new easy-connect wallbox ? I already use the modbus-binding with my S10E Blackline but cannot get the Sun-Mode Switch to function correctly. I tried with your implementation but i think it just works with the old (white) wallbox.
if i switch it off or on it just stays null:
2020-09-21 19:27:33.327 [ome.event.ItemCommandEvent] - Item ‘E3DC_WB_Sunmode’ received command OFF
2020-09-21 19:27:33.329 [nt.ItemStatePredictedEvent] - E3DC_WB_Sunmode predicted to become NULL
EDIT: It seems like its not possible to add a second bridge in the things-file or add a second modbus-bridge with the same ip-address.
I already got most of the Things i needed and just wanted to add the Wallbox to the Bridge (at the bottom), but it does not appear in the PaperUI and no entry in the openhab.log either.
I may just start from scratch and remove my Polling Bridge to get this working.
During my development I didn’t pay much attention on the installation procedure. But now I’m also a bit confused.
Does it mean if I install Modbus binding all extensions (Studer, Stiebel Eltron, Helios, E3DC, …) are installed automatically? Isn’t this contrary to the normal Binding installation which is quite selective?
Also from User perspective I see some issues. If you want to integrate a device you’ve this big list with all available bindings. You can search for Stiebel Eltron but you don’t find it - seems it’s not supported. But it’s only hidden behind the Modbus Binding. Shouldn’t it be more present in the binding list?
I see, but it’s the same problem. E.g. the DaikinMadoka Thermostat is behind the bluetooth Binding. So looking through the Binding list I can find the Daikin Air Conditioning but not the corresponding Thermostat.
Please don’t get me wrong. I’m not addressing a technical issue. From technical point it’s totally right: You’ve a protocol and based on that several extension. I just doubt this is the view of a lesser technical experienced user.
Imagine the following:
I prepare a brilliant Rest API Binding which takes care of connections, timeouts, error handling, OAuth & Token handling. As a result all web based bindings shall be based on this and are just extensions.
Spinning this even further Binding Installtion refers to a bunch of protocols and the real devices are behind them.
For this particular case I would say you want to install E3DC Binding and the Modbus Binding is simply a dependency. With this each user can install devices without knowing the protocol behind it.
Again: Don’t understand me wrong. I don’t press for a solution right now. But in general I think it’s worth a discussion if the Protocol Extensions is the right way to proceed.