New ZWave interface for OpenTherm boilers


since Mai 2023 I’d installed a new heating boiler with the OpenTherm-Protokoll.
Also I’d by the MyOT interface for OpenTherm boilers. It provides a ZWave-Interface. So I will save the history of data and will review it.
Yesterday I’d installed the hardware, the MyOT interface. It was included as ZWave-device without problems.
Very unfortunately there is no entry in the ZWave-database, so the thing has no channels.
Now the question: must I create this entry in the database self or can anybody help me?

The provided thing properies:
zwave_class_basic BASIC_TYPE_ROUTING_SLAVE
zwave_frequent false
zwave_listening true
zwave_version 8.0
zwave_plus_roletype ROLE_TYPE_SLAVE_ALWAYS_ON
zwave_plus_devicetype NODE_TYPE_ZWAVEPLUS_NODE
zwave_beaming true
zwave_class_generic GENERIC_TYPE_SWITCH_BINARY
zwave_secure false
zwave_manufacturer 1100
zwave_devicetype 3
zwave_deviceid 4
zwave_routing true

You will find the data of the provided channels on the PDF-file from page 8:
OpenTherm2ZWave_manual_en_01335-2080-00.pdf (626.3 KB)

Can anybody help me?

:slight_smile: Jens

1 Like

Unless you have compromising pictures of someone with ZW DB access, adding the device yourself is the norm. The blog here outlines the procedure.

In a nutshell after you register, open a ticket to the developer for write access. Once you have that, upload the XML in your userdata/zwave folder (node??.xml). Then using your manual add the parameters, the documents and association groups and mark for review (on the overview page).

Also of note:

  1. Not all the multisensor readings are supported (Max is 61).
  2. if you are on OH3 you will need to download the DB XML when finished and follow this procedure to add it to your binding. Devices are not retroactively added to earlier versions.


thanks for the fast reply.
It seems, it will be a long run- “Per aspera ad astrum” :sweat:
I’d not seen any easy possibillity to connect an OpenTherm boiler in any Homeautomation, so I will try it. The available connection in OH could give me problems with my hardware.
It will be nice, when I can use this post for further questions…

:slight_smile: Jens

1 Like

I see you have DB access and started to fill in the multisensor data. Meanwhile I created a PR (merged by the developer) to add Multisensor readings from 61 to 88. However to complete the process they need to be added to the dropdown in the DB. I had opened a ticket to get that process going, but now that you have DB, it might be best to deal directly. I had suggested the following, but don’t know which ones you really need.

As to items like sensor_volume (or as you have set up sensor_tankcapacity) they also need to be added to the binding XML. The ones with [sensor_temperature] should work without changes IIUC. I’ll copy @chris to make sure, as this is pretty advanced for me.

1 Like

Thanks @apella12. I’ve now added these channels to the database. They will also need adding to the channel definition in the binding which I’ll try and do later today. There shouldn’t be any code changes necessary - although I’m not 100% sure about that and it’s possible that might be wrong in some cases…

thanks for your help.

The new channel types seems to be implemented- so I’d added the channel types to the device.
If it is still in progress, please change my entrys.
Here I got 2 questions:

  • the channel water_temperature[sensor_temperature] has the configuration type=WATER_TEMPERATURE, the other entrys (62- boiler water, 63-DHW) not. Is this ok? Or is it in progress?
  • Would we rename the Name Sensor (water temperature) from entry 23 to Return water temperature?

:slight_smile: Jens

This has turned into quite a team project :wink:

  1. At my level of knowledge, the channel types (dropdowns) are not automatically figured out by the binding without help from the type=xxxx. This is an extract of the table in the binding as guidance. Follow the pattern from the type=WATER_TEMPERATURE.
        WATER_FLOW(56, "Water Flow"),
        WATER_PRESURE(57, "Water Pressure"),
        RF_SIGNAL_STRENGTH(58, "RF Signal Strength"),
        PARTICULATE(59, "Particulate Matter"),
        RESPIRATORY_RATE(60, "Respiratory Rate"),
        RELATIVE_MODULATION_LEVEL(61, "Relative Modulation Level"),
        BOILER_WATER_TEMPERATURE(62, "Boiler Water Temperature"),
        DOMESTIC_HOT_WATER_TEMPERATURE(63,"Domestic Hot Water (DHW) Temperature"),
        OUTSIDE_TEMPERATURE(64,"Outside Temperature"),
        EXHAUST_TEMPERATURE(65,"Exhaust Temperature"),
  1. Just change the Label from Sensor (water temperature) to what you want.

  2. I would add an Association group 1 and specify the controller as a member

  3. The ZW DB entry will always be in progress until you hit the “request review” on the overview tab.

  4. I’m concerned about the XML you used in loading. Can you post it here. There should be more command classes, particularly the THERMOSTAT_SETPOINT is needed. Adding the CC’s at this point is going to need expert help. This is from the Manual
    myOT 2024-04-02 172841

  5. Lastly, how did you get the sensor_tankcapacity as a channel before it was available in the dropdown? That is not supposed to be possible. Did that come from the XML upload? It is a mystery to me, but I saw it elsewhere too. I must be missing something.

thanks for your reply.
Q 1) I had changed the Configuration for the channels 56, 61, 62, 63 and 65 and Sensor (tank capacity). Please can you check, if it’s correct so? Or should we wait for the reply of Chris Jackson? The other channels (57, 58, 59, 60 an 64) are not available.
Q 2) is done.
Q 5) Here is the XML: network_d239d6fa__node_67.xml (11.4 KB)
Q 6) I got an error when I would create the new device with the XML. So Chris has edited the XML and then created the device from the XML. The channels Sensor (barometric pressure) and Sensor (tank capacity) was available at this time.
All other channels has Chris created after a new Request from me in . So I don’t know about the creation of Sensor (tank capacity) .

:slight_smile: Jens

5 & 6 (Cont.) You are going to need to open another ticket in the opensmarthouse for Chris to add the rest of the Command Classes (CC’s) from your XML (upload the version you posted here to the ticket). Probably the XML you originally had was incomplete, but it now looks complete (vis a vis the manual anyway).

After those CCs are added, validate the Setpoint channels, add Association group 1 with the controller on the Associations tab and mark for review. It all looks fine to me otherwise (at least ready to test).

Hello Bob,

Thanks for your fast reply.
I’d open the ticket on 01 April 2024 9 AM for the implementation of the Class COMMAND_CLASS_THERMOSTAT_SETPOINT on, but Chris has not answered yet. So we will wait for an answer of him. I’ll not wrote a second ticket.?
The Association group 1 I’d created.

AFAIK only @chris can add CC classes after the initial device creation. He gets really busy with his real job, actually we have been pretty lucky with his help so far (IMO). I attribute it to the Easter holiday. Anyway no need for a second ticket. Did you upload the XML above to the ticket? There are other CC’s missing as well.

Yes, the XML is available for Chris. He had created the device with the XML file.

A novel idea: can I write the missing channels direct in the XML, what will created from the db output of Is there any template available? Or can I use the snippet from COMMAND_CLASS_THERMOSTAT_SETPOINT on 2 times?

The device XML (used for upload) is not the same as the XML created by the binding. In fact the XML you posted here-(not sure what you provided to Chris) has the CC_THERMOSTAT_SETPOINT in it.

It is theoretically possible, but would be tricky in the best case using a modified version of the procedure I linked in my second post. You could append the missing parts of another similar device to your DB XML.

However, in your case, the reason you couldn’t upload the XML was because this is a new supplier, so that would have to be created in the binding. Also not all the channels in your device are included in the binding, so that would have to be created too. I know you are anxious, but I’d wait at least to the weekend. If I get time I’ll create a PR for the channels added (or you could?)

Edit:noticed you took out the tank capacity?

Edit: Created PR for missing channels

Edit3: PR for missing channels was merged. Also figured out the problem with the missing command classes, but had to create a new device to get it fixed. Please review and mark for review if OK. What version of OH are you on? All these changes will require OH4.2 snapshot binding. This will possibly work with OH4.1, but nothing earlier. Binding XML attached.
myot2_0_0.xml (7.9 KB)

many thanks for providing the new version of the entry in the DB and the new XML with the new command classes.
What is the category HVAC? The device is plugged on the circuit as a wallplug.
All other looks fine, so I’ll mark it as review. I’ll try your new XML myot2_0_0.xml (or a new jar-file?) on April 9, then I’ll not at home before.
I’d published my old generated XML from the DB of as described in your first post: .
I’d created the directory for the new manufacturer in the jar-file. It seems ok, the channels in the Web-Interface are available, but without data, when I connect it to the boiler. I hope, in the new version it will be better.

  • the ‘tank capacity’ we should ignore (it is not included in the new version)
  • your question in edit3: I’m using OH 4.1.
    :slight_smile: Jens

That is a little concerning. The channels based on 61-65 won’t work until you update the binding with the latest jar (and the myot2.XML too), but 9, 23 & 56 should have worked if linked to items. Did you set a report interval? If that happens with the new jar, turn on Debug.

I also have a slight concern based on why the XML didn’t load cleanly at first besides the MFG issue(note device 1612). Something in the Multisensor CC caused an error and that was why the other CC’s did not load. To get to work, I deleted all the multisensor sensor channels except one, then added them later after a successful upload. The DB upload might be detecting something that won’t work in the binding.

it looks good :-), some data now available- pressure, modulation, boiler heating temperature and others. So the device ist running.
But all two setpoint values of the class THERMOSTAT_SETPOINT are NULL- but it’s maybee, there ist an problem with the Hardware.? I will check this weekend the logfile in DEBUG-mode and will give you feedback.


If boiler heating temperature and modulation are working that is a good sign as those were recently added (and I had the most anxiety about).

The THERMOSTAT_SETPOINT CC hasn’t changed in years. A debug while trying to change the setpoint should clean things up as to the problem.

The device ist now running.
There are some strange things with the data, that Iˋll Check in the next months and ˋll give some feedback.
IT Runs without problems: heating modulation, boiler water temperatur and water pressure. That ist the main data, so I can Check the boiler at Work.
Not checked are the Error code and hot water, that I ˋll do the next months.
Some Data are null at start of the device and will Change after any hours- that should be a Problem of the Hardware and it’s combination.
So I think, we should checkout on the DB and delete the old entryes. IT seems, I can’t do it, it’s not my entry.?
Should I request some future questions or problems Here or on
Sorry für my Case sensitive, there ist an Automatic, that I can’t Change in the moment.
Many thanks for your help :slight_smile:

Here first. If it turns out it is a DB issue, it can be addressed after. The forum has far more exposure.

Also I would suggest to set the binding into debug mode when diagnosing. Then use the debug log viewer here for screening. Generally green is good and red is bad. (or post the debug log here if you get stuck)

Lastly only Chris can delete entries and I opened a ticket to delete the two older entries and marked them for removal in the description.