New binding suggestion: Wavin AHC 9000 / Jablotron AC-116

I have been doing some more testing and I suspect there is some issue with the “mode” item: I have two thermostats. When Openhab starts, one reports mode 4, the other mode 12. In both cases changing ManualTemp updates both DesiredTemp and the display of the thermostat (and vice versa).
If I change Mode (e.g. from 12 to 4) no commands seem to go from Openhab to the controller - and that goes for both thermostats, including the one that I did not change. openhab still updates AirTemperature etc., but it’s one-way from the controller. It does not matter if I change Mode back to the original value. The only way I have found to reset and get it working again is by rebotting the RPI that Openhab is running on.

Anyone else that either has Mode working or is able to reproduce/confirm my findings?

/Thomas

Can this be done while having the binding on the same bus?

Hi’ everyone,

I have been watching this space for a while and with great interest been reading about the development.
Currently I’m in the same situation where I want to access my Wavin AHC9000 actuators. I also have a Nilan Compact P ventilation system, which I also wanted to be able to monitor / control.

This morning I came across this Nilan product site and wanted to share it with you (sorry it’s only available in Danish).
http://www.nilan.dk/da-dk/forside/loesninger/boligloesninger/nilan-smart-controls/nilan-connect

Under the pane “Tilbehør” they list the AHC9000 and the Jablotron JA-121T RS-485 BUS-interface as subcomponents for the Nilan Connect.

So apparently Nilan Connect has a connection to the Wavin AHC9000 via the JA-121T RS-485 BUS-interface.
I thought that this might give some insight.

If all of this is known stuff, I’m sorry - and I will delete my post.

At least, this looks as a durable solution for me.

All the best
/Martin

Hello all,

I started recently with opnehab and read through this saga over the past 2 years with interest. With your messages and guidance above i was able to run both the python script as well as zmartify’s binding.

I have however seemingly simpler and silly problem. I only have the Wavin mother unit (+ a bunch of thermostats) and no screen or any other manual - only bits and pieces. Does anyone have a manual that explains what all those settings exposed by the binding might be? English preferred but Danish will do as well. It seems to me Wavin only have some youtube videos…

Regards and thanks for making this!
Boyan

Hello,

I’m starting out trying to make this work as well, just ordered the USB-serial adapter @spiff42 mentioned in post #22. Completely new to openHAB, much more experience in home assistant.

@katerica you may have a similar setup to mine - I have the 16 zone control box and around 8 wireless thermostats - is there anything I can help with explaining? Do you want to know about modes eg. party, away, manual, on?

Hi @coldstorage,

I think we all have ballpark the same 16 channel mother unit with various number of wireless thermostats - in my case 5 where one of them controls two valves for a bigger room.

From the info on this port and scarce manuals online i figured out the basics but i would really like an actual manual - even if for the screen people describe - so i can match what i see from the binding to an understanding of what the system can do.

So far i figured that my system most likely ran on manual mode where i set the temp from the thermostats and that’s it. But i still struggle to understand how is desired temp is different from set temp in the binding for example… and i have no clue about party modes but i want them! :slight_smile:

I run my OH2.4 on a docker container on an old synology NAS and had some adventure passing the RS controller but it worked. If someone is stuck with this i can help.

Cheers.

Would appreciate help once my serial adapter arrives - I’m sure it won’t be straightforward!

The only manual I could find for the AC100LCD (in czech, needing translation unfortunately) https://www.jablotron.com/cz/o-jablotronu/ke-stazeni/?filename=AC-100LCD.pdf&do=downloadFile

But the modes are better described in the manual for the wireless thermostats TP155: https://www.hep2oufh.co.uk/wp-content/uploads/tp-155_en_mmc51701.pdf

I wonder if your thermostats are non-programmable then, if you only have manual control? Regardless, I think the second link will shed some light on the modes available. And re: desired temp vs manual temp it seems you are supposed to update manual temp/party temp/away temp and then desired temp should magically change itself to reflect the mode you have selected

And a manual for the control centre as well which looks useful https://www.hep2oufh.co.uk/wp-content/uploads/4338-mcr-hep2o-ufh-16-zone-control-centre-pim-uf462-web.pdf

Thanks a lot! I seriously lack Google skills it seems ;). But this is exactly what I had in mind.

If it’s help to anyone I use this USB to modbus controller : [DSD TECH USB zu RS485 RS422 Konverter mit FTDI FT232 Chip Kompatibel mit Windows 10, 8, 7, XP und Mac OS X https://www.amazon.de/dp/B07B416CPK/ref=cm_sw_r_cp_apa_i_wzosCbVBJAXZX](DSD TECH USB zu RS485 RS422 Konverter mit FTDI FT232 Chip Kompatibel mit Windows 10, 8, 7, XP und Mac OS X https://www.amazon.de/dp/B07B416CPK/ref=cm_sw_r_cp_apa_i_wzosCbVBJAXZX)

I dont think it matters which one it is as long as it has the ftdi chip since this makes it easy under Linux.

Cheers

The FTDI chip has an automatic RS485-transmit-enable output, which means there is nothing special that needs to be done on the PC side (such as fiddling with the modem control signals). Other chips may have it, but I don’t know them. Some boards implement the TX-enable with a little logic, but that will most likely only work for a certain range of baud rates. Sticking with FTDI seems the easiest.
The adapter I linked to is opto-isolated, so there is less risk of damaging either PC or Wavin controller due to ground potential differences.

Regarding the desired temp, I believe it simply reflects the selected temp (based on mode). That would normally be the “Manual temp” (until you start changing modes to standby, party, etc.)

Unfortunately, I don’t think the mode selection works correctly in the binding (at least I have not been able to make it work, after spending quite some time). I would love to be proven wrong.

If I don’t mess with the mode, but only use the Manual temp, it seems I can both set (from OpenHab) and read the thermostat setting. And reading AirTemp works fine as well (I have the wired thermostats without floor sensors, so there is not much else of interest).

Thanks for the clarifications @spiff42! I agree the converter you recommend is better.

I can also confirm i can do the same behavior with 5 wireless thermostats (no floor sensors as well). I got tripped in the beginning since the system seems to be very aggressive with power savings and the thermostat updates are not at all regular so it was looking like nothing is happening.

So now i have something decent working and I am temped to just drop it but… may be just ask few final questions for @zmartify:

  • do you plan to publish this binding officially with the next (2.5) openhab release, whenever that might be?
  • how can we help to get the whole thing working - modes and all? Or perhaps we can help write better documentation?

Hi Guys

Pretty new to the whole openhab world but i think i’ve managed to hook up the binding - however
When i search for new “Things” using the binding i find only “slaveX” where X is the unit address i set in the config for the serial controller - doesn’t matter if i use AC-116 = 1-7 or Nilan

Does anyone have any clues or am i just missing something super basic?

Regards
zeb

Isn’t slave X the bridge (=the wavin mother unit)? You need to install that one and you should start seeing all thermostats and valves.

I finally got around to persisting Wavin readings in InfluxDB and creating a Grafana dashboard. Unfortunately, the margins used on the regular graphs and the ones created with the “discrete” plugin are not the same, so I could not line up the time perfectly. Would have been even better to have them in the same graph, but still this is quite nice, I think.

I still have a lot of Recv timeouts in the log:

2019-03-06 07:51:07.190 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:52:10.107 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 402 minimumLength=5 respIndex=0
2019-03-06 07:52:10.712 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:52:27.081 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:55:02.493 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:55:05.182 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 406 minimumLength=5 respIndex=0
2019-03-06 07:55:06.266 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:55:06.876 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 406 minimumLength=5 respIndex=0
2019-03-06 07:55:14.638 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 406 minimumLength=5 respIndex=0
2019-03-06 07:55:21.275 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 405 minimumLength=5 respIndex=0
2019-03-06 07:55:26.938 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 405 minimumLength=5 respIndex=0
2019-03-06 07:55:39.828 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:56:06.557 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:56:54.648 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:57:02.405 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:57:11.970 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:58:15.368 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:58:27.431 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:58:40.339 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:58:43.975 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 405 minimumLength=5 respIndex=0
2019-03-06 07:59:35.130 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 401 minimumLength=5 respIndex=0
2019-03-06 07:59:41.723 [WARN ] [rtmodbus.handler.ModbusSerialHandler] - Recv timeout : 406 minimumLength=5 respIndex=0

Can anyone here comment on whether they see the same? This is with less than 2m of CAT5 cable, and terminated at the PC end.

Hi @spiff42,

Nicely done :wink: looks very pretty.

I see the same warnings and without the source code I am not sure we can figure out what it is. I checked @zmartify’s GitHub repos but none of the public ones seem to include this binding…

Short of making our own I think we might have to just live with these.

Cheers.

Hi,

Has anyone tried enabling holiday mode for wavin? If possible I’d like to invoke when back door sensor detects the door is open…

I did at one point try to get the modes working, but without success. As far as I remember, trying to change the mode resulted in the binding communication not working correctly anymore, until the binding was restarted.

For your application, I guess you could just make a rule that saves the old setpoint, and lowers the setpoint as long as the door is open.

Since there has not been much word from @zmartify, I guess the chances of getting the various bugs in the binding squashed are slim. “Unfortunately” the current binding works well enough that writing a new (open source) binding is not high priority. But if someone wants to take on that challenge (or at least participate), I will certainly support it as much as I can.

Cheers

Hi Mikkel,

I’m very new to OpenHAB and would very much like to give a try. I have Wavin AHC 9000 system with wired thermostat in the house, and as a first step I’d like to read room temperature and set target temperature from OH. I’m a Java developer only work on high level things so no experience with embedded system. I know it’s probably a big ask, but would you mind to write a little tutorial on the hardware setup incl. which board, wiring, and maybe configuration step by step? It’s probably also good to summarise what works and what doesn’t so others might be able to continue the project.
PS: I found another project on Github which provides MQTT impl. for controlling the device using something called esp8266 (https://github.com/dkjonas/Wavin-AHC-9000-mqtt) It is made for HA but can potentially used for OH, has anybody tried that?

@somy,
Sorry, I don’t really have time to write a tutorial. Your best bet is probably to read through this thread, as most of the information is scattered around here.

If you are not comfortable with the hardware side, my suggestion would be to buy the isolated USB-to-RS485 I link to in post number 6: New binding suggestion: Wavin AHC 9000 / Jablotron AC-116 - #6 by spiff42

Please note that there is probably quite long shipping time on this particular converter. If others have experience with a different converter, which is easy to get working, please pitch in. The cheap, unisolated ones with FTDI did not work reliably for me (at least not before modifying it with some biasing resistors and changing the RS485 driver), so I cannot recommend those.

Apart from that you need a cat-5 patch cable with RJ45 connectors (a few meters will do, depending on how far there is between your AHC9000 and the computer running OpenHAB). And of course a few tools to cut the cat-5 cable and connect it to the screw terminals.

Once you have the hardware, come back again for advice if you need it.

Since @zmartify has not released the source code for the binding, it is difficult to continue the project. This also means that it could stop working with a future OpenHAB version

The only things I have working is reading the temperature sensors, setting/reading the manualTemp (setpoint), and reading whether each channel/heating circuit is active (persisted in InfluxDB and graphed with Grafana to get the graphs shown in post number 94 above: New binding suggestion: Wavin AHC 9000 / Jablotron AC-116 - #94 by spiff42)

This solution should be more flexible in regards to getting e.g. modes working (at least the source is available). I also like the fact that it is powered from the AHC9000 controller. But I think it requires some familiarity with hardware/electronics, since you have to solder the parts together yourself.

Thank you! Hardware ordered now, I will write back when I receive it (about a month from now). I could help with the Java project but need to get myself familiar with OH first :slightly_smiling_face:
Now I will have one month to crack Nilan CTS700, enjoy the summer!