TRV and Combi Boiler Heating control that works with SmartThings? (UK)

Hi all, I’m new to smartthings and want to move away from my hive system to use smartthing to control my heating as hive has limitations I can’t live with.

I’m looking to use trvs and a relay on my combi boiler. I would need heat in demand where the trvs can turn on/off the boiler. I’ve seen the Fibaro trvs and relay. Would these work and what do I need to get them to fully work with smartthings? Do I need a device handler and where can I find one? An alternative to Fibaro would be considered, but I would like the same functionality.

Thanks in advance

David Brown

Which country are you in? The device selection does vary, particularly for radiator controls where even the pipe sizes are different.

UK. There’s plenty of trvs options and they fit my radiators. I just need to make sure what I want is archivable.

1 Like

I use ordinary mains TRVs and control them via the temperature value in the motion sensor in each room. Gives room level control which is what I was after. This then switches Hive to Scheduled when heat is required and Off when not via the custom Hive SmartApp. I use WebCore for overall control so that I can set rooms to individual temperatures. I also have the system allow the whole house to cool to 17 degrees when I’m Away. Works fine for me, and I reckon I’ve saved about £200 since it’s been running, about 3 years now.

1 Like

Hi Andy, I’ve been using hive for a few weeks, but don’t like the lack of automatic geolocation and the boost is fixed to 22deg.for heat on demand from the trvs. I’m already using the hive trvs, but plan to send the whole hive solution back to Amazon and replace with something like the Fibaro ones. I just need a solution in order to turn the boiler on and off on demand from the trvs.


To turn the combi boiler on you probably just need a single Fibaro relay if it has separate inputs, that’s what I do to bypass the regular thermostat.

That’s what I was thinking, but wasn’t 100% sure how the logic worked… Can each trv tell the relay to open/close when required? Do I have to set a rule like:
If trv1 < set point & trv2 < set point etc then turn on boiler and same if set point is above set point to.tuen off the boiler?

I’ve a mix of z-wave trvs and a relay on the boiler, the is smart app’s which can turn a relay on when it drops below a temperature and geo fencing to turn everything off, set temperatures. Stay way from the daniflos trvs as they don’t report temperature, unless you are going to use a remote sensor
You would have to set a rule for each trv or probably could use web core to combine them in a ‘or’ type rule

Hi Mark, thanks for the reply. Can you detail the kit you’re using to achieve this? I’ve had an email from Fibaro to say their Teva aren’t officially supported by smartthings, so will just go with a solution that works.


This relay connected to what would be the thermostat on the boiler
£30.87 10%OFF | MCOHOME Z-Wave Plus enabled Micro ON/OFF Switch MH-S220 support high load
Eurotronic SPIRIT trv in one room running a custom device handler and daniflos and pop Trv’s in another again running custom DH

Also you might want to look into hubit as well, I’m considering moving, as what was very stable for me is now getting very buggy with problem increasing

I do also have a few fibro units which work fine

I would expect things would be easier if the TRVs and boiler programmer aka smart thermostat had built-in integration with each other. The following are therefore a few links to explore.

Note: The Smartthings UK website seems a bit broken at the moment, the works with pages in particular are not working. (Duh!) The above recent news article claims the recent addition of official support for Netatmo Smart Thermostats and presumably also Netatmo TRVs there also is/was a user written app for Netatmo but it now appears to be on hold possibly due to Smartthings adding official support.

Ecobee do not officially support the UK so I would avoid them. Google Nest does not have the option of TRVs and the debacle over Google killing ‘Works with Nest’ also pretty much eliminates them from consideration.

For what it’s worth here is the link to the Smartthings Hive integration.

The John, thanks for the info. I’ve tried the tado and the hive and didn’t like them; both had limitations and features the other didn’t and neither met my requirements. I could try the wiser next, but was hoping this was something that could be achieved with just smartthings or another z-wave controller

Hi Mark, thanks again for the info. So using this setup, do all the trvs call for heat when the room/zones drops below the temp set point?

These an app you can set to turn on the boiler when the temperature drops below a setting. You would set a ‘rule’ up. Or do a brows on here for webcore , you could set multiple conditions

U can set it to do anything, one device or more. AND conditions or OR conditions

I use the drayton trv’s but I would not recommend this route. Reason being that the earlier version firmwares work fine, the later do not due to a change in functionality which make them incompatible with 3rd party systems. I chose to take the route with more aggro, but cheaper, i.e. I bought and returned so many of these from amazon that eventually, I had enough of the appropriate firmware ones (I have 7), that it all works.

It was cheaper (£35 a shot), but when one eventually fails I’ll probably have to go the route of replacing with a smartthings compatible Danfoss lc-13 (more expensive) (

With a bit of webcore tinkering, the control is immense and wouldn’t swap it for the world. For example, my wakeup alarm (smartapp) gives the heating a boost 30 mins before wakeup… when one of us is on the way home, the heating gets a boost within 1 mile… heating disabled when alarm is set. Etc etc. I love it, but I knew it would take a bit of work to get up and running.

Hi Daz, this is a very encouraging post. I was just about to give up going down the smartthings route as I was struggling to understand how it all works (steep learning curve). So can you clarify a few things?

How does the geolocation work? IFTTT?
Do the TRVs call for heat and turn the boiler on/off outside the normal room thermostat schedule?
Can you combine multiple trvs into a single room/zone?

The webcore stuff is still confusing me. Do you have the piston backup codes you’re using for your setup you can send me?

Thanks in advance,


Hi David,

Not a problem, I’ll attempt to point you in the right direction.

I’ll start by saying that I’m not the best with webcore and there are doubtlessly better, cleaner ways of achieving what I do. But I needed something I could do myself, and customise/improve over time.


For this, I like to use an app called Life360. It’s pretty well-supported, and integrates beautifully (natively) with smartthings. There’s a community-written DTH on here too which gives a bit more control (i.e. access to speed etc through webcore). It’s a doddle to knock up some simple rules for this.


They don’t call for heat. They essentially have an open or closed state, and a temp sensor. When they are used with their own dedicated system, then yes, in effect, they do call for heat according to the heating schedule etc. But for me, I simply use them as a valve - don’t even use their temp sensors to be honest, instead I use the temp from another device (in my case, a motion sensor in the room). If the valve is open, water can flow. Simple as that. As I mentioned with the draytons, the older firmware models work by asking “Is the temperature higher than my current setpoint? If YES, turn the valve off. If NO, it’s too cold, so open the valve to let some hot water past”. The setpoints can be set via software (webcore using the community-written DTH). The newer models work differently - if the temperature seems hot enough, they then report back to the drayton hub, and the hub sends a command to close them. Which means that they’re incompatible. Frustrating.


I have a combi boiler with the horstmann zwave thermostat. There’s nothing to it to be honest. If you turn a tap on for hot water, the thermostat doesn’t need to do anything, you just get your hot water, all good. The horstmann is essentially a switch - if it’s on, it tells the boiler to pump hot water around the rads.

How mine works

Basically, one room has a trv and a motion sensor (with temperature). I find the TRVs temp reporting is utterly useless - it’s obviously hotter beside the radiator!. So I have a webcore piston looking a bit like this:

1100-1200 = 20 degrees
1200-1300 = 15 degrees
1300-1400 = 10 degrees
1400-1500 = 24 degrees

IF time is between 1100 & 1200
AND motion_sensor_temp is LESS THAN 20 degrees
set setpoint_of_rad to 50 degrees (! yes, too hot, I know…) -------valve is opened
switch on the horstmann

IF time is between 1100 & 1200
AND motion_sensor_temp is MORE THAN 20 degrees
switch off the horstmann
set setpoint_of_rad to 1 degrees (! yes, too cold, I know…)-------valve is closed

This piston is set to run every 5 mins.

Make sense?

This is awesome Daz, thanks so much for this. If I get stuck I’ll certainly take you up in that call…

Thanks again.

1 Like