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: TypeError: Cannot read properties of undefined (reading 'includes') #831

Open clickbg opened 1 week ago

clickbg commented 1 week ago

Describe The Bug

After upgrade to v2.1.2 Resideo plugin crashes child bridge

To Reproduce

Upgrade from v1.x to v2.1.2

Expected behavior

Bridge should be able to start

Relevant log output

[6/26/2024, 2:29:38 PM] Registering platform 'homebridge-resideo.Resideo'
[6/26/2024, 2:29:38 PM] [Resideo] Loaded homebridge-resideo v2.1.2 child bridge successfully
[6/26/2024, 2:29:38 PM] Loaded 5 cached accessories from cachedAccessories.***.
[6/26/2024, 2:29:38 PM] Homebridge v1.8.3 (HAP v0.12.2) (Resideo) is running on port 59665.
[6/26/2024, 2:29:39 PM] [Resideo] Total Locations Found: 1
[6/26/2024, 2:29:39 PM] [Resideo] Total Devices Found at Home: 5
[6/26/2024, 2:29:39 PM] [Resideo] Restoring existing accessory from cache: Kitchen Sink DeviceID: a4430fd1-77e4-4ff6-a3a5-**
[6/26/2024, 2:29:39 PM] [Resideo] Restoring existing accessory from cache: Laundry Room DeviceID: f7af46aa-a968-42b0-b601-**
[6/26/2024, 2:29:39 PM] [Resideo] Restoring existing accessory from cache: Heating Box DeviceID: b3971e55-c52b-4dd7-92da-**
[6/26/2024, 2:29:39 PM] [Resideo] Restoring existing accessory from cache: Master Bathroom DeviceID: 1ce83779-9611-4ec4-b90f-**
[6/26/2024, 2:29:39 PM] [Resideo] Restoring existing accessory from cache: Guest Bathroom DeviceID: a64ed0d7-8bda-4917-9cbf-**
TypeError: Cannot read properties of undefined (reading 'includes')
    at LeakSensor.enablingDeviceLogging (file:///homebridge/node_modules/homebridge-resideo/src/devices/device.ts:352:31)
    at LeakSensor.debugWarnLog (file:///homebridge/node_modules/homebridge-resideo/src/devices/device.ts:320:14)
    at LeakSensor.getDeviceLogSettings (file:///homebridge/node_modules/homebridge-resideo/src/devices/device.ts:61:12)
    at new deviceBase (file:///homebridge/node_modules/homebridge-resideo/src/devices/device.ts:36:10)
    at new LeakSensor (file:///homebridge/node_modules/homebridge-resideo/src/devices/leaksensors.ts:59:5)
    at ResideoPlatform.createLeak (file:///homebridge/node_modules/homebridge-resideo/src/platform.ts:649:9)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[6/26/2024, 2:29:39 PM] [Resideo] Child bridge process ended
[6/26/2024, 2:29:39 PM] [Resideo] Process Ended. Code: 1, Signal: null
[6/26/2024, 2:29:46 PM] [Resideo] Stopping child bridge (will not restart)...

Config for homebridge-resideo

{
    "name": "Resideo",
    "credentials": {
        "consumerKey": "***",
        "consumerSecret": "***",
        "accessToken": "***",
        "refreshToken": "***"
    },
    "options": {
        "logging": "standard"
    },
    "_bridge": {
        "username": "0E:65:B9:60:**:**",
        "port": 59665
    },
    "platform": "Resideo"
}

Screenshots

No response

Device & Model

Resideo Leak Sensors only

Node.js Version

v20.15.0

NPM Version

10.7.0

Homebridge Version

v1.8.3

Homebridge Resideo Plugin Version

v2.1.2

Homebridge Config UI X Plugin Version

No response

Operating System

Docker

clickbg commented 1 week ago

Found the issue, removing the logging options fixed it.

    "options": {
        "logging": "standard"
    },
donavanbecker commented 1 week ago

Going to reopen to look into this.