[BETA] Hive Thermostat and Receiver Driver with Device Health Status

Are you definitely choosing the receiver and not the thermostat there? The thermostat, counterintuitively, doesn't report the set point. It only talks to the receiver, which is the real brains of the operation.

The only thing the thermostat itself reports to Hubitat are its own battery voltage and the current temperature. The set point is sent to and retrieved from the receiver on the boiler. When you wake up the thermostat you'll see it can tell you the current temperature immediately, but it takes a couple of seconds to retrieve the rest of the information from the receiver.

I think so, but here is the approach I am taking.

In my setup the parent device is called 'Hive Receiver SLR1b' and the child is called 'Hive Thermostat'

The device page for the parent is

and the device page for the child is

When I create the dummy rule in RM and create a new trigger event and use Custom Attribute the Parent Device only has these options

The child device has

Is my approach incorrect?

The child device is however capturing the temperature within the logs

image

If I go to create a new trigger in the rule and just use 'Temperature' from within the drop down it gives the same null

Might have* stuffed something up with the temperature and heating setpoint reporting.

Fixed.

*definitely did

1 Like

Just checked... Works for me!

Thank you!!!!

1 Like

These drivers have now been updated to support the healthStatus custom attribute, so will no longer misuse presence as a means of reporting device connectivity.

Use @kkossev's Device Health Status to give yourself a nice system overview.

2 Likes

I just noticed there are 3 devices/drivers mentioned in the HPM section. I've only ever had two devices referenced in my Device page. Is that correct? I don't see any reference to a Thermostat?


When you were pairing either the hub dropped out of pairing mode when you got to the thermostat step, or it missed it for some other reason. This is what see on the test setup:

It's actually not important, it only gives you the temperature which the thermostat sees, which is sent to the receiver and reported back to you on that device anyway, and the battery level of the thermostat itself.

So unless you're desperate to have the thermostat battery level reported in Hubitat, I wouldn't bother going through the reset and re-pairing. Though of course you could and the receiver should hook back up to the existing device just fine so long as you don't delete it.

Updated the Receiver parent and child drivers to v0.69. There are some breaking changes here regarding the removal of the heatingMode custom attribute (which was unreliable) and the renaming of heatingBoostRemaining to overrideMinutes with an eye on hot water being added.

The other big reason for these changes is to better support HomeKit, which can now be used reliably with it's slightly US-centric "Off", "Cool", "Heat" and "Auto" modes, which don't account for the override capabilities of the Active Heating system.

If the system is in "Auto" mode, it is running to a schedule. Adjusting the target temperature with "Heat" or "Cool" in HomeKit configures a temporary override to that temperature until the next schedule change, at which point the system will revert to running its scheduled programming. This way people tinkering with HomeKit can't instantly mess up the operation of your heating.

The way to set a permanent override through HomeKit is to first set the system to "Off". This drops it into frost-protect mode (you can set this temperature to between 7 and 12 degrees on the thermostat). If you then choose a "Heat" or "Cool" temperature it will run this new setting permanently. Flick it to "Auto" and the programmed schedule will resume. The bracketed temperatures in "Auto" mode do nothing as this is a heat-only system, and will always revert to being the same value if set separately.

As always, thanks for your ongoing work on this. Its functionality that brings a lot of value!

I've updated to the latest version, all seems good.

I upgraded to a C8 Hub recently and had to go through the pairing again, it took a few goes and resulted in the same devices as it did on the previous Hub. I noticed that the website with instructions looked a bit different to before and the "Step 6" referred to didn't exist?

I thought I would go through the pairing steps here for you to check and amend?

  1. Reset the Hive thermostat by pressing the back and menu buttons at the same time, wait for the count down and for it to restart and ask which language you would like. At this point remove the batteries to turn it off

  2. Turn off the boiler and the boiler controller and wait for 5 seconds before turning back on. Press and hold the top button until the light on the controller is flashing pink. Press and hold the top button again until it flashes double amber.

  3. Turn the thermostat by putting the batteries back in and choose a language, it will begin to seach.

  4. Begin the search for new devices in Hubitat by searching for new Zigbee devices

  5. As Hubitat detects the devices the lights on the controller will turn constant green the thermostat will complete its searching and begin the setup tutorial. Skip this.

  6. Name the devices found by Hubitat to complete the setup.

If you could check the above? I think the sequence might not quite be right and my terminology of the devices might be unhelpful?

Also could you confirm what needs to be done with the Hub? Does this need to be completely removed from the home network and powered off in the new setup?

Huh, looks like they mangled their website a bit. I'll... recreate the instructions in the first post. :slight_smile:

From what I can see you've pretty much got the process, though I always start by powering off the boiler and receiver first so there's no chance of the thermostat talking back to the receiver without pairing again.

The Hive hub? If you have no other devices using it just unplug it and consign it to the drawer of Interesting Things. It may become useful again if there's some shockingly important firmware update to be installed one day, but I find that highly unlikely after all this time.

1 Like

Done. Spent a bit too long on that to be honest, but at least it's clear! :slight_smile:

1 Like

I've been giving this driver a good kicking on the test system over the past few days and it's performing well enough that I've added the controls for our real heating system to HomeKit (via Homebridge) now.

Even flinging the settings around in the Home app doesn't appear to break anything; if you set something which is unsupported (cooling, either specifically or via the "keep between" temperatures) the driver simply takes the upper (or only) requested set point temperature and uses that as both the upper and lower value, so within a few seconds the system reports the correct auto (schedule) set point and HomeKit gets updated.

It works, basically. :slight_smile:

Please report back any successes or failures! :+1:

2 Likes

Hi there,

Thanks for this driver, had a day off work today so this was one of my projects on the list to move the Hive Thermostat over to HE direct after the HE > API fell apart last year.

All is working well, but I wanted to check what the behaviour is after the system is boosted. Does it revert back to the schedule if the system is on Auto at the time of boosting (e.g. does the driver store the current state and then restore it, or always revert to “off” after boosting) please?

Best wishes
Guy

The driver mimics the instruction sent by the Thermostat when requesting boost, which doesn't change the underlying operating mode. It will return to whichever mode it was in previously once the boost time has completed, and this behaviour is fixed in the Receiver's firmware. So far as I can tell there's no way to tinker with it, other than explicitly changing the mode before requesting the boost.

Answering your question in a less roundabout way; yes, if you trigger a boost from either the Thermostat or Hubitat while in schedule mode, the system will revert to schedule mode once the boost is completed. :slight_smile:

Fantastic :+1:

1 Like

@birdslikewires Thank you very much for your excellent driver and documentation. After reading through this forum topic I decided to go ahead and buy the thermostat and receiver and not bother with the hub at all. I've installed and paired everything up first go, and tested it out - IT works brilliantly, and if you ever get around to writing the child driver for hot water please sign me up to help with any beta testing. - Cheers!

1 Like

That's fantastic, thank you for letting me know!

Yes, I really must do that hot water component soon. I'm on a combi, but my test unit is the dual channel version and I've been meaning to hook it back up. Knowing it's actually going to make a difference to someone really helps with the motivation! :slight_smile:

2 Likes

I've been following your work hear for a while, I have the duel channel unit aswell but I've been holding off trying your driver as I don't want to lose the hot water function of hive yet. Please could you work on the duel channel so I can finally move away from hive app and integrate with hubitat properly.

1 Like

In case you weren't aware, you can continue to use the hot water function locally through your thermostat and receiver just fine, it's just that hot water won't appear in Hubitat. Switching over doesn't break the core functionality, it's just that the hot water element won't be appear in Hubitat or be controllable remotely.

If you want remote on / off, mode switching and status then of course, yes, you're right that'll currently be broken if you switch.

I'll shuffle this up the priority list for next time I get a little time! :slight_smile: