Any updates on adding Radiators values
[OBSOLETE] - Hive (Connect) V3.2c (British Gas Hive)
Disclaimer: This is just some basic initial expermientation to add TRV support. I don’t have a ton of time to be looking at this right now & I’m not a programmer BUT I do have something working for the TRVs by hacking around with what is already here.
Ok so this aftenoon I’ve been doing some poking about with the Hive SmartApp & Device handlers and I have been able to get the TRVs to register as a device in SmartThings via the v3 Hive Connect App & have a level of basic controls by modifying the DH for the Hive thermostat.
I’ve been able to:
- Set boost
- Cancel boost
- Set schedule
- Set manual temperature goal when in manual (something weird happening here with lag / display)
Next steps will be:
- strip out the stuff that doesn’t work for TRVs but is relevent to the thermostat
- battery level (can see it via API requests)
- check WebCore integration
I’m trying to work out Github so I can post up the modified DH & SmartApps if anyone wants to have a play about with them.
Boost started via SmartThings:
Boost showing in Hive app:
Looks good. Can’t wait to try it!
Thanks for this Ben
Are the updates for the rad valves on GitHub? I’d like to try these!
Ok took a bit of time with the bank holiday & bit of a learning curve to understand what is going on but here we go…
My modified version of the Hive (Connect) SmartApp: https://github.com/Bibbleq/SmartThingsPublic/blob/master/smartapps/alyc100/hive-connect.src/hive-connect.groovy
And a new DH to add for the TRV device type: https://github.com/Bibbleq/SmartThingsPublic/blob/master/devicetypes/alyc100/hive-TRV.src/hive-TRV.groovy
Copy the smartapp code over the top of your current “Hive (Connect)” one and then make a new DH from RAW code for the TRV bits.
Go nuts, let me know what you find & don’t blame me
Edit: Think if a TRV is in schedule mode adjusting the set point isn’t working right…
Updated TRV to v1.1
Found a value in the API for the TRV’s that shows true/false for “Working”. From testing this seems to toggle to true when the TRV is opening to allow hot water into the radator.
Modified the code so that this value is used as well as the heating setpoint values to hopefully better show when the TRV is “heating” or not.
First off, well done an thank you for your hard work.
Everything appears to work so far. However it seems that some TRVs drop off and “cannot be reached” in smartthings. Not sure why, as soon as i hit refresh they come back online.
If you are linking this to google home via smartthings there seems to be a charachter limit on the name of the TRVs. When i reduced the name down, google home was then able to see it.
How are the drop-off’s looking? Can’t say I’ve noticed any for mine… If they do it frequently could you run the live logging from smartthings web & see if any errors are coming back?
That doesn’t look quite right with all the ping commands, mine shows “Refreshes” sent via the Hive (Connect) Smartapp like this:
Could you get some “Live logging” (in the top menu on the ST Web info page & filter for the TRV & Hive Connect apps?
So in the live logging i’m struggling to pin down where smartthings realises it doesnt have site of something.
Having a go at some efficiencies in the DH to see if it helps, but I’m a bit hamstrung by the Hive API capabilities.
Effectively there are two types of calls for everything, a “product” call and “device” call. Product contains temperature info etc… Device includes calibration, battery & signal information.
In the API for Device you can request information for a specific device but for Product you must call everything and then filter what you want.
I’ve got a version that is more efficient for the “device” details by only calling what is needed rather than taking the everything & filter approach it originally was.
I’ll run this for a bit then update if I find it any better. I’m trying to explore the API to see if there is a better way to call the Product data too
Ok updated the smartapp & TRV DH in my github (so you need to update both for this to work).
I’ve added a new function just for the TRVs that caches the “products” API call for 3 minutes to try and reduce the ammount of calls out & processing that happens. Been running it for a few hours and now 13 out of my 15 TRVs are showing online… so hopefully its a bit better.
@barron can you test & let me know how it goes?
Yeah mate will do ASAP!
Went slightly backwards on this one for me as now i can see all of the trv’s but they are all off line?
Tried to remove the app to reinstall but i get an error message in the app.
if you refresh manually do they still come back online?
In the log for Hive(Connect) can you look for a “using cached data” or “getting new data” when they do a refresh?
Ok, go at it
SA updated to 3.3 - bunch of streamlining & device refresh now only updates children DH’s that haven’t updated in last 5 minutes
DH updated to 1.3 - added refresh timer directly in DH rather than relying on SA.
I’ve had mine solid online overnight with this.
Now that things are more stable (certainly for me at least!) I’ve been able to put some work into some dashboards using InfluxDB & Grafana to see what is happening with the heating.
It’s handy to see the lag between boiler turning on, the TRV operating temperature chagning & the actual real-world temperature changes
And to see what is operating when in relation to the boiler being on:
Looks good I’ve been meaning to set that up.
In what order does it need setting up our does it not matter.
Can InfluxDb and grafana both run from a Raspberry pi