dxdc / homebridge-blinds

:sunrise: Homebridge Plugin to control my blinds over HTTP
https://www.npmjs.com/package/homebridge-blinds
ISC License
54 stars 25 forks source link

[FEATURE] Eve App 4.2 Issue with homebridge-blinds #32

Closed Zer0x00 closed 4 years ago

Zer0x00 commented 4 years ago

The latest Eve for HomeKit App v4.2 is causing issues with several Homebridge Plugins. They changed something so that the serial number of a device is linked somehow in the background. This was not with previous Eve versions. Problems causing now like described here. homebridge/homebridge#2503 So all devices/switches from homebridge-blinds can't be sorted anymore and can't get an icon for each device separately.

Do you see a solution to fix this "Eve" Issue, by changing something in your plugin?

Other plugin developers like @nicoduj homebridge-harmony already fixed the Eve Issue #249. @pponce with homebridge-script2 did a fix #25 by adding "unique_serial": which also was a great and working solution.

homebridge-blinds Plugin is indispensable for me and I would not want to miss it.

Thanks again for your work and the time you are investing generally.

dxdc commented 4 years ago

@Zer0x00 this sounds like a widespread problem with Eve. It sounds like there were a lot of breaking features in this version, so it's probably something they should fix on their end instead of trying to fix 100's of plugins.

I added a fix for this cfb6370. However, I need to confirm that it won't delete existing accessories when making these changes.

At a minimum, my concern is that it will cause problems for Node-RED users who may also be using this plugin in conjunction with node-red-contrib-homebridge-automation.

For testing purposes:

Zer0x00 commented 4 years ago

This is the error I get.

I think this.id in line 648 is undefined.

[27.4.2020, 13:15:31] TypeError: Cannot read property 'toString' of undefined at BlindsHTTPAccessory.getServices (C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge-blinds\index.js:648:119) at Server.createHAPAccessory (C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge\src\server.ts:411:41) at C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge\src\server.ts:337:30 at Array.forEach (<anonymous>) at Server._loadAccessories (C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge\src\server.ts:307:29) at Server.start (C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge\src\server.ts:154:12) at cli (C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge\src\cli.ts:74:10) at Object.<anonymous> (C:\Users\0x00\AppData\Roaming\npm\node_modules\homebridge\bin\homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:1123:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)

dxdc commented 4 years ago

@dxdc Agree. Added another commit, please try again.

pponce commented 4 years ago

Looks like 4.2.1 of eve may have fixed what was causing this issue. They call it out in the release notes.

dxdc commented 4 years ago

Thanks @pponce. I may revert these commits... I don't want to disturb anyone's existing set up.

dxdc commented 4 years ago

@Zer0x00 @pponce I've just pushed a new release. If you'd like to use unique serial numbers (on an ongoing basis), please set unique_serial to true. See the config/README.