Haverland Radiators Smart Box Integration

Aside from the intriguing tech, the makers of Smart Box seem to have a cool business model: they don’t make smart things, but rather make things smart for an industry that seems to be made up of many small companies manufacturing great products. Very clever. Good luck with the script!

Hi all,

Any update? I’m very interesting in this integration.
Thanks in advance!

I have spent some time at this but I’m really not a coder. I’ll try and make some headway over the Christmas break

Hi everyone,
I have a similar radiator that is produced by Haverland to a big retail chain (AKI / Leroy Merlin) which they brand it as Equation.
I had 4 older models at home that work very well with a normal smart plug just to turn on and off (since it keeps the last state) but one just stopped working under worranty and they gave me the new model that doesn’t work well with the smart plug (since it simple loses the configuration). I didn’t want to spend money in the smartbox just because of one heater… so like mentioned here in the forum there must be a way that radiator comunicate with the smartbox… if we can intercept then there is no need for smartbox.

Anyone has any ideia?

The rads communicate with the smartbox on 868mhz. You would need some sort of hardware to read/write from HA to the rads. I had looked at RFLink but they don’t specifically mention these radiators on their device compatibility list.
It looks like it is possible to use the radiators with a Deltadore box and integrate this into HA. I don’t have the hardware so can’t confirm.

Was checking the manual and it says that after 30 min off it loses the hour (but not the other config) which is a pain since radiator will not work until you set the hour gain (that is why my smart plug solution doesn’t work with this one (unless I turn it on and off every 29 mins :expressionless: )

I was hoping it was something my RF bridge would get but no :frowning:

I hope you’re keeping well!

I haven’t a minute to look at this recently. I just got the script up and running and had to change some brand specific sections to get it to run. It turned out to be a bit of a pain!

I was trying out passing some payload messages to the the radiators but can only seem to control the state and not the temperature. Do you have a sample of the configuration for HA?

This is working really well now. I had to manually add 2 more radiators to the scripts and update the variables.

I am running the script in a VM that needs to continuously run. It would be great to get an integration in HA. I’m not sure how to go about that.

Thanks for your work

Can anyone assist in getting the custom component off the ground? The current script runs really well but it has to run on a separate device. It would be great to get this loaded in HA. My coding skills are very limited but I will help in any way I can.

Hi @davefrooney, I have been experimenting with HA for only the past two months, but found it very useful in comparison to my old setup.

I found this topic just recently - I have Lucht LHZ heaters that use the same SmartBox type device.
I have played with the python script from @nicky’s github repository today and was able to access my heaters just fine (with light code tweaks here and there).

I am writing to you because I might be able to spend some time on experimenting with this - I am still learning a lot about HA / mqtt / python, but I have professional development experience with other technologies, so I should be able get up to speed quickly.
The current script is fairly heavy handed with hardcoded parts - which is expected for code that was written to find out if it will work at all - but in order to write a proper HA add-on will require a little more proper coding (and more generic approach to handle the few nuances with respect to different heaters and variations in their features).

I was wondering if you could share the current version of the script that you are running, as well as the HA configuration / ui elements configuration part. It would help me to quicker understand all the elements that make it “tick”. I would than try to look into some of the existing add-ons to understand where these elements would “fit”.

I am not promising to deliver anything, but if I find the time I believe I have the necessary skill set to properly integrate this.

Hi @dadoj thanks for getting in touch. You can see my script on github https://github.com/davefrooney/lhz/blob/752b44496d2f49e6c8926005272c835bf6d0ed4c/climate.py

I have taken some of the hardcoded elements and added variables to the script instead. You will see from my script that I have 4 radiators. I had to add all for of these but I am sure there is a simpler way to do this without all the repetition.
My configuration looks like this. The number increments by 1 for each radiator

  - platform: mqtt
    name: Living Room
    modes:
      - "off"
      - "heat"
      - "auto"
    min_temp: 5
    max_temp: 30
    temp_step: 0.5
    precision: 0.1
    retain: true
    qos: 0
    payload_on: on
    payload_off: off
    payload_available: online
    payload_not_available: offline
    current_temperature_topic: HAVERLAND/devs/htr/2/status
    current_temperature_template: "{{ value_json.mtemp }}"
    temperature_state_template: "{{ value_json.stemp }}"
    temperature_command_topic: HAVERLAND/devs/htr/2/temperature_command
    mode_state_topic: HAVERLAND/devs/htr/2/mode_state
    mode_command_topic: HAVERLAND/devs/htr/2/mode_command
    power_command_topic: HAVERLAND/devs/htr/2/power_command

I don’t think it is necessary to use MQTT to control the radiators. I think API calls might work better.

I hope this is helpful to you. Let me know if you need anything else from me

Thanks

Hi @davefrooney, thanks for the detailed info.
Just a quick heads up - I have made some progress with the smartbox API (or rather the server api). I only need username / password and heater brand (lhz / haverland for now) and I fetch the device id and the heater list automatically.
But more importantly, I am now able to use the socket.io interface they use in their web app as well as their mobile apps. This gives us an open connection that feeds the updates as they happen (heater status, setup, program as well as measured temperature). However, there is no proper support for socket.io 2.0 in python, so I had to switch to a different language.

I assume you must have been running the original script repeatedly to poll the status of all the devices as well as pushing the requested changes. This takes care of that.

It will take some time to build around all this and then write the code to make it talk to home assistant.

I am still considering using mqtt as an intermediary - it would allow for other system interaction with the smartbox, not just home assistant. And since there is a climate entity for MQTT already, it seems rather reasonable. But I am open to hearing your (or others) thoughts on this.
Alternatively, a HA integration could then be built around mqtt to provide device discovery and automatic creation.

That’s great news. Thanks for all your input.
I find that the radiators temperatures don’t update often with the current script so I thought this might be an MQTT issue. I am open to whatever works best. Your solution with socket.io seems to be the best way forward.
I think an integration would be ideal but if it can interact of MQTT then it should be ok. Would it still need to run on a separate device then?

Hi @dadoj Just popping you a message to see if you had made any further progress on this. I’m excited to see how things are coming along

Hi @davefrooney, yes I have. Not much free time to spare, but I have made progress. And I don’t plan on giving up - just bare with me. I want to deliver a functional add-on.

1 Like

Excellent news! I’m really looking forward to seeing it in action. Thanks so much for all your help

I’ve been scanning the web periodically to see if there was anyone else integrating Lucht LHZ heaters into their home automation setup. I have the older “smart” Delta Dore-based thermostat modules on my heaters, with a physical thermostat that speaks the RF protocol. I have also bought an RFlink 868MHz box ready to speak the Delta Dore RF protocol once it was supported by RFlink, as I too had seen Delta Dore mentioned in the RFlink release notes but there doesn’t seem to be much forward movement with that ecosystem in the last 3 years.

I have been considering upgrading the thermostats to the more recent smart hub based model (assuming that this is possible as it really should be just replacing the thermostat module) but was waiting to see if that solution offered a better integration options with home automation systems than via RFlink. Sounds like it does, so I will make enquiries about that upgrade.

@dadoj if I might chime in with an opinion about whether to use MQTT as an intermediary: if the code was structured as a module that presented an API to interface with the smartbox, then both an HA integration and an MQTT integration could be created with the same underlying code. I can see use cases for both:

  • an MQTT interface would allow the server to be distributed and thus made more highly available (both surviving regular HA restarts as well as an ability to run multiple instances across more than one server).
  • an HA integration would allow consolidating all services into a single server, which seems to be what @davefrooney would prefer to do in his setup. Especially important if you are using HA Supervised or HA OS installs where you can’t easily install random additional servers, but you can install add-ons or custom components/integrations.

The other thing I wanted to mention is that writing an integration that can be included with Home Assistant requires separation of code interfacing to the underlying API into a PyPi hosted module anyway, so an API would be a good place to start.

I’ve been recently learning how to write HA integrations, so I may be able to help out on that side of things.

I’ve just come across this looking to control yet another radiator product with HA, this time ClimaStar (https://www.climastar.info/). Their WiFi radiators use the same Smart Box and they have their own branded version of the web app and mobile app, similar to the others already mentioned.

I spent 30 mins digging through the code above and was quite quickly able to get some simple python code working that could talk to my radiators, so thanks for that! I agree with @crowbarz that it’d be better to separate out a simple python wrapper for the API before tackling an HA integration. The code I have is pretty simple, I’ll tidy it up into something reusable and share it. I haven’t got any experience creating HA integrations but would be up for collaborating on this.

Thanks all for the work so far!

Thanks for joining the conversation guys. Things have gone a little quiet here. It would be great to get the API setup for LHZ. I would love to be able to contribute but I’m not much of a coder.

@gr_h_m it would be great to see your cleaner code when you have this completed

I’ve posted an initial version here: https://github.com/graham33/smartbox. The main code is just the Session class and the get_session function, the rest is a command line interface I added to do some simple testing.

A lot of improvements could be made, but it should be enough to get going. When I get some time I’ll try to get an integration going that uses it.