Skip to content

Plugin enters crash loop when String light is auto discovered #40

@ekinnear

Description

@ekinnear

Describe The Bug:
When a Lifx String Light is present on the network and auto discovery is turned on, the plugin (running in a child bridge) enters a crash loop.

When auto discovery is turned off, the crash loop stops.

Even once auto discovery is turned off, the plugin is now not able to control my existing bulbs that were working prior to adding the string lights. This happens even when removing the new lights from the accessory cache.

To Reproduce:
Set up one of the new string lights on the network

Expected behavior:
Even if not able to control the string light, it shouldn't crash

Logs:

[homebridge-lifx-plugin] This plugin generated a warning from the characteristic 'Manufacturer': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info.
[homebridge-lifx-plugin] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info.
TypeError: Cannot read properties of undefined (reading 'color')
    at Bulb.hasColors (/usr/lib/node_modules/homebridge-lifx-plugin/src/bulb.ts:60:47)
    at LifxPlatformAccessory.bindFunctions (/usr/lib/node_modules/homebridge-lifx-plugin/src/platformAccessory.ts:70:19)
    at /usr/lib/node_modules/homebridge-lifx-plugin/src/platformAccessory.ts:25:12
    at /usr/lib/node_modules/homebridge-lifx-plugin/src/bulb.ts:29:11
    at /usr/lib/node_modules/homebridge-lifx-plugin/src/bulb.ts:90:7
    at /usr/lib/node_modules/homebridge-lifx-plugin/src/bulb.ts:125:7
    at Client.<anonymous> (/usr/lib/node_modules/homebridge-lifx-plugin/node_modules/lifx-lan-client/src/lifx/light.js:218:5)
    at Client.<anonymous> (/usr/lib/node_modules/homebridge-lifx-plugin/node_modules/lifx-lan-client/src/lifx/client.js:428:26)
    at Array.forEach (<anonymous>)
    at Client.processMessageHandlers (/usr/lib/node_modules/homebridge-lifx-plugin/node_modules/lifx-lan-client/src/lifx/client.js:414:24)
[Lifx Plugin] Child bridge process ended
[Lifx Plugin] Process Ended. Code: 1, Signal: null

Plugin Config:

        {
            "name": "Lifx Plugin",
            "duration": 0,
            "brightnessDuration": 300,
            "colorDuration": 300,
            "default": "192.168.0.201",
            "broadcast": "192.168.0.255",
            "lightOfflineTolerance": 3,
            "messageHandlerTimeout": 45000,
            "resendPacketDelay": 150,
            "resendMaxTimes": 3,
            "updates": true,
            "debug": false,
            "autoDiscover": false,
            "_bridge": {
                "username": "...",
                "port": 37047
            },
            "platform": "LifxPlugin"
        },

Environment:

  • Plugin Version: v0.3.0
  • Homebridge Version: 1.7.0
  • Node.js Version: 18.6.0
  • NPM Version: 9.5.1
  • Operating System: Raspbian

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions