Hi,
I tried to port the ebusd HMU configuration to the openhab ebus binding config, but without success.
I’m running openHAB 4.0.3 with the ebus binding installed from marketplace.
As hardware I use the ebus adapter v5 connected to ebusd version 23.2.23.2.
The bridge configuration looks like this:
UID: ebus:bridge:1be388fcf0
label: eBUS Bridge
thingTypeUID: ebus:bridge
configuration:
masterAddress: FF
networkDriver: ebusd
serialPortDriver: buildin
ipAddress: 192.168.101.26
port: 8888
advancedLogging: true
I also added my new configuration file to the binding configuration. In the log the ebus binding claims that the configfile is loaded and also there is a new HMU device recognized and shown in the inbox. If I add the new device and link some items to the channels the item values are all ‘NULL’ even if I set the channel polling config to poll every 20 seconds.
In the ebusd log I can see that the ebus binding is sending direct commands to the ebusd and that ebusd sees the response from the slave and docodes it.
In the ebus-unreseolved.csv I can see that the binding is not able to decode the messages, but I do not understand why.
Here is a snippet from the ebus-unresolved.csv
2023-11-03 15:18:47;"FF";"08";"B5 11";"01 07 2B 00 06 00 61 00 19 01 38 09 00 AA";
2023-11-03 15:18:50;"FF";"08";"B5 11";"01 07 2B 00 06 00 61 00 19 01 38 09 00 AA";
2023-11-03 15:18:50;"FF";"08";"B5 1A";"04 05 FF 32 00 D3 00 0A FF 08 2F 3F 00 00 00 00 00 00 90 00 AA";
2023-11-03 15:18:52;"FF";"08";"B5 1A";"04 05 FF 32 00 D3 00 0A FF 08 2F 3F 00 00 00 00 00 00 90 00 AA";
2023-11-03 15:19:06;"FF";"08";"B5 1A";"04 05 FF 32 40 93 00 0A FF 08 27 15 BB 00 00 00 00 00 F9 00 AA";
2023-11-03 15:19:06;"FF";"08";"B5 1A";"04 05 FF 32 40 93 00 0A FF 08 27 15 BB 00 00 00 00 00 F9 00 AA";
2023-11-03 15:19:08;"FF";"08";"B5 1A";"04 05 FF 32 40 93 00 0A FF 08 27 15 BB 00 00 00 00 00 F9 00 AA";
2023-11-03 15:20:36;"FF";"08";"B5 1A";"04 05 FF 32 40 93 00 0A FF 08 27 15 BB 00 00 00 00 00 F9 00 AA";
2023-11-03 15:20:38;"FF";"08";"B5 1A";"04 05 FF 32 40 93 00 0A FF 08 27 15 BB 00 00 00 00 00 F9 00 AA";
2023-11-03 15:20:40;"FF";"08";"B5 14";"05 05 01 03 FF FF 02 00 04 01 00 64 00 A2 00 AA";
2023-11-03 15:20:41;"FF";"08";"B5 14";"05 05 01 03 FF FF 02 00 04 01 00 64 00 A2 00 AA";
And this is the newly created configuration
{
"id": "hmu",
"vendor": "Vaillant",
"label": "Vaillant HMU",
"description": "Vaillant HMU",
"authors": ["XXXXXXX, xxx@xxx.xx"],
"identification": ["48 4D 55 30 30"],
"templates": [
{"name":"unknown3", "template": [
{"type": "byte", "length": 3}
]}
],
"commands":
[
{
"label": "State",
"id": "state",
"command": "B5 11",
"get": {
"master": [
{"type": "static", "default": "07"}
],
"slave": [
{"name": "energy", "type": "uchar", "label": "Energy", "format":"%d"},
{"name": "energy2", "type": "word", "label": "Energy2", "format":"%dkWh"},
{"type": "template-block", "label": "OnOff", "id": "vaillant.onoff"},
{"name": "state", "type": "uchar", "label": "State",
"mapping": {"1":"ready", "11":"error", "9":"heating", "17":"cooling", "129":"heating_water"}}
]
}
},
{
"label": "Energy Heating",
"id": "statistics.energy_hc",
"command": "B5 1A",
"get": {
"master": [
{"type": "static", "default": "05 FF 32 00"}
],
"slave": [
{"type": "template-block", "id": "unknown3"},
{"type": "template-block", "id": "vaillant.energy4", "label": "Heating Energy"}
]
}
},
{
"label": "Energy Cooling",
"id": "statistics.energy_cool",
"command": "B5 1A",
"get": {
"master": [
{"type": "static", "default": "05 FF 32 01"}
],
"slave": [
{"type": "template-block", "id": "unknown3"},
{"type": "template-block", "id": "vaillant.energy4", "label": "Heating Energy"}
]
}
},
{
"label": "Runtime (h)",
"id": "statistics.runtime",
"command": "B5 1A",
"get": {
"master": [
{"type": "static", "default": "05 FF 32 40"}
],
"slave": [
{"type": "template-block", "id": "unknown3"},
{"type": "template-block", "id": "vaillant.hoursum2", "label": "Hours", "format":"%d hours"}
]
}
},
{
"label": "Runtime heating circuit (h)",
"id": "statistics.runtime_hc",
"command": "B5 1A",
"get": {
"master": [
{"type": "static", "default": "05 FF 32 41"}
],
"slave": [
{"type": "template-block", "id": "unknown3"},
{"type": "template-block", "id": "vaillant.hoursum2", "label": "Hours heating"}
]
}
},
{
"label": "Runtime cooling (h)",
"id": "statistics.runtime_cool",
"command": "B5 1A",
"get": {
"master": [
{"type": "static", "default": "05 FF 32 43"}
],
"slave": [
{"type": "template-block", "id": "unknown3"},
{"type": "template-block", "id": "vaillant.hoursum2", "label": "Hours cooling"}
]
}
},
{
"label": "Building Pump Power (%)",
"id": "diag.building_pump_power",
"command": "B5 14",
"get": {
"master": [
{"type": "static", "default": "05 01 03 FF FF"}
],
"slave": [
{"type": "template-block", "id": "vaillant.unknown1"},
{"name": "value", "type": "word", "label": "Building Pump Power", "format": "%d %%"}
]
}
},
]
}
I also see many ebus error entries in the log like
2023-11-03 15:25:06.159 [ERROR] [.csdev.ebus.core.EBusEbusdController] - error!
de.csdev.ebus.core.EBusDataException: Unable to send telegram FF 08 B5 1A 04 05 FF 32 40 93 after 2 attempts ... [ERROR: TOO_MANY_ATTEMPS, DATA: FF 08 B5 1A 04 05 FF 32 40 93]
at de.csdev.ebus.core.EBusQueue.checkSendStatus(EBusQueue.java:117) ~[?:?]
at de.csdev.ebus.core.EBusEbusdController$EBusSenderThread.run(EBusEbusdController.java:112) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Any suggestions?
Thanks
Marc