OpenTherm Gateway binding

Got the esp working with ESP-link. Showing the everything from the thermostat and boiler. However, the binding 0.8.0 does not allow me to configure anything in PaperUI. It just shows the binding, but no channels, no configuration etc. Do I miss something?


Is the source code still available anywhere?

@PGustias thanks for the detailed screenshot, this really helps me in mapping the data sent through opentherm to the binding.

@JdeJong you should be able to configure the IP address to connect to the OTGW device. After that, a complete list of channels should be available in openHAB which also shows up in PaperUI. The sources are currently not available on Github, because the structure of the openHAB sources has changed quite a bit and I haven’t had the time to adjust the sources of the binding to match the new structure. Is there anything in particular you are interested in regarding the sources of the binding?

Hi Arjen (@Mephix),

The “problem” is that I don’t have the ability to fill in the IP address, it’s only the binding description. (I will post a screenshot this evening!). So it looks like the binding is “empty”.

Well, I was interested to see the source and maybe help you with the development further. Hence my question. I believe there are a lot of people using the OTGW, so this binding is a “must” :wink:


The thing is, that the bindings in the upstream repo from openhab were moved from /addons/binding to /bundles, and with it of course also the build scripts etc. So I ran into a lot of issues when creating a pull request.

Unfortunately documentation (both openhab and eclipse smarthome) is now out of date or contain broken links to examples of how to get things working… so if you can help me out by explaining how the new forlder structure works or how to migrate the binding from the old to the new structure… that would be very helpful :slight_smile:

1 Like


1 Like

Hi @Mephix,

I think the reply from Markus (@mstormi) basically answers the question on how…
But I’m happy to assist in any way!

I managed to get the 0.8 version running now. Items are now being populated…So that’s really nice!


Reaction from @mstormi is definitely helpful… that tutorial wasn’t available back then… so I just need to find some time to work on it again.

Also @JdeJong , nice to see you got it working!

1 Like

I have created a new fork and migrated the sources of the OpenTherm Gateway binding according to the tutorial. Also added a new channel for fault indication.

I haven’t been able to build the project… something I need to look into.

Fixed the build issues and uploaded a new test version to the binary repo. I haven’t had the time yet to test it though…

I switched over to OH 2.5 and was glad @Mephix build the 3.0 binding. Atm works like a charm

Hi Arjen!

Thanks for this awesome plugin. Works like a charm with my Giersch Compact 100!
Just one question: If I use one of the override setpoints, how can I remove it later? Should I set it to 0 then?


Hi Frank, nice to hear you like the binding :wink:

Your question is more related to the OpenTherm gateway device itself than the binding. The OTGW website indeed states that for temporary override (TT) and constant override (TC) a value of 0 cancels the override. But I have never tested this myself.

Please let me know if it works, if not I have to look into it.


Tested today. The override for DHW works and can be removed by setting it to 0.
What doesn’t work is the override for the room temperature. But it’s not related to removing the override, it just won’t take the override at all.
It always shows the temperature of the thermostat.

I also checked the log and there only the setpoints of the thermostat is returned.

One thing that is important to know: I have two different heating circuits, one for floor heating and one for radiators in the 1st floor. Within the thermostat I can set two different setpoints. Only one is shown in the plugin.

Do I have to change anything to be able to set both setpoints through the gateway? Or at least one of the setpoints?

Thanks for your help in advance!

Hi Frank,

I am not sure how it would work with two circuits… but if the boiler has two room setpoints, that might explain why the constant or temporary room setpoint override doesn’t work. With this binding though, I am limited to the features of the OTGW device. And as far as I know, it doesn’t support overriding two separate room setpoints. At least, not with the standard firmware.

If you check the OTGW site with the link I provided earlier, you will see all the commands the OTGW device supports. Some commands are mapped to channels, like temporary and constant override, but any command not mapped to a channel can always be set through the generic “Send command” channel of the binding.

Please check if you can get the setup working with just the OTGW device and OTmonitor or telnet or something… to find out whether the issue is with the binding or the hardware.


thanks for your reply. You’re totally right. I found this in the otgw forum:

Seems like it needs to be changed in the firmware :frowning:
Will report back, if I have found a way to change the FW.


Well, unless you are, or you can find, an assembly programmer that is willing to put in the time to write a custom firmware… chances are quite slim you would get this to work with the OTGW.

If you really must control both setpoints, you may want to look at alternatives… such as using a different gateway, home made or commercially available devices.

Hi Arjen,

Thanks for this new version !
Version 0.9.0 works perfect for me (on OpenHab 2.4.0), I didn’t try 1.0.0

My sitemap example for the new fault indicator :

Text item=OpenThermGateway_OEMFaultCode label="FaultCode : " icon="error" labelcolor=["red"] valuecolor=["red"] visibility=[OpenThermGateway_FaultIndication==ON]

Thanks again !

Hi Peter,

Great to hear it’s working!

Version 1.0.0 is almost identical to 0.9.0, I just wanted to increase to a production version number for the pull request.

Did you find a list somewhere that explains the OEM codes? Like 133 = no flame?

When I manually close off the gas, some OEM fault code is reported (not sure it’s 133), but I can’t seem to find a proper list of fault codes and their meaning for my Remeha Avanta boiler.

Hi Arjen,

I have an Elco Thision 9 gas boiler, with a Siemens LMU54​ controller.
When I manually cut off the gas, I get the fault code 133 : No flame during safety time​.
But unfortunately I get this fault also from time to time by an abnormal startup of the boiler …
This code is indicated on the display of the boiler and also correctly decoded with version 0.9.0 of your binding.

I found for my boiler a list in this manual on page 25.
But I think this list is vendor and boiler specific !

I found for your boiler on page 50 of this manual :
Error code E4 : More than 5 start attempts without any flame formation.​
This must be corresponding with my code 133 …

Do you find back this OEM fault code E4 in your binding ?
Or do you see this code in the original OpenTherm Monitor application ?

Kind regards and thanks for all your efforts and keep up the good work,

Remeha has some mapping from the faultcode that is reported on opentherm (133) and the faultcode in the manual and also the display on the boiler itself (E4).

So… I did find this list of Exx codes… but that’s not what I get back on opentherm.

Well, it’s not that big of a deal… my boiler hardly ever goes into fault mode, and even if it does, the general fault indication is still activated on opentherm, so I just need to check the display and find the corresponding Exx code to find out whats wrong.