homebridge-plugins / homebridge-resideo

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

Beta Testers Needed - Version 6.0.0 #186

Closed donavanbecker closed 4 years ago

donavanbecker commented 4 years ago

I need help from beta testers. I have changed the way devices are found and also added room sensors.

Things to know:

To Install:

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

To Revert:

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

upgraded to beta using your command above, config-ui-x still shows homebridge-honeywell-home v5.1.2-beta.5

[7/18/2020, 11:12:51 AM] [HoneywellHome] Found 1 Location(s) [7/18/2020, 11:12:51 AM] [HoneywellHome] Found 1 Thermmostat(s) (node:17130) UnhandledPromiseRejectionWarning: TypeError: device.groups is not iterable at HoneywellHomePlatform.discoverDevices (/usr/lib/node_modules/homebridge-honeywell-home/index.js:170:36) at processTicksAndRejections (internal/process/task_queues.js:97:5) (node:17130) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:17130) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

donavanbecker commented 4 years ago

can you try installing v5.1.2-beta.4 by running sudo npm install -g --unsafe homebridge-honeywell-home@5.1.2-beta.4

trevor-gililland commented 4 years ago

Beta 4 is working great for me. Thanks for the room sensor update!

donavanbecker commented 4 years ago

@trevor-gililland Thoughts on if I make the room sensors a separate plugin? Because of the rate limit.

trevor-gililland commented 4 years ago

That isn’t a bad idea. I personally registered my own app with the Honeywell API for my own consumer secret to avoid rate issues.

donavanbecker commented 4 years ago

That isn’t a bad idea. I personally registered my own app with the Honeywell API for my own consumer secret to avoid rate issues.

Sounds good. I am working on converting this plugin to typescript to release 6.0.0. I will release the separate room sensors plugin along with this release.

trevor-gililland commented 4 years ago

You are doing amazing work my friend. Thanks for all you do!

roficas commented 4 years ago

I'm sorry. I couldn't test that during the weekend. Today I tried but I can't link my account anymore: it gets stuck in the Honeywell site:

image

I tried uninstalling and reinstalling the plugin but no luck. Thoughts?

donavanbecker commented 4 years ago

@roficas have you updated to v4.24 of Config UI X?

roficas commented 4 years ago

I think that was the issue. Now I had to go through some extra steps to link but it worked.

At the start up, I got this message though:

image

And I'm using the beta:

image

donavanbecker commented 4 years ago

I think that was the issue. Now I had to go through some extra steps to link but it worked.

At the start up, I got this message though:

image

And I'm using the beta:

image

Install the latest beta.

donavanbecker commented 4 years ago

Beta 4 is working great for me. Thanks for the room sensor update!

@trevor-gililland, I have a beta out for the room sensors.


sudo npm install -g --unsafe-perm homebridge-honeywell-home-roomsensors@beta
roficas commented 4 years ago

with the latest version it worked (on the start up). But I'm seeing this issue when trying to manage the accessory:

image

sometimes, this happen without any interaction (manual or automation): image

donavanbecker commented 4 years ago

@roficas I need more log to actually look into this. Can you turn on debug mode for homebridge and post in a new issue?

roficas commented 4 years ago

This is all that came up with debug flag when I tried to adjust the temperature in one of the thermostats:

3924C318-0E41-4D6A-8C2E-B08063B7CADD

roficas commented 4 years ago

Then I tried another thermostat:

151A22B2-4081-424A-ADFD-90BE94A990BD

roficas commented 4 years ago

I guess the latest code isn't released to homebridge beta, is it? I saw the code I have there and there is no debug option being read from the config...

donavanbecker commented 4 years ago

I guess the latest code isn't released to homebridge beta, is it? I saw the code I have there and there is no debug option being read from the config...

I have removed the plugin debug, that's why I need you to turn on homebridge debug. In config ui x, if you go to homebridge settings there is an option for homebridge debug (-D) to be turned on.

donavanbecker commented 4 years ago

@roficas please install latest beta and send me the full log after you restart homebridge. no debug needed.

roficas commented 4 years ago

Installed homebridge-honeywell-home v5.2.1-beta.35

Logs:

[7/28/2020, 10:08:30 AM] [HoneywellHome] Initializing HoneywellHome platform...
[7/28/2020, 10:08:30 AM] [HoneywellHome] Loading accessory from cache: 1st
[7/28/2020, 10:08:30 AM] [HoneywellHome] Loading accessory from cache: 2nd
[7/28/2020, 10:08:30 AM] [HoneywellHome] Loading accessory from cache: 3rd
[7/28/2020, 10:08:30 AM] [HoneywellHome] Could not discover devices. Request failed with status code 400
roficas commented 4 years ago

Then I turned on debug everywhere (home bridge and ui) and deleted the cached accessories. This is the log I got:

[7/28/2020, 10:15:02 AM] [HoneywellHome] Initializing HoneywellHome platform...
[7/28/2020, 10:15:02 AM] [HoneywellHome] Finished initializing platform: HoneywellHome
[7/28/2020, 10:15:02 AM] [HoneywellHome] Config OK
[7/28/2020, 10:15:02 AM] [HoneywellHome] Executed didFinishLaunching callback
[7/28/2020, 10:15:03 AM] [HoneywellHome] Could not discover devices. Request failed with status code 400

And no accessory loaded.

roficas commented 4 years ago

Then I removed the config and started the account linking again:

[7/28/2020, 10:34:04 AM] [HoneywellHome] Initializing HoneywellHome platform...
[7/28/2020, 10:34:04 AM] [HoneywellHome] Finished initializing platform: HoneywellHome
[7/28/2020, 10:34:04 AM] [HoneywellHome] Config OK
[7/28/2020, 10:34:04 AM] [HoneywellHome] Executed didFinishLaunching callback
[7/28/2020, 10:34:04 AM] [HoneywellHome] Got access token: XXX
[7/28/2020, 10:34:04 AM] [HoneywellHome] New refresh token: XXX
[7/28/2020, 10:34:05 AM] [HoneywellHome] # of Locations Found: 1.
[7/28/2020, 10:34:05 AM] [HoneywellHome] Getting devices for Lylebrooke...
[7/28/2020, 10:34:05 AM] [HoneywellHome] 1359757
[7/28/2020, 10:34:05 AM] [HoneywellHome] {
  locationID: 1359757,
  name: ‘xxx’,
  country: 'US',
  zipcode: ‘xxx’,
  devices: [
    {
      thermostatVersion: '02.02.20.60',
      scheduleStatus: 'Pause',
      allowedTimeIncrements: 15,
      settings: [Object],
      deviceClass: 'Thermostat',
      deviceType: 'Thermostat',
      deviceID: 'TCC-xxx’,
      userDefinedDeviceName: '1st',
      name: '1st',
      schedule: [Object],
      isAlive: true,
      isUpgrading: false,
      isProvisioned: false,
      macID: ‘xxx’,
      deviceSettings: {},
      service: [Object],
      deviceRegistrationDate: '2019-07-20T01:13:43.2266667',
      dataSyncStatus: 'UnKnown',
      units: 'Fahrenheit',
      indoorTemperature: 79,
      outdoorTemperature: 92,
      allowedModes: [Array],
      deadband: 0,
      hasDualSetpointStatus: false,
      minHeatSetpoint: 40,
      maxHeatSetpoint: 99,
      minCoolSetpoint: 40,
      maxCoolSetpoint: 99,
      changeableValues: [Object],
      operationStatus: [Object],
      smartAway: [Object],
      indoorHumidity: 48,
      indoorHumidityStatus: 'Measured',
      deviceModel: 'Round'
    },
    {
      thermostatVersion: '02.02.20.60',
      scheduleStatus: 'Pause',
      allowedTimeIncrements: 15,
      settings: [Object],
      deviceClass: 'Thermostat',
      deviceType: 'Thermostat',
      deviceID: 'TCC-xxx’,
      userDefinedDeviceName: '2nd',
      name: '2nd',
      schedule: [Object],
      isAlive: true,
      isUpgrading: false,
      isProvisioned: false,
      macID: ‘xxx’,
      deviceSettings: {},
      service: [Object],
      deviceRegistrationDate: '2020-06-04T12:46:19.35',
      dataSyncStatus: 'UnKnown',
      units: 'Fahrenheit',
      indoorTemperature: 78,
      outdoorTemperature: 92,
      allowedModes: [Array],
      deadband: 0,
      hasDualSetpointStatus: false,
      minHeatSetpoint: 40,
      maxHeatSetpoint: 99,
      minCoolSetpoint: 40,
      maxCoolSetpoint: 99,
      changeableValues: [Object],
      operationStatus: [Object],
      smartAway: [Object],
      indoorHumidity: 49,
      indoorHumidityStatus: 'Measured',
      deviceModel: 'Round'
    },
    {
      thermostatVersion: '02.02.20.60',
      scheduleStatus: 'Pause',
      allowedTimeIncrements: 15,
      settings: [Object],
      deviceClass: 'Thermostat',
      deviceType: 'Thermostat',
      deviceID: 'TCC-xxx’,
      userDefinedDeviceName: '3rd',
      name: '3rd',
      schedule: [Object],
      isAlive: true,
      isUpgrading: false,
      isProvisioned: false,
      macID: ‘xxx’,
      deviceSettings: {},
      service: [Object],
      deviceRegistrationDate: '2019-08-13T20:14:14.54',
      dataSyncStatus: 'UnKnown',
      units: 'Fahrenheit',
      indoorTemperature: 80,
      outdoorTemperature: 92,
      allowedModes: [Array],
      deadband: 0,
      hasDualSetpointStatus: false,
      minHeatSetpoint: 40,
      maxHeatSetpoint: 99,
      minCoolSetpoint: 40,
      maxCoolSetpoint: 99,
      changeableValues: [Object],
      operationStatus: [Object],
      smartAway: [Object],
      indoorHumidity: 48,
      indoorHumidityStatus: 'Measured',
      deviceModel: 'Round'
    }
  ],
  users: [
    {
      userID: xxx,
      username: ‘xxx’,
      firstname: ‘xxx’,
      lastname: 'xxx’,
      created: 1491265966,
      deleted: -62135596800,
      activated: true,
      connectedHomeAccountExists: true,
      locationRoleMapping: [Array],
      isOptOut: '',
      isCurrentUser: true
    },
    {
      userID: xxx,
      username: ‘xxx’,
      firstname: ‘xxx’,
      lastname: ‘xxx’,
      created: 1487555607,
      deleted: -62135596800,
      activated: true,
      connectedHomeAccountExists: true,
      locationRoleMapping: [Array],
      isOptOut: '',
      isCurrentUser: false
    }
  ],
  timeZoneId: 'Eastern',
  timeZone: 'Eastern Standard Time',
  ianaTimeZone: 'America/New_York',
  daylightSavingTimeEnabled: true,
  geoFences: [
    {
      geofenceEnabled: true,
      geoFenceID: xxx,
      latitude: xxx,
      longitude: -xxx,
      radius: xxx,
      geoOccupancy: [Object],
      geoFenceNotificationEnabled: false
    }
  ],
  geoFenceEnabled: true,
  predictiveAIREnabled: false,
  comfortLevel: 0,
  geoFenceNotificationEnabled: false,
  geoFenceNotificationTypeId: 13,
  configuration: {
    faceRecognition: {
      enabled: false,
      maxPersons: 2,
      maxEtas: 2,
      maxEtaPersons: 1,
      schedules: [Array]
    }
  }
}
[7/28/2020, 10:34:05 AM] [HoneywellHome] # of Thermostats Found at Lylebrooke: 3.
[7/28/2020, 10:34:05 AM] [HoneywellHome]  {
  thermostatVersion: '02.02.20.60',
  scheduleStatus: 'Pause',
  allowedTimeIncrements: 15,
  settings: {
    homeSetPoints: { homeHeatSP: 70, homeCoolSP: 76, units: 'Fahrenheit' },
    awaySetPoints: {
      awayHeatSP: 68,
      awayCoolSP: 72,
      smartCoolSP: 80,
      smartHeatSP: 55,
      useAutoSmart: true,
      units: 'Fahrenheit'
    },
    hardwareSettings: { brightness: 3, volume: 10, maxBrightness: 10, maxVolume: 10 },
    fan: {
      allowedModes: [Array],
      changeableValues: [Object],
      fanRunning: false
    },
    temperatureMode: { feelsLike: true, air: true },
    specialMode: { autoChangeoverActive: true, emergencyHeatActive: false }
  },
  deviceClass: 'Thermostat',
  deviceType: 'Thermostat',
  deviceID: 'TCC-xxx’,
  userDefinedDeviceName: '1st',
  name: '1st',
  schedule: { scheduleType: 'Geofence' },
  isAlive: true,
  isUpgrading: false,
  isProvisioned: false,
  macID: ‘xxx’,
  deviceSettings: {},
  service: { mode: 'Up' },
  deviceRegistrationDate: '2019-07-20T01:13:43.2266667',
  dataSyncStatus: 'UnKnown',
  units: 'Fahrenheit',
  indoorTemperature: 79,
  outdoorTemperature: 92,
  allowedModes: [ 'Cool', 'Heat', 'Off' ],
  deadband: 0,
  hasDualSetpointStatus: false,
  minHeatSetpoint: 40,
  maxHeatSetpoint: 99,
  minCoolSetpoint: 40,
  maxCoolSetpoint: 99,
  changeableValues: {
    mode: 'Auto',
    autoChangeoverActive: true,
    emergencyHeatActive: false,
    heatSetpoint: 72,
    coolSetpoint: 79,
    heatCoolMode: 'Cool'
  },
  operationStatus: { mode: 'EquipmentOff' },
  smartAway: {
    active: false,
    timeOfDay: '00:00:00',
    durationInHours: 0,
    durationInDays: 0,
    lastUsedFormat: 'TimeOfDay',
    endsIn: '2000-01-01T00:00:00-05:00'
  },
  indoorHumidity: 48,
  indoorHumidityStatus: 'Measured',
  deviceModel: 'Round'
}
[7/28/2020, 10:34:05 AM] [HoneywellHome] TCC-xxx
[7/28/2020, 10:34:05 AM] [HoneywellHome] Allowed Fan Modes: Auto,On,Circulate
[7/28/2020, 10:34:05 AM] [HoneywellHome] Fan Mode: Auto
[7/28/2020, 10:34:05 AM] [HoneywellHome] Failed to refresh access token. device.groups is not iterable
donavanbecker commented 4 years ago

@roficas I believe there is something going on with Honeywell developer accounts right now, because even the current version of plugin isn't working.

donavanbecker commented 4 years ago

I have release v6.0.0. Because before today I wasn't having any issues and this seems to be a Honeywell issue since I tried previous versions. Bug fixes will be released if needed.

donavanbecker commented 4 years ago

@roficas see #191 for failed to refresh access token issue.

donavanbecker commented 4 years ago

@trevor-gililland could you test this for me #18?

trevor-gililland commented 4 years ago

No problem. Are you referencing the 6.0.0 release?

donavanbecker commented 4 years ago

No problem. Are you referencing the 6.0.0 release?

Well I release the room sensor plugin and 6.0.0. So if you wanna test both betas.

donavanbecker commented 4 years ago

@trevor-gililland: v7.0.1 should take care of all the issues, if not I need a new issue filled out so I can look into it further. Please follow issue template so that I can get all the details I need. When posting logs, debug mode will be needs to look into further issues.