howanghk / homebridge-ewelink

Homebridge plugin to control Sonoff relays with OEM firmware
MIT License
81 stars 46 forks source link

Cannot read property 'setCharacteristic' of undefined - Ever since Update, fan switch causing crash in HomeBridge #90

Closed warrendt closed 4 years ago

warrendt commented 4 years ago

Ever since recent updates. I constantly get these crashes after a restart of HomeBridge. If the Accessory cache is deleted, or HomeBridge reset, plugin works fine until next reset or some update being received.

Here is the log.

20, 17:49:27] [eWeLink] Device with ID [1000778334] is not configured. Add accessory. [5/16/2020, 17:49:27] [eWeLink] Device type for 1 is SOCKET [5/16/2020, 17:49:27] [eWeLink] Device [Office Fish Tank], ID : [1000778334] will be added [5/16/2020, 17:49:27] [eWeLink] Found Accessory with Name : [Office Fish Tank], Manufacturer : [Basic2], Status : [on], Is Online : [true], API Key: [ef131d39-cc6d-4f15-9d4c-b3ba0afd955a] [5/16/2020, 17:49:27] [eWeLink] Device type for 1 is SOCKET [5/16/2020, 17:49:27] [eWeLink] Device type for 1 is SOCKET [5/16/2020, 17:49:27] [eWeLink] Device with ID [10008c0a8d] is not configured. Add accessory. [5/16/2020, 17:49:27] [eWeLink] Device type for 1 is SOCKET [5/16/2020, 17:49:27] [eWeLink] Device [Fountain], ID : [10008c0a8d] will be added [5/16/2020, 17:49:27] [eWeLink] Found Accessory with Name : [Fountain], Manufacturer : [S55], Status : [off], Is Online : [true], API Key: [ef131d39-cc6d-4f15-9d4c-b3ba0afd955a] [5/16/2020, 17:49:27] [eWeLink] Device type for 1 is SOCKET [5/16/2020, 17:49:27] [eWeLink] Device type for 1 is SOCKET [5/16/2020, 17:49:27] [eWeLink] Device with ID [100065d398] is already configured. Ensuring that the configuration is current. [5/16/2020, 17:49:27] [eWeLink] Device type for 34 is FAN_LIGHT [5/16/2020, 17:49:27] [eWeLink] Updating recorded Characteristic.On for [Lounge Fan] to [true]. No request will be sent to the device. [5/16/2020, 17:49:27] TypeError: Cannot read property 'setCharacteristic' of undefined at eWeLink.updateFanLightCharacteristic (/usr/lib/node_modules/homebridge-ewelink-max/index.js:981:9) at checkIfDeviceIsAlreadyConfigured (/usr/lib/node_modules/homebridge-ewelink-max/index.js:216:46) at Map.forEach () at /usr/lib/node_modules/homebridge-ewelink-max/index.js:287:49 at Object.parseBody (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request-json/main.js:74:12) at Request._callback (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request-json/main.js:148:26) at Request.self.callback (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request/request.js:185:22) at Request.emit (events.js:310:20) at Request. (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request/request.js:1161:10) at Request.emit (events.js:310:20) [5/16/2020, 17:49:27] Got SIGTERM, shutting down Homebridge...

Please do let me know if you need more logs or if you need any other config. Any tips or pointers to fix the problem myself would be great.....

BitjeMaster commented 4 years ago

Good afternoon i have the same with a iFan02

[5/24/2020, 6:42:59 PM] TypeError: Cannot read property 'setCharacteristic' of undefined at eWeLink.updateFanLightCharacteristic (/usr/lib/node_modules/homebridge-ewelink-max/index.js:981:9) at checkIfDeviceIsAlreadyConfigured (/usr/lib/node_modules/homebridge-ewelink-max/index.js:216:46) at Map.forEach () at /usr/lib/node_modules/homebridge-ewelink-max/index.js:287:49 at Object.parseBody (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request-json/main.js:74:12) at Request._callback (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request-json/main.js:148:26) at Request.self.callback (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request/request.js:185:22) at Request.emit (events.js:198:13) at Request. (/usr/lib/node_modules/homebridge-ewelink-max/node_modules/request/request.js:1161:10) at Request.emit (events.js:198:13)