Heat Genius Hub integration?

Hi folks - has anyone successfully got Genius Hub working alongside SmartThings? I would ideally set up both on the same Z-Wave network (e.g., as primary/secondary controllers) so that I can use presence sensors with both hubs.

Don’t much care about integrating of the Heat Genius logic with SmartThings - that can stand alone.

https://community.smartthings.com/search?q=Genius%20Hub

Thanks @sidjohn1. I had read this first. This thread is a year old and has no solutions in it…!

Unless @black-paladin has had any luck…

Bizarre. After a year of doing nothing I just thought I’d check here for any updates and see a real time post!
Sadly no news from my side. I love my Heat Genius system and have 14 Danfoss Z-Wave TRVs just ready and waiting for ST integration. All I did in the end was link to Google Assistant (using IFTTT) so I can say “hey Google, turn up the temperature in the living room” which clicks the rad up 2 degrees.

Have you had any interaction with Heat Genius - are they actively working on this, do you know?

Sorry, I didn’t mean to imply that I had any recent news that the Heat Genius team are working on this. I was told “Smart things will come along the pipeline in due course I am sure” about 18 months ago when I asked but I’ve not heard anything, or asked them, since then. I do know a lot of their focus was on commercial installations such as hotels, who would see great benefits I’m sure, so I would speculate that this would make them less likely to get around to SmartThings. I still live in hope however.

I’ve just about got a smart app integration into a working state - there’s the smart app and three device handlers here:

Please feel free to download and play, and see if it meets your needs. It’s an integration with the (unpublished) Genius Hub api, which does enough for what I was wanting - I didn’t try to, or even think about trying to, integrate z-wave networks.

A motivation for me was to get the Genius switches operating as simple on/off switches rather than on a schedule - at this time of year we’ve got Christmas lights plugged into one Genius plug and one z-wave plug on SmartThings, and being able to get simultaneous control of both from one button is nice. There’s a setting on the switch device handler to enable this mode.

I’ve added in lux readings to the rooms (at least, I’m assuming the values are lux!) but not the motion readings given that non-realtime data here is pretty pointless. The battery level displayed is the minimum battery level of all devices in the room.

2 Likes

Super interesting @cumpstey

Will definitely have a play with this once I’ve got Genius Hub installed. Can you clarify your setup to make this work?

I.e.:

  • separate Genius Hub and SmartThings zwave networks? They communicate through Genius Hub API only - i.e. through HTTP call out to geniushub website?
  • what’s the basic installation process after installing the device handlers and SmartApp in the IDE? Does installing the SmartApp in the SmartThings app (and configuring it) automatically pull through the Genius Hub devices?

Thanks!

Yep, separate Genius Hub and SmartThings networks. They only communicate through the api - there’s no fundamental change to the operation of the Genius Hub at all. It’s through the remote api (hub-server-1.heatgenius.co.uk), not on LAN, partially because I couldn’t initially figure out how to make LAN requests which worked, and then, once I did, because I couldn’t figure out how to pass the necessary information to the callback.

  1. Pull down the smart app (Genius Hub Integration) and the three device handlers (Genius Hub House, Room & Switch) into SmartThings.
  2. Install the smart app - give it your Genius Hub credentials.
  3. Go back into the smart app after installing, and select which devices you want to be able to control. This will create child devices using the device handlers. (I didn’t really want them all, so it doesn’t set them all up automatically.)

The Room device shows the current operating mode (footprint, timer, override, off), current temperature, min battery of the various devices in the room. You can set the override temperature with the up/down arrows - this overrides for 1 hour. In override mode there’s a button to press to increase the override period by a further hour.

The House device works a bit differently to set an override temperature, given that it’s overriding many rooms rather than a single device. You set the target temperature with the up/down arrows, and then hit the override button to activate the override. It does override all rooms in the Genius Hub, regardless of whether they’re imported into SmartThings.

The Switch has two modes, which you can choose between in the device settings. In the default Genius mode, it’s pretty similar to the room - turning on/off applies an override for an hour, and you can increase the length by additional hours. In Switch mode, it operates like any other switch in SmartThings - permanent on/off state. This applies the override periodically in Genius Hub.

The state is refreshed from the Genius Hub api every 5 minutes, so if you make changes in the Genius Hub app they’ll show up shortly in SmartThings.

I’ve not yet looked into how well any of the devices work under other smart apps or webCoRE, though I’ve tried to use appropriate capabilities and additional actions and attributes, so my hope is that they will without too much tweaking :slight_smile:

Any feedback on things which don’t work, or which could be better, appreciated. I know there’s such a thing as linked rooms - which won’t necessarily work as I don’t currently have any, but that’s on the to do list. As is a way of not just defaulting to an hour for the override.

1 Like

Hi, I’m i interested in this thread.

I have a Genius heating system with Hub, boiler switch, secondary electrical switch for UFH, a central house thermostat, three room sensors, and multiple TRV radiator controls.

I don’t have a Smartthings Hub yet.

IFTTT integration seems pretty limited. I use it to trigger heating from my watch, but there is a very limited set of APIs.

After reading this and other threads, I’m hoping I can just replace the Genius Hub at some stage with SMARTTHINGS. I’m just n out sure how far away this is.

  1. Smartthings Hub is a Zwave controller. So I should be able to register Zwave devices know network.
  2. I would hope this would support the Genius mesh extender sockets.
  3. Samsung list the Danfoss TRVs used by Genius as supported thermostats.
  4. The other equipment (house thermostat, boiler switch etc) is all Danfoss and (mostly) relies on the same Zwave command classes to do with binary switch or temperature sensor / actuation.

Why wouldn’t it work?

  1. If I can’t add all Genius Zwave devices to the system or their features aren’t supported.
  2. If Samsung Smartthings offers no suitable heating schedule/app to control the heating.

It would consolidate my smart things onto a single hub, and helps me n negate other Zwave devices t that Genius cannot understand or control.

Thinking of just getting the Samsung Hub and seeing what I can do. I’ll let you know. Interested in other experiences trying similar.

Hi there

I dont know about replacing the HG hub with the STT Hub but they can co-exist and you can expose the rooms, switches to want to control into STT.
Thats what I have done recently and can override the heat in any of my rooms within STT now.
BIg thanks to cumpstey

Thanks Nigel.

When you say co-exist, this is with Genius controlling all the Zwave devices, and ST Hub integrating with Genius through IFTTT. Yes?

I’m looking for a better Zwave hub that can do more than Genius, with other Zwave devices and scenes etc.

Either way, I’ll give both a try and report back. I’m just checking supported Zwave command classes on the various Danfoss elements of this system against the Smartthings supported command classes. I guess this would at least mean that handlers could be developed for ST.

Took more of a read over the source from cumpstey and, although I can’t fully understand, it does look like this exploits unpublished web APIs on the hub (via the online hub server) to update / override controls. I’d only previously seen limited APIs on IFTTT.

Looks very good - hopeful. I’ll give this a try before going off trying to replace the Hub!

Thanks again.

Hi @Lewis_King - you can absolutely build your own heating control system through ST instead of the Genius Hub - loads of people do this. All the radiator valves will work just fine etc. If the GH supplied relays at the boiler don’t work with ST, you can source others that would.

But if you did this you’d have to build all the logic yourself in webCore or similar, and that’s quite a complex job. For me the whole point of buying a system like Heat Genius was to buy their software/logic for heating - there’s really very little benefit in redoing this from scratch.

The nice thing about the APIs and @cumpstey’s work is that it should offer the best of both worlds - an intelligent heating system which exposes its guts so you can trigger lighting events etc from presence information exposed through GH

Thanks for the reply. Your post sums up what I’m now thinking and hoping. Thank you.

The ST hub arrives today and I’m looking forward to trying @cumstey’s good work.

As you say, the good thing about the Genius system is that the heating management is all done through their hub, but the app and integration options do remain a little weak just now.

I did contact them this week about continued development of the app and APIs, and they replied very promptly as follows:

“We have released our Public API to Beta Testers, which will allow the Genius Hub to be able to link with other home automation systems. General release of the API will occur shortly.”

I do think, with published APIs, the community would provide better solutions (like @cumpstey has done) and possibly better apps to manage the Genius system that can be developed and supported with more confidence, and might free up Genius themselves to focus on the core functionality.

All the devices are basically OEM from other providers so if they Genius still have a USP it is that they are an effective system integrator, with a reliable and richly functional core, and good apps and integrations. They do need to keep those points moving.

1 Like

Glad the work is useful :grin:

I also have a Hubitat hub, which I’ve ported the Genius integration to, and then made changes which I’ll likely port back at some point - though if you’ve got any feedback or suggestions on this they’d be welcome. I originally didn’t use the Thermostat capability, as this includes a whole lot of irrelevant cooling-related attributes and commands, having been developed in a country where air conditioning is the norm - unlike England! As SmartThings provides a nice tile-based way of defining the user interface, it all worked fine with just the Thermostat Heating Setpoint capability. But to make Hubitat rooms appear properly with appropriate controls in sharptools.io they needed to be the full Thermostat.

I’ve still not done any integration with webCoRE or similar, so don’t know how well it all works there. And I don’t have ActionTiles, so have no idea how the rooms would show up in that. Is it ok as is, or would it be better to have the full Thermostat capability, even though half of it is in practice irrelevant?

The main weakness at the moment I feel in any Genius Hub integration is the lack of any real-time feedback from Genius Hub to any other system. I can only poll the api to get current status. The IFTTT integration is slow and unreliable, in my experience - you certainly can’t use it to trigger anything based on the motion sensors. I don’t know the innards, but from looking at the outcomes I suspect that’s polling too rather than using real-time triggers from the hub.

1 Like

Hi and thanks. I’m new to ST (hub arrived). I need a pointer. Trying docs but a bit stuck getting SmartApp installed/working.

I’m on a Samsung mobile, with the latest ST hub. It’s installed, integrated to network and managing Arlo cameras. I’ve taken your code (device handlers and smart app) and added manually in the developer portal, Publishing each “for me”.

The SmartApp and Device Handlers are all listing as Published in my account / portal.

I’m unsure if I’ve “installed” the SmartApp (never installed one before, hence I may be a bit slow…).
I haven’t been able to / seen where to give the SmartApp my Genius Hub credentials.

Can anybody give a pointer on what I’m missing to “install” the SmartApp and to enter credentials for my Genius Hub?

Thanks again!

It’s okay - I need to use the “Classic” SmartThings App on my phone. Found that, then selected “Existing Smartthings User” because I thought I was. That didn’t work - kept asking for my “code”. Went back, selected “New to Smartthings” and it says I’m already a user with Samsung, which then worked!

So in Classic App, I found the App added from your instructions, and there I found credentials to enter. Awesome. :smile:

[Note:this didn’t work; see my later update;install app and configure in Dev Portal]

[EDIT: I have since been able to add and configure the Smart App in the Classic ST Android app, and then configure in the new Samsung ST Android app.]

Great work on this.

I have had to re-authenticate twice in 2 days now. I wander if this is HGs’ issues as they also struggle with their IFTTT integration falling over. But it does provide an excellent gateway to the HG platform from the very user friendly STT platform.

I do like this about the STT Hub and platform. It integrates well with many other Home Automation solutions and that the Hub itself provides both zwave and zigbee hardware support.

The only drawback to STT is its dependency on the internet/cloud to operate. Why does the platform need to use the cloud to tell a local zwave switch to turn on when a local zigbee motion sensor detects motion?
I have been researching hubitat but why should I invest in additional zwave/zigbee controllers when the STT Hub provides that?

So now I have just ordered a Raspberry Pi 3b+ 32Gb kit to investigate using MQTT to integrate locally with the STT hub and to allow locally processed home automation, possibly with Home Assistant. Thus isolating it from issues and performance of internet connection.

I will post this separately on the forum to get feedback from those who have also tried this ‘localisation’ of STT.

Great work

Thanks again for replies. I’m getting there but the App won’t authenticate / install on my mobile yet. I’m playing with code to see if I can debug / understand my error.

Behaviour now is:

  1. I see the “Genius Hub Integration” SmartApp available in “My Apps” on the Classic mobile app
  2. I select this and get a page for “Authentication” requiring Username and Password
  3. I carefully enter my Genius hub account details and tap “Next”
  4. I get a blank (white) page with option to “Save”
  5. I tap “Save” and get an error message in red “Error - bad state. Unable to complete page configuration.”

I’ve tried a few things to remedy, but mostly just to understand a bit more about the way SmartApps work and the integration to Genius hub. (I’m unfamiliar with Groovy, SmartThings, and SmartApps… so forgive me!)

  • I have looked at Live Logging on my portal. I see nothing logged by the Genius SmartApp.
  • I have added Logging messages at “info” level in a few places and published the app For Me to see about more messages. Still none.
  • I have tried using incorrect password and this doesn’t get as far) +(“Network authentication required”)
  • I have tried changing the hub server address to see if they have moved, hitting
    1. api.geniushub.co.uk
    2. hub.geniushub.co.uk
  • These fail with no connection (don’t get as far)

I’ve reverted back to:
3. hub-server-1.heatgenius.co.uk

I tried on this (original) address again but still no luck.

I have since noticed some logging appear as follows [unique IDs modified a little in case of security risk]:

710##02#-#33#-40#7-#8#1-71#94#3#0#49 4:49:46 PM: error groovy.lang.MissingMethodException: No signature of method: script_app_55#5#8#46#366#874#15#735#650#39#3#90#9#76#8592#734#1#5f#7#2###95.logApiServerChange() is applicable for argument types: (org.apache.http.message.BufferedHeader) values: [X-Genius-ProxyLocation: hub-server-2.heatgenius.co.uk] @line 709 (handleApiError)

I’ll keep searching and hacking away, but any guidance on possible cause appreciated.

PS You mentioned auth issues for yourself, have to re-authenticate a few times. I do have IFTTT integration set up so I can trigger heat from my watch, which works OK. But IFTTT does sometimes message to say “integration has been lost” and I need to re-authenticate for IFTTT. Could be a similar issue.