Zacknetic / HomebridgeMagicHome-DynamicPlatform

Homebridge Plugin for MagicHome LED controllers and light bulbs
Apache License 2.0
61 stars 11 forks source link

V 1.9.9 is crashing #138

Closed richierockskool closed 1 year ago

richierockskool commented 1 year ago

TypeError: Cannot read properties of undefined (reading 'displayName') at HomebridgeMagichomeDynamicPlatform.configureAccessory (/usr/local/lib/node_modules/homebridge-magichome-dynamic-platform/src/platform.ts:93:100) at /usr/local/lib/node_modules/homebridge/src/bridgeService.ts:328:25 at Array.filter () at BridgeService.restoreCachedPlatformAccessories (/usr/local/lib/node_modules/homebridge/src/bridgeService.ts:288:69) at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:188:24) [9/1/2023, 12:48:09 PM] Got SIGTERM, shutting down Homebridge... [9/1/2023, 12:48:09 PM] AssertionError [ERR_ASSERTION]: Cannot generate setupURI on an accessory that isn't published yet! at Bridge.Accessory.setupURI (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:994:11) at Server.setServerStatus (/usr/local/lib/node_modules/homebridge/src/server.ts:155:45) at Server.teardown (/usr/local/lib/node_modules/homebridge/src/server.ts:199:10) at signalHandler (/usr/local/lib/node_modules/homebridge/src/cli.ts:93:12) at process.emit (node:events:514:28) at process.emit (/usr/local/lib/node_modules/homebridge/node_modules/source-map-support/source-map-support.js:516:21) [e.g. While using the HomeKit app on iPhone, after setting a MagicHome light tile's brightness to 0%, the tile will not respond again to brightness or color changes until after clicking the tile on again. Other HomeKit tiles, including other MagicHome lights, will continue to respond and are otherwise unaffected.]

To Reproduce

e.g. Steps to reproduce the behavior:

  1. In the HomeKit app, long press a MagicHome light's tile to display the brightness slider
  2. Slide the brightness down to 0%
  3. Attempt to increase brightness and change color
  4. Observe that the light is unresponsive
  5. Tap the MagicHome light's tile on>off>on
  6. Observe that the light is now responsive again

Expected behavior

A clear and concise description of what you expected to happen.

e.g. After sliding a MagicHome tile's brightness down to 0%, sliding it back up will again increase the brightness without the need for tapping the tile off and on again.

Additional context

Add any other context about the problem here.

Host Hardware

Homebridge and MagicHome

Screenshots

If applicable, add screenshots to help explain your problem.

xstefanx commented 1 year ago

I'm receiving the same error on bootup which crashes homebridge entirely and wont allow me to start it. I'm running this from a docker container on an unraid server.

[9/1/2023, 1:41:56 PM] TypeError: Cannot read properties of undefined (reading 'displayName') at HomebridgeMagichomeDynamicPlatform.configureAccessory (/usr/lib/node_modules/homebridge-magichome-dynamic-platform/src/platform.ts:93:100) at /usr/lib/node_modules/homebridge/src/bridgeService.ts:328:25 at Array.filter () at BridgeService.restoreCachedPlatformAccessories (/usr/lib/node_modules/homebridge/src/bridgeService.ts:288:69) at Server.start (/usr/lib/node_modules/homebridge/src/server.ts:188:24) [9/1/2023, 1:41:57 PM] [Homebridge UI] Homebridge Config UI X v4.50.5 is listening on :: port 8124 [9/1/2023, 1:41:57 PM] AssertionError [ERR_ASSERTION]: Cannot generate setupURI on an accessory that isn't published yet! at Bridge.Accessory.setupURI (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:994:11) at Server.setServerStatus (/usr/lib/node_modules/homebridge/src/server.ts:155:45) at Server.teardown (/usr/lib/node_modules/homebridge/src/server.ts:199:10) at signalHandler (/usr/lib/node_modules/homebridge/src/cli.ts:93:12) at process.emit (node:events:514:28) at process.emit (/usr/lib/node_modules/homebridge/node_modules/source-map-support/source-map-support.js:516:21)

richierockskool commented 1 year ago

went to the Alpha, 2.0.0 but it doesn't work that great, not like previous versions, please assist...

Zacknetic commented 1 year ago

Hello @richierockskool , @xstefanx

The alpha version was mistakenly uploaded as latest, automatically updating your accessories to the latest version. While the alpha plugin is backwards compatible with old accessories, it converts/updates the accessories themselves so they are not backwards compatible.

I have resolved this partially by reverting to version 1.9.9 as latest but you will need to either:

  1. use a backup of your accessories and restore from there
  2. purge your magichome accessories and let 1.9.9 rediscover them.

I apologize for this mistake and it was certainly not my intention. As you said, the alpha version is still missing quite a few features and has many bugs.

Apologies, Zack

richierockskool commented 1 year ago

Thank you Zack a simple uninstall and re-install of 1.9.9 works great, add the accessories and good to go.

xstefanx commented 1 year ago

I removed my docker, replaced the appdata folder with a backup I had, and reinstalled the docker. All seems well now. Thanks for the quick response. We've grown very accustom to being able to rely on this plugin. Thanks for creating it!

Zacknetic commented 1 year ago

@richierockskool Great to hear it's back up and running. I hope you didn't have to spend too much time renaming and redoing other customizations in HomeKit.

@xstefanx Happy to hear you had a backup and that it's resolved. I'm glad that you are finding it reliable and useful.

Please note that the goal is to eventually migrate to release version 2.0.0. However, I will not do this until all previous features have been implemented and the alphas have been thoroughly tested by several users. Realistically, not any time soon. The logs you have provided have been helpful!

Thank you both for your patience in this matter. I will mark this issue as closed but feel free to re-open it if you encounter a similar problem or open a new one if you discover another issue. Please enjoy.