homebridge-plugins / homebridge-resideo

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

T6 Pro #226

Closed snopas576 closed 4 years ago

snopas576 commented 4 years ago

Describe The Bug:

My thermostat, a T6 Pro, does not appear in HomeKit

To Reproduce:

Follow procedure to set up device like normal via homebridge config plugin (go to honeywell developer, make an app, get the key and secret, paste it in, sign in with honeywell account, etc)

Expected behavior:

The thermostat should have appeared in my HomeKit setup

Logs:

[9/3/2020, 2:07:30 PM] [HB Supervisor] Starting Homebridge with extra flags: -I
[9/3/2020, 2:07:30 PM] [HB Supervisor] Started Homebridge v1.1.3 with PID: 31063
[9/3/2020, 2:07:32 PM] Loaded config.json with 0 accessories and 4 platforms.
[9/3/2020, 2:07:32 PM] ---
[9/3/2020, 2:07:33 PM] Loaded plugin: homebridge-config-ui-x@4.27.1
[9/3/2020, 2:07:33 PM] Registering platform 'homebridge-config-ui-x.config'
[9/3/2020, 2:07:33 PM] ---
[9/3/2020, 2:07:33 PM] Loaded plugin: homebridge-honeywell-home@7.0.1
[9/3/2020, 2:07:33 PM] Registering platform 'homebridge-honeywell-home.HoneywellHome'
[9/3/2020, 2:07:33 PM] ---
[9/3/2020, 2:07:35 PM] Loaded plugin: homebridge-ring@9.9.0
[9/3/2020, 2:07:35 PM] Registering platform 'homebridge-ring.Ring'
[9/3/2020, 2:07:35 PM] ---
[9/3/2020, 2:07:35 PM] Loaded plugin: homebridge-smartthings-v2@2.3.4
[9/3/2020, 2:07:35 PM] Registering platform 'homebridge-smartthings-v2.SmartThings-v2'
[9/3/2020, 2:07:35 PM] ---
[9/3/2020, 2:07:35 PM] Loading 4 platforms...
[9/3/2020, 2:07:35 PM] [SmartThings-v2] Initializing SmartThings-v2 platform...
[9/3/2020, 2:07:36 pm] [SmartThings-v2] INFO: Homebridge Version: 2.6
[9/3/2020, 2:07:36 pm] [SmartThings-v2] INFO: SmartThings-v2 Plugin Version: 2.3.4
[9/3/2020, 2:07:36 pm] [SmartThings-v2] INFO: Checking Package Version for Updates...
[9/3/2020, 2:07:36 PM] [Config] Initializing config platform...
[9/3/2020, 2:07:36 PM] [Config] Running in Service Mode
[9/3/2020, 2:07:36 PM] [Ring] Initializing Ring platform...
[9/3/2020, 2:07:36 PM] [HoneywellHome] Initializing HoneywellHome platform...
[9/3/2020, 2:07:36 PM] [Ring] Configuring cached accessory (this is my doorbell)
[9/3/2020, 2:07:36 PM] [Ring] Configuring cached accessory (this is my doorbell)
[9/3/2020, 2:07:36 pm] [SmartThings-v2] INFO: Fetching SmartThings-v2 Devices. NOTICE: This may take a moment if you have a large number of device data is being loaded!
[9/3/2020, 2:07:36 pm] [SmartThings-v2] GOOD: Refreshing All Device Data | Source: (First Launch)
Setup Payload:
X-HM://0024XZL1QI1CL
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐     
    │ XXX-XX-XXX │     
    └────────────┘     

[9/3/2020, 2:07:36 PM] Homebridge is running on port 51575.
[9/3/2020, 2:07:37 PM] [HoneywellHome] Got access token: XXXXXXXXXXXXXXXXXXXXXXXXXX
[9/3/2020, 2:07:37 PM] [HoneywellHome] New refresh token: XXXXXXXXXXXXXXXXXXXXXXXXXX
[9/3/2020, 2:07:37 PM] [HoneywellHome] Homebridge config.json has been updated with new refresh token.
[9/3/2020, 2:07:37 pm] [SmartThings-v2] NOTICE: Temperature Unit is Now: (F)
[9/3/2020, 2:07:37 pm] [SmartThings-v2] NOTICE: Updating Global Values | HubIP: 192.168.0.29 | UseLocal: false
[9/3/2020, 2:07:37 pm] [SmartThings-v2] WARN: Devices to Remove: (0) []
[9/3/2020, 2:07:37 pm] [SmartThings-v2] INFO: Devices to Update: (4)
[9/3/2020, 2:07:37 pm] [SmartThings-v2] GOOD: Devices to Create: (0) []
[9/3/2020, 2:07:37 pm] [SmartThings-v2] ALERT: Total Initialization Time: (1 seconds)
[9/3/2020, 2:07:37 pm] [SmartThings-v2] NOTICE: Unknown Capabilities: ["Three Axis"]
[9/3/2020, 2:07:37 pm] [SmartThings-v2] INFO: SmartThings DeviceCache Size: (4)
[9/3/2020, 2:07:37 pm] [SmartThings-v2] INFO: WebServer Initiated...
[9/3/2020, 2:07:37 pm] [SmartThings-v2] INFO: Sending StartDirect Request to SmartThings | SendToLocalHub: (false)
[9/3/2020, 2:07:37 pm] [SmartThings-v2] INFO: Direct Connect Active | Listening at 192.168.0.45:8000
[9/3/2020, 2:07:38 PM] [HoneywellHome] # of Locations Found: 1.
[9/3/2020, 2:07:38 PM] [HoneywellHome] Getting devices for Home...
[9/3/2020, 2:07:38 PM] [HoneywellHome] Failed to refresh access token. device.groups is not iterable

Homebridge Config:

{
    "bridge": {
        "name": "Homebridge 72E7",
        "username": "XX:XX:XX:XX:XX:XX",
        "port": 51575,
        "pin": "XXX-XX-XXX"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "SmartThings-v2",
            "app_url": "https://graph-na04-useast2.api.smartthings.com:443/api/smartapps/installations/",
            "app_id": "XXXXXXXXXXXXXXXXXXXXXXXXX",
            "access_token": "XXXXXXXXXXXXXXXXXXXXXXX",
            "direct_port": 8000,
            "temperature_unit": "F",
            "validateTokenId": false,
            "logConfig": {
                "debug": false,
                "showChanges": true,
                "hideTimestamp": false,
                "hideNamePrefix": false,
                "file": {
                    "enabled": true,
                    "level": "good"
                }
            },
            "platform": "SmartThings-v2"
        },
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "refreshToken": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            "platform": "Ring"
        },
        {
            "name": "HoneywellHome",
            "credentials": {
                "consumerKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                "consumerSecret": "XXXXXXXXXXXXXXXX",
                "refreshToken": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                "notice": "Keep your tokens a secret!"
            },
            "options": {
                "ttl": 60
            },
            "platform": "HoneywellHome"
        }
    ]
}

Screenshots:

Thermostat Model:

TH6220WF2006

Environment:

donavanbecker commented 4 years ago

Can you turn on debug mode and then post your logs? So that I can get more details about your thermostat.

donavanbecker commented 4 years ago

@snopas576 I am working on redo how devices are discovered so if I can see the info from your device then I can make sure it works for you.

donavanbecker commented 4 years ago

Okay, I totally re-did the device discovery, can you test the latest beta? v7.2.1-beta.0

snopas576 commented 4 years ago

I can't actually seem to get the beta going (I installed via npm and then tried reusing the old config but that made everything else in homebridge not run) but here's what the logs in 7.0.1 look like:

[9/4/2020, 1:32:06 PM] [HoneywellHome] # of Locations Found: 1.
[9/4/2020, 1:32:06 PM] [HoneywellHome] Getting devices for Home...
[9/4/2020, 1:32:06 PM] [HoneywellHome] XXXXXXX (this is the location id)
[9/4/2020, 1:32:06 PM] [HoneywellHome] {
  locationID: XXXXXXX,
  name: 'Home',
  streetAddress: 'my address',
  city: 'my city',
  state: 'OR',
  country: 'US',
  zipcode: 'XXXXX',
  devices: [
    {
      displayedOutdoorHumidity: 44,
      vacationHold: [Object],
      currentSchedulePeriod: [Object],
      scheduleCapabilities: [Object],
      scheduleType: [Object],
      scheduleStatus: 'Pause',
      allowedTimeIncrements: 15,
      settings: [Object],
      deviceClass: 'Thermostat',
      deviceType: 'Thermostat',
      deviceID: 'XXX-XXXXXXXXXX',
      userDefinedDeviceName: 'Honeywell Home Thermostat',
      name: 'Honeywell Home Thermostat',
      isAlive: true,
      isUpgrading: false,
      isProvisioned: true,
      macID: 'XXXXXXXXXXX',
      deviceSettings: {},
      service: [Object],
      deviceRegistrationDate: '2020-03-26T19:07:53.2766667',
      dataSyncStatus: 'Completed',
      units: 'Fahrenheit',
      indoorTemperature: 75,
      outdoorTemperature: 79,
      allowedModes: [Array],
      deadband: 0,
      hasDualSetpointStatus: false,
      minHeatSetpoint: 50,
      maxHeatSetpoint: 90,
      minCoolSetpoint: 50,
      maxCoolSetpoint: 90,
      changeableValues: [Object],
      operationStatus: [Object],
      deviceModel: 'T5-T6'
    }
  ],
  users: [
    {
      userID: XXXXXXX,
      username: 'my email',
      firstname: 'my name',
      lastname: 'my last name',
      created: 1585249486,
      deleted: -62135596800,
      activated: true,
      connectedHomeAccountExists: true,
      locationRoleMapping: [Array],
      isOptOut: 'False',
      isCurrentUser: true
    }
  ],
  timeZoneId: 'Pacific',
  timeZone: 'Pacific Standard Time',
  ianaTimeZone: 'America/Los_Angeles',
  daylightSavingTimeEnabled: true,
  geoFenceEnabled: false,
  predictiveAIREnabled: false,
  comfortLevel: 0,
  geoFenceNotificationEnabled: false,
  geoFenceNotificationTypeId: 13,
  configuration: {
    faceRecognition: {
      enabled: false,
      maxPersons: 2,
      maxEtas: 2,
      maxEtaPersons: 1,
      schedules: [Array]
    }
  },
  stateName: 'Oregon'
}
[9/4/2020, 1:32:06 PM] [HoneywellHome] # of Thermostats Found at Home: 1.
[9/4/2020, 1:32:06 PM] [HoneywellHome] {
  displayedOutdoorHumidity: 44,
  vacationHold: { enabled: false },
  currentSchedulePeriod: { day: 'Monday', period: 'Wake' },
  scheduleCapabilities: {
    availableScheduleTypes: [ 'None', 'Geofenced', 'TimedNorthAmerica' ],
    schedulableFan: false
  },
  scheduleType: { scheduleType: 'Timed', scheduleSubType: 'NA' },
  scheduleStatus: 'Pause',
  allowedTimeIncrements: 15,
  settings: {
    hardwareSettings: { brightness: 0, maxBrightness: 5 },
    fan: { allowedModes: [Array], changeableValues: [Object] },
    temperatureMode: { air: false },
    specialMode: { autoChangeoverActive: true },
    devicePairingEnabled: true
  },
  deviceClass: 'Thermostat',
  deviceType: 'Thermostat',
  deviceID: 'XXX-XXXXXXXXXXXX',
  userDefinedDeviceName: 'Honeywell Home Thermostat',
  name: 'Honeywell Home Thermostat',
  isAlive: true,
  isUpgrading: false,
  isProvisioned: true,
  macID: 'XXXXXXXXXXXX',
  deviceSettings: {},
  service: { mode: 'Up' },
  deviceRegistrationDate: '2020-03-26T19:07:53.2766667',
  dataSyncStatus: 'Completed',
  units: 'Fahrenheit',
  indoorTemperature: 75,
  outdoorTemperature: 79,
  allowedModes: [ 'Heat', 'Off', 'Cool', 'Auto' ],
  deadband: 0,
  hasDualSetpointStatus: false,
  minHeatSetpoint: 50,
  maxHeatSetpoint: 90,
  minCoolSetpoint: 50,
  maxCoolSetpoint: 90,
  changeableValues: {
    mode: 'Auto',
    autoChangeoverActive: true,
    heatSetpoint: 68,
    coolSetpoint: 75,
    thermostatSetpointStatus: 'PermanentHold',
    heatCoolMode: 'Cool'
  },
  operationStatus: {
    mode: 'EquipmentOff',
    fanRequest: false,
    circulationFanRequest: false
  },
  deviceModel: 'T5-T6'
}
[9/4/2020, 1:32:06 PM] [HoneywellHome] XXX-XXXXXXXXXXXX (this is the device id)
[9/4/2020, 1:32:06 PM] [HoneywellHome] Failed to refresh access token. device.groups is not iterable
donavanbecker commented 4 years ago

@snopas576, I just pushed out a new beta. can you test it? v7.2.2-beta.0

To Install:

sudo npm install -g --unsafe-perm homebridge-honeywell-home@beta

To Revert:

sudo npm install -g --unsafe-perm homebridge-honeywell-home@latest
donavanbecker commented 4 years ago

@snopas576 does your device's deviceID start with an LLC or a TCC?

  deviceID: 'XXX-XXXXXXXXXXXX',
donavanbecker commented 4 years ago

@snopas576 this should be taken care of in the next release if you could follow #231, and test the latest beta.

Going too close.