homebridge-plugins / homebridge-roomba2

Homebridge plugin to connect iRobot Roomba devices with Homebridge/HomeKit.
MIT License
144 stars 17 forks source link

Error leads to Homebridge crashing #19

Closed bxlouis closed 2 years ago

bxlouis commented 3 years ago

I noticed an error in the logs that leads to Homebridge crashing. It seems to happen when requesting bin status.

Homebridge v1.2.4 Roomba2 v1.2.0

[12/10/2020, 12:25:55 AM] [Roomba] Bin status requested [12/10/2020, 12:25:55 AM] [Roomba] Using expired status [12/10/2020, 12:25:55 AM] Error: This callback function has already been called by someone else; it can only be called one time. at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:6:13 at /homebridge/node_modules/homebridge-roomba2/index.js:225:17 at roombaAccessory.getStatus (/homebridge/node_modules/homebridge-roomba2/index.js:274:16) at roombaAccessory.getFilterStatus (/homebridge/node_modules/homebridge-roomba2/index.js:223:15) at ContactSensorState.emit (events.js:315:20) at ContactSensorState.EventEmitter.emit (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22) at ContactSensorState.Characteristic._this.getValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:489:12) at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1239:22 at Array.forEach (<anonymous>) at Bridge.Accessory._this._handleGetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1167:10) at HAPServer.emit (events.js:315:20) at HAPServer.EventEmitter.emit (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22) at HAPServer._this._handleCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:756:12) at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:280:24) at IncomingMessage.emit (events.js:327:22) at endReadableNT (_stream_readable.js:1327:12) at processTicksAndRejections (internal/process/task_queues.js:80:21) [12/10/2020, 12:25:55 AM] Got SIGTERM, shutting down Homebridge... [12/10/2020, 12:26:00 AM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null [12/10/2020, 12:26:05 AM] [HB Supervisor] Restarting Homebridge...

owine commented 3 years ago

Confirming seeing same behavior.

smtony commented 3 years ago

Mine did the same when i hade AutoRefresh enabled in conjunction with bin/docking status I disabled Auto Refresh and it stopped crashing

iRayanKhan commented 3 years ago

@bxlouis can you confirm if disabling AutoRefresh, fixes the issue for you?

It's odd that it could crash, I will look into it.

MichelRabozee commented 3 years ago

Setting the keepAliveEnabled to true get rid of those errors. I guess when keepAliveEnabled is false, some cleaning about installed callbacks should occur.

iRayanKhan commented 3 years ago

I am going to default keepAlive to true in the next version. Can you confirm that the issues haven't come back @MichelRabozee?

MichelRabozee commented 3 years ago

Setting keepAlive to true does fix everything (instant update in Homekit + no error about multiple call to callback). Obviously, when the keep alive is active, you cannot even use again the getpassword tool from dorita980 nor the mapping system ( from Rest980 https://github.com/koalazak/rest980 ). Maybe some warnings about those need to be included more visibly ?

cmb991 commented 3 years ago

So is the fix to keepalive active?

MichelRabozee commented 3 years ago

As far as I am concerned, yes, setting keepAlive to true fixes my issues.

Copernicus2012 commented 3 years ago

Hi there, I installed it, configured it correctly and it completely crashes my FHEM bridge and after a while hombridge crashes. Any hints?

Edit: after several reinstalls, reboots it is now kind of stable. I‘ll report when I encounter mor issues. Thanks, Andreas

Casuallynoted commented 3 years ago

Getting this exact issue but I have keepalive on. Not sure what else I can do to fix it.

karlvr commented 2 years ago

I believe this was fixed by #49.