Can I integrate Hive Active Heating into HA without the Hive Hub?

I fully reset it with the instructions at the top of this thread and it all paired correctly. I’m just having issues with HA not controlling correctly but it reads temps etc.

Hey @jampez77 did you ever get any more data points for the thermostat’s entities for temp / battery (specifically battery)

I recently paired my receiver and thermostat using ZHA and, so far, it seems to be working great.

The entity with the battery is currently reporting back between 22% and 33% (bounding back and forth). An attribute under that entry shows the battery voltage at 4.8V. This 4.8V kind of makes sense as I’m using 4 rechargeable NiMH batteries that are 1.2V a piece.

4 x Alkaline (1.5V) = 6V fully charged
4 x NiMH (1.2V) = 4.8V fully charged

nimh_vs_alkaline

I created an entity from the voltage attribute so I can track but it’s sitting at 4.8V all the time, although the batteries are freshly charged so I would expect this to be the case with the NiMH batteries as the have a really flat discharge curve (until the knee at the end) compared to Alkaline batteries.

If anyone is using Alkaline batteries could you please have a look at your voltage attribute and see if it’s changing over time. I would like to take this data and make a custom cal-curve for NiMH batteries in HA so that my battery level isn’t always in the 22%-33% range.

Thanks for any input.

Hi,

To be honest I’ve always had trouble with getting the battery data through.

Occasionally when I (re)-pair it will work fine but most of the time they just report 0%

Sorry I can’t be of any more help

Thanks for responding,

That’s interesting. I initially paired it using ZHA and moved to zigby2mqtt because they said they had the battery part working. It wasn’t, and I didn’t like the zigby2mqtt integration because I thought it reported other parts back in a bad way.

When I moved back to ZHA it starting reporting the battery information that I presented above.

I guess I’ll keep an eye on the voltage over time and see if it ever changes.

Hi
Mine using zha seems to update the battery on a reboot of home assistant, then stops. Also it didnt work at all untill the 2022.6 update.

I have successfully paired my SLR2b and SLT3B with Zigbee2MQTT.

The main problem I have is that I don’t see any of the values updated (local temp, running state, etc). Is there anything extra I should configure or should I just write an automation to poll changes, let’s say every 5 minutes?

With great thanks to this thread I’ve managed to get a hive SLR2b and SLT3b added to home assistant through zigbee2mqtt, with a functioning central heating climate entity and a boost button that I have configured to set the temperature to 32 degrees Celsius for 1 hour. I haven’t looked at hot water control just yet but that’s less urgent. I have a couple of questions I was hoping you guys and gals might be able to help with:

  • I have existing temperature sensors in each room, which feed into a minimum sensor, so that my climate entity is usually based on the coldest room in the house - is there a way I can do this with hive or am I tied to using the SLT3b to determine the measured temperature?
  • If I can’t do the above, and pick up multiple additional SLT3b units, can they be linked to the one receiver?
  • My longer term goal was to fit smart TRV’s in each room - has anyone successfully done this with the above setup through z2m? I’m guessing if one of the TRV’s calls for heat I could just trigger the boost at max temperature for as long as needed to reach the desired temperature? Or is there a neater way to do this?
  • Finally, if I do a boost on the SLT3b I can chose the desired temperature and it boosts for 1 hour, and I can do the same using the mqtt topic for the boost button on HA, but pressing the button on the receiver always sets the temperature to 22 degrees (which is probably high enough anyway) but is there a way to override this?

Yes, you can do it. You need to switch the Hive off ‘schedule’ and replace with your own HA based schedule (so you are only commanding the Hive off or on based on your HA logic/automation which can then depend on any temp sensor you like).

I haven’t yet linked my Hive to Z2M (still using the integration) but have completely replaced the Hive functionality with automations within HA and am very happy with it as you can do other things like lower the temp when away etc.

I have done the same for Hot water as well.

Does anyone know if it’s possible to use a SLT3b alone?
I have a SLT3b thermostat with a SLR1b receiver, but I’ve now moved to a opentherm solution (diyless) to control my central heating/water, but the idea would be to still use the SLT3b as convenient human fiscal interface.
I was able to successfully connect the SLT3b to my HA instance thank to the instruction posted in this thread (via a conbee II dongle)

and it looks connected fine HA side (when I press the “identify button” the log seems happy), but the thermostat screen its self shows only a counter with searching:

my guess is that t’s looking for a SLR1b to talk to, but I ditched that for the openthem thingy.

So yeah, does anyone know how to ditch the SLR1b and still be able to use the SLT3b?

Edit:
Meanwhile I connected the SLR1b and, as I expected, the SLT3b turned up and started working.
Well, “working” as for instance the reported current_temperature is quite wrong:
an analog alcohol calibrated thermometer reports a temperature int he room of 20.1ºC, while the SLT3b display says 23.3ºC.
I went around the “Manage Zigbee Device” menu for both devices but I haven’t been able to locate some “set temperature” command nor a way to calibrate it.
Anyone got the same problem?

You’ve answered your own question but yeah they need each other to fully function as they bind to each other.

And if you only have one then the receiver is the better one to have as its the one that supports the meaningful get and set messages.

You can either add both into Zigbee or use a different device (or devices) to measure temperature and make decisions to being on or off.

Does the light constantly blink on the receiver when using it in its own? it did when I tried it, will just cover with insulation tape.

I’ve never used just a receiver sorry to say.

I like having a physical device, so have the stat (well two, one per heating zone).

Hey Unlucio,

How did you get on with this in the end? I’m in the exact same boat - Got the receiver connected via Zigbee then connected the thermostat via the receiver, but much like you the thermostat current temp in HA doesn’t match the current temp on the thermostat screen. It thinks it’s connected but all the values are wrong and there’s no control (i.e. if I increase the temp on the thermostat it doesn’t reflect in HA, if I change the temp in HA it doesn’t reflect on the thermostat). It also shows battery as 0%, which it isn’t.

Any guidance would be massively appreciated

TIA,

Meldj

Just got a Hive Heating & Hot Water Hubless and paired it via ZigBee2MQTT first try.

The confusing thing is, since it’s hubless I was expecting to have a settings menu on the thermostat to change the date/time but there’s nothing, but on initial setup it got these settings correct.

Does anyone who’s had this longer than me know how it gets this info updated and will I have issues when the clocks change/leap years?

I’ve just checked and the clock on my Hive thermostat is correct to the second.

However, you won’t be using it as you’ll be scheduling through HA :slight_smile:

2 Likes

Mine has the correct time and has been setup this way for a while so it’s all good.

You can still use the schedule feature built into it if you prefer and when you want to revert to schedule you set it to “Auto” in HA.

It’s not a clean method and it would be great if the Thermostat had an method to update the schedule from HA but no such luck.

It does exist as its supported when you go with a Hive hub but they must not have implemented the schedule being set in Zigbee only that info related to the schedule is sent from the “stat” to the receiver and it seems to happen frequently.

I do wonder if you clear the stat schedule and then push Zigbee messages in the format seen what happens.

Thanks @jchh and @itinerantmarshmallow, I’m guessing it might be a radio/atomic clock in the thermostat as no other way I can think it’s getting this updated.

I intend using mine in a bit of a hybrid, with the Hive Thermostat controlling schedules as I never change them, at least to start with. I’ll use HA for occasional boosting the hot water/heating for easy access compared with running to the thermostat and pressing the button.

I edited my message, using schedule is fine. It will be Auto in HA.

Then use HA purely as a quick way to disable / enable heating.

You can also look at how boost is sent in Zigbee and copy it via an automation trigger if you’re good with Zigbee stuff (I’m not ha).

1 Like

Just to add some info, here’s an example of what the stat and/or receiver are using as messages in Zigbee:

This message is the result of triggering the boost.

Zigbee2MQTT:info 2023-11-13 13:55:26: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":180,"local_temperature":19.69,"occupied_heating_setpoint":22,"running_state":"heat","system_mode":"emergency_heating","temperature_setpoint_hold":true,"temperature_setpoint_hold_duration":60,"weekly_schedule":{"days":["sunday"],"transitions":[{"heating_setpoint":19,"time":600},{"heating_setpoint":1,"time":1410},{"heating_setpoint":1,"time":1410},{"heating_setpoint":1,"time":1410},{"heating_setpoint":1,"time":1410},{"heating_setpoint":1,"time":1410}]}}'

So I’d imagine it is possible to set an automation that when activated will send a similar message.For example the above is from today when I triggered a manual boost so you just need to send the required info (you can ignore weekly schedule and it should still work).

You can also see a day from the weekly schedule is sent as well and I believe this is frequently sent but I haven’t figured out the logic of how it decides to send them (perhaps tomorrow I will see “Monday” sent and it is working on a one day lag from current day, I don’t know!). I can confirm that the stat knows the current date (by checking “Holiday” mode and it has today’s date to start it!

I hope the stat and receiver aren’t somehow off by one day!

Either way I think the stat will always send a schedule that would overwrite any schedule you could try to set in HA through Zigbee messages so that’s why many disable it.

I think the limitation will always be that the stat’s schedule is not set via Zigbee and that is managed by WiFi when using the Hub - otherwise we could update it but as you will see the only thing exposed via Zigbee for the stat is battery.

Anyway, here’s examples of the messages when setting up a heating schedule via the stat.

Zigbee2MQTT:info  2023-11-13 14:04:05: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":184,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["monday"],"transitions":[{"heating_setpoint":20,"time":450},{"heating_setpoint":1,"time":495},{"heating_setpoint":21,"time":1050},{"heating_setpoint":1,"time":1380},{"heating_setpoint":20,"time":1410},{"heating_setpoint":1,"time":1425}]}}'
Zigbee2MQTT:info  2023-11-13 14:04:05: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":184,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["tuesday"],"transitions":[{"heating_setpoint":20,"time":450},{"heating_setpoint":1,"time":495},{"heating_setpoint":21,"time":1050},{"heating_setpoint":1,"time":1380},{"heating_setpoint":20,"time":1410},{"heating_setpoint":1,"time":1425}]}}'
Zigbee2MQTT:info  2023-11-13 14:04:06: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":184,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["wednesday"],"transitions":[{"heating_setpoint":20,"time":450},{"heating_setpoint":1,"time":495},{"heating_setpoint":21,"time":1050},{"heating_setpoint":1,"time":1380},{"heating_setpoint":20,"time":1410},{"heating_setpoint":1,"time":1425}]}}'

Zigbee2MQTT:info  2023-11-13 14:05:43: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":176,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["sunday"],"transitions":[{"heating_setpoint":21,"time":495},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425}]}}'
Zigbee2MQTT:info  2023-11-13 14:05:44: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":176,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["thursday"],"transitions":[{"heating_setpoint":21,"time":495},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425}]}}'
Zigbee2MQTT:info  2023-11-13 14:05:44: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":176,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["friday"],"transitions":[{"heating_setpoint":21,"time":495},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425}]}}'
Zigbee2MQTT:info  2023-11-13 14:05:44: MQTT publish: topic 'zigbee2mqtt/Downstairs', payload '{"linkquality":176,"local_temperature":21.69,"occupied_heating_setpoint":1,"running_state":"idle","system_mode":"heat","temperature_setpoint_hold":false,"temperature_setpoint_hold_duration":0,"weekly_schedule":{"days":["saturday"],"transitions":[{"heating_setpoint":21,"time":495},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425},{"heating_setpoint":1,"time":1425}]}}'

So the day is broken into time from 0 to 1440, 450 represents 07:30 495 represents 08:15 etc. Because of how the stat software is this breaks into 15 minute intervals.

Link shows how to work out a time if you wished to fart around with it.

In summary, boost feature can be added to your HA front end but schedule is a dead end and I use it as you intend to do as well (for now!). Like you my schedule would be consistent and you can simply use HA to figure out if you want Auto mode on or not based on whether anyone is home and go more advanced from there in terms of presence sensors etc.

1 Like