stvmallen / homebridge-roomba-stv

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

Plugin causes HomeBridge to crash on getStatus #22

Closed creedda closed 5 years ago

creedda commented 5 years ago

Plugin causes HomeBridge to crash on getStatus. It looks like your latest commit might be causing a crash at least on my instance.

It looks like it is crashing at line 199: getStatus(callback, silent) {

I looked at the code a bit myself and couldn't pinpoint the exact issue. But I am not a java expert so I thought I would document it while I keep looking case you see something obvious.

Expected Behavior

Looks like the Hombridge is trying to auto refresh the status of the Roomba and is hitting something that causes it to crash.

Current Behavior

Homebridge is crashing.

Steps to Reproduce (for bugs)

Versions

Configuration

"accessories": [
        {
            "accessory": "Roomba",
            "name": "Genie",
            "model": "980",
            "blid": "6xxxxxxxxxxxxxx0",
            "robotpwd": "x",
            "ipaddress": "10.x.x.x",
            "autoRefreshEnabled": true,
            "pollingInterval": 30,
            "cacheTTL": 30
        },

Homebridge Log / Command Output

Nov 30 15:41:26 UniPiDev systemd[1]: Stopped Node.js HomeKit Server.
Nov 30 15:41:26 UniPiDev systemd[1]: Started Node.js HomeKit Server.
Nov 30 15:41:28 UniPiDev homebridge[9034]: [2018-11-30 15:41:28] Loaded config.json with 2 accessories and 3 platforms.
Nov 30 15:41:28 UniPiDev homebridge[9034]: [2018-11-30 15:41:28] ---
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Loaded plugin: homebridge-blinds-cmd
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Registering accessory 'homebridge-blinds.BlindsCMD'
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] ---
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Loaded plugin: homebridge-bravia
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Registering platform 'homebridge-bravia.BraviaPlatform'
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] ---
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Loaded plugin: homebridge-cmdswitch2
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Registering platform 'homebridge-cmdswitch2.cmdSwitch2'
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] ---
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Loaded plugin: homebridge-config-ui-x
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] Registering platform 'homebridge-config-ui-x.config'
Nov 30 15:41:29 UniPiDev homebridge[9034]: [2018-11-30 15:41:29] ---
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Loaded plugin: homebridge-http-webhooks
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering platform 'homebridge-http-webhooks.HttpWebHooks'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookSensor'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookSwitch'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookPushButton'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookLight'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookThermostat'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookOutlet'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookSecurity'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookGarageDoorOpener'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookStatelessSwitch'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] Registering accessory 'homebridge-http-webhooks.HttpWebHookLockMechanism'
Nov 30 15:41:30 UniPiDev homebridge[9034]: [2018-11-30 15:41:30] ---
Nov 30 15:41:31 UniPiDev homebridge[9034]: [2018-11-30 15:41:31] Loaded plugin: homebridge-nest
Nov 30 15:41:31 UniPiDev homebridge[9034]: [2018-11-30 15:41:31] Registering platform 'homebridge-nest.Nest'
Nov 30 15:41:31 UniPiDev homebridge[9034]: [2018-11-30 15:41:31] ---
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Loaded plugin: homebridge-people
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Registering platform 'homebridge-people.People'
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Registering accessory 'homebridge-people.PeopleAccessory'
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Registering accessory 'homebridge-people.PeopleAllAccessory'
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] ---
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Loaded plugin: homebridge-plex-sensors
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Registering platform 'homebridge-plex-sensors.Plex'
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] ---
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Loaded plugin: homebridge-switchmate
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Registering platform 'homebridge-switchmate.Switchmate'
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] ---
Nov 30 15:41:32 UniPiDev homebridge[9034]: [2018-11-30 15:41:32] Loaded plugin: homebridge-harmonyhub
Nov 30 15:41:34 UniPiDev homebridge[9034]: [2018-11-30 15:41:34] Registering platform 'homebridge-harmonyhub.HarmonyHub'
Nov 30 15:41:34 UniPiDev homebridge[9034]: [2018-11-30 15:41:34] ---
Nov 30 15:41:35 UniPiDev homebridge[9034]: [2018-11-30 15:41:35] Loaded plugin: homebridge-roomba-stv
Nov 30 15:41:35 UniPiDev homebridge[9034]: [2018-11-30 15:41:35] Registering accessory 'homebridge-roomba.Roomba'
Nov 30 15:41:35 UniPiDev homebridge[9034]: [2018-11-30 15:41:35] ---
Nov 30 15:41:35 UniPiDev homebridge[9034]: [2018-11-30 15:41:35] Loading 3 platforms...
Nov 30 15:41:35 UniPiDev homebridge[9034]: [2018-11-30 15:41:35] [Config] Initializing config platform...
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Config] Spawning homebridge-config-ui-x with PID 9057
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Harmony Hub] Initializing HarmonyHub platform...
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [BraviaPlatform] Initializing BraviaPlatform platform...
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [BraviaPlatform] Initializing platform accessory 'TV Speakers'...
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] Loading 2 accessories...
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Genie] Initializing Roomba accessory...
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Genie] Enabling autoRefresh every 30 seconds
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Blinds] Initializing BlindsCMD accessory...
Nov 30 15:41:36 UniPiDev homebridge[9034]: Load homebridge-cmdswitch2.cmdSwitch2
Nov 30 15:41:36 UniPiDev homebridge[9034]: Load homebridge-plex-sensors.Plex
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Harmony Hub] Plugin - Configure Accessory: Hub
Nov 30 15:41:36 UniPiDev homebridge[9034]: Setup Payload:
Nov 30 15:41:36 UniPiDev homebridge[9034]: 
Nov 30 15:41:36 UniPiDev homebridge[9034]: Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]:     ┌────────────┐
Nov 30 15:41:36 UniPiDev homebridge[9034]:     │ 
Nov 30 15:41:36 UniPiDev homebridge[9034]:     └────────────┘
Nov 30 15:41:36 UniPiDev homebridge[9034]:
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Harmony Hub] Finalizing Plugin Launch
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] Homebridge is running on port 
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Harmony Hub] Updated reachability of undefined to false
Nov 30 15:41:36 UniPiDev homebridge[9034]: [2018-11-30 15:41:36] [Blinds] Unable to initialize query current position
Nov 30 15:41:37 UniPiDev homebridge[9034]: [2018-11-30 15:41:37] [Harmony Hub] received update event from harmonyhubjs-discover. there are 1 hubs
Nov 30 15:41:37 UniPiDev homebridge[9034]: [2018-11-30 15:41:37] [Harmony Hub] Updated reachability of undefined to false
Nov 30 15:41:37 UniPiDev homebridge[9034]: [2018-11-30 15:41:37] [Harmony Hub] Updated reachability of undefined to false
Nov 30 15:41:37 UniPiDev homebridge[9034]: [2018-11-30 15:41:37] [Harmony Hub] Updated reachability of undefined to false
Nov 30 15:41:38 UniPiDev homebridge[9034]: [2018-11-30 15:41:38] [Harmony Hub] created new client for hub with uuid 
Nov 30 15:41:38 UniPiDev homebridge[9034]: [2018-11-30 15:41:38] [Harmony Hub] Updated reachability of undefined to true
Nov 30 15:41:38 UniPiDev homebridge[9034]: [2018-11-30 15:41:38] [Harmony Hub] Fetching Logitech Harmony activities...
Nov 30 15:41:39 UniPiDev homebridge[9034]: [2018-11-30 15:41:39] [Genie] Battery status requested
Nov 30 15:41:39 UniPiDev homebridge[9034]: [2018-11-30 15:41:39] [Harmony Hub] Found activities:
Nov 30 15:41:39 UniPiDev homebridge[9034]:        
Nov 30 15:41:39 UniPiDev homebridge[9034]:         
Nov 30 15:41:39 UniPiDev homebridge[9034]:         
Nov 30 15:41:39 UniPiDev homebridge[9034]:         
Nov 30 15:41:39 UniPiDev homebridge[9034]:         
Nov 30 15:41:39 UniPiDev homebridge[9034]:         
Nov 30 15:41:41 UniPiDev homebridge[9034]: [2018-11-30 15:41:41] [Config] Using Form Authentication
Nov 30 15:41:41 UniPiDev homebridge[9034]: [2018-11-30 15:41:41] [Config] Starting server using HTTPS
Nov 30 15:41:41 UniPiDev homebridge[9034]: [2018-11-30 15:41:41] [Config] Console v3.9.0 is listening on port .
Nov 30 15:41:42 UniPiDev homebridge[9034]: [2018-11-30 15:41:42] [Genie] Connected to Roomba
Nov 30 15:41:42 UniPiDev homebridge[9034]: [2018-11-30 15:41:42] [Genie] Roomba[{"running":0,"charging":1,"batteryLevel":100,"batteryStatus":0,"binFull":false}]
Nov 30 15:41:43 UniPiDev homebridge[9034]: [2018-11-30 15:41:43] [Genie] Running status requested
Nov 30 15:41:43 UniPiDev homebridge[9034]: [2018-11-30 15:41:43] [Blinds] Unable to retrieve current position
Nov 30 15:42:39 UniPiDev homebridge[9034]: [2018-11-30 15:42:39] [Harmony Hub] client for hub  went offline. re-establish.
Nov 30 15:42:39 UniPiDev homebridge[9034]: [2018-11-30 15:42:39] [Harmony Hub] Updated reachability of undefined to false
Nov 30 15:42:39 UniPiDev homebridge[9034]: [2018-11-30 15:42:39] [Harmony Hub] Updated reachability of undefined to false
Nov 30 15:42:40 UniPiDev homebridge[9034]: [2018-11-30 15:42:40] [Harmony Hub] created new client for hub with uuid 
Nov 30 15:42:40 UniPiDev homebridge[9034]: [2018-11-30 15:42:40] [Harmony Hub] Updated reachability of undefined to true
Nov 30 15:43:06 UniPiDev homebridge[9034]: /home/pi/.npm-global/lib/node_modules/homebridge-roomba-stv/index.js:199
Nov 30 15:43:06 UniPiDev homebridge[9034]:     getStatus(callback, silent) {
Nov 30 15:43:06 UniPiDev systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE
Nov 30 15:43:06 UniPiDev systemd[1]: homebridge.service: Unit entered failed state.
Nov 30 15:43:06 UniPiDev systemd[1]: homebridge.service: Failed with result 'exit-code'.
Nov 30 15:43:16 UniPiDev systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.
esteban-mallen commented 5 years ago

Just released a new version. Please check if fixed.

creedda commented 5 years ago

Looks good so far! Thanks for the great plugin!