donavanbecker / homebridge-resideo

The Homebridge Resideo plugin allows you to access your Resideo devices from HomeKit.
ISC License
37 stars 9 forks source link

Bug: Auto mode missing for Lyric round but is available in Resideo #774

Closed Slug-Life closed 9 months ago

Slug-Life commented 1 year ago

Describe The Bug

Auto mode is missing for Lyric Round but is available in the Resideo app. Enabling auto mode from the Resideo app did not help and produced an error in the logs.

To Reproduce

Setup Lyric Round following wiki

Expected behavior

Auto mode should be available

Relevant log output

[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat device: {"thermostatVersion":"02.03.20.00","scheduleStatus":"Resume","allowedTimeIncrements":15,"settings":{"homeSetPoints":{"homeHeatSP":70,"homeCoolSP":78,"units":"Fahrenheit"},"awaySetPoints":{"awayHeatSP":62,"awayCoolSP":85,"smartCoolSP":80,"smartHeatSP":55,"useAutoSmart":true,"units":"Fahrenheit"},"hardwareSettings":{"brightness":2,"volume":10,"maxBrightness":10,"maxVolume":10},"fan":{"allowedModes":["Auto","On","Circulate"],"changeableValues":{"mode":"Auto"},"fanRunning":false},"temperatureMode":{"feelsLike":true,"air":true},"specialMode":{"autoChangeoverActive":false}},"deviceClass":"Thermostat","deviceType":"Thermostat","deviceID":"TCC-2713932","userDefinedDeviceName":"Thermostat","name":"Thermostat","schedule":{"scheduleType":"None"},"isAlive":true,"isUpgrading":false,"isProvisioned":false,"macID":"00D02DA068FA","deviceSettings":{},"service":{"mode":"Up"},"units":"Fahrenheit","indoorTemperature":70,"outdoorTemperature":31,"allowedModes":["Cool","Heat","Off"],"deadband":0,"hasDualSetpointStatus":false,"minHeatSetpoint":40,"maxHeatSetpoint":99,"minCoolSetpoint":40,"maxCoolSetpoint":99,"changeableValues":{"mode":"Heat","autoChangeoverActive":false,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"},"operationStatus":{"mode":"EquipmentOff"},"smartAway":{"active":false,"timeOfDay":"00:00:00","durationInHours":2,"durationInDays":0,"lastUsedFormat":"TimeOfDay","endsIn":"2000-01-01T00:00:00-07:00"},"indoorHumidity":40,"indoorHumidityStatus":"Measured","deviceModel":"Round"}
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat
       from Resideo API: {"mode":"Heat","autoChangeoverActive":false,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"}
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat fanMode: {"mode":"Auto"}
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat Fan
        from Resideo Fan API: {"mode":"Auto"}
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat thermostatSetpointStatus config set to PermanentHold
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TemperatureDisplayUnits: 1
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentTemperature: 21
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentRelativeHumidity: 40
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus HeatingThresholdTemperature: 21
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CoolingThresholdTemperature: 21.5
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetHeatingCoolingState: 1
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus Currently Mode (OFF): EquipmentOff(0)
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetTemperature (HEAT): 21)
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat Fan: {"mode":"Auto"}
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TemperatureDisplayUnits: 1
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentTemperature: 21
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentRelativeHumidity: 40
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetTemperature: 21
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic HeatingThresholdTemperature: 21
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CoolingThresholdTemperature: 21.5
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetHeatingCoolingState: 1
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentHeatingCoolingState: 1
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic TargetFanState: 1
[12/28/2022, 9:00:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic Active: 0
[12/28/2022, 9:02:39 PM] [Front Door Switch] Setting switch to false
[12/28/2022, 9:02:47 PM] [Resideo] [DEBUG] Got access token: ZtjjAn9JvJvgl2bk5Qp61ppPEt10
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat device: {"thermostatVersion":"02.03.20.00","scheduleStatus":"Resume","allowedTimeIncrements":15,"settings":{"homeSetPoints":{"homeHeatSP":70,"homeCoolSP":78,"units":"Fahrenheit"},"awaySetPoints":{"awayHeatSP":62,"awayCoolSP":85,"smartCoolSP":80,"smartHeatSP":55,"useAutoSmart":true,"units":"Fahrenheit"},"hardwareSettings":{"brightness":2,"volume":10,"maxBrightness":10,"maxVolume":10},"fan":{"allowedModes":["Auto","On","Circulate"],"changeableValues":{"mode":"Auto"},"fanRunning":false},"temperatureMode":{"feelsLike":true,"air":true},"specialMode":{"autoChangeoverActive":false}},"deviceClass":"Thermostat","deviceType":"Thermostat","deviceID":"TCC-2713932","userDefinedDeviceName":"Thermostat","name":"Thermostat","schedule":{"scheduleType":"None"},"isAlive":true,"isUpgrading":false,"isProvisioned":false,"macID":"00D02DA068FA","deviceSettings":{},"service":{"mode":"Up"},"units":"Fahrenheit","indoorTemperature":70,"outdoorTemperature":31,"allowedModes":["Cool","Heat","Off"],"deadband":0,"hasDualSetpointStatus":false,"minHeatSetpoint":40,"maxHeatSetpoint":99,"minCoolSetpoint":40,"maxCoolSetpoint":99,"changeableValues":{"mode":"Heat","autoChangeoverActive":false,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"},"operationStatus":{"mode":"Heat"},"smartAway":{"active":false,"timeOfDay":"00:00:00","durationInHours":2,"durationInDays":0,"lastUsedFormat":"TimeOfDay","endsIn":"2000-01-01T00:00:00-07:00"},"indoorHumidity":40,"indoorHumidityStatus":"Measured","deviceModel":"Round"}
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat
       from Resideo API: {"mode":"Heat","autoChangeoverActive":false,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"}
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat fanMode: {"mode":"Auto"}
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat Fan
        from Resideo Fan API: {"mode":"Auto"}
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat thermostatSetpointStatus config set to PermanentHold
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TemperatureDisplayUnits: 1
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentTemperature: 21
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentRelativeHumidity: 40
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus HeatingThresholdTemperature: 21
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CoolingThresholdTemperature: 21.5
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetHeatingCoolingState: 1
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus Currently Mode (HEAT): Heat(1)
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetTemperature (HEAT): 21)
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat Fan: {"mode":"Auto"}
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TemperatureDisplayUnits: 1
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentTemperature: 21
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentRelativeHumidity: 40
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetTemperature: 21
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic HeatingThresholdTemperature: 21
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CoolingThresholdTemperature: 21.5
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetHeatingCoolingState: 1
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentHeatingCoolingState: 1
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic TargetFanState: 1
[12/28/2022, 9:02:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic Active: 0
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat device: {"thermostatVersion":"02.03.20.00","scheduleStatus":"Resume","allowedTimeIncrements":15,"settings":{"homeSetPoints":{"homeHeatSP":70,"homeCoolSP":78,"units":"Fahrenheit"},"awaySetPoints":{"awayHeatSP":62,"awayCoolSP":85,"smartCoolSP":80,"smartHeatSP":55,"useAutoSmart":true,"units":"Fahrenheit"},"hardwareSettings":{"brightness":2,"volume":10,"maxBrightness":10,"maxVolume":10},"fan":{"allowedModes":["Auto","On","Circulate"],"changeableValues":{"mode":"Auto"},"fanRunning":true},"temperatureMode":{"feelsLike":true,"air":true},"specialMode":{"autoChangeoverActive":true}},"deviceClass":"Thermostat","deviceType":"Thermostat","deviceID":"TCC-2713932","userDefinedDeviceName":"Thermostat","name":"Thermostat","schedule":{"scheduleType":"None"},"isAlive":true,"isUpgrading":false,"isProvisioned":false,"macID":"00D02DA068FA","deviceSettings":{},"service":{"mode":"Up"},"units":"Fahrenheit","indoorTemperature":70,"outdoorTemperature":31,"allowedModes":["Cool","Heat","Off"],"deadband":0,"hasDualSetpointStatus":false,"minHeatSetpoint":40,"maxHeatSetpoint":99,"minCoolSetpoint":40,"maxCoolSetpoint":99,"changeableValues":{"mode":"Auto","autoChangeoverActive":true,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"},"operationStatus":{"mode":"Heat"},"smartAway":{"active":false,"timeOfDay":"00:00:00","durationInHours":2,"durationInDays":0,"lastUsedFormat":"TimeOfDay","endsIn":"2000-01-01T00:00:00-07:00"},"indoorHumidity":41,"indoorHumidityStatus":"Measured","deviceModel":"Round"}
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat
       from Resideo API: {"mode":"Auto","autoChangeoverActive":true,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"}
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat fanMode: {"mode":"Auto"}
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat Fan
        from Resideo Fan API: {"mode":"Auto"}
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat thermostatSetpointStatus config set to PermanentHold
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TemperatureDisplayUnits: 1
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentTemperature: 21
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentRelativeHumidity: 41
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus HeatingThresholdTemperature: 21
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CoolingThresholdTemperature: 21.5
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetHeatingCoolingState: 3
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus Currently Mode (HEAT): Heat(1)
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetTemperature (OFF/COOL): 21.5)
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat Fan: {"mode":"Auto"}
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TemperatureDisplayUnits: 1
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentTemperature: 21
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentRelativeHumidity: 41
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetTemperature: 21.5
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic HeatingThresholdTemperature: 21
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CoolingThresholdTemperature: 21.5
[12/28/2022, 9:04:51 PM] [homebridge-resideo] This plugin generated a warning from the characteristic 'Target Heating Cooling State': characteristic value 3 is not contained in valid values array. See https://homebridge.io/w/JtMGR for more info.
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetHeatingCoolingState: 3
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentHeatingCoolingState: 3
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic TargetFanState: 1
[12/28/2022, 9:04:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic Active: 0
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat device: {"thermostatVersion":"02.03.20.00","scheduleStatus":"Resume","allowedTimeIncrements":15,"settings":{"homeSetPoints":{"homeHeatSP":70,"homeCoolSP":78,"units":"Fahrenheit"},"awaySetPoints":{"awayHeatSP":62,"awayCoolSP":85,"smartCoolSP":80,"smartHeatSP":55,"useAutoSmart":true,"units":"Fahrenheit"},"hardwareSettings":{"brightness":2,"volume":10,"maxBrightness":10,"maxVolume":10},"fan":{"allowedModes":["Auto","On","Circulate"],"changeableValues":{"mode":"Auto"},"fanRunning":true},"temperatureMode":{"feelsLike":true,"air":true},"specialMode":{"autoChangeoverActive":true}},"deviceClass":"Thermostat","deviceType":"Thermostat","deviceID":"TCC-2713932","userDefinedDeviceName":"Thermostat","name":"Thermostat","schedule":{"scheduleType":"None"},"isAlive":true,"isUpgrading":false,"isProvisioned":false,"macID":"00D02DA068FA","deviceSettings":{},"service":{"mode":"Up"},"units":"Fahrenheit","indoorTemperature":70,"outdoorTemperature":31,"allowedModes":["Cool","Heat","Off"],"deadband":0,"hasDualSetpointStatus":false,"minHeatSetpoint":40,"maxHeatSetpoint":99,"minCoolSetpoint":40,"maxCoolSetpoint":99,"changeableValues":{"mode":"Auto","autoChangeoverActive":true,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"},"operationStatus":{"mode":"Heat"},"smartAway":{"active":false,"timeOfDay":"00:00:00","durationInHours":2,"durationInDays":0,"lastUsedFormat":"TimeOfDay","endsIn":"2000-01-01T00:00:00-07:00"},"indoorHumidity":41,"indoorHumidityStatus":"Measured","deviceModel":"Round"}
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat
       from Resideo API: {"mode":"Auto","autoChangeoverActive":true,"heatSetpoint":70,"coolSetpoint":71,"heatCoolMode":"Heat"}
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat fanMode: {"mode":"Auto"}
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat refreshStatus for Thermostat Fan
        from Resideo Fan API: {"mode":"Auto"}
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat thermostatSetpointStatus config set to PermanentHold
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TemperatureDisplayUnits: 1
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentTemperature: 21
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CurrentRelativeHumidity: 41
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus HeatingThresholdTemperature: 21
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus CoolingThresholdTemperature: 21.5
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetHeatingCoolingState: 3
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus Currently Mode (HEAT): Heat(1)
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat parseStatus TargetTemperature (OFF/COOL): 21.5)
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat Fan: {"mode":"Auto"}
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TemperatureDisplayUnits: 1
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentTemperature: 21
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentRelativeHumidity: 41
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetTemperature: 21.5
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic HeatingThresholdTemperature: 21
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CoolingThresholdTemperature: 21.5
[12/28/2022, 9:06:51 PM] [homebridge-resideo] This plugin generated a warning from the characteristic 'Target Heating Cooling State': characteristic value 3 is not contained in valid values array. See https://homebridge.io/w/JtMGR for more info.
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic TargetHeatingCoolingState: 3
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat: Thermostat updateCharacteristic CurrentHeatingCoolingState: 3
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic TargetFanState: 1
[12/28/2022, 9:06:51 PM] [Resideo] [DEBUG] Thermostat Fan: Thermostat updateCharacteristic Active: 0

Config for homebridge-resideo

{
    "name": "Resideo",
    "credentials": {
        "consumerKey": "************",
        "consumerSecret": "************",
        "refreshToken": "***************",
        "notice": "Keep your tokens a secret!"
    },
    "options": {
        "logging": "standard"
    },
    "_bridge": {
        "username": "***********",
        "port": 40707
    },
    "platform": "Resideo"
}

Screenshots

IMG_2317 IMG_2316

Device & Model

Lyric Round

Node.js Version

v18.12.1

NPM Version

v8.19.2

Homebridge Version

v1.6.0

Homebridge Resideo Plugin Version

v1.2.0

Homebridge Config UI X Plugin Version

v4.50.2

Operating System

Docker

donavanbecker commented 1 year ago

Logs say:

"allowedModes":["Cool","Heat","Off"]
Slug-Life commented 1 year ago

I saw that. Didn't seem right since its available in the app and the native HomeKit integration.

Slug-Life commented 1 year ago

Here's a more detailed debug output of the error shown towards the bottom of the logs I posted.

[1/2/2023, 8:30:51 PM] [homebridge-resideo] This plugin generated a warning from the characteristic 'Target Heating Cooling State': characteristic value 3 is not contained in valid values array. See https://homebridge.io/w/JtMGR for more info.
[1/2/2023, 8:30:51 PM] [homebridge-resideo] Error: 
    at TargetHeatingCoolingState.Characteristic.characteristicWarning (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at TargetHeatingCoolingState.Characteristic.validateUserInput (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2932:14)
    at TargetHeatingCoolingState.Characteristic.updateValue (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at Thermostat.Service.updateCharacteristic (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at Thermostats.updateHomeKitCharacteristics (/homebridge/node_modules/homebridge-resideo/src/devices/thermostats.ts:736:20)
    at Thermostats.refreshStatus (/homebridge/node_modules/homebridge-resideo/src/devices/thermostats.ts:460:12)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at Object.next (/homebridge/node_modules/homebridge-resideo/src/devices/thermostats.ts:221:9)
[1/2/2023, 8:30:51 PM] [Resideo] Thermostat: Thermostat updateCharacteristic TargetHeatingCoolingState: 3
[1/2/2023, 8:30:51 PM] [Resideo] Thermostat: Thermostat updateCharacteristic CurrentHeatingCoolingState: 3
[1/2/2023, 8:30:51 PM] [Resideo] Thermostat Fan: Thermostat updateCharacteristic TargetFanState: 1
[1/2/2023, 8:30:51 PM] [Resideo] Thermostat Fan: Thermostat updateCharacteristic Active: 0
mnich0ls commented 1 year ago

I'm seeing the same thing as well. I just installed this last night to hopefully do-away with the Resideo app because it's location tracking never seems to work for us, and therefore "away" settings are not working correctly.

I just discovered Homebridge last week and very excited and greatful by all the work done here. Than you @donavanbecker!

mnich0ls commented 1 year ago

I confirmed using Honeywell's APIs that these Lyric, round thermostats do in-fact only report 3 available modes - Off, Heat, and Cool. I found a discrepancy in the data though. There's a field called changeableValues in which there is a property - mode which is defined here as the "current mode of the thermostat" and mine is reporting that the current mode is "auto"

This seems like a bug in the Honeywell APIs?

[
    {
        "thermostatVersion": "02.03.20.00",
        "scheduleStatus": "Resume",
        "allowedTimeIncrements": 15,
        "settings": {
            "homeSetPoints": {
                "homeHeatSP": 70,
                "homeCoolSP": 78,
                "units": "Fahrenheit"
            },
            "awaySetPoints": {
                "awayHeatSP": 62,
                "awayCoolSP": 85,
                "smartCoolSP": 80,
                "smartHeatSP": 55,
                "useAutoSmart": true,
                "units": "Fahrenheit"
            },
            "hardwareSettings": {
                "brightness": 8,
                "volume": 10,
                "maxBrightness": 10,
                "maxVolume": 10
            },
            "fan": {
                "allowedModes": [
                    "Auto",
                    "On",
                    "Circulate"
                ],
                "changeableValues": {
                    "mode": "Auto"
                },
                "fanRunning": false
            },
            "temperatureMode": {
                "feelsLike": true,
                "air": true
            },
            "specialMode": {
                "autoChangeoverActive": true
            }
        },
        "deviceClass": "Thermostat",
        "deviceType": "Thermostat",
        "deviceID": "*******",
        "deviceInternalID": 1111111111,
        "userDefinedDeviceName": "Downstairs Thermostat",
        "name": "Downstairs Thermostat",
        "schedule": {
            "scheduleType": "Geofence"
        },
        "isAlive": true,
        "isUpgrading": false,
        "isProvisioned": false,
        "macID": "*********",
        "deviceSettings": {},
        "service": {
            "mode": "Up"
        },
        "units": "Fahrenheit",
        "indoorTemperature": 68,
        "outdoorTemperature": 54,
        "allowedModes": [
            "Cool",
            "Heat",
            "Off"
        ],
        "deadband": 0,
        "hasDualSetpointStatus": false,
        "minHeatSetpoint": 40,
        "maxHeatSetpoint": 99,
        "minCoolSetpoint": 40,
        "maxCoolSetpoint": 99,
        "changeableValues": {
            "mode": "Auto",
            "autoChangeoverActive": true,
            "heatSetpoint": 68,
            "coolSetpoint": 78,
            "heatCoolMode": "Heat"
        },
        "operationStatus": {
            "mode": "EquipmentOff"
        },
        "smartAway": {
            "active": false,
            "timeOfDay": "00:00:00",
            "durationInHours": 2,
            "durationInDays": 0,
            "lastUsedFormat": "DurationInHours",
            "endsIn": "2021-12-07T15:02:00-08:00"
        },
        "indoorHumidity": 49,
        "indoorHumidityStatus": "Measured",
        "deviceModel": "Round"
    }
]
donavanbecker commented 1 year ago

@mnich0ls yes it does. Let me see if I can implement an auto override, where it shows auto. Biggest issue that I will have is implementing pushChanges that will support this.

mnich0ls commented 1 year ago

Digging into the Honeywell APIs more, it seems that "Auto" is a facade from the Residio app. The app shows "Auto" if changeableValies.autoChangeoverActive is set to true. Therefore, setting the mode to "Auto" is done by setting changeableValies.autoChangeoverActive to true - you can't set changeableValies.mode to "Auto" directly. Do you think we can account for that in this plugin?

mnich0ls commented 1 year ago

Thanks @donavanbecker - I'm really interested in getting into Homebridge plugin development. I'm familiar with node, JS, and TS, but I'm no expert. Let me know if there's anything I might be able to help with.

donavanbecker commented 1 year ago

Digging into the Honeywell APIs more, it seems that "Auto" is a facade from the Residio app. The app shows "Auto" if changeableValies.autoChangeoverActive is set to true. Therefore, setting the mode to "Auto" is done by setting changeableValies.autoChangeoverActive to true - you can't set changeableValies.mode to "Auto" directly. Do you think we can account for that in this plugin?

I think so. For now I added an option to show_auto, in the latest beta. Can you set this and let me know if it displays Auto?

Screenshot 2023-01-05 at 12 18 53 PM
Slug-Life commented 1 year ago

Just tried the beta and it seems to be partially working for me. I had to remove the bridge and clear the cache but I do see auto mode now.

It shows the set points that I entered in the Resideo app and displays auto mode. If I try to enter the set points through HomeKit it gives me an error, but I don't know if that functionality has been implemented.

Here's the output when changing the auto set points:

[1/5/2023, 5:27:47 PM] [Resideo] Thermostat: Thermostat set autoChangeoverActive, Model: Round
[1/5/2023, 5:27:47 PM] [Resideo] Room Sensor Thermostat: Thermostat set request ({"mode":"Auto","autoChangeoverActive":true,"coolSetpoint":72,"heatSetpoint":68}) to Resideo API.
[1/5/2023, 5:27:47 PM] [Resideo] Thermostat: Thermostat failed to pushChanges, Bad Request
[1/5/2023, 5:27:47 PM] [Resideo] Thermostat: Thermostat failed to pushChanges, Error Message: "Request failed with status code 400"
[1/5/2023, 5:27:47 PM] [Resideo] The client has issued an invalid request. This is commonly used to specify validation errors in a request payload.
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat device: {"thermostatVersion":"02.03.20.00","scheduleStatus":"Resume","allowedTimeIncrements":15,"settings":{"homeSetPoints":{"homeHeatSP":70,"homeCoolSP":78,"units":"Fahrenheit"},"awaySetPoints":{"awayHeatSP":62,"awayCoolSP":85,"smartCoolSP":80,"smartHeatSP":55,"useAutoSmart":true,"units":"Fahrenheit"},"hardwareSettings":{"brightness":2,"volume":10,"maxBrightness":10,"maxVolume":10},"fan":{"allowedModes":["Auto","On","Circulate"],"changeableValues":{"mode":"Auto"},"fanRunning":false},"temperatureMode":{"feelsLike":true,"air":true},"specialMode":{"autoChangeoverActive":false}},"deviceClass":"Thermostat","deviceType":"Thermostat","deviceID":"TCC-2713932","userDefinedDeviceName":"Thermostat","name":"Thermostat","schedule":{"scheduleType":"None"},"isAlive":true,"isUpgrading":false,"isProvisioned":false,"macID":"00D02DA068FA","deviceSettings":{},"service":{"mode":"Up"},"units":"Fahrenheit","indoorTemperature":66,"outdoorTemperature":29,"allowedModes":["Cool","Heat","Off"],"deadband":0,"hasDualSetpointStatus":false,"minHeatSetpoint":40,"maxHeatSetpoint":99,"minCoolSetpoint":40,"maxCoolSetpoint":99,"changeableValues":{"mode":"Cool","autoChangeoverActive":false,"heatSetpoint":68,"coolSetpoint":72,"heatCoolMode":"Cool"},"operationStatus":{"mode":"Heat"},"smartAway":{"active":false,"timeOfDay":"00:00:00","durationInHours":2,"durationInDays":0,"lastUsedFormat":"TimeOfDay","endsIn":"2000-01-01T00:00:00-07:00"},"indoorHumidity":37,"indoorHumidityStatus":"Measured","deviceModel":"Round"}
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat refreshStatus for Thermostat
       from Resideo API: {"mode":"Cool","autoChangeoverActive":false,"heatSetpoint":68,"coolSetpoint":72,"heatCoolMode":"Cool"}
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat fanMode: {"mode":"Auto"}
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat refreshStatus for Thermostat Fan
        from Resideo Fan API: {"mode":"Auto"}
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat thermostatSetpointStatus config set to PermanentHold
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus TemperatureDisplayUnits: 1
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus CurrentTemperature: 19
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus CurrentRelativeHumidity: 37
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus HeatingThresholdTemperature: 20
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus CoolingThresholdTemperature: 22
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus TargetHeatingCoolingState: 2
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus Currently Mode (HEAT): Heat(1)
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat parseStatus TargetTemperature (OFF/COOL): 22)
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat Fan: {"mode":"Auto"}
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic TemperatureDisplayUnits: 1
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic CurrentTemperature: 19
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic CurrentRelativeHumidity: 37
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic TargetTemperature: 22
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic HeatingThresholdTemperature: 20
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic CoolingThresholdTemperature: 22
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic TargetHeatingCoolingState: 2
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat: Thermostat updateCharacteristic CurrentHeatingCoolingState: 2
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat Fan: Thermostat updateCharacteristic TargetFanState: 1
[1/5/2023, 5:27:52 PM] [Resideo] Thermostat Fan: Thermostat updateCharacteristic Active: 0
mnich0ls commented 1 year ago

@donavanbecker I've installed the latest beta, but I can't find the option to enable "auto" - I tried uninstalling the plugin first and then installing this beta, but still can't find the new setting.

Screenshot 2023-01-06 at 9 52 55 AM
Slug-Life commented 1 year ago

It took me second to find it. Go to devices tab and copy the device id. Then move to to the settings tab and paste the device id under Resideo device settings. All the options will then pop up. An improvement could be to have this auto populate.

mnich0ls commented 1 year ago

It took me second to find it. Go to devices tab and copy the device id. Then move to to the settings tab and paste the device id under Resideo device settings. All the options will then pop up. An improvement could be to have this auto populate.

Ah thank you!

mnich0ls commented 1 year ago

I can't get the child bridge to launch. It keeps failing with:

[06/01/2023, 11:15:02] [Resideo] [DEBUG] Thermostat: Downstairs Thermostat updateCharacteristic CurrentTemperature: 20
TypeError: Cannot read properties of undefined (reading 'updateCharacteristic')
    at Thermostats.updateHomeKitCharacteristics (/var/lib/homebridge/node_modules/homebridge-resideo/src/devices/thermostats.ts:708:29)
    at Thermostats.refreshStatus (/var/lib/homebridge/node_modules/homebridge-resideo/src/devices/thermostats.ts:460:12)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

I tried clearing out the device cache for both thermostats, but still getting the same error.

mnich0ls commented 1 year ago

Ok, I've got it working now. Home app is now correctly showing both thermostats are on Auto. I don't know if the error I ran into had something to do with the "hide humidity service" or "hide thermostat fan" because I had set those as well, but I reverted those settings and only set the "show auto mode" setting.

I'm seeing the same error as @Slug-Life now when attempting to change the temp in the Home app.

[06/01/2023, 13:27:32] [Resideo] Room Sensor Thermostat: Downstairs Thermostat set request ({"mode":"Auto","autoChangeoverActive":true,"coolSetpoint":78,"heatSetpoint":67}) to Resideo API.

I know from playing with the API that this call will fail - the API does not accept "Auto" as a mode. I believe it needs to be set to the desired mode based on the current temp i.e higher than the selected range would be "Cool" and lower than the selected range would be "Heat" (the Honeywell API seems flawed to me. I'll see if there's a way to submit a ticket or bug report through their developer portal)

mnich0ls commented 1 year ago

I reached out to the Honeywell developer email (developerinfo@resideo.com), but no response. I wanted to take a stab at resolving this, but I'm brand new to Homebridge plugin development (and have little experience with TypeScript). I tried to follow the Homebridge plugin developer guide, but I haven't been able to install a clone of the project to test some changes.

https://www.reddit.com/r/homebridge/comments/10c29iz/installing_plugin_from_github_using_terminal/

mnich0ls commented 1 year ago

Ok I was able to install by clone of the plugin with my changes. It's working for me, although the changes aren't complete, I'm assuming the system is running in heat mode and always setting that mode when changing the target temp settings. It at least allows me to play with HomeKit automations to control the bedtime schedule and "away" settings (I've had inconsistent results using the Resideo app so I'll be glad to ditch their app in favor of the Home app if these new automations work).

donavanbecker commented 1 year ago

Do you wanna open a PR?

mnich0ls commented 1 year ago

I would like it, but my changes don't seem to be working consistently. I disabled the plugin and started experimenting with the APIs again using the refresh token granted to the plugin (easiest way I found to get one). I wanted to understand how to set the mode so that the thermostat remains on auto (rather than hard-code Heat), but somehow I've gotten my system into a state where I can no longer turn heat on from the API.

First I tried setting the mode to "Off" regardless of the heat and cool set-points, but that simply turned the system off and it never came back on, even though autoChangeoverActive was still set to true.

Then I tried setting the mode to "Cool" with a heatSetpoint of 72 and a coolSetpoint of 78. The inside temp at the time was 69 degrees. I wanted to see how the system would respond to an invalid mode (since the system should not try to cool if the current temp is below the coolSetpoint). The API response for device settings showed "Auto" for the mode momentarily, then subsequent requests showed "Off" again.

Subsequent requests to set heat mode by keeping the heatSetpoint at 72 and the coolSetpoint at 78 and setting mode to "Heat," didn't seem to work. The API response for device settings would again show "Auto" on the first request, then subsequent requests would return "Off" again.

My initial attempts at changing the heat/cool set-points via the API (and even through the Home app) were working just fine.

donavanbecker commented 11 months ago

is this still an issue even with v1.4.0?

github-actions[bot] commented 9 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 9 months ago

This issue has been closed as no further activity has occurred.