Background (short: I am buthurt)
I have bought a product from one of those providers that really REALLY annoys you, and that I’ve decided to try to work around.
LK Systems is a pretty expensive provider of water carried floor heating, in at least the Nordic countries. My system cost me 15,000 USD for just one floor. They got a thermostat in each room which sends out a temp with 433mhz to a central that adjust the waterflow. I paid the contractor like 800 USD for the central and 70 USD for each thermostat.
The central got a USB port. IF I buy their LK Systems Mem Stick for 80 USD I can download information from the central.
I can also get LK WEB Server for around 400 USD — that will do the magic trick of getting the information from the central to the World Wide Web (if I hook it up with an Ethernet cable)… This wasn’t standard and enough is enough.
In this project I will try to get the data from the darn thing and into Home Assistant, I am not paying them a cent more…
What do we have to work with?
I got (1) the USB port and (2) a BUS port, which possibly is the best bet I got to work with, or maybe that is just for steering the darn thing.
I’ve found information that their BUS port is compatible with Modbus protocol RS485/RTU for commercial properties. This could be my fortune. I’ve also found this info for commercial properties:
So what’s the difference between LK and Uponor comparing their hardware?
There is a integration in HA for Uponor, link: dave-code-ruiz/uhomeuponor: Custom Component to connect Home Assistant with Uhome Uponor Smatrix App (github.com)
It seems that that connects locally to Uponor R-167 gateway. I assume R-167 is something like LK Webserver ICS.2. I am also using LK Webserver ICS.2 and it just feels like an easier way of pulling data from that then trying to integrate it with modbus RTU. You can also login to the LK webserver locally but where to start
So winter is fast approaching and I’m curious if anyone have made any progress with this? I have two LK ICS.2 units (one master and one slave) but I don’t have the web server unit.
Do we think it’s possible to send data from the Lk unit to home assistant with modbus or something else?
I’ve not prioritized this project, but during the summer I did a similar thing with BMS for a solar battery and it was straight forward. Unless I am missing something it’s possible to just piggyback of something like this project with the above data for the LK communication:
I think you are the same person that I just answered at byggahus.se but I’ll just type it in here to
I emailed LK systems and got their dokumentation about the modbus interface, was planning to run it with a ESPHome setup since they have native modbus support.
I have a setup with a USB to RS485 adapter from Amazon. Works fine with the Modbus integration. I can control the thermostats and read room temperatures etc.
Pymodbus: lk_gulvvarme_modbus_dongel: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)
This error indicates that no data is received on the modbus. It can also be that nothing is sent so the LK controller doesn’t send a response. It is probably a cabling or connection issue. Your settings look OK even if they are difficult to verify because the leading whitespace is removed. You can avoid that by selecting the code part and pressing </> or ctrl+e
I’m working on a Node-red flow that publish data to MQTT and uses auto discovery in Home Assistant. Currently it is work in progress, will post here when I have something ready for testing.
The NR flow communicates over modbus and tries to map values for sections and zones defined in the system. The goal is to only publish defined sections and zones to MQTT but in the current version everything is published to MQTT and discovery will mark the entities as available if they are defined. So currently you end upp with a lot of entities in HA.
My LK setup is two 8 channel ICS.2 paired wirelessly within my house. I’m running modbus to the master central unit (called Section 1) and get data from the other one called Section 2.