stvmallen / homebridge-roomba-stv

Homebrige plugin for Roomba 9xx
MIT License
38 stars 15 forks source link

Call back has been called by someone else #25

Closed iRayanKhan closed 5 years ago

iRayanKhan commented 5 years ago

Hello, I have been using this plugin for about a week and a half now, and for the past 5 days I get this issue whenever 2 people go into the home app at once:

[12/17/2018, 2:20:25 AM] [Roomba1] Running status requested
[12/17/2018, 2:20:25 AM] [Roomba1] Battery status requested
[12/17/2018, 2:20:25 AM] [Roomba1] Running status requested
[12/17/2018, 2:20:25 AM] [Roomba1] Battery status requested
[12/17/2018, 2:20:26 AM] [RaspberryPi CPU Temperature] update currentTemperatureCharacteristic value: 41.856
[12/17/2018, 2:20:27 AM] [RaspberryPi CPU Temperature] update currentTemperatureCharacteristic value: 40.78
[12/17/2018, 2:20:27 AM] [Roomba1] Running status requested
[12/17/2018, 2:20:27 AM] [Roomba1] Battery status requested
[12/17/2018, 2:20:27 AM] [Roomba1] Charging status requested
[12/17/2018, 2:20:27 AM] [Roomba1] Battery level requested

/usr/lib/node_modules/homebridge-roomba-stv/index.js:192
                callback(null, status.batteryStatus);
                ^
Error: This callback function has already been called by someone else; it can only be called one time.
    at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:12:13
    at getStatus (/usr/lib/node_modules/homebridge-roomba-stv/index.js:192:17)
    at roombaAccessory.getStatus (/usr/lib/node_modules/homebridge-roomba-stv/index.js:210:13)
    at Timeout.setTimeout (/usr/lib/node_modules/homebridge-roomba-stv/index.js:207:39)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)

and it crashes the HomeBridge instance. Any idea's on how to fix this?

iRayanKhan commented 5 years ago

Seems to have been fixed in the latest version, but battery and charging status has been removed.