Virtual Thermostat for radiator using Multi Sensor & Fibaro relay (help a newbie!)

Mine did this at first but it worked when I entered the start and end time (I put 00:00 and 23:59). Seemed to do the trick

If you open the IDE at the Live Logging Page when you try to install, does it throw up an error?

@timmyk86 Thanks for this info, there is probably a typo somewhere (MJ’s log should tell me where) as this was originally just for heating, so parts are copy pasted and reversed for cooling.


Hi Andy, sorry been a busy day… i dont see any issues in the ide live log BUT that is probably down to my as usual lack of experience

No errors are thrown up anywhere i can see except in your app Andy

Maybe i am looking in the wrong place ???

I’m surprised that there isn’t anything in the ide live log when you try to install
If you put a start and end time in does it work for you?

The low temps in the freezer are killing the battery so i am not using the app now Andy but i have just tested with the times set as Timmy mentioned and it seems to work and accept the time addition, without the time addition it throws the error, i did not set the days of the week that does not appear to be the issue, It does appear to be time related

Thanks for the info

Are you guys using Android or IOS?

iOS for me

OK Guys I have this sorted now - Thanks for your help
I had changed the way the app was inputting the time and it ended up being compulsory (without telling you).
A slight re code and everything should be OK now.
Just tested it in IOS and no error for me when installing

There was an error appearing in the Live Logging in the IDE but you needed to turn on the debug logging to get it to show.

I have updated GitHub with the new file (Now V2.2.1)

I have just finished an update to this app.
You can now use an optional virtual temperature controller to quickly adjust the required temperature.
It also has the option to use a presence sensor to enable/disable.

If you want to try this then just update the app from GitHub and create a virtual device using the DTH here:

if you try it then please let me know.
It’s pretty basic at the moment but does work quite well for me.

You might be able to use this in ActionTiles (it will probably present itself as a temperature sensor)

Hi Andy,

That’s great! Thanks! Will give it a try this evening.

So I have the most up to date version of the smartapp ‘temperature-controlled-switch’ (2.2.1) and I’ve installed this as a device - but the two don’t seem to talk to each other. Am I missing something?

Thanks! this will be great

Tim, you don’t have the latest version of the app
Sorry, my bad… I forgot to upload the updated file to GitHub :slight_smile:

Files updated on GitHub now.
Current Version: 2.4.0

Hi Andy,

Bad news. With the new version of the app with the adjustable temp, it appears that the master switch does not work. Ie - I set it up, pick a temperature. Set the master switch to off (as I don’t want heating at the minute) - and the radiator gets turned on anyway. Does that make sense?

So even when I ask for the thermostat app & therefore the radiator to be off at night, it keeps coming on by itself!

Any idea why that’s happening? Previous iteration of the app was fine…


Hi Tim
I’m back in the UK on thursday and will have a look as soon as I can

I’ve just tried this and it worked perfectly for me!

One thing I noticed… you need to toggle the master switch a couple of times to get it to register.

Can you please check the ‘live logging’ when you toggle the switch and screenshot it?
Then post the screenshot here?

I got it working! I was using the wrong type of virtual switch. Works great now. thanks so much!

I wish I could contribute and get the temperature to be adjustable in ActionTiles but I just don’t know how!

Thanks again for all your work

Hi Andy,

Many thanks for a great app and DTH. I am a total beginner with Smartthings and coding, so I am sure I have done something wrong as it is not quite working as intended yet…

I have a cabin in the garden, using a heater plugged in to an Aeotec smart plug and I am using the temperature from the Smartthings motion sensor. I created a virtual temperature controller using your DTH, but whenever I adjust up or down the heater always comes on, even if the room is warmer than the target temperature.

I am sure I am being a bit dim, but any pointers would be gratefully received!



Hi Matt
if you turn on the logging in the app and check ‘live logging’ on the IDE website what does it tell you when you alter the required temperature?


Hi Andy,

The temperature set point on the virtual controller was below the room temperature, so heater off. If I increase or decrease the temperature selection, keeping it below the room temperature I get…

9734e6b6-ca26-447e-98c5-0333927b849b 14:50:44: debug 'zw device: 03, command: 3202, payload: 21 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ’ parsed to [name:power, value:0, unit:W, isStateChange:false, displayed:false, linkText:Cabin Heater, descriptionText:Cabin Heater power is 0 W]
485b1ff4-3d38-4a74-ad65-4170e17367f1 14:50:41: info postEventToEndpoint: event successfully posted.
485b1ff4-3d38-4a74-ad65-4170e17367f1 14:50:41: debug Property Change Event switch: off (source: DEVICE)
9734e6b6-ca26-447e-98c5-0333927b849b 14:50:40: debug 'zw device: 03, command: 2003, payload: 00 ’ parsed to [[name:switch, value:off, descriptionText:Cabin Heater was turned off, isStateChange:true, displayed:true, linkText:Cabin Heater], physicalgraph.device.HubMultiAction@56d24aa5]
9734e6b6-ca26-447e-98c5-0333927b849b 14:50:32: debug 'zw device: 03, command: 3202, payload: 21 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ’ parsed to [name:power, value:0, unit:W, isStateChange:false, displayed:false, linkText:Cabin Heater, descriptionText:Cabin Heater power is 0 W]
485b1ff4-3d38-4a74-ad65-4170e17367f1 14:50:29: info postEventToEndpoint: event successfully posted.
485b1ff4-3d38-4a74-ad65-4170e17367f1 14:50:29: debug Property Change Event switch: on (source: DEVICE)
9734e6b6-ca26-447e-98c5-0333927b849b 14:50:29: debug 'zw device: 03, command: 2603, payload: 63 ’ parsed to [[name:switch, value:on, descriptionText:Cabin Heater was turned on, isStateChange:true, displayed:true, linkText:Cabin Heater], [name:level, value:99, unit:%, isStateChange:false, displayed:false, linkText:Cabin Heater, descriptionText:Cabin Heater level is 99%], physicalgraph.device.HubMultiAction@66d9c415]

So it looks like it switches on the heater briefly, realises it is not needed and switches it off again? This is not a huge issue and it different to earlier when the heater came on and stayed on, but might still be nice to iron out. Either way it seems to be working really well.

The other odd quirk is that I have made the temperature controlled a favourite on the Dashboard of the Android app. It displays the temperature setting but when I touch it, rather than opening the app it says “You are not authorized to perform the requested operation”.

I need to get my head into the coding side of things so I can start do really customise things, and this is a really useful insight.

Many thanks,


this look like the output from the actual outlet not the smartapp
Also, is the outlet dimmable? or just on/off?


Hi Andy,

Apologies for that. It is what came up in the live logging on IDE. I did not see anywhere in the app to enable logging and this is the only thing i could see. The socket has power monitoring and is dimmable, but at the moment I am using it as a simple on / off with the heater.