Drayton wiser home thermostat

That’s a good start Colin if you need anyone to help test this I be happy to help.

Great to hear some progress is being made on this and that @colc is having a crack at it, do let us know how you get on with it :+1:

I’ve made some progress with this and it’s looking promising but not ready for testing yet and I’m away for a week so won’t be able to do anything else for a bit

I too have started on a Drayton Wiser device type and smart app. Before using this I should say it’s VERY beta, dirty, quite hacky and should not be used by anybody, ever.

Add the repo at https://github.com/chrisduffer/drayton-wiser using the master branch. Don’t use dev, you WILL have problems. Install the drayton-wiser-connect smart app, drayton-wiser-room device type and drayton-wiser-away device type.

Follow the instructions in https://github.com/chrisduffer/drayton-wiser/blob/master/README.md to get your secret. Open the smart app, paste this in and choose how many rooms you have. A room device for each room will be created along with an away mode switch.

Things this currently does:
Reads temperature for rooms
Read away mode
Override room temperatures
Cancel room overrides

Things this currently does badly:
Set away mode. This might be a bug with the way Wiser works, but having a room override while setting away mode will not work as expected.

Things this DOESN’T do:
Anything hot water related

Once again this is very beta and will probably cause you problems.

Smart app:

Room device:

Away mode device:

Looks like great progress, nice work!!

Can you choose the device that determines the user’s presence (e.g. Life360 that is already set up as a input/sensor?)

It doesn’t do anything presence related. I created the away mode switch so it so that with automations though. E.g. when I leave turn on away mode.

I’ve made a device type thread at [BETA] Drayton Wiser Room Thermostats and fixed a few bugs. If you have issues please put them in that thread and I’ll have a look.

So a week turned into two and slowed progress and I see that Chris has made some good progress in the meantime but I’ll present my efforts anyway.

I haven’t got round to setting up a github yet so it’s all a bit manual I’m afraid…
Now on github, see link at bottom

You will need your system secret and hub IP address and I recommend configuring your router to give the hub a fixed IP to make things easier. You can get the system secret by doing the following:-

  1. Press the setup button on your HeatHub, the light will start flashing
  2. Look for the SSID 'WiserHeatXXX' where XXX is random
  3. Connect to the SSID from a PC
  4. Once connected run the following command in PowerShell
  5. Invoke-RestMethod -Method Get -UseBasicParsing -Uri

  6. This will return a string which is your system secret
  7. Press the setup button on the HeatHub again and it will go back to normal operations

You then need to create and publish the smartapp and device handlers in the IDE from the links below.

Add the Drayton Wiser (Connect) smartapp in the SmartThings app and enter your IP address and system secret (you can also add these in the IDE so you can enter temporary details in the app then just copy and paste the secret)
When you save the settings, devices will be created for the hub, all your rooms, and hot water if you have it.

In the hub device you can control away mode and eco mode

In the hot water device you can turn the water on or off, change between auto and manual modes, and turn on boost (set to 30 minutes for now)

In the room devices you can see the temperature and humidity (room stat only), change the set point, change between auto and manual modes. Boost is not implemented for rooms yet.

All this is working well on my system but obviously all systems are different so your mileage may very (it’s possible it may only work on my system but hopefully not!)

Smartapp - https://drive.google.com/open?id=1TH5aZc-WqzzbGJCMm9OFTdSfWecUli6P

Hub device handler - https://drive.google.com/open?id=1600DsiSgLzDfAR4KI7P2Hfjy1JqcmsBe

Room device handler - https://drive.google.com/open?id=1OuskhBbVJcVqj5Jgkm5Aj0tV9eXeOgRW

TRV device handler - https://drive.google.com/open?id=13rSzEhHbQxZQPbbKJBF7bIwWGIwjm_-U

Hot water device handler - https://drive.google.com/open?id=1xYZY5gCdwY4eWujc2WOXQgdSIhwNNHaI

Hopefully this is of some use!


Now on github

add colc1705, DraytonWiser, master to your IDE

1 Like

Hi Colin,
Great start on this I have followed your instructions and all is looking good apart from I can’t see my wiser hub. All rooms have populated in ST and I can see temps from trv’s in each room but I can’t see the hub at all.

I have the wiser hub with out the hot water control so I am assuming it is because my hub is not the same as yours were as the trv’s and roomstats are.
I think it is probably something in the heat hub DH that needs changing but not sure what.
Any ideas?

Thanks Mark.

Hi Mark,

It could be a difference in our hubs. First thing I would check is that you have the ‘Drayton Wiser Hub’ device handler installed and published properly. Assuming it is have a look at the live logging in the IDE and see what messages are appearing for the ‘Drayton Wiser (Connect)’ smartapp. There are a lot of debug messages in the code at the moment so you should get quite a lot of logging for the app, let me know if there are any errors appearing in your log.


Sorry Mark, I’ve just noticed the link to the Hub device handler is wrong, here is the correct link.



Now on github

add colc1705, DraytonWiser, master to your IDE

1 Like

Room boost is now working, default of 30 minutes for now. Each room also now shows whether it is calling for heat or not

All working good now Colin. I can see my hub and all rooms are displaying correct temps. Small issue I have noticed on each device I can see that the call for heat is on constant in the ST screens, when I check the wiser app I can see that some are off.

Glad to hear you got it working Mark.

I actually noticed the opposite on my system, my room thermostat had the flame symbol but the hub was reporting that the room didn’t need heat.

The hub has a ControlOutputState flag for each room which is either on or off and this is what I am using to show call for heat in ST. I think the Wiser app does some fancy calculations based on the type of boiler you have and the percentage demand to decide whether to display the flame symbol or not. I’ve noticed in the past on mine that the flame symbol is showing but the boiler is off and vice versa.

I think I will replace the simple on/off state for heat to show the actual percentage demand, this might make more sense when compared with the Wiser app.

Do you have any rooms with more than one Wiser device (e.g. 2 TRVS in the same room)? I only have the room thermostat in my living room and 1 TRV in a bedroom so my testing is limited to that.


Yes Colin, my setup is as follows:
Living room has room stat and two trv’s all grouped as one room.
Then trv’s in the hall, two bedrooms and kitchen.
So five rooms in total.
The living room works very well with the room stat as the master control and the two trv’s must be some kind of slaves to the room stat. When I look at the wiser app the room temp is reported by the room stat only but when I alter the temp on it it turns both trv’s up or down.
The other four rooms take the temp from the trv.
Like I say all seems to be working in ST apart from all rooms constantly reporting call for heat yet when I check the wiser app all rooms could be off with no flame by them.
I agree that maybe it would be better to have percentage demand reported for each room rather then just on/off.

I have changed the rooms to show percentage demand instead of a simple on/off so hopefully this will be more meaningful now.

I like the sound of your setup, I’ve been meaning to add more TRVs for a while but never got round to it yet. I would be interested in seeing the data output from your hub if you wouldn’t mind sharing?


Just updated from github and this is really working great.
Well done Colin for the speed on this development, fantastic work!
The percentage demand works great and I can now see all rooms matching the flame icon in the wiser app. When the flame is off in wiser the ST app shows 0% and the rads are cold or cooling so I know the trv is fully closed.
What is interesting is how the percentage changes depending on the difference between set point and actual temp it seems the more the difference between the two then the longer the trv is open at 100%.

Colin when you say you would like to see the data from the hub do you mean the logs from my IDE? If so I’m happy to help.

At the moment I haven’t really started using this in SmartThings to automate anything I just keep checking to make sure it corresponds with the wiser app but I think it’s not far off from full integration.
Well done Colin.

Hi Mark,

If you have Windows you can type the following into a PowerShell window replacing hubIP with the IP address of your hub and hubsecret with the secret for your hub.

Invoke-RestMethod -Method Get -Uri hubIP/data/domain/ -Headers @{“SECRET” = “hubsecret”}

This should return all the config data from your hub with all the rooms etc. There shouldn’t be anything sensitive in the data but feel free to remove anything you’d rather not share. You will see that there is quite a lot of data in there and there are a few things I could add into the ST app (battery level probably being a good example)

I haven’t tried to do any automation yet either so let me if you try and have any problems. I use the ST app to control my heating now as I find the Wiser app very slow and buggy sometimes.


Hi Colin,
Do you still want data from my system. I have been working away for last few weeks so not had time to play with anything but hopefully should be around for a bit now.
I also had a TRV pack up last week, come home for the weekend and the wife told me one of the trv’s was flashing red, turned out to be a low battery but when I replaced it with new batteries it simply refused to work again. Wouldn’t light up or do anything. Luckily I got them from screw fix and the replaced it without any fuss.

Regards Mark.

Hi Mark,

If you don’t mind? I haven’t had time to look at making any changes to the app and I’m not sure if I even need to but I would be interested in seeing what a more complicated set up than my own looks like to see if I am missing anything that could be in the app.

Bit worrying to hear you’ve had a faulty TRV already, let’s hope it’s a one off!


Hi Colin,
Sorry it’s been a long time, work is crazy at the mo so not had time at home.
I have managed to log in and pull the data you require from the wiser hub.

System : @{PairingStatus=Paired; TimeZoneOffset=0; AutomaticDaylightSaving=True; Version=6; FotaEnabled=True; ValveProtectionEnabled=False; EcoModeEnabled=True; BoilerSettings=;
UnixTime=1522870445; CloudConnectionStatus=Disconnected; ZigbeeModuleVersion=R311 B030517; ZigbeeEui=000B57FFFEAA7EAA; LocalDateAndTime=; HeatingButtonOverrideState=Off;
Cloud : @{Environment=Prod; WiserApiHost=api-nl.wiserair.com; BootStrapApiHost=bootstrap.gl.struxurewarecloud.com; PublishRequests=; ScheduleIdsToPublish=System.Object[]}
HeatingChannel : {@{id=1; Name=Channel-1; RoomIds=System.Object[]; PercentageDemand=26; DemandOnOffOutput=Off; HeatingRelayState=Off; IsSmartValvePreventingDemand=True}}
Room : {@{id=1; OverrideSetpoint=210; RoomStatId=51329; SmartValveIds=System.Object[]; ScheduleId=1; Name=Livingroom; Mode=Auto; DemandType=Modulating; WindowDetectionActive=False;
CalculatedTemperature=209; CurrentSetPoint=210; PercentageDemand=26; ControlOutputState=On; WindowState=Closed; DisplayedSetPoint=210}, @{id=2; OverrideSetpoint=200;
SmartValveIds=System.Object[]; ScheduleId=2; Name=Hallway; Mode=Auto; DemandType=Modulating; CalculatedTemperature=223; CurrentSetPoint=210; PercentageDemand=0;
ControlOutputState=Off; WindowState=Closed; DisplayedSetPoint=210}, @{id=3; SmartValveIds=System.Object[]; ScheduleId=3; Name=Kitchen; Mode=Auto; DemandType=Modulating;
WindowDetectionActive=False; CalculatedTemperature=214; CurrentSetPoint=210; PercentageDemand=0; ControlOutputState=Off; WindowState=Closed; DisplayedSetPoint=210}, @{id=4;
SmartValveIds=System.Object[]; ScheduleId=4; Name=Small Bedroom; Mode=Auto; DemandType=Modulating; CalculatedTemperature=217; CurrentSetPoint=210; PercentageDemand=0;
ControlOutputState=Off; WindowState=Closed; DisplayedSetPoint=210}…}
Schedule : {@{id=1; Monday=; Tuesday=; Wednesday=; Thursday=; Friday=; Saturday=; Sunday=; Type=Heating; CurrentSetpoint=210; NextEventTime=1380; NextEventSetpoint=-200}, @{id=2;
Monday=; Tuesday=; Wednesday=; Thursday=; Friday=; Saturday=; Sunday=; Type=Heating; CurrentSetpoint=210; NextEventTime=1350; NextEventSetpoint=-200}, @{id=3; Monday=;
Tuesday=; Wednesday=; Thursday=; Friday=; Saturday=; Sunday=; Type=Heating; CurrentSetpoint=210; NextEventTime=1350; NextEventSetpoint=-200}, @{id=4; Monday=; Tuesday=;
Wednesday=; Thursday=; Friday=; Saturday=; Sunday=; Type=Heating; CurrentSetpoint=210; NextEventTime=1350; NextEventSetpoint=-200}…}
Device : {@{id=0; ProductType=Controller; ProductIdentifier=Controller; ActiveFirmwareVersion=2.18.100; Manufacturer=Schneider; ModelIdentifier=WT714R1S0902;
DisplayedSignalStrength=Invalid}, @{id=51329; ProductIdentifier=RoomStat; ActiveFirmwareVersion=0401000000002371; Manufacturer=Schneider; ModelIdentifier=Thermostat;
HardwareVersion=0; SerialNumber=000B57FFFEAD7A3E; ProductRange=Wiser Heat; ProductModel=Thermostat; ProductFamily=Wiser Heat; OtaImageQueryCount=0; LastOtaImageQueryCount=1;
DisplayedSignalStrength=Medium; BatteryVoltage=29; BatteryLevel=Normal; Rssi=-71; Lqi=116}, @{id=56704; ProductIdentifier=iTRV; ActiveFirmwareVersion=0201000000002371;
Manufacturer=Schneider; ModelIdentifier=iTRV; HardwareVersion=0; SerialNumber=000B57FFFEC8AFCD; ProductRange=Wiser Heat; ProductModel=iTRV; ProductFamily=Wiser Heat;
OtaImageQueryCount=0; LastOtaImageQueryCount=1; DisplayedSignalStrength=Medium; BatteryVoltage=30; BatteryLevel=Normal; Rssi=-73; Lqi=108}, @{id=8864;
ProductIdentifier=iTRV; ActiveFirmwareVersion=0201000000002371; Manufacturer=Schneider; ModelIdentifier=iTRV; HardwareVersion=0; SerialNumber=000B57FFFEAA145A;
ProductRange=Wiser Heat; ProductModel=iTRV; ProductFamily=Wiser Heat; OtaImageQueryCount=0; LastOtaImageQueryCount=1; DisplayedSignalStrength=VeryGood; BatteryVoltage=30;
BatteryLevel=Normal; Rssi=-54; Lqi=184}…}
UpgradeInfo : {@{id=9; FirmwareFilename=0541010100000018FOTA.BIN}, @{id=8; FirmwareFilename=0541000000000018FOTA.BIN}, @{id=7; FirmwareFilename=0501010100000018FOTA.BIN}, @{id=6;
SmartValve : {@{id=56704; SetPoint=210; MeasuredTemperature=214; PercentageDemand=0; WindowState=Closed; ExternalRoomStatTemperature=209}, @{id=8864; SetPoint=210;
MeasuredTemperature=223; PercentageDemand=0; WindowState=Closed}, @{id=23395; SetPoint=210; MeasuredTemperature=214; PercentageDemand=0; WindowState=Closed}, @{id=7313;
SetPoint=210; MeasuredTemperature=217; PercentageDemand=0; WindowState=Closed}…}
RoomStat : {@{id=51329; SetPoint=210; MeasuredTemperature=209; MeasuredHumidity=50}}

Not sure if it is of any use but feel free to take a look.
Regards Mark.