fjs21 / homebridge-blueair

BlueAir air purifier plugin for homebridge
https://www.npmjs.com/package/@fjs21/homebridge-blueair
Apache License 2.0
50 stars 6 forks source link

rejection: TypeError: Cannot read property '1' of undefined #2

Closed zioob closed 2 years ago

zioob commented 2 years ago

Hi,

Plugin keeps crashing and restarting, please see following output in the log:

16/11/2021, 14:37:25Blueair Bridge starting 16/11/2021, 14:37:27Blueair BridgeLoaded plugin '@fjs21/homebridge-blueair' 16/11/2021, 14:37:27Blueair BridgeLoading 1 platforms... 16/11/2021, 14:37:27Blueair BridgeBlueAirbase_API_url: https://api.blueair.io/v2/user/***************/homehost/ 16/11/2021, 14:37:27Blueair BridgeBlueAirLoading accessory from cache: Luft 16/11/2021, 14:37:27Blueair BridgeBridge is running on port 51826. 16/11/2021, 14:37:27Blueair BridgeBlueAirGot homehost: api-eu-west-1.blueair.io 16/11/2021, 14:37:28Blueair BridgeBlueAirx-auth-token: *** 16/11/2021, 14:37:28Blueair BridgeBlueAirFound 1 devices. 16/11/2021, 14:37:28Blueair BridgeBlueAirRestoring existing accessory from cache: Luft 16/11/2021, 14:37:28Blueair BridgeWARNINGunhandled rejection: TypeError: Cannot read property '1' of undefined 16/11/2021, 14:37:33Blueair BridgeWARNINGunhandled rejection: TypeError: Cannot read property '1' of undefined 16/11/2021, 14:37:42Blueair Bridge starting

fjs21 commented 2 years ago

This is a little tricky to diagnose where the problem is triggered. This might be fixed in v0.6.11+

I added some try/catch statements during the updateDevices function in platformAccessory.ts to try to catch these errors. Let me know what if this makes a difference and if so, please post your new log.

Edit: Typo

zioob commented 2 years ago

Latest log:

22/11/2021, 07:32:49Blueair Bridge starting 22/11/2021, 07:32:51Blueair BridgeLoaded plugin '@fjs21/homebridge-blueair' 22/11/2021, 07:32:51Blueair BridgeLoading 1 platforms... 22/11/2021, 07:32:51Blueair BridgeBlueAirbase_API_url: https://api.blueair.io/v2/user/*******/homehost/ 22/11/2021, 07:32:51Blueair BridgeBridge is running on port 51846. 22/11/2021, 07:32:51Blueair BridgeBlueAirGot homehost: api-eu-west-1.blueair.io 22/11/2021, 07:32:52Blueair BridgeBlueAirx-auth-token: *** 22/11/2021, 07:32:52Blueair BridgeBlueAirFound 1 devices. 22/11/2021, 07:32:52Blueair BridgeBlueAirAdding new accessory: Luft 22/11/2021, 07:32:52Blueair BridgeBlueAirERRORLuft: getDeviceDatapoint error. TypeError: Cannot read property '1' of undefined at BlueAirApi.getDeviceDatapoint (/var/lib/hoobs/blueairbridge/node_modules/@fjs21/homebridge-blueair/src/blueair-api.ts:188:38) at processTicksAndRejections (internal/process/task_queues.js:95:5) at BlueAirPlatformAccessory.updateDevice (/var/lib/hoobs/blueairbridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:203:28) at BlueAirPlatformAccessory.setAccessoryInformation (/var/lib/hoobs/blueairbridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:140:5) 22/11/2021, 07:32:57Blueair BridgeBlueAirERRORLuft: getDeviceDatapoint error. TypeError: Cannot read property '1' of undefined at BlueAirApi.getDeviceDatapoint (/var/lib/hoobs/blueairbridge/node_modules/@fjs21/homebridge-blueair/src/blueair-api.ts:188:38) at processTicksAndRejections (internal/process/task_queues.js:95:5) at BlueAirPlatformAccessory.updateDevice (/var/lib/hoobs/blueairbridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:203:28) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/var/lib/hoobs/blueairbridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:314:29) 22/11/2021, 07:32:57Blueair BridgeBlueAirupdateAccessoryCharacteristic failed (240C776F9BB070E2) 22/11/2021, 07:33:06Blueair Bridge starting

fjs21 commented 2 years ago

So the code appears to be working correctly and reporting the error appropriately. However, it doesn't look like the plugin continues to function as intended. I need to report the error to the user once and then 'disable' this part of the code gracefully so that the plugin continues to function without this functionality (which is not essential).

I will try to take a look this weekend.

lensherm commented 2 years ago

@fjs21 , just a shot in the dark, but I have a theory here. Up till now I only had a 480i, which was working just fine. Today I added a 605, which resulted in similar symptoms as above. After doing a little bit of poking around the logs, but not the source, I'm wondering if you are attempting to parse temp, humidity, etc values for all devices, because AFAIK, the non "i" purifiers don't have those sensors and simply allow to change fan speed, led brightness and report back filter status. Anyhow, hope this helps.

nrosier commented 2 years ago

505 here and same issue so indeed, could be related to trying to read non-existing sensors.

deanlyoung commented 2 years ago

It's definitely the reading non-existent sensors. I have a Classic as well, and the code breakpoints are referring to the sensors.

https://<<redacted>>.blueair.io/v2/device/<<redacted>>/datapoint/0/last/0/

...returns:

{
  "start" : 0,
  "sensors" : [
    "time",
    "pm",
    "tmp",
    "hum",
    "co2",
    "voc",
    "allpollu"
  ],
  "end" : 0,
  "units" : [
    "s",
    "ugm3",
    "C",
    "pc",
    "ppm",
    "ppb",
    "%"
  ],
  "datapoints" : [

  ],
  "uuid" : "<<redacted>>"
}

but this switch statement doesn't work...

for (let i = 0; i < json.sensors.length; i++) {
          switch(json.sensors[i]) {
            case 'pm':
              pm = json.datapoints[0][i];
              break;
...

...because json.sensors.length is non-zero, but json.datapoints is empty because the Classic models do not have sensors.

So maybe json.sensors.length should change to json.datapoints.length or something like not calling this section if "datapoints" is non-zero?

However, unnecessary/unpopulated sensor accessory attributes in platformAccessory.ts would be loaded even when they don't exist, so those would need to be conditionally loaded as well.

fjs21 commented 2 years ago

It should be fixed now in v0.6.14. I added a flag that is set when you first start up the accessory. If the accessory generates an error when trying to run getDeviceDatapoint then it should switch off that functionality on subsequent updates. Let me know how it turns out as I don't have this issue with my 280i and 680i.

lensherm commented 2 years ago

I updated and am getting this in the log

[12/29/2021, 3:22:02 PM] [HB Supervisor] Restarting Homebridge... [12/29/2021, 3:22:02 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules [12/29/2021, 3:22:02 PM] [HB Supervisor] Started Homebridge v1.3.9 with PID: 1980 [12/29/2021, 3:22:03 PM] Loaded config.json with 0 accessories and 2 platforms. [12/29/2021, 3:22:03 PM] Loaded 3 cached accessories from cachedAccessories. [12/29/2021, 3:22:03 PM] --- [12/29/2021, 3:22:04 PM] Loaded plugin: @fjs21/homebridge-blueair@0.6.14 [12/29/2021, 3:22:04 PM] Registering platform '@fjs21/homebridge-blueair.BlueAir' [12/29/2021, 3:22:04 PM] --- [12/29/2021, 3:22:04 PM] Loaded plugin: homebridge-config-ui-x@4.41.3 [12/29/2021, 3:22:04 PM] Registering platform 'homebridge-config-ui-x.config' [12/29/2021, 3:22:04 PM] --- [12/29/2021, 3:22:04 PM] Loading 2 platforms... [12/29/2021, 3:22:04 PM] [Config] Initializing config platform... [12/29/2021, 3:22:04 PM] [Config] Running in Service Mode [12/29/2021, 3:22:04 PM] [BlueAir] Initializing BlueAir platform... [12/29/2021, 3:22:04 PM] [BlueAir] base_API_url: https://api.blueair.io/v2/user/xxxxx@xxxx.com/homehost/ [12/29/2021, 3:22:04 PM] [BlueAir] Loading accessory from cache: Downstairs [12/29/2021, 3:22:04 PM] [BlueAir] Loading accessory from cache: Living Room [12/29/2021, 3:22:04 PM] [BlueAir] Loading accessory from cache: Len’s Classic 480i Setup Payload: X-HM://00254CH2VYGBW Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

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

[12/29/2021, 3:22:04 PM] Homebridge v1.3.9 (HAP v0.9.8) (Homebridge XXXXX) is running on port 53003. [12/29/2021, 3:22:04 PM] [BlueAir] Got homehost: api-us-east-1.blueair.io [12/29/2021, 3:22:04 PM] [BlueAir] x-auth-token: xxxxxxxxxxxxxx [12/29/2021, 3:22:04 PM] [BlueAir] Found 3 devices. [12/29/2021, 3:22:04 PM] [BlueAir] Restoring existing accessory from cache: Downstairs [12/29/2021, 3:22:04 PM] [BlueAir] Restoring existing accessory from cache: Living Room [12/29/2021, 3:22:04 PM] [BlueAir] Restoring existing accessory from cache: Len’s Classic 480i [12/29/2021, 3:22:05 PM] [BlueAir] Living Room: getDeviceDatapoint error. TypeError: Cannot read properties of undefined (reading '1') at BlueAirApi.getDeviceDatapoint (/homebridge/node_modules/@fjs21/homebridge-blueair/src/blueair-api.ts:188:38) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.updateDevice (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:208:30) at BlueAirPlatformAccessory.setAccessoryInformation (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:144:5) [12/29/2021, 3:22:05 PM] [BlueAir] Downstairs: getDeviceDatapoint error. TypeError: Cannot read properties of undefined (reading '1') at BlueAirApi.getDeviceDatapoint (/homebridge/node_modules/@fjs21/homebridge-blueair/src/blueair-api.ts:188:38) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.updateDevice (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:208:30) at BlueAirPlatformAccessory.setAccessoryInformation (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:144:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleOnGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:262:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleAirQualityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:282:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleVOCDensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:287:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleBrightnessGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:267:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handlePM25DensityGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:272:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:297:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCurrentTemperatureGet (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:292:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) at BlueAirPlatformAccessory.handleCarbonDioxideLevel (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:302:5) [12/29/2021, 3:22:05 PM] Got SIGTERM, shutting down Homebridge... [12/29/2021, 3:22:09 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at Timeout._onTimeout (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:131:51) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) [12/29/2021, 3:22:09 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at Timeout._onTimeout (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:131:51) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'pm') at BlueAirPlatformAccessory.updateAirQualitySensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:463:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:334:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'tmp') at BlueAirPlatformAccessory.updateCurrentTemperature (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:524:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:336:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'hum') at BlueAirPlatformAccessory.updateCurrentRelativeHumidity (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:540:44) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:337:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] TypeError: Cannot read properties of undefined (reading 'co2') at BlueAirPlatformAccessory.updateCarbonDioxideSensor (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:555:45) at BlueAirPlatformAccessory.updateAccessoryCharacteristics (/homebridge/node_modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:338:10) at processTicksAndRejections (node:internal/process/task_queues:96:5) [12/29/2021, 3:22:10 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null

deanlyoung commented 2 years ago

I'll try and create a PR later, but there are still some breakpoints unaccounted for.

blueair-api.ts:188:38 platformAccessory.ts:131:51

[12/29/2021, 12:07:46 PM] [@fjs21/homebridge-blueair] Living Room Air Filter
getDeviceDatapoint error. TypeError: Cannot read properties of undefined (
reading '1') at BlueAirApi.getDeviceDatapoint(
/usr/local/lib/node modules/@fjs21/homebridge-blueair/src/blueair-api.ts:188:38) at processTicksAndRejections
(node:internal/process/task queues:96:5) at BlueAirPlatformAccessory.update Device (/usr/local/lib/node modules/@fjs21/homebridge-blueair/src/platformAc
cessory.ts:208:30) at BlueAirPlatformAccessory.setAccessoryInformation(/usr/local/lib/node modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:144:5)
TypeError: Cannot read properties of undefined (reading 'tmp') at Timeout. onTimeout - (/usr/local/lib/node modules/@fjs21/homebridge-blueair/src/platformAccessory.ts:131:51)

I think there will still be an issue when initializing platform accessories in: platformAccessory.ts lines: 14-17 and if those aren't loaded, then other lines that update those sensor accessories would need to be avoided. Is there a way to dynamically load platform accessories by model?

Here is an example /info endpoint response:

{
"uuid": "<<redacted>>",
"name": "Living Room Air Filter",
"timezone": "America/Denver",
"compatibility": "classic_605",
"model": "1.0.7",
"mac": "<<redacted>>",
"firmware": "1.1.38",
"mcuFirmware": "1.0.35",
"wlanDriver": "V10",
"lastSyncDate": 1640810342,
"installationDate": 1508439221,
"lastCalibrationDate": 1508439221,
"initUsagePeriod": 0,
"rebootPeriod": 10800,
"roomLocation": "kitchen"
}

It seems you could use this: "compatibility": "classic_605" for some if or switch statements in platformAccessory.ts

fjs21 commented 2 years ago

yeah that's a good idea. for now I've just published another version v0.6.16 which may minimize the errors.

fjs21 commented 2 years ago

Ok. Let's try version 0.7.

I made a new platformAccessory type for the classic devices without sensors. Please report your type and I will patch to assign the device type to the correct accessory.

deanlyoung commented 2 years ago

Brilliant solution! That's way cleaner than what I was imagining. Gives me some idea for my own plugin.

Now for capturing more models... 🤔