Hey Matthias,
so here is what I did so far:
create the file “ebus-config.json” in …runtime/configuration
contents:
[
{
“comment”: “HeatSource->Heater”,
“device”: “VWP”,
"id": "HeatSource",
"class": "controller",
"command": "B5 09",
"data": "(0D) 0F 00",
"values": {
"temp1": {"type": "data2c", "pos": 1, "label": "SourceTemperature"},
"temp2": {"type": "data2c", "pos": 2, "label": "SourceTemperature"},
"temp3": {"type": "data2c", "pos": 3, "label": "SourceTemperature"},
"temp4": {"type": "data2c", "pos": 4, "label": "SourceTemperature"},
"temp5": {"type": "data2c", "pos": 5, "label": "SourceTemperature"},
"temp6": {"type": "data2c", "pos": 6, "label": "SourceTemperature"},
"temp7": {"type": "data2c", "pos": 7, "label": "SourceTemperature"},
"temp8": {"type": "data2c", "pos": 8, "label": "SourceTemperature"},
"temp9": {"type": "data2c", "pos": 9, "label": "SourceTemperature"},
"temp10": {"type": "data2c", "pos": 10, "label": "SourceTemperature"},
"temp11": {"type": "data2c", "pos": 11, "label": "SourceTemperature"},
"temp12": {"type": "data2c", "pos": 12, "label": "SourceTemperature"},
"temp13": {"type": "data2c", "pos": 13, "label": "SourceTemperature"},
"temp14": {"type": "data2c", "pos": 14, "label": "SourceTemperature"}
}
},
{
"comment": "OutsideTemperature",
"device": "VWP",
"id": "TempOut",
"class": "controller",
"command": "B5 09",
"data": "(0D) 06 00",
"values": {
"temp1": {"type": "data2c", "pos": 1, "label": "SourceTemperature"},
"temp2": {"type": "data2c", "pos": 2, "label": "SourceTemperature"},
"temp3": {"type": "data2c", "pos": 3, "label": "SourceTemperature"},
"temp4": {"type": "data2c", "pos": 4, "label": "SourceTemperature"},
"temp5": {"type": "data2c", "pos": 5, "label": "SourceTemperature"},
"temp6": {"type": "data2c", "pos": 6, "label": "SourceTemperature"},
"temp7": {"type": "data2c", "pos": 7, "label": "SourceTemperature"},
"temp8": {"type": "data2c", "pos": 8, "label": "SourceTemperature"},
"temp9": {"type": "data2c", "pos": 9, "label": "SourceTemperature"},
"temp10": {"type": "data2c", "pos": 10, "label": "SourceTemperature"},
"temp11": {"type": "data2c", "pos": 11, "label": "SourceTemperature"},
"temp12": {"type": "data2c", "pos": 12, "label": "SourceTemperature"},
"temp13": {"type": "data2c", "pos": 13, "label": "SourceTemperature"},
"temp14": {"type": "data2c", "pos": 14, "label": "SourceTemperature"}
}
},
{
"comment": "HeatSinkTemperatur",
"device": "VWP",
"id": "HeatSink",
"class": "controller",
"command": "B5 09",
"data": "(0D) 03 00",
"values": {
"temp1": {"type": "data2c", "pos": 1, "label": "SourceTemperature"},
"temp2": {"type": "data2c", "pos": 2, "label": "SourceTemperature"},
"temp3": {"type": "data2c", "pos": 3, "label": "SourceTemperature"},
"temp4": {"type": "data2c", "pos": 4, "label": "SourceTemperature"},
"temp5": {"type": "data2c", "pos": 5, "label": "SourceTemperature"},
"temp6": {"type": "data2c", "pos": 6, "label": "SourceTemperature"},
"temp7": {"type": "data2c", "pos": 7, "label": "SourceTemperature"},
"temp8": {"type": "data2c", "pos": 8, "label": "SourceTemperature"},
"temp9": {"type": "data2c", "pos": 9, "label": "SourceTemperature"},
"temp10": {"type": "data2c", "pos": 10, "label": "SourceTemperature"},
"temp11": {"type": "data2c", "pos": 11, "label": "SourceTemperature"},
"temp12": {"type": "data2c", "pos": 12, "label": "SourceTemperature"},
"temp13": {"type": "data2c", "pos": 13, "label": "SourceTemperature"},
"temp14": {"type": "data2c", "pos": 14, "label": "SourceTemperature"}
}
}
]
Create an Item file with the content:
Group HeatingUnit “EBUS Vaillant” <it_network> (Clients)
Number Quellentemperaturaa “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp1”}
Number Quellentemperaturaas “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp2”}
Number Quellentemperaturad “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp3”}
Number Quellentemperaturaf “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp4”}
Number Quellentemperatura “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp5”}
Number Quellentemperaturs “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp6”}
Number Quellentemperaturd “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp7”}
Number Quellentemperaturf “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp8”}
Number Quellentemperatugg “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp9”}
Number Quellentemperaturh “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp10”}
Number Quellentemperaturj “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp11”}
Number Quellentemperaturk “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp12”}
Number Quellentemperaturl “Quelle -> WP [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSource.temp13”}
Number Quellentemperaturq “Quelle -> WP [%.2f °C]” (HeatingUnit,WP_persistance) { ebus=“id:controller.HeatSource.temp14”}
Number Quellentemperaturay “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp1”}
Number Quellentemperaturax “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp2”}
Number Quellentemperaturac “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp3”}
Number Quellentemperaturav “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp4”}
Number Quellentemperatury “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp5”}
Number Quellentemperaturx “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp6”}
Number Quellentemperaturc “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp7”}
Number Quellentemperaturv “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp8”}
Number Quellentemperaturb “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp9”}
Number Quellentemperaturn “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp10”}
Number Quellentemperaturm “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp11”}
Number Quellentemperatur1 “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp12”}
Number Quellentemperatur2 “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp13”}
Number Quellentemperatur3 “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.TempOut.temp14”}
Number Quellentemperaturssy “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp5”}
Number Quellentemperaturssx “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp6”}
Number Quellentemperaturssc “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp7”}
Number Quellentemperaturssv “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp8”}
Number Quellentemperatursy “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp5”}
Number Quellentemperatursx “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp6”}
Number Quellentemperatursc “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp7”}
Number Quellentemperatursv “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp8”}
Number Quellentemperatursb “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp9”}
Number Quellentemperatursn “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp10”}
Number Quellentemperatursm “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp11”}
Number Quellentemperaturs1 “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp12”}
Number Quellentemperaturs2 “Temp Bodenheizung [%.2f °C]” (HeatingUnit) { ebus=“id:controller.HeatSink.temp13”}
Number Quellentemperaturs3 “Temp Bodenheizung [%.2f °C]” (HeatingUnit,WP_persistance) { ebus=“id:controller.HeatSink.temp14”}
Edit the openhab.cfg at the EBUS part:
ebus:serialPort=/dev/ttyUSB0
ebus:parserUrl=platform:/base/…/configurations/ebus-config.json
ebus:parsers=custom
With these settings, I can read the data from the heating unit. I did the redundant stuff to see which position corrosponds with the real data.
One extremly helpful tip is to install the EBUSd and run it to see which data can be read and how it should look like. Then the rest is a bit easier…
Disclaimer:
the above mentioned is obviously WIP and not complete. Once I have a shiny polished file set, I will share it …
HTH,
Christian