Drayton Wiser Thermostat Binding


(Andrew Schofield) #163

You can enclose the whole thing in triple backticks like this:
```code here```


(Paul Smith) #165

Putting it in quotes didnt seem to help…I pasted into a JSON file in Visual studio - here it is a bit neater :sunglasses:

{
  "System": {
    "PairingStatus": "Paired",
    "TimeZoneOffset": 0,
    "AutomaticDaylightSaving": true,
    "Version": 6,
    "FotaEnabled": true,
    "ValveProtectionEnabled": false,
    "BoilerSettings": {
      "ControlType": "HeatSourceType_RelayControlled",
      "FuelType": "Gas",
      "CycleRate": "CPH_6"
    },
    "UnixTime": 1520193533,
    "ZigbeePermitJoinActive": false,
    "CloudConnectionStatus": "Disconnected",
    "ZigbeeModuleVersion": "R311 B030517",
    "ZigbeeEui": "000B57FFFEB37829",
    "LocalDateAndTime": {
      "Year": 2018,
      "Month": "March",
      "Date": 4,
      "Day": "Sunday",
      "Time": 1958
    },
    "HeatingButtonOverrideState": "Off",
    "HotWaterButtonOverrideState": "Off"
  },
  "Cloud": {
    "Environment": "Prod",
    "WiserApiHost": "api-nl.wiserair.com",
    "BootStrapApiHost": "bootstrap.gl.struxurewarecloud.com",
    "PublishRequests": {
      "RoomTimeSeries": true,
      "EcoMode": false,
      "BoilerOnOffEvent": false,
      "PercentageDemand": true,
      "ZigbeeDebug": true,
      "FotaProgress": false,
      "SupportPackage": false,
      "PairingToken": false,
      "Notification": false
    },
    "ScheduleIdsToPublish": []
  },
  "HeatingChannel": [
    {
      "id": 1,
      "Name": "Channel-1",
      "RoomIds": [ 1, 2, 3, 4 ],
      "PercentageDemand": 22,
      "DemandOnOffOutput": "Off",
      "HeatingRelayState": "Off",
      "IsSmartValvePreventingDemand": false
    }
  ],
  "HotWater": [
    {
      "id": 2,
      "OverrideType": "None",
      "ScheduleId": 1000,
      "Mode": "Auto",
      "WaterHeatingState": "Off",
      "HotWaterRelayState": "Off"
    }
  ],
  "Room": [
    {
      "id": 1,
      "OverrideType": "None",
      "RoomStatId": 16215,
      "ScheduleId": 1001,
      "Name": "Hallway",
      "Mode": "Auto",
      "DemandType": "Modulating",
      "CalculatedTemperature": 225,
      "CurrentSetPoint": 210,
      "PercentageDemand": 0,
      "ControlOutputState": "Off",
      "DisplayedSetPoint": 210
    },
    {
      "id": 2,
      "SmartValveIds": [ 16257 ],
      "ScheduleId": 1002,
      "Name": "Spare Room",
      "Mode": "Auto",
      "DemandType": "Modulating",
      "CalculatedTemperature": 152,
      "CurrentSetPoint": 150,
      "PercentageDemand": 0,
      "ControlOutputState": "Off",
      "WindowState": "Closed",
      "DisplayedSetPoint": 150
    },
    {
      "id": 3,
      "SmartValveIds": [ 36481 ],
      "ScheduleId": 1003,
      "Name": "Master bedroom",
      "Mode": "Auto",
      "DemandType": "Modulating",
      "CalculatedTemperature": 177,
      "CurrentSetPoint": 180,
      "PercentageDemand": 22,
      "ControlOutputState": "Off",
      "WindowState": "Closed",
      "DisplayedSetPoint": 180
    },
    {
      "id": 4,
      "OverrideType": "Manual",
      "OverrideSetpoint": 170,
      "SmartValveIds": [ 49571 ],
      "ScheduleId": 1004,
      "Name": "Dining Room",
      "Mode": "Auto",
      "DemandType": "Modulating",
      "WindowDetectionActive": false,
      "CalculatedTemperature": 206,
      "CurrentSetPoint": 170,
      "PercentageDemand": 0,
      "ControlOutputState": "Off",
      "WindowState": "Closed",
      "DisplayedSetPoint": 170
    }
  ],
  "Schedule": [
    {
      "id": 1000,
      "Monday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Tuesday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Wednesday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Thursday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Friday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Saturday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Sunday": {
        "SetPoints": [
          {
            "Time": 0,
            "DegreesC": -200
          }
        ]
      },
      "Type": "HotWater",
      "CurrentSetpoint": -200,
      "NextEventTime": 65535,
      "NextEventSetpoint": -32768
    },
    {
      "id": 1001,
      "Monday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 180
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Tuesday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Wednesday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Thursday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Friday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Saturday": {
        "SetPoints": [
          {
            "Time": 700,
            "DegreesC": 160
          },
          {
            "Time": 900,
            "DegreesC": 180
          },
          {
            "Time": 1600,
            "DegreesC": 210
          },
          {
            "Time": 2300,
            "DegreesC": -200
          }
        ]
      },
      "Sunday": {
        "SetPoints": [
          {
            "Time": 700,
            "DegreesC": 160
          },
          {
            "Time": 800,
            "DegreesC": 180
          },
          {
            "Time": 1600,
            "DegreesC": 180
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Type": "Heating",
      "CurrentSetpoint": 180,
      "NextEventTime": 1320,
      "NextEventSetpoint": -200
    },
    {
      "id": 1002,
      "Monday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 170
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Tuesday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 170
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Wednesday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 170
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Thursday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 170
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Friday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 170
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Saturday": {
        "SetPoints": [
          {
            "Time": 700,
            "DegreesC": 150
          },
          {
            "Time": 900,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": 160
          },
          {
            "Time": 2300,
            "DegreesC": -200
          }
        ]
      },
      "Sunday": {
        "SetPoints": [
          {
            "Time": 700,
            "DegreesC": 180
          },
          {
            "Time": 900,
            "DegreesC": 180
          },
          {
            "Time": 1600,
            "DegreesC": 150
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Type": "Heating",
      "CurrentSetpoint": 150,
      "NextEventTime": 1320,
      "NextEventSetpoint": -200
    },
    {
      "id": 1003,
      "Monday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": 180
          },
          {
            "Time": 2230,
            "DegreesC": -200
          }
        ]
      },
      "Tuesday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 2200,
            "DegreesC": 180
          },
          {
            "Time": 2230,
            "DegreesC": -200
          }
        ]
      },
      "Wednesday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 180
          },
          {
            "Time": 2230,
            "DegreesC": -200
          }
        ]
      },
      "Thursday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 180
          },
          {
            "Time": 2230,
            "DegreesC": -200
          }
        ]
      },
      "Friday": {
        "SetPoints": [
          {
            "Time": 600,
            "DegreesC": 200
          },
          {
            "Time": 745,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 180
          },
          {
            "Time": 2230,
            "DegreesC": -200
          }
        ]
      },
      "Saturday": {
        "SetPoints": [
          {
            "Time": 700,
            "DegreesC": 200
          },
          {
            "Time": 900,
            "DegreesC": 160
          },
          {
            "Time": 1600,
            "DegreesC": 180
          },
          {
            "Time": 2300,
            "DegreesC": -200
          }
        ]
      },
      "Sunday": {
        "SetPoints": [
          {
            "Time": 700,
            "DegreesC": 180
          },
          {
            "Time": 1000,
            "DegreesC": 160
          },
          {
            "Time": 1600,
            "DegreesC": 180
          },
          {
            "Time": 2200,
            "DegreesC": -200
          }
        ]
      },
      "Type": "Heating",
      "CurrentSetpoint": 180,
      "NextEventTime": 1320,
      "NextEventSetpoint": -200
    },
    {
      "id": 1004,
      "Monday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 200
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Tuesday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Wednesday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Thursday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Friday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Saturday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 200
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Sunday": {
        "SetPoints": [
          {
            "Time": 630,
            "DegreesC": 200
          },
          {
            "Time": 830,
            "DegreesC": 160
          },
          {
            "Time": 1630,
            "DegreesC": 210
          },
          {
            "Time": 2000,
            "DegreesC": -200
          }
        ]
      },
      "Type": "Heating",
      "CurrentSetpoint": 210,
      "NextEventTime": 1200,
      "NextEventSetpoint": -200
    }
  ],
  "Device": [
    {
      "id": 0,
      "ProductType": "Controller",
      "ProductIdentifier": "Controller",
      "ActiveFirmwareVersion": "2.18.100",
      "Manufacturer": "Schneider",
      "ModelIdentifier": "WT724R1S0902",
      "DisplayedSignalStrength": "Invalid"
    },
    {
      "id": 16215,
      "ProductIdentifier": "RoomStat",
      "ActiveFirmwareVersion": "0401000000002371",
      "Manufacturer": "Schneider",
      "ModelIdentifier": "Thermostat",
      "HardwareVersion": "0",
      "SerialNumber": "90FD9FFFFE10FED6",
      "ProductRange": "Wiser Heat",
      "ProductModel": "Thermostat",
      "ProductFamily": "Wiser Heat",
      "OtaImageQueryCount": 0,
      "LastOtaImageQueryCount": 1,
      "DisplayedSignalStrength": "Good",
      "BatteryVoltage": 29,
      "BatteryLevel": "Normal",
      "Rssi": -62,
      "Lqi": 152
    },
    {
      "id": 16257,
      "ProductIdentifier": "iTRV",
      "ActiveFirmwareVersion": "0201000000002371",
      "Manufacturer": "Schneider",
      "ModelIdentifier": "iTRV",
      "HardwareVersion": "0",
      "SerialNumber": "000B57FFFE6322E1",
      "ProductRange": "Wiser Heat",
      "ProductModel": "iTRV",
      "ProductFamily": "Wiser Heat",
      "OtaImageQueryCount": 0,
      "LastOtaImageQueryCount": 1,
      "DisplayedSignalStrength": "Medium",
      "BatteryVoltage": 26,
      "BatteryLevel": "Low",
      "Rssi": -71,
      "Lqi": 116,
      "PendingZigbeeMessageMask": 0
    },
    {
      "id": 36481,
      "ProductIdentifier": "iTRV",
      "ActiveFirmwareVersion": "0201000000002371",
      "Manufacturer": "Schneider",
      "ModelIdentifier": "iTRV",
      "HardwareVersion": "0",
      "SerialNumber": "000B57FFFEC8B107",
      "ProductRange": "Wiser Heat",
      "ProductModel": "iTRV",
      "ProductFamily": "Wiser Heat",
      "OtaImageQueryCount": 0,
      "LastOtaImageQueryCount": 1,
      "DisplayedSignalStrength": "Good",
      "BatteryVoltage": 27,
      "BatteryLevel": "Low",
      "Rssi": -69,
      "Lqi": 124,
      "PendingZigbeeMessageMask": 0
    },
    {
      "id": 11459,
      "ProductIdentifier": "OwonSmartplug",
      "ActiveFirmwareVersion": "0xff",
      "Manufacturer": "Owon",
      "ModelIdentifier": "WSP402",
      "HardwareVersion": "0xff",
      "SerialNumber": "000D6F000D82D5EE",
      "ProductRange": "0xff",
      "ProductModel": "",
      "ProductFamily": "",
      "OtaImageQueryCount": 0,
      "LastOtaImageQueryCount": 0,
      "DisplayedSignalStrength": "Invalid"
    },
    {
      "id": 49571,
      "ProductIdentifier": "iTRV",
      "ActiveFirmwareVersion": "0201000000002371",
      "Manufacturer": "Schneider",
      "ModelIdentifier": "iTRV",
      "HardwareVersion": "0",
      "SerialNumber": "90FD9FFFFE952DE7",
      "ProductRange": "Wiser Heat",
      "ProductModel": "iTRV",
      "ProductFamily": "Wiser Heat",
      "OtaImageQueryCount": 0,
      "LastOtaImageQueryCount": 0,
      "DisplayedSignalStrength": "Good",
      "BatteryVoltage": 31,
      "BatteryLevel": "Normal",
      "Rssi": -63,
      "Lqi": 148,
      "PendingZigbeeMessageMask": 0
    }
  ],
  "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": 16257,
      "SetPoint": 150,
      "MeasuredTemperature": 152,
      "PercentageDemand": 0,
      "WindowState": "Closed"
    },
    {
      "id": 36481,
      "SetPoint": 180,
      "MeasuredTemperature": 177,
      "PercentageDemand": 45,
      "WindowState": "Closed"
    },
    {
      "id": 49571,
      "MountingOrientation": "Vertical",
      "SetPoint": 170,
      "MeasuredTemperature": 205,
      "PercentageDemand": 0,
      "WindowState": "Closed"
    }
  ],
  "RoomStat": [
    {
      "id": 16215,
      "SetPoint": 210,
      "MeasuredTemperature": 225,
      "MeasuredHumidity": 38
    }
  ],
  "SmartPlug": [ { "id": 11459 } ]
}

(Andrew Schofield) #166

If you edit your post now, and put the triple quote in it should work. I think last time there were no line breaks anywhere which messed up the formatting.

I can’t see anything immediately “wrong” with that json which would cause the TRVs not to be discovered :confused:


(Paul Smith) #167

Will try deleting everything tonight and starting again…will keep you up to date :sunglasses:

So I deleted the configuration and searched again for things. I attach 2 screenshots to show what I got. As you can see - there are no TRV’s, but ut has worked out the Thermostat is in the Hallway…


(Andrew Schofield) #168

@paul-syd-smith I’ve just pushed a fix that should resolve your TRV discovery issue. The problem turned out to be matching the TRV to a room, if there were any rooms that didn’t have TRVs associated (like yours) the code would fall over, so I’ve fixed that little error :slight_smile:.


(Paul Smith) #169

Sorry Andrew - where or how do I get the jar file with this fix in it? I looked on your Github directory but only see source code.


(Andrew Schofield) #170

Hi Paul, you can always get the latest jar from the first post of my pull request here: https://github.com/openhab/openhab2-addons/pull/3168


(Paul Smith) #171

Thanks Andrew, I got it and after deleting all my things I reran the scan. It has not worked 100%, but I will have a proper look at it in a couple of days. It appears to have found ONE iTRV, but I’m not sure which one and it hasn’t told me which room it belongs to.

I assume from your statement about having a room without an iTRV, you are referring to the Hallway, which has a radiator with a locksheld valve. All other defined rooms do have iTRV’s.

I will get back to you after I have dome some more experimetnation. Thanks for the update.


(Andrew Schofield) #172

Interesting. It’d be good to see what the logs say this time if you can get hold of them.


(Andrew Schofield) #173

@jimmyss04 I’ve pushed a more substantial change which I believe should finally fix the weird timeout bug we’ve both seen. If you could test it that would be great. I think my remaining problems are now due to my raspberry pi losing network connectivity for no reason and then never recovering.


(Andrew Schofield) #174

I’m fairly convinced my most recent changes have resolved the timeout bug, as my Pi has now been running the binding solidly for 5 days without dropping the connection to the heathub. I’m going to work my way through the remaining list of features and then request that the PR gets reviewed properly.


(Andrew Schofield) #175

The first 3 items on the todo list are now complete, and I can now almost completely control my heating system from BasicUI, or the OpenHab app. The remaining item, schedules, is likely to be simply pushing a json schedule definition to a channel for each room in the first iteration. I think this should suffice for my own use case of having a set of predefined schedules that I would want to deploy according to certain scenarios. A subsequent iteration may allow full control over the schedules.


(Andrew Schofield) #176

One page from my current sitemap using a lot of the channels from the binding.


(Rob Pope) #177

The features just keep coming!

image

Personally, I’m really happy that they’re developing at such a rapid rate. It’s one of my few oddball purchases (i.e. I didn’t go for Nest/Hive) that I’m really pleased with.


(Andrew Schofield) #178

:frowning: The android app hasn’t been updated with that functionality. We only just got Open Window detection in the last week or so.

Has the device/heathub firmware been updated to support this feature (and are there any new and exciting json objects/properties being exposed now)?


(Rob Pope) #179

I spotted it in the Android app. Not all my devices have window open yet, but they do have device lock.

https://photos.app.goo.gl/8HVlufkXahXgMg3f1

I’ll see if I can grab the json later and I’ll send it over


(Andrew Schofield) #180

Interesting. It looks like it might be dependent on the firmware version of the TRVs etc. Mine still have an older firmware on them.
Is the screenshot in your original post from the ios changelog, or somewhere else?


(Rob Pope) #181

The description? That’s from the Drayton Wiser user guide online.


(Rob Pope) #182

It’s curiously also available on the Room Stats. Notice the new “DeviceLockEnabled” parameter

        {
            "id": 50904,
            "ProductIdentifier": "RoomStat",
            "ActiveFirmwareVersion": "0401010100004046",
            "Manufacturer": "Schneider",
            "ModelIdentifier": "Thermostat",
            "HardwareVersion": "1",
            "SerialNumber": "000B57FFFEXXXXXX",
            "ProductRange": "Wiser Heat",
            "ProductModel": "Thermostat",
            "ProductFamily": "Wiser Heat",
            "OtaImageQueryCount": 0,
            "LastOtaImageQueryCount": 1,
            "DeviceType": "SleepyEndDevice",
            "DeviceLockEnabled": false,
            "DisplayedSignalStrength": "Good",
            "BatteryVoltage": 29,
            "BatteryLevel": "Normal",
            "Rssi": -65,
            "Lqi": 140
        },
        {
            "id": 49196,
            "ProductIdentifier": "iTRV",
            "ActiveFirmwareVersion": "0201000000004046",
            "Manufacturer": "Schneider",
            "ModelIdentifier": "iTRV",
            "HardwareVersion": "0",
            "SerialNumber": "90FD9FFFFEXXXXXX",
            "ProductRange": "Wiser Heat",
            "ProductModel": "iTRV",
            "ProductFamily": "Wiser Heat",
            "OtaImageQueryCount": 0,
            "LastOtaImageQueryCount": 1,
            "DeviceType": "SleepyEndDevice",
            "DeviceLockEnabled": false,
            "DisplayedSignalStrength": "Good",
            "BatteryVoltage": 26,
            "BatteryLevel": "Low",
            "Rssi": -65,
            "Lqi": 140,
            "PendingZigbeeMessageMask": 0
        }

(Andrew Schofield) #183

Ah ok, looks like I’m going to have to wait for my firmware to update.

I’ve just added some extra items to the roomstat and trv things which expose more usable battery level and signal strength values, so they now work with the qualityofservice and batterylevel dynamic icons, which look much better on a sitemap.

Once the firmware on my devices updates, I’ll take a look at adding device lock and open window detection. Drayton keep adding more features faster than I can add them to the binding at the moment :slight_smile: