[OBSOLETE] - Hive (Connect) V3.2c (British Gas Hive)

Odd, can’t get it to work. I thought maybe it was because i did not have the thermostat assigned to a room, which i promptly addressed. However the response was that “could not control your device”. Its encouraging to know though that it can be done. Can you be more specific about your set up. Presumably you’ve installed the hive connect app, and the relevant device handlers such as the thermostat. You’d have assigned voice commands to switch the boost on to a switch? And most likely you’ve got your thermostat assigned to a room, have I missed anything?

Incidentally, i’ve followed the instructions on this page

http://thingsthataresmart.wiki/index.php?title=Google_Home_Helper#Google_Switch_Installation

to install the Google Helper app, together with the Google Switch device to now be able to specify exactly what temperature I want the thermostat on. The Google Switch acts as an on and off switch as well as a dimmer switch, allowing ‘dim-able’ devices to be changed from 1 to 100%, i.e. temperature, volume, brightness etc. The one nuance is that if you ask google to set the Google Switch to 21 degrees, it will reply, “ok, setting the Google switch to 21 brightness”, other than that it works perfectly.

1 Like

I am still at work… Will give some info as to what I have done ( have to
have another look to remember)… and let you know

hi @Wezi
I use one of @alcy100 device handlers - Works perfectly for me
(JUst select which device handler you need… just heating, heating and hot water etc)

In the google ‘Home’ app I assigned the ‘Hive Heating’ to the Living Room

Now, just ask “Hey Google, what is the temerature in this room”
it replies with ‘the heating is set to x with a current temerature of x’

1 Like

Thanks for the details. Sounds like what I have done, except for adding the thermostat to a room. I will try that tonight but sounds like Wezi tried that and it didnt work.
We will get there :slight_smile:

Update: sadly adding the room made no difference for me.

Excellent work, very useful and does exactly what it is supposed to. A quick question is it possible to modify the code to allow two instances to run within the smartthings app to facilitate the control of two hive ecosystems. If you feel it’s a possibility I’ll give it a try.

This should support multiple hive zones under a single user account.

I was attempting to control two separate accounts as I’m greedy.

Not sure if this setting is important for someone, but having the “Thermostat” and “Thermostat Heating Setpoint” capabilities together breaks smartthings integration with Google Home - you cannot link google home and smartthings.

I removed the following and the link was possible again:

capability “Thermostat Heating Setpoint”

Frustratingly @wezi, this did not fix the error when heating not on issue.

2 Likes

Just found out you can do it without the google switch.

Make sure Receiver Hive Heating is in the Google Home app through smartthings.

all you need to say is: hey google, set "your receiver hive heating to 21"
and it’ll reply "There you go, setting “your receiver hive heating to 21”

Change the name “your receiver hive heating” in the dashboard to make it sound better if you like.

Maybe someone can help with this issue.
I’ve found that if for example I turn on Boost Heating for 40 mins through Smartthings and then it later runs its course and turns off, that’s fine.
…But if i then turn it on again, through another method, for example directly through Google Assistant or Hive app, let it run its course until it’s off…then it seems like the Hive Connect App/ST gets unsynced. So it doesn’t turn on again through ST, unless i turn the Boost Heating Switch on and off again through ST and i get the pop up notification that the Hive Receiver has been reset and it starts.

Thank you so much for this post.I had after much frustration discovered that once Smartthings was unlinked that the HIVE heating device handlers were breaking the re-link. Before i had read your post I assumed the only way to get smartthings reconnected was to delete the device handlers totally relink smartthings and then recreate the device handlers. I just tried as per your instruction, to comment out the capability ‘thermostat heating setpoint’ and that worked (though i did have to relink twice, but i’ll take it!). Annoyingly, before commenting out this code, my switches and switch names were also out of sync with google home app. Switches which i had deleted were still being ‘seen’ by google home and renamed switches in smartthings were still showing under their original names.

Thanks again!

Try swapping out the simulated switch with a momentary button in Web CoRE. I dont think the Hive app in ST will let you pick anything other than a switch, but in Web CoRE you can use pretty much anythhing. The problem with a switch and boost is, if you tell it to turn hive boost on, the switch is now in its On position. 30 mins (or whatever its set to) boost will run its course and stop, the switch though will remain in the ON position. When you tell Google home to turn the switch on again, well, it already is and nothing will happen per say, unless you tell it first to turn the switch off first then on. A momentary button is always OFF in its default state, a bit like a doorbell. You push it to activate Hive boost, then it goes back to off. If you push it again it should restart boost, during or after the boost time has lapsed. Of course, if you want to stop boost once its been activated you’d need to make a second momentary button and configure it to do the opposite.

You can use the following code in web CoRE (though it is simple enough to make) as a template if you’ve created a new device in ST called momentary button tile and your receiver has kept the default name; just create a new piston from code and enter s5v6, change ‘switch 4’ to whatever you google momentary button is called.

1 Like

Used a momentary button tile in ST. It’s available to select in the Hive app. Will test it out…thanks

For Hot Water Boost, the virtual switch sometimes gets turned off and sometimes not, so i’ve had to setup an extra precaution of adding a power allowance switch for the same time as the boost to make sure it gets turned off.
If i’d put a momentary button, it’ll turn it on twice, push on/ push off.
I think this might be a bug in the Hive app? Because there are settings in there to make sure after it’s done boosting that the thermostat can be reset to turn off. But it doesn’t always work.

I think it is a bug. Haven’t touched this code in a long time hence the beta status for the automations. Maybe I’ll have some time at the end of the month to revisit this. Even I’ve had to create a work around with webcore to reset the boost switch off.

2 Likes

OK, something odd happened, I just asked Google to set the ‘Hive’ temperature to 22 degrees, and it replied, there you go, setting the Hive temperature to 22 degrees! This works twice then stopped working ¯_(ツ)_/¯

Even more strange is that I asked, out of jest, what’s the temperature in the living room, and it told me the temperature in the living room is 21.5 degrees. Again this worked twice.

No none of the abiv commands are recognised. How very peculiar.

I found out why it does that.
I think it’s all about which way it’s turned off, whether it’s being set to “idle” or “off”.
If after heating you say “hey google, turn off heating”. it’ll take it to the off state.
If you then ask after that “hey google, set heating to 21” it’ll say "heating is off…(no duh)…can’t turn on."
if you ask it again for a 2nd or even 3rd time, then it’ll wake up and start heating.

However, if you start heating by saying "hey google, set heating to 21"
then to turn it off, you say “hey google, set heating to 10” (instead of saying off)
then go back again and say “hey google set heating to 21” it’ll start back up fine.

The summary, it doesn’t like to be fully turned off.

I also think that’s the same issue for heating boost and hot water boost. It’s dependent on the state they were last left in.

1 Like

firstly - thanks for this code - really helpful!

Wondered if (and how) i’d create a routine to do the following:
If X (certain conditions are met - eg home), if hive temp falls to 0.2’C of the target temp set 15min boost, then wait another 15mins before checking the routine again.

Also does this work with Alexa… what commands are useful versus with Hive skill directly

thanks

You can use webcore to create something like that.
I’m struggling with Alexa commands I’m not sure what to ask I should be able to say alexa what’s the temp but that doesn’t work.
But if I use the hive skill that does but then I need to say "alexa ask hive"
And also I’ve got 2 thermostats showing in the Alexa app one for the hive skill and the one connected through SmartThings but that is unresponsive.

This works great, is there any way to incorporate the fork into the Github integration in SmartThings? I’d like to be able to update through that instead of copying the code each time.