Just installed the .14 version, and it’s working pretty well, detection of every devices is fast, and the statistic on the ebus metrics are really useful (now I can see that my failed telegram rate is ~70% as discussed ).
However, waiting for some answer from esera support, which complete lack of answer is really despising me now, I start again to code unresolved messages, knowing that I need to ignore the missed ack from the boiler.
So I added some telegram definitions in the bai configuration file:
{
"label": "Operational Data from Room Controller to Burner Control Unit",
"id": "boiler.control.setopdata",
"command": "B5 10",
"broadcast": {
"master": [
{"type": "static", "default": "00 00"},
{"name": "lead_water_target_temp", "type": "data1c", "label": "Lead water target temperature", "min": 0, "max": 100, "format":"%.1f°C"},
{"name": "srv_water_target_temp", "type": "data1c", "label": "Service water target temperature", "min": 0, "max": 100, "format":"%.1f°C"},
{"type": "static", "default": "FF FF"},
{"type": "byte", "children": [
{"name": "turnoff_water_heating", "type": "bit", "label": "Turn off water heating"},
{"type": "bit"},
{"name": "turnoffservice_water_heating", "type": "bit", "label": "Turn off service water heating"},
{"type": "bit"},
{"type": "bit"},
{"type": "bit"},
{"name": "unknown", "type": "bit", "label": "unknown"},
{"type": "bit"}
]},
{"type": "static", "default": "00 00"}
],
"slave": [
{"type": "static", "default": "01"}
]
}
},
Which seems properly interpreted:
2017-11-25 00:48:31.128 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.setopdata
2017-11-25 00:48:31.132 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Handle received command by thing Vaillant Custom BAI00 with id ebus:custombai:73dcff5d ...
2017-11-25 00:48:31.135 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key turnoffservice_water_heating with value true
2017-11-25 00:48:31.141 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key srv_water_target_temp with value 50
2017-11-25 00:48:31.147 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key lead_water_target_temp with value 40.5
2017-11-25 00:48:31.152 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key turnoff_water_heating with value false
2017-11-25 00:48:31.157 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key unknown with value false
Then the long possible answer:
{
"label": "Operational Data of Burner Control Unit to Room Control Unit",
"id": "boiler.control.getopdata",
"command": "B5 11",
"broadcast": {
"master": [
{"type": "static", "default": "01"}
],
"slave": [
{"name": "lead_water_temp", "type": "data1c", "label": "Lead water temperature", "min": 0, "max": 100, "format":"%.1f°C"},
{"name": "lead_water_return_temp", "type": "data1c", "label": "Lead water return temperature", "min": 0, "max": 100, "format":"%.1f°C"},
{"name": "get_temp_outside", "type": "data2b", "label": "Outside Temperature", "min": -50, "max": 50, "format":"%.1f°C"},
{"name": "srv_water_temp", "type": "data1c", "label": "Service water temperature", "min": 0, "max": 100, "format":"%.1f°C"},
{"name": "srv_water_return_temp", "type": "data1c", "label": "Service water return temperature", "min": 0, "max": 100, "format":"%.1f°C"},
{"type": "byte", "children": [
{"name": "lead_heating", "type": "bit", "label": "Lead water heating", "mapping": {"0":"Off", "1":"On"}},
{"name": "servicewater_heating", "type": "bit", "label": "Service water heating", "mapping": {"0":"Off", "1":"On"}}
]},
{"type": "static", "default": "00 FF"}
]
}
},
Seen as:
2017-11-25 00:52:33.696 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.getopdata
2017-11-25 00:52:33.700 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Handle received command by thing Vaillant Custom BAI00 with id ebus:custombai:73dcff5d ...
2017-11-25 00:52:33.703 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key get_temp_outside with value 11.625
2017-11-25 00:52:33.710 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key servicewater_heating with value false
2017-11-25 00:52:33.717 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key lead_water_return_temp with value 33
2017-11-25 00:52:33.724 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key lead_heating with value true
2017-11-25 00:52:33.730 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key srv_water_temp with value 36
2017-11-25 00:52:33.738 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key srv_water_return_temp with value 40
2017-11-25 00:52:33.743 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key lead_water_temp with value 41
, a shorter version telegram:
{
"label": "Short Operational Data of Burner Control Unit to Room Control Unit",
"id": "boiler.control.getshortopdata",
"command": "B5 11",
"broadcast": {
"master": [
{"type": "static", "default": "02"}
],
"slave": [
{"type": "static", "default": "03 3C 96 50"},
{"name": "srv_target_water_temp", "type": "data1c", "label": "Service water target temperature", "min": 0, "max": 100, "format":"%.1f°C"}
]
}
},
Note that the sequence have been described as “03 3C 96 46” instead of the 03 3C 96 50 I can see on my telegrams on the ebus wiki here http://ebus-wiki.org/doku.php/ebus/serviceb511
.
Seen as:
2017-11-25 01:05:04.268 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.getshortopdata
2017-11-25 01:05:04.271 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Handle received command by thing Vaillant Custom BAI00 (08) with id ebus:custombai:80ca8c44:08 ...
2017-11-25 01:05:04.273 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key srv_target_water_temp with value 45
2017-11-25 01:05:04.282 [ItemStateChangedEvent ] - ebus_custombai_80ca8c44_08_custombai_boiler_control_getshortopdata_srv_target_water_temp changed from NULL to 45
And finally:
{
"label": "Get DateTime",
"id": "boiler.control.getdatetime",
"command": "B5 04",
"broadcast": {
"master": [
{"type": "static", "default": "00"}
],
"slave": [
{"name":"get_status", "type": "byte", "label":"status", "format":"%d",
"mapping": {"0":"NoReception", "01":"Reception", "02":"Synchronized", "03":"DataValid"}},
{"name": "get_datetime", "type":"datetime"},
{"name":"get_temp_outside", "type": "data2b", "label": "Outside Temperature", "min": -50, "max": 50, "format":"%.1f°C"}
]
}
},
Which seems properly interpreted as well, but the mapping result is not what I would like:
2017-11-25 00:16:59.583 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.getdatetime
2017-11-25 00:16:59.586 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Handle received command by thing Vaillant Custom BAI00 (08) with id ebus:custombai:80ca8c44:08 ...
2017-11-25 00:16:59.589 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key get_temp_outside with value 11.875
2017-11-25 00:16:59.595 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key get_status with value 3
2017-11-25 00:16:59.601 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key get_datetime with value 25.11.2017 00:17:02
For the record, the “Unresolved telegrams ratio” seems to calculate the "“Resolved telegrams ratio” instead, I have 73 Resolved telegrams , 47 Unresolved telegrams and “Unresolved telegrams ratio” is displaying with 60.8%.
And regarding the modified VRC configuration, the label for the datetime broadcast have a copy paste issue, it should be related to the date