New binding for Wolf heating systems connected via an ISM8

I’m using openHab for some years and I like very much the principle. All my devices are mainly connected via KNX. This year I have built a new house and installed a new instance of openHab for this house too.
I have chosen a Wolf heating system and looked into the options to integrate this into openHab. The existing bindings of the e-bus did not really fulfil my needs as I’m running openHab on a Synology and I didn’t want to add a separate device for creating the physical connection to the bus. Therefor I was ordering the official Wolf ISM8 card. This card connects the internal e-bus of the heating system to the network. This card is originally designed to be used with an object server, which receives the values from the heating system and maps this info to the KNX bus. As I did not want to have all the information on the KNX (and save the money for the device), but only within openHab, I was looking into the option to have this directly integrated. After reading the manual (https://www.wolf.eu/fileadmin/Wolf_Profi/Downloads/Montage-Bedienungsanleitungen/Regelungen/Zubehoer/3064356_201611_ISM8i_Montage-u.Bedienungsanleitung.pdf) I was doing some basic tests and it didn’t look too bad.

I’m an engineer and from time to time writing technical software (mainly in Windows / .NET), but not that much familiar with Java. Thus I was creating a prototype in .NET and after a short moment I was able to send and receive values from my heating system.

After having this achieved I went straight forward and migrated this into Java. I ran into some difficulties, but finally have my first own binding running and working. Yippee!

I was just asking myself if this binding is in interest for anyone and should/can be somehow made public?

In case yes, what is the normal way of doing it?

I’m sure that that the code needs some review as I was just converting from C# and changing only those things not acceptable by the compiler. Especially the handling of the bytes was in a generic list in C# much easier. I didn’t found a good replacement due to my language skills and used very much a ByteBuffer instead.

Thanks in advance for your feedback,
Hans-Reiner

Always, post away

You can use the market place
Or post a pull request on gitHUB (Your code will need to be reviewed)

Thanks for your reply.
I have created the pull request.

Hello Hans,

I also have a Wolf heating system (TGS-24/200) and I’ve always wanted to integrate it into my openhab setup. My openhab is runing on a Raspberry PI and I have no knowledge of KNX so I’m looking for a simple solution.
I was thinking of changing the thermostat by a new one such as the one of Netatmo and use the Netatmo binding for the integration. The issue with this solution is that an internet connection is required as integration is done in the cloud using API. Now, it would seem that a solution could be to use the ISM8 module and the binding that you developed. Are you happy with it? Does the module speak directly with openhab without internet connection?

Thanks
Gaetan

Hi Gaetan,

the ISM8 works without any internet connection. The card does send to a configurable partner the values of the heating system (as well as water heater and air exchanger) in case the data points are changing. In the PDF (listed in the initial description) you can find the supported data points.

I have openHab installed on a Synology. The binding require a TCP/IP connection as it opens a port and listen to incoming messages. In the web page of the ISM8 card, you need to set the IP of the receiving partner. This is the Synology NAS in my case, but in your case, you need to set it to the IP of the Raspberry.

There is no need to have a KNX system within your setup. The card is using the KNX-IP protocol to send the data points. The binding discloses all available data points as items in order to use them wherever you like (sitemap, rules, persistence …).

The ISM8 binding works so far fine, as I did not find any issues. The binding is now running for 3 months without any problems. I’m using the binding to change the set-points of the hot water and changing the operating modes. Next to this did I enable within openHab the persistence for some values in order to monitor the heating system. I’m not a heating system specialist and can’t tell you if the interface is compatible with your system.

I have created a pull request. You can download it and install it on your Raspberry.
Please check the link below:

Best regards,
Hans-Reiner

Hello Reiner.
Where is the place for the download of this binding?

Dear Stouni,

currently the binding is only available as source within the pull request. You can download the source and compile this locally (the link is in the previous post). It isn’t that complicated and descripted here https://www.openhab.org/docs/developer/.

After successfully compiling you can add the jar file and into your openHAB addon folder.

Best regards,

Hans-Reiner

Dear Hans-Reiner,

your binding would be very helpful for my openhab setup (at the moment still 2.5) - however, trying to make the jar locally I had errors (“could not resolve dependencies”, “missing artifact”). Would it be possible to include the jar into the distribution?

Best regards and thank you, Armin

Hi Armin,

the ISM8 binding is already part of the addons. You should be able to select the binding from your setup when adding a binding. Please check this and let me know if this isn`t available.

As alternative you can download the official Add-Ons for 2.5 (https://openhab.jfrog.io/artifactory/libs-release-local/org/openhab/distro/openhab-addons/2.5.12/openhab-addons-2.5.12.kar), extract the jar file (openhab-addons-2.5.12.kar\repository\org\openhab\addons\bundles\org.openhab.binding.ism8\2.5.12\org.openhab.binding.ism8-2.5.12.jar) and copy the JAR to your addons folder of your OH setup. To extract the KAR file you can you 7-Zip or probably WinZip, WinRar or any other tool.

Best regards,
Hans-Reiner

Hi Hans-Reiner,

many thanks for your friendly support - after downloading the jar file from the backup I could install it manually, add your demo app to my configuration, and it is working like a charm without any problem! Nevertheless, Paper UI is still showing the binding as installed and also as to install …

Thank you for your work and best regards, Armin

.

Hi,

sorry for pulling this thread out of history. Installed the binding today and started adding all needed channels. Works pretty well. There are some Channels which have a KNX Data Point “DPT_ActiveEnergy”. This data point seems not to be selectable while adding channels to the binding.

Maybe i’m missing something? Is there a chance to add those KNX Data types to the binding?
Those data points are mostly all related to the solar part of the wolf heating system.

Regards

Boxson

Hi Boxson,

good to hear that the binding works so far.
You are right, there are not all possible options implemented and the ‘DPT_ActiveEnergy’ is one of them. I did implement the most used ones (at least for me :slight_smile:), but it shouldn’t be too hard to add them. For sure, you did nothing wrong.

The following work-a-round for this specific datapoint may work. Please try to configure the type=“13.002” instead of “13.010”. This has a wrong factor, but the native datatype is the same (PDT_LONG). You only need to multiply the result by 10.000 and then it should give you your energy in Wh.

Unfortunately do I not have the Solar system from Wolf, so I cannot test it, but if you could test the work-a-round, then there is a good chance to add this DP and push a new version of the binding. Which version of OpenHab are you using?

Best regards,
Hans-Reiner

Hi Hans-Reiner,

thanks for you quick response. I added all my channels via configuration at the item within the openhab ui. To set the type 13.002 i need to create the channel by file?

I’m using the latest Relase version of openhab (3.3.0).

best regards

BoxSon

Hello BoxSon,

you can also configure this via the configuration dialog by selecting ‘DPT_FlowRate’ (should be in read-only DataPoints). Obviously configuring via config file works as well.

Best regards,
Hans-Reiner

Hi Hans-Reiner,

after upgrading to OH 3.3. the binding is not sending values anymore.
It is marked as “Error: Handler” instead of “Online” in the things list, the thing entry starts "Status: Unitialized HANDLER_CONFIGURATION_PENDING {type=Der Wert 1.001 ist nicht in den erlaubten Optionen enthalten. … "
Do you have any hint for me to get it running again?

Thanks in advance and best regards, Armin

Hi Armin,

to my knowledge is the binding working well. My setup runs still on 2.5.x as I’m running this on my Synology natively. Anyhow, BoxSon did this week confirm that he is running 3.3 and the available values are received.

I’m suspecting something in your setup. Did you change the host or any network configuration? Please remember that the ISM8 is sending the information to OH. Thus, the IP of your OH system must be entered into the ISM8 configuration. Please open the webpage of your ISM8 card and check if the IP matches your OH system.
In case this is correct then you can go deeper into the diagnostics by using shell. You can set the logging level of the ISM-Binding to debug to receive much more information about the communication. Please check the following documentation to get familiar with the console (The Console | openHAB)

  • Please open any SSH console and login into your OH system as descripted in the link above.
  • Set the debugging level by typing the following command ‘log:set DEBUG org.openhab.binding.ism8’
  • Enable on-screen-logging by typing the following command ‘log:tail’
  • Check the log output for the ISM binding.

Intereresting information is something like:

  • Waiting for connection in port … (Means the ISM Binding is waiting for you heating system to connect)
  • Connection from Partner established (Means your heating system is connected)
  • Data received: … (Means the heating system did sent some data)

After having the trouble shooting completed you should set the logging level back to info to not keep logging into the log file.

  • Please the SSH console again and login into your OH system if not still open.
  • Set the information level by typing the following command ‘log:set INFO org.openhab.binding.ism8’

If you have difficulties to interpret the log information, please share the entire log file.

Good luck,
Hans-Reiner

Hi Hans-Reiner,

tried that today. After saving the new channel with DTP_FlowRate and a JS-Transformation to multiply the incoming value by 10.000 the whole binding stopped working. The Binding was shown as offline.

Restart of openhab server also didn’t make the trick.

After i’ve deleted the new channel, all information from ism8 where coming in within seconds and we are back to normal :).

Any Idea what could cause this?

Regards

BoxSon

Hi,

I’m using the ‘DTP_FlowRate’ for my air exchanger, so in principle the DP does the proper converting. Thus, there might be 2 options:

  1. Converting of ‘DTP_FlowRate’ is different to ‘DPT_ActiveEnergy’. I’ll have a closer look into the protocol definition within the Wolf manual. Some days ago this looked pretty identical, but I may looked too fast :slight_smile:
  2. The JS translation causes the issue

Did you try to add the channel without the JS transformation?
If not, could you please check the log file to understand the root of the issue?

Best regards,
Hans-Reiner

Hi,

looks like i had a hickup somehow in the channel. If one channel fails, the binding stops.
Deleted the channel and readded it.

After 30 minutes of waiting i saw a value now for “Tagesertrag” (195). The value seems a bit high for me :slight_smile:

Bildschirmfoto 2022-11-06 um 00.22.42

The wolf manal says that the value for this should be “wh” and i recieve a value of 3.2768. Looks like i don’t need the multiplier of 10.000 for this data point?

There is another one with “DPT_ActiveEnergy_kWh” (Gesamtertrag, 196). Will try if the workaround also works for this datapoint and let you know.

Hi Hans-Reiner,

thanks a lot for your quick response and ongoing support. Perhaps I should have kept with a running system instead of upgrading also. Neither IP nor port values were changed in the thing configuration (text form as in the binding documentation) or in the ISM8 card configuration, also the ISM8 card is reachable.

I’m suspecting the setup also instead of the binding. With the debugging level set I made a reboot, ism related log entries are attached.

Best regards,
Armin
binding.ism.log (8.3 KB)