Contribution to openhab-addon "Stiebel Eltron ISG" - how?

I have the Stiebel Eltron heatpump WPF07 installed and I needed more
channels. So I have enhanced the openhab-addon “Stiebel Eltron ISG”
quite a bit. I want now to share my changes with the community.
As there a rather many changes to the code making the addon incompatible
with the existing version (renamed existing channel IDs for better matching
the documentation), I would like to know, if I should create a new addon
“Stiebel Eltron ISG V2” or if I shall create pull request on existing addon.

Thanks for helping me in this.

Hi Thomas, I have the same issue, got a large WPL24I with WPM and ISG and multiple circuits with storage. I could very quickly get it on OpenHab with the great Modbus binding but now I feel I miss the most part of it (only 1 circuit is reported etc.) I can read the value in ISG and also via modbus scanner
I guess adding simple Modbus items in OH would work as well for what is not default
but I am clueless how to modify the Steibel ISG sub-binding to directly get values in OH.
This could benefit to many people !

Let’s try to get this continued by starting the discussion here with the right people who developed or contributed to the original add-on. I would be glad to be able to contribute or test it myself !

Maybe @mdillman @JensF @mstormi @rossko57 @kreutzer_peter @Hogan @ewok21 @Zony @frantischek
can shed some light so we can start into the right direction ?

thanks all in advance for your replies

Hi Thomas (@tb4jc). For add-ons only 1 version is allowed. Therefore you should create a pull request on the existing addon. On the changed channels. You’ll probably will get some questions about if it’s really was needed to change the channels. If renaming make sense you need to provide a list of what channels are renamed. This will be in the release notes. So users will know about this change. Another option could be to add a new thing and keep the current thing, but mark it deprecated.

hi ,
i have done the version that interfaces the RS232 interface of the heat pump.
i actually update the the binding to be able to handle different heat pump types with different channels.
We could add in a similar way different thing types in the thing type definition.

you can extend the channel type definitions with your own types and great new channel groups that reference existing and new channel types for your heat pump.
finally you add a new thing type definition that reference you special variants of channel groups.

Hi all
Thank you very much for the contribution to my request and giving adivces and hints.
I see the point that there should be only one version for each add-on. The idea of having an add-on with mulitple thing variants sounds perferct for me. So we keep compatibility to the existing vesion and can add new versions.
I have to admit, I’m pretty new to OpenHAB development so I’m not really familiar with all the definition files, what’s possible and supported.
So, Peter, if you could give me a tip (e.g. pointing to good example of add-on with multiple thing types), that would be great.
I also like to add German language to the binding. Any good reference how to do it?

Thanks a lot for your help

Hi thomas,
you can find an example for multpile thing types here.
This is a link to the stiebel binding for RS232 interface supporting different WP version.


Thanks @kreutzer_peter for your answer so far

Maybe I was not super clear in my post earlier, in the meantime I have search around how to solve my problem and I have found the exact location of my concern inside the addon-on code :

here you can read that Modbus Register (or let’s say Register ranges) are hardcoded
for example from 500 to 536 and from 3500 to 3516

            poller.registerPollTask(500, 36, ModbusReadFunctionCode.READ_INPUT_REGISTERS);
            systemInformationPoller = poller;
            poller.registerPollTask(3500, 16, ModbusReadFunctionCode.READ_INPUT_REGISTERS);
            energyPoller = poller;

This might be enough for most people but with more complex Steibel Heatpump it is sometimes required to have more registers to be pulled.

I also have found here all the Modbus definitions for WPM system, WPM3, WPM3i

For example would like to read and graph :
30588 Raumisttemp-HK2
30589 Raumsolltemp-HK2
30592 Raumisttemp-HK3
30593 Raumsolltemp-HK3

32509 Heizkreispumpe1 Status WPM - Heizkreispumpe 1
32510 Heizkreispumpe2 Status WPM - Heizkreispumpe 2
32511 Heizkreispumpe3 Status WPM - Heizkreispumpe 3

32512 Pufferladepumpe1 Status WPM - Pufferladepumpe 1
32513 Pufferladepumpe2 Status WPM - Pufferladepumpe 2

32521 MischerAufHK2 Status WPM - Mischer HK 2 Auf
32522 MischerZuHK2 Status WPM - Mischer HK 2 Zu
32523 MischerAufHK3 Status WPM - Mischer HK 3 Auf
32524 MischerZuHK2 Status WPM - Mischer HK 3 Zu

I already use a workaround to this issue by adding each channel as a separate Modbus read query and then add the channel, it works.

My question would be how to maintain the Modbus add-on list so that we can all reuse the code regardless of our distinct physical setup.

Maybe a realistic feature would be to add a csv definition as file ?
alternatively make the hardcoded query range bigger so it would pull everything, user can then decide to link channels or not

Hi all
I have seen that there is already an Enhancement Request 12773 that fits somehow to my changes. I think I will create a branch for this request.

I have added multiple new thing types to the existing “Stiebel Eltron ISG” add-on.

  • Stiebel Eltron Heat Pump (WPM)
  • Stiebel Eltron Heat Pump (WPM3)
  • Stiebel Eltron Heat Pump (WPM3i)
    Temporarly for testing or even for final version
  • Stiebel Eltron ISG+ SG Ready Version 1 (Energy Management Settings + System Information)
  • Stiebel Eltron ISG+ SG Ready Version 2 (Energy Management Settings Only)

As I have only WPM3i with a ISG+ (but no SG Ready input values) I cannot test all input values.

So please help and comment.
Link to OneDrive, where 3.4.2 and 4.0.0-snapshot can be downloaded for testing is available in the above enhancement issue.

Short question: Is it possible to connect direct to the WP via RS232 without the need of the ISG?
Thank you for your reply

Hi Christian
I’m not sure if you ask me or Peter.
The add-on “Stiebel Eltron ISG” I’ve changed, only works with an ISG as the name says.


I just managed to install the Stiebel Eltron addon and I can read out the values from my STIEBEL ELTRON Wärmepumpe WPL-A 07 HK 230 Premium hybrid set. For room temperature control I have installed a FET.
What I see from documentation, I can only get Roomtemperature readout for the FE7 and FEK, but not for the FET. Is that true, or ist there any chance to read also the FET values?
The FE7 and FEK values only return a 0.

Hi Holger
Thanks for input.
I have checked the Software-Documentation of Stiebel Eltron (SW Extension for ISG - Modbus TCP/IP).
It only mentions FE7 and FEK set and actual temperature.
In the instruction manual of FEK(2) and FET I found that both are connected directly to CAN-Bus.
FET looks like a new version of FEK2. So I’m not sure, but I could imagine that FET settings are reflected in FEK.
I don’t know, why both values are 0. I cannot check myself as I don’t have any these remote controls attached to the heatpump.
Maybe you manage to check yourself the registers directly on the ISG using the QModMaster tool.

Thank you Thomas for your reply.
I am not sure how I could find the FET values on the Modbus without knowing the correct adress. At the moment I assume that Stiebel Eltron did not (yet?) implement that on the Modbus.

Hi Holger
I ment that you could verify with QModMaster what values are reported for FE7 and FEK.
Question is: do you have a FE7 mounted to the heat pump?
Yes, I also assume that FET is not visible. I just thought as FEK(2) and FET look similar and are connected the same way to CAN, it could have been possible to see these values on FEK place.

No, I have no FE7, only the FET.