Drayton Wiser Thermostat Binding


(Andrew Schofield) #81

You could legitimately say that the signal bars in the app (on the devices page) showed poor signal.


(Rob Pope) #82

Technically they’re all correct. Each device reports the temperature. Your Room Thermostat also reports the humidity. Rooms then take the average temperature of the devices in the room.

You can tell him you know that it has low signal from the app settings menu for each device.

Even if the cloud is down you should be able to access your thermostat if you’re on the same network. Were you away from home at the time?


(Andrew Schofield) #83

That’s not what I observe. It’s always the minimum temperature.


(Sajid) #84

Well, I was at home, but still the app was not able to connect to the devices, however I was able to monitor it through openHAB.

BTW, I think I have to thank you too :slight_smile: good job!


(Rob Pope) #85

Interesting. I was assuming it would be the average, although maybe they know the temperature is skewed by the TRV being next to the heat source and disregard it.


(Andrew Schofield) #86

Yeah, and what’s more the TRV demand % is set by the room temperature as well, so if I have my setpoint at 21C, and my room stat is saying its 20C, the TRV will stay open even though it thinks the room is 22C.
Quite clever actually.


(Sajid) #87

Is there any way to monitor how long boiler has been on/off? I have it wired to the opentherm module too.


(Andrew Schofield) #88

There might be, I don’t know what extra data (if any) is exposed via the API when you connect the hub via an opentherm module. Mine is connected by the legacy wall mount connections so I’m just going to have to track the heat demand data manually.

Grabbing your /data/domain output would probably be helpful.


(Sajid) #89

Where is this /data/domain? And if you need any further info, I am happy to help.


(Andrew Schofield) #90

How did you obtain the SECRET value?

My preferred tool for getting this data (and poking the API generally) is Postman.

You need to make a GET request to http://[hub ip address]/data/domain, and include the SECRET in the header. I’ll try and grab a screenshot later.


(Sajid) #91

I was not sure if you were talking about a FS path or something else. I did get the secret using powershell command which does run an API call against the WiserHUB when this is in setup mode.

I am trying to GET “http://192.168.0.72/data/domain” and with SECRET (with the value) in the header, but it doesn’t work. Returns 404.


(Andrew Schofield) #92

Ah sorry I think it may actually need a trailing slash.


(Sajid) #93

Do you want it pasted here or private?


(Andrew Schofield) #94

Either, just check that there’s nothing you want to sanitize first :slight_smile:


(Sajid) #95

{
“System”: {
“PairingStatus”: “NotPaired”,
“TimeZoneOffset”: 0,
“AutomaticDaylightSaving”: true,
“Version”: 6,
“FotaEnabled”: true,
“ValveProtectionEnabled”: false,
“EcoModeEnabled”: false,
“BoilerSettings”: {
“ControlType”: “HeatSourceType_RelayControlled”,
“FuelType”: “Gas”,
“CycleRate”: “CPH_6”
},
“UnixTime”: 1517247034,
“CloudConnectionStatus”: “Connected”,
“ZigbeeModuleVersion”: “R311 B030517”,
“ZigbeeEui”: “000B57FFFEAA1F2C”,
“LocalDateAndTime”: {
“Year”: 2018,
“Month”: “January”,
“Date”: 29,
“Day”: “Monday”,
“Time”: 1730
},
“HeatingButtonOverrideState”: “Off”,
“HotWaterButtonOverrideState”: “Off”
},
“Cloud”: {
“Environment”: “Prod”,
“WiserApiHost”: “api-nl.wiserair.com”,
“BootStrapApiHost”: “bootstrap.gl.struxurewarecloud.com”,
“PublishRequests”: {
“RoomTimeSeries”: false,
“EcoMode”: false,
“BoilerOnOffEvent”: false,
“PercentageDemand”: false,
“ZigbeeDebug”: false,
“FotaProgress”: false,
“SupportPackage”: false,
“PairingToken”: false,
“Notification”: false
},
“ScheduleIdsToPublish”: []
},
“HeatingChannel”: [
{
“id”: 1,
“Name”: “Channel-1”,
“RoomIds”: [
1,
2
],
“PercentageDemand”: 0,
“DemandOnOffOutput”: “Off”,
“HeatingRelayState”: “Off”,
“IsSmartValvePreventingDemand”: true
}
],
“Room”: [
{
“id”: 1,
“RoomStatId”: 19911,
“SmartValveIds”: [
13143,
31688
],
“ScheduleId”: 1,
“Name”: “Living”,
“Mode”: “Auto”,
“DemandType”: “Modulating”,
“CalculatedTemperature”: 188,
“CurrentSetPoint”: 180,
“PercentageDemand”: 0,
“ControlOutputState”: “Off”,
“WindowState”: “Closed”,
“DisplayedSetPoint”: 180
},
{
“id”: 2,
“SmartValveIds”: [],
“ScheduleId”: 2,
“Name”: “Lroom”,
“Mode”: “Auto”,
“CalculatedTemperature”: -32768,
“CurrentSetPoint”: 210,
“DisplayedSetPoint”: 210
}
],
“Schedule”: [
{
“id”: 1,
“Monday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Tuesday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Wednesday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Thursday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Friday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Saturday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Sunday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1800,
“DegreesC”: 200
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Type”: “Heating”,
“CurrentSetpoint”: 180,
“NextEventTime”: 1080,
“NextEventSetpoint”: 200
},
{
“id”: 2,
“Monday”: {
“SetPoints”: [
{
“Time”: 630,
“DegreesC”: 200
},
{
“Time”: 830,
“DegreesC”: 160
},
{
“Time”: 1630,
“DegreesC”: 210
},
{
“Time”: 2230,
“DegreesC”: -200
}
]
},
“Tuesday”: {
“SetPoints”: [
{
“Time”: 630,
“DegreesC”: 200
},
{
“Time”: 830,
“DegreesC”: 160
},
{
“Time”: 1630,
“DegreesC”: 210
},
{
“Time”: 2230,
“DegreesC”: -200
}
]
},
“Wednesday”: {
“SetPoints”: [
{
“Time”: 630,
“DegreesC”: 200
},
{
“Time”: 830,
“DegreesC”: 160
},
{
“Time”: 1630,
“DegreesC”: 210
},
{
“Time”: 2230,
“DegreesC”: -200
}
]
},
“Thursday”: {
“SetPoints”: [
{
“Time”: 630,
“DegreesC”: 200
},
{
“Time”: 830,
“DegreesC”: 160
},
{
“Time”: 1630,
“DegreesC”: 210
},
{
“Time”: 2230,
“DegreesC”: -200
}
]
},
“Friday”: {
“SetPoints”: [
{
“Time”: 630,
“DegreesC”: 200
},
{
“Time”: 830,
“DegreesC”: 160
},
{
“Time”: 1630,
“DegreesC”: 210
},
{
“Time”: 2230,
“DegreesC”: -200
}
]
},
“Saturday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1600,
“DegreesC”: 210
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Sunday”: {
“SetPoints”: [
{
“Time”: 700,
“DegreesC”: 200
},
{
“Time”: 900,
“DegreesC”: 180
},
{
“Time”: 1600,
“DegreesC”: 210
},
{
“Time”: 2300,
“DegreesC”: -200
}
]
},
“Type”: “Heating”,
“CurrentSetpoint”: 210,
“NextEventTime”: 1350,
“NextEventSetpoint”: -200
}
],
“Device”: [
{
“id”: 0,
“ProductType”: “Controller”,
“ProductIdentifier”: “Controller”,
“ActiveFirmwareVersion”: “2.18.100”,
“Manufacturer”: “Schneider”,
“ModelIdentifier”: “WT714R1S0902”,
“DisplayedSignalStrength”: “Good”
},
{
“id”: 19911,
“ProductIdentifier”: “RoomStat”,
“ActiveFirmwareVersion”: “0401000000002371”,
“Manufacturer”: “Schneider”,
“ModelIdentifier”: “Thermostat”,
“HardwareVersion”: “0”,
“SerialNumber”: “000XXXXXXXXXXX”,
“ProductRange”: “Wiser Heat”,
“ProductModel”: “Thermostat”,
“ProductFamily”: “Wiser Heat”,
“OtaImageQueryCount”: 0,
“LastOtaImageQueryCount”: 1,
“DisplayedSignalStrength”: “VeryGood”,
“BatteryVoltage”: 32,
“BatteryLevel”: “Normal”,
“Rssi”: -58,
“Lqi”: 168
},
{
“id”: 13143,
“ProductIdentifier”: “iTRV”,
“ActiveFirmwareVersion”: “0201000000002371”,
“Manufacturer”: “Schneider”,
“ModelIdentifier”: “iTRV”,
“HardwareVersion”: “0”,
“SerialNumber”: “000XXXXXXXXXXXX”,
“ProductRange”: “Wiser Heat”,
“ProductModel”: “iTRV”,
“ProductFamily”: “Wiser Heat”,
“OtaImageQueryCount”: 0,
“LastOtaImageQueryCount”: 1,
“DisplayedSignalStrength”: “Good”,
“BatteryVoltage”: 31,
“BatteryLevel”: “Normal”,
“Rssi”: -70,
“Lqi”: 120
},
{
“id”: 31688,
“ProductIdentifier”: “iTRV”,
“ActiveFirmwareVersion”: “0201000000002371”,
“Manufacturer”: “Schneider”,
“ModelIdentifier”: “iTRV”,
“HardwareVersion”: “0”,
“SerialNumber”: “XXXXXXXXXXXXX”,
“ProductRange”: “Wiser Heat”,
“ProductModel”: “iTRV”,
“ProductFamily”: “Wiser Heat”,
“OtaImageQueryCount”: 0,
“LastOtaImageQueryCount”: 1,
“DisplayedSignalStrength”: “VeryGood”,
“BatteryVoltage”: 31,
“BatteryLevel”: “Normal”,
“Rssi”: -55,
“Lqi”: 180
}
],
“UpgradeInfo”: [
{
“id”: 9,
“FirmwareFilename”: “0541010100000018FOTA.BIN”
},
{
“id”: 8,
“FirmwareFilename”: “0541000000000018FOTA.BIN”
},
{
“id”: 7,
“FirmwareFilename”: “0501010100000018FOTA.BIN”
},
{
“id”: 6,
“FirmwareFilename”: “0501000000000018FOTA.BIN”
},
{
“id”: 5,
“FirmwareFilename”: “0441010100002371FOTA.BIN”
},
{
“id”: 4,
“FirmwareFilename”: “0441000000002371FOTA.BIN”
},
{
“id”: 3,
“FirmwareFilename”: “0401010100002371FOTA.BIN”
},
{
“id”: 2,
“FirmwareFilename”: “0401000000002371FOTA.BIN”
},
{
“id”: 1,
“FirmwareFilename”: “0201000000002371FOTA.BIN”
}
],
“SmartValve”: [
{
“id”: 13143,
“SetPoint”: 180,
“MeasuredTemperature”: 178,
“PercentageDemand”: 0,
“WindowState”: “Closed”,
“ExternalRoomStatTemperature”: 188
},
{
“id”: 31688,
“SetPoint”: 180,
“MeasuredTemperature”: 177,
“PercentageDemand”: 0,
“WindowState”: “Closed”,
“ExternalRoomStatTemperature”: 188
}
],
“RoomStat”: [
{
“id”: 19911,
“SetPoint”: 180,
“MeasuredTemperature”: 188,
“MeasuredHumidity”: 68
}
]
}


(Sajid) #96

This is showing as good, but it is Poor on PaperUI, I am confused…

I can see that PaperUI is showing the wiserhub as offline:
image

But according to the API call it is still available, any ideas?

EDITED:
Restarted OpenHAB and now it is working properly.
Regarding the duplicate temperature and other weird stuff I think I had two things (links) for a specific component.

The weird thing now is that signal to the controller is good but it is Poor on the TRV, none of these devices are more than 5meters away from the router.

{
“id”: 13143,
“ProductIdentifier”: “iTRV”,
“ActiveFirmwareVersion”: “0201000000002371”,
“Manufacturer”: “Schneider”,
“ModelIdentifier”: “iTRV”,
“HardwareVersion”: “0”,
“SerialNumber”: “000XXXXXXXXXXXX”,
“ProductRange”: “Wiser Heat”,
“ProductModel”: “iTRV”,
“ProductFamily”: “Wiser Heat”,
“OtaImageQueryCount”: 0,
“LastOtaImageQueryCount”: 1,
“DisplayedSignalStrength”: “Poor”,
“BatteryVoltage”: 31,
“BatteryLevel”: “Normal”,
“Rssi”: -88,
“Lqi”: 48
},
“id”: 0,
“ProductType”: “Controller”,
“ProductIdentifier”: “Controller”,
“ActiveFirmwareVersion”: “2.18.100”,
“Manufacturer”: “Schneider”,
“ModelIdentifier”: “WT714R1S0902”,
“DisplayedSignalStrength”: “Good”


(Andrew Schofield) #97

The signal strengths are a bit weird on all my devices as well. The hub connects via WiFi to the router, but all the other devices form a ZigBee star network and talk directly to the hub. Some of my closest trvs to the hub have low signal and I had to get a range extender from Drayton to boost some of the downstairs trvs (hub is in the loft). I don’t think Drayton have got the networking part of the firmware quite right yet as several of my devices have fallen of the ZigBee network and needed their batteries pulling to trigger a soft reset to get them to connect again. The trv in one of my son’s bedroom disconnected this evening even though it is the closest device to the hub, sadly the failure state is for it to be “closed” so the room was freezing :frowning:


(Sajid) #98

Any idea if we could monitor the boiler? I have it connected to the wiser hub via opentherm module, any advice is welcome.


(Andrew Schofield) #99

Having a look again at your api response, it doesn’t look like it’s exposing any opentherm specific data I’m afraid :frowning:


(ultraviolet) #100

Hi guys. Good work with the API so far! I have the following data from my system with a heating channel and HOT WATER channel:

    Member Key: HeatingChannel
        Array
            Object
                Member Key: id
                    Number value: 1
                    Key: id
                Member Key: Name
                    String value: Channel-1
                    Key: Name
                Member Key: RoomIds
                    Array
                        Number value: 1
                        Number value: 2
                        Number value: 3
                        Number value: 4
                        Number value: 5
                        Number value: 6
                        Number value: 7
                    Key: RoomIds
                Member Key: PercentageDemand
                    Number value: 0
                    Key: PercentageDemand
                Member Key: DemandOnOffOutput
                    String value: Off
                    Key: DemandOnOffOutput
                Member Key: HeatingRelayState
                    String value: Off
                    Key: HeatingRelayState
                Member Key: IsSmartValvePreventingDemand
                    True value
                    Key: IsSmartValvePreventingDemand
        Key: HeatingChannel
    Member Key: HotWater
        Array
            Object
                Member Key: id
                    Number value: 2
                    Key: id
                Member Key: OverrideType
                    String value: None
                    Key: OverrideType
                Member Key: ScheduleId
                    Number value: 1000
                    Key: ScheduleId
                Member Key: Mode
                    String value: Auto
                    Key: Mode
                Member Key: WaterHeatingState
                    String value: Off
                    Key: WaterHeatingState
                Member Key: HotWaterRelayState
                    String value: Off
                    Key: HotWaterRelayState
        Key: HotWater