OpenHAB1/2 Nilan heatpump

Nilan CTS 700
Please see this thread Nilan heatpump cts 700
Nilan CTS 602
NEW 2019-04-30T22:00:00Z: OpenHAB2, modbus binding 2.x please see @Kim_Andersen’s post on How to connect Nilan CTS602 modbus interface

For OpenHAB2 with modbus 1.x binding, please see the follow up post number five.
For OpenHAB1 the setup to work with the Nilan heatpump (CTS 602 controller board), using the modbus connection, is following now.

Main Features

  • Read out temperature data from the heatpump
  • Set values like device main power, target air temp, ventilation step, target boiler temp, ...
  • Show charts of the boiler and air temps (requires rrd4j persistence)
  • Automatically reduce the target boiler temp during night time (requires astro binding; use case photovoltaic optimisation)

OpenHAB1 up and running
Bindings: modbus >= v1.8.3, astro >= 1.8.3, rrd4j >= 1.8.3

How to setup

  1. Copy the openhab1 config files (link below) into your openhab1/configurations directory
  2. Alter the modbus connection part of the openhab.cfg, according to your connection to the device (in many cases this is going to be a serial connection, I used a modbus RTU to modbus TCP transceiver)






Boiler temps:

Room Temps:

Boiler NightTime Reduction:

OH 1.8.3 users (like me) should note that they can take advantage of later Modbus binding 1.10
Version 1.9 offered real improvements with serial connections, 1.10 builds on that and also includes new functionality.

It may not matter much if your only Modbus device is the Nilan, but if you happen to have other Modbus RTU or TCP devices as well I would recommend binding update.$org.openhab.binding.modbus/

1 Like

I’m currently working on an OH2 implementation with the new binding.

Please find an OpenHAB2 implementation for Nilan devices at the repository from starze
One is able to start with the vanilla nilan_test.sitemap, which has the fewest dependencies.


1 Like

Have anyone made connection with CTS 700 controller?

Hi Papani,
is your Nilan connected to any of your network (internet) infrastructure, that would shorten things up? Why I’m asking is, because Nilan is talking about “MODBUS Ethernet”[1, page 12].
As a fallback they also mention a “RS485__2 Isolated [RS485]” Port [2, page 12, picture 7] to connect your USB<->Modbus dongle to.

Having the initial Hardware-connection done, you shold be able to talk to the Nilan CTS700 using their, very well specified [1] (respect for that), modbus functionalities.
Best, Nick

Download origin:
[1] 2016-02-17_CTS700_Modbus_protokol.pdf
[2] 2016-10-28_M32_Compact-P_GB.pdf

I have connected my raspi via modbus TCP. Currently I have used Node-red to interface with Nilan. I can read all user register and set some setpoint values. What I can’t use is those admin level register. In that manual there is said that there is some authentication prosedure. I have tested that with admin password but weren’t able to modify those register values. I did ask here because this is only forum where I have find any discussion Nilans modbus connection.

1 Like

Please open a new topic and link it here; We’r going to talk in the new topic.
P.s. post your register 7777 fill strategy (algorithm) and the modbus function code you’r using for that.

Hi Tapani, I also have the cts700 and cannot connect with modbus tcp. Although i can perfectly connect to the Nilan with the Nilan specific software. Can you explain to me how you made your connection?

Seems to work really nice and “installation” was really easy when started right from scratch with openHAB2.

I only had to:

  • install openhab2
  • copy the starze’s great package to \conf
  • enable modbus, astro, rrd4j
  • changed in modbus.cfg
    "serial.nilan_XXXXXX.connection=COM3:19200:8:even:1:rtu" as my RS483 was in COM3.


Some texts are auf Deutsch and some are english. Temperature readings are also x100 too big.

1 Like

Hi Dieter and Tapani,

I am fighting with the same trouble with the cts700. I just get the error code 4 out of all the time. So I would be curious how you made the connection.

Thanks, Guido

Sorry to step in here, but I´m trying to follow this modbus/Nilan thing you´ve going on here.
You all talk about a Nilan heatpump with the CTS 602 control.
I have Nilan ventilation, as well with the CTS 602 control. Does this modbus binding works for that one as well? If yes, how to I connect it to my Rpi3 ? (some USB dongle I suppose, and then some pins).

Btw. I´m using OpenHab 2.2

1 Like

Hi Kim, for me this question is quite offensive. That’s because I put in quite an effort explaining how to achieve a working connection to ones CTS602. On the other hand there is the evidence that you didn’t even take time to read 12 posts inside this very thread.

So… Please… read post #1, there are literally how to’s which should answer your questions.

In the time of writing this the modbus plugin for OH2.2 is in alpha state. Using the legacy modbus_1.11 plugin works ~90% sure.

I wasn´t trying to be offending. I was trying to understand and following this thread, as I have a Nilan Ventilation (Nilan Comfort 300LR) with the CTS 602 control.

This thread seemed to be focused on a Nilan heatpump and a modbus binding for this.
Not a single time is the Nilan ventilation mentioned. I´m not even sure if its the same or not. But reading the cts 602 controle in the thread, it made me think, perhaps this gona work as the Nilan ventilation system I have. I simply wasnt sure, and second could not find any description of how to do this using an Rpi3 and OpenHab2.

Thats why I´d asked. If i knew, or found it obvious, I wouldn´t have asked!

Allright, IMHO as the controller board is the same it could work seamlessly. Sorry, I didn’t get the point that you are owning a ‘Nilan Ventilation’ system.

First: To bring up the communication between your Rpi and the CTS602 please try the link from “How to bring up the modbus communication to the Nilan CTS 602 controller” from above.
Second_Pre: Activate legacy bindings in OH2, Install the modbus 1.11+ addon.
Second: As my suggested solution includes a legacy binding (i.e. from OH1), you need to manually add the items configuration and the modbus ‘things’ configuration to your OpenHAB2 config directory (potentially in /etc/openhab2).

I think I got it covered. I have found an USB to RS485 on amazon. I´ll give it a try when it arrives.
Looking at your screenshot in post #5 above it looks very simular to my Nilan Comfort 300LR readings. My Nilan do have an option to integrate a heatpump as well but its an option and there fore not available right now . So I think its the same CTS 602 controller.

Will post feedback when after testing.

I created a new CTS 700 thread over here.

Where did you get the password, can you tell?

I have received the RS485 USB device today.

I just came to think. I have a picture of the CTS 602 controller print located inside of my Nilan Comfort 300LR.
It´s not quite the same as yours as far as I can tell. Perhaps a newer revision.
So I wondered if you could take a short look at it, and tell me if I´m correct, the interface/pins to use is located at the top left corner of the picture. And there are already 6 wires connected?
(Those wires are probably those connected to a pin interface located on the outside of the Comfort 300. This is where the CTS 602 display panel is connected. And if that is correct the modbus interface is available as well).