Git Product home page Git Product logo

homebridge-irobot's People

Contributors

actions-user avatar bloomkd46 avatar github-actions[bot] avatar rcoletti116 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-irobot's Issues

Support Request: HomeKit automations

Describe Your Problem:

How do you go about creating a shortcut or automation in HomeKit once robot is set up?

I tried setting up a shortcut to turn the robot on, turn to manual mode, and then turn on the room. But robot gives error and says map does not match map set in app. They are spelled correctly in both apps.

Expected behavior:

No response

Logs:

N/A

Config:

N/A

Node Version:

16.13.2

NPM Version:

8.3.1

Homebridge Version:

1.4.0

Plugin Version:

2.1.16

Operating System:

Raspberian

Support Request: Roomba i3 throwing errors when docked

Describe Your Problem:

I am not sure if this is a supportability issue (e.g. i3 is not supported), but i'll describe the issue.

When docked, the homebridge-iRobot plugin is throwing a timeout error every 5 seconds and reconnecting. When my i3 Roomba is in a clean mode, there are no errors and things work fine.

Expected behavior:

No response

Logs:

[12/01/2022, 12:48:20] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:20] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:20] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:25] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:25] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:25] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:30] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:30] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:30] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:35] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:35] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:35] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:40] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:40] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:40] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:45] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:45] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:45] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:50] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:50] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:50] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:48:55] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:48:55] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:48:55] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:49:00] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:49:00] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:49:00] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:49:02] [Homebridge UI] [homebridge-irobot] Terminating child process...
[12/01/2022, 12:49:02] [Homebridge UI] [homebridge-irobot] Child process ended
[12/01/2022, 12:49:05] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:49:05] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:49:05] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:49:10] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:49:10] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:49:10] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[12/01/2022, 12:49:15] [iRobot] Attempting To Reconnect To Roomba Roomba
[12/01/2022, 12:49:15] [iRobot] Roomba Roomba  went offline, disconnecting...
[12/01/2022, 12:49:15] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds

Config:

{
            "name": "iRobot",
            "email": "[redacted]",
            "password": "[redacted]",
            "lowBattery": 20,
            "offAction": "stop:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }

Node Version:

16.13.2

NPM Version:

8.1.2

Homebridge Version:

1.3.9

Plugin Version:

2.1.12

Operating System:

Raspberian

Bug Report: j7 Won't Work

Describe The Bug:

After putting in all the credentials correctly and restarting home bridge the output gets spammed every 5 seconds with the plugin attempting to connect to Roomba then failing to. After enabling debug mode in home bridge the following error code is displayed when home bridge is first started up.
`[1/3/2022, 6:40:21 PM] [iRobot] Failed to fetch ip for roomba: Roomba see below for details
[1/3/2022, 6:40:21 PM] [iRobot] Request Timed Out

[1/3/2022, 6:40:21 PM] [iRobot] Restoring existing accessory from cache: Roomba
[1/3/2022, 6:40:21 PM] TypeError: Cannot read properties of undefined (reading 'sw')
at new iRobotPlatformAccessory (/homebridge/node_modules/homebridge-irobot/src/platformAccessory.ts:55:90)
at iRobotPlatform.discoverDevices (/homebridge/node_modules/homebridge-irobot/src/platform.ts:88:9)
at HomebridgeAPI. (/homebridge/node_modules/homebridge-irobot/src/platform.ts:34:12)
at HomebridgeAPI.emit (node:events:390:28)
at HomebridgeAPI.signalFinished (/usr/local/lib/node_modules/homebridge/src/api.ts:275:10)
at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:173:14)`

Home bridge then outputs
[1/3/2022, 6:44:45 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null [1/3/2022, 6:44:50 PM] [HB Supervisor] Restarting Homebridge...

After this home bridge then restarts and the plugin gets stuck in a loop of attempting to connect and seeming to fail since Roomba can not be started through the home app.
[1/3/2022, 6:47:26 PM] [iRobot] Attempting To Reconnect To Roomba Roomba [1/3/2022, 6:47:26 PM] [iRobot] Roomba Roomba went offline, disconnecting... [1/3/2022, 6:47:26 PM] [iRobot] Roomba Roomba connection closed, reconnecting in 5 seconds

To Reproduce:

Attempt to setup the plugin.

Expected behavior:

Roomba should work and home bridge should not crash

Logs:

[1/3/2022, 6:44:34 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules -D
[1/3/2022, 6:44:35 PM] [HB Supervisor] Started Homebridge v1.3.9 with PID: 856
[1/3/2022, 6:44:35 PM] Loaded config.json with 0 accessories and 2 platforms.
[1/3/2022, 6:44:36 PM] Loaded 1 cached accessories from cachedAccessories.
[1/3/2022, 6:44:36 PM] ---
[1/3/2022, 6:44:37 PM] Loaded plugin: [email protected]
[1/3/2022, 6:44:37 PM] Registering platform 'homebridge-irobot.iRobotPlatform'
[1/3/2022, 6:44:37 PM] ---
[1/3/2022, 6:44:37 PM] Loaded plugin: [email protected]
[1/3/2022, 6:44:37 PM] Registering platform 'homebridge-config-ui-x.config'
[1/3/2022, 6:44:37 PM] ---
[1/3/2022, 6:44:37 PM] Loading 2 platforms...
[1/3/2022, 6:44:37 PM] [Config] Initializing config platform...
[1/3/2022, 6:44:37 PM] [Config] Running in Service Mode
[1/3/2022, 6:44:37 PM] [iRobot] Initializing iRobotPlatform platform...
[1/3/2022, 6:44:37 PM] [iRobot] Finished initializing platform: iRobot
[1/3/2022, 6:44:37 PM] [iRobot] Loading accessory from cache: Roomba
[1/3/2022, 6:44:37 PM] [iRobot] Executed didFinishLaunching callback
[1/3/2022, 6:44:37 PM] [iRobot] Logging into iRobot...
[1/3/2022, 6:44:40 PM] [iRobot] [
{"name": "Roomba", "blid": "***********************", "password": "********************", "ip": "undefined"}
]

[1/3/2022, 6:44:40 PM] [iRobot] Getting IP address for roomba: Roomba
[1/3/2022, 6:44:40 PM] [iRobot] {"ver":"4","hostname":"iRobot-*******************","robotname":"Roomba","robotid":"********************","ip":"*************","mac":"***************","sw":"sapphire+1.2.12+Firmware-Production+57","sku":"j755020","nc":1,"proto":"mqtt","cap":{"binFullDetect":2,"oMode":2,"odoa":2,"dockComm":1,"edge":0,"maps":3,"pmaps":5,"tLine":2,"area":1,"eco":1,"multiPass":2,"team":1,"pp":0,"lang":2,"5ghz":1,"prov":3,"sched":1,"svcConf":1,"ota":2,"log":2,"langOta":0,"expectingUserConf":1},"cloudConnState":14}

[1/3/2022, 6:44:40 PM] [iRobot] Restoring existing accessory from cache: Roomba
[1/3/2022, 6:44:40 PM] Error: Cannot add a Service with the same UUID '000000B7-0000-1000-8000-0026BB765291' and subtype 'Main-Service' as another Service in this Accessory.
    at Accessory.addService (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:465:17)
    at PlatformAccessory.addService (/usr/local/lib/node_modules/homebridge/src/platformAccessory.ts:93:41)
    at new iRobotPlatformAccessory (/homebridge/node_modules/homebridge-irobot/src/platformAccessory.ts:60:22)
    at iRobotPlatform.discoverDevices (/homebridge/node_modules/homebridge-irobot/src/platform.ts:88:9)
    at HomebridgeAPI.<anonymous> (/homebridge/node_modules/homebridge-irobot/src/platform.ts:34:12)
    at HomebridgeAPI.emit (node:events:390:28)
    at HomebridgeAPI.signalFinished (/usr/local/lib/node_modules/homebridge/src/api.ts:275:10)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:173:14)
[1/3/2022, 6:44:40 PM] Got SIGTERM, shutting down Homebridge...
[1/3/2022, 6:44:40 PM] [iRobot] Disconnecting From Roomba: Roomba
[1/3/2022, 6:44:40 PM] [iRobot] Roomba Roomba  went offline, disconnecting...
[1/3/2022, 6:44:40 PM] [iRobot] Roomba Roomba connection closed
[1/3/2022, 6:44:45 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[1/3/2022, 6:44:50 PM] [HB Supervisor] Restarting Homebridge...
[1/3/2022, 6:44:50 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules -D
[1/3/2022, 6:44:51 PM] [HB Supervisor] Started Homebridge v1.3.9 with PID: 906
[1/3/2022, 6:44:51 PM] Loaded config.json with 0 accessories and 2 platforms.
[1/3/2022, 6:44:52 PM] Loaded 1 cached accessories from cachedAccessories.
[1/3/2022, 6:44:52 PM] ---
[1/3/2022, 6:44:53 PM] Loaded plugin: [email protected]
[1/3/2022, 6:44:53 PM] Registering platform 'homebridge-irobot.iRobotPlatform'
[1/3/2022, 6:44:53 PM] ---
[1/3/2022, 6:44:53 PM] Loaded plugin: [email protected]
[1/3/2022, 6:44:53 PM] Registering platform 'homebridge-config-ui-x.config'
[1/3/2022, 6:44:53 PM] ---
[1/3/2022, 6:44:53 PM] Loading 2 platforms...
[1/3/2022, 6:44:53 PM] [Config] Initializing config platform...
[1/3/2022, 6:44:53 PM] [Config] Running in Service Mode
[1/3/2022, 6:44:53 PM] [iRobot] Initializing iRobotPlatform platform...
[1/3/2022, 6:44:53 PM] [iRobot] Finished initializing platform: iRobot
[1/3/2022, 6:44:53 PM] [iRobot] Loading accessory from cache: Roomba
[1/3/2022, 6:44:53 PM] [iRobot] Executed didFinishLaunching callback
[1/3/2022, 6:44:53 PM] [iRobot] Logging into iRobot...
[1/3/2022, 6:44:55 PM] [iRobot] [
{"name": "Roomba", "blid": "************************", "password": "*********************", "ip": "undefined"}
]

[1/3/2022, 6:44:55 PM] [iRobot] Getting IP address for roomba: Roomba
[1/3/2022, 6:44:56 PM] [iRobot] {"ver":"4","hostname":"iRobot-**********************","robotname":"Roomba","robotid":"******************************","ip":"***********","mac":"**************","sw":"sapphire+1.2.12+Firmware-Production+57","sku":"j755020","nc":1,"proto":"mqtt","cap":{"binFullDetect":2,"oMode":2,"odoa":2,"dockComm":1,"edge":0,"maps":3,"pmaps":5,"tLine":2,"area":1,"eco":1,"multiPass":2,"team":1,"pp":0,"lang":2,"5ghz":1,"prov":3,"sched":1,"svcConf":1,"ota":2,"log":2,"langOta":0,"expectingUserConf":1},"cloudConnState":14}

[1/3/2022, 6:44:56 PM] [iRobot] Restoring existing accessory from cache: Roomba
[1/3/2022, 6:44:56 PM] Publishing bridge accessory (name: Homebridge A173, publishInfo: {
  username: '**************',
  port: 53842,
  pincode: '***-**-***',
  category: 2,
  bind: undefined,
  mdns: undefined,
  addIdentifyingMaterial: true,
  advertiser: 'bonjour-hap'
}).
Setup Payload:
*****************
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ ***-**-*** │     
    └────────────┘     
                       
[1/3/2022, 6:44:56 PM] Homebridge v1.3.9 (HAP v0.9.8) (Homebridge A173) is running on port 53842.
[1/3/2022, 6:44:56 PM] [iRobot] Roomba Roomba  went offline, disconnecting...
[1/3/2022, 6:44:56 PM] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba To Off
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba Mode To Off
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba Mode To Everywhere
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba Battery Status To Normal
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba Battery Level To 50
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba Charge Status To Charging
[1/3/2022, 6:44:57 PM] [iRobot] Updating Roomba Stuck To false
[1/3/2022, 6:45:01 PM] [iRobot] Attempting To Reconnect To Roomba Roomba
[1/3/2022, 6:45:01 PM] [iRobot] Roomba Roomba  went offline, disconnecting...
[1/3/2022, 6:45:01 PM] [iRobot] Roomba Roomba  connection closed, reconnecting in 5 seconds

keeps looping from here...

Config:

"accessories": [],
    "platforms": [
        {
            "name": "iRobot",
            "email": "***************",
            "password": "*********************",
            "lowBattery": 20,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }
    ]
}

Node Version:

16.13.1

NPM Version:

8.1.2

Homebridge Version:

1.3.9

Plugin Version:

v2.1.6

Operating System:

Docker

Bug Report: Homebridge Crashes when Roomba offline

Describe The Bug:

When Roomba disconnects from network (even briefly) homebridge crashes. Discovered accidentally when robot lost connection briefly, but is repeatable.

To Reproduce:

Remove active internet connection from Roomba device.

Expected behavior:

Roomba should not crash homebridge, and also not require connection to internet.

Logs:

[06/01/2022, 15:51:41] [redacted] Roomba Rosie  went offline, disconnecting...
[06/01/2022, 15:51:42] Error: HAP Status Error: -70402
    at new HapStatusError (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/hapStatusError.ts:15:5)
    at MqttClient.<anonymous> (/usr/local/lib/node_modules/homebridge-irobot/src/platformAccessory.ts:192:13)
    at MqttClient.emit (node:events:390:28)
    at MqttClient._setupReconnect (/usr/local/lib/node_modules/homebridge-irobot/node_modules/mqtt/lib/client.js:730:12)
    at MqttClient.emit (node:events:402:35)
    at TLSSocket.f (/usr/local/lib/node_modules/homebridge-irobot/node_modules/once/once.js:25:25)
    at TLSSocket.onfinish (/usr/local/lib/node_modules/homebridge-irobot/node_modules/end-of-stream/index.js:31:27)
    at TLSSocket.emit (node:events:390:28)
    at finish (node:internal/streams/writable:750:10)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
[06/01/2022, 15:51:42] Got SIGTERM, shutting down Homebridge...

Config:

{
            "name": "iRobot",
            "email": "redacted",
            "password": "redacted",
            "lowBattery": 10,
            "offAction": "pause:none",
            "status": "phase:run",
            "eveStatus": "phase:charge",
            "bin": "contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }

Node Version:

16.13.0

NPM Version:

8.1.0

Homebridge Version:

1.3.9

Plugin Version:

2.1.7

Operating System:

Raspberian

Faild to login to iRobot

Describe The Bug:

Добрый день! При соединении с логином Irobot возникает ошибка, при этом в приложение irobot на iphone попробовал зайти и все хорошо, в чем может быть проблема?

To Reproduce:

[1/31/2022, 6:25:58 PM] [iRobot] Logging into iRobot...
[1/31/2022, 6:25:59 PM] [iRobot] Faild to login to iRobot, see below for details
[1/31/2022, 6:25:59 PM] [iRobot] Authentication error. Please check your credentials.
{
callId: 'ea655c27c9b54af092762bb9f340294c',
errorCode: 403042,
errorDetails: 'invalid loginID or password',
errorMessage: 'Invalid LoginID',
apiVersion: 2,
statusCode: 403,
statusReason: 'Forbidden',
time: '2022-01-31T11:25:59.522Z'
}

Expected behavior:

Я ожидал что подключиться к учетной записи irobot

Logs:

[1/31/2022, 6:25:58 PM] [iRobot] Logging into iRobot...
[1/31/2022, 6:25:59 PM] [iRobot] Faild to login to iRobot, see below for details
[1/31/2022, 6:25:59 PM] [iRobot] Authentication error. Please check your credentials.
{
  callId: 'ea655c27c9b54af092762bb9f340294c',
  errorCode: 403042,
  errorDetails: 'invalid loginID or password',
  errorMessage: 'Invalid LoginID',
  apiVersion: 2,
  statusCode: 403,
  statusReason: 'Forbidden',
  time: '2022-01-31T11:25:59.522Z'
}

Config:

{
    "bridge": {
        "name": "Homebridge E9B4",
        "username": "0E:D9:85:3A:E9:B4",
        "port": 51158,
        "pin": "699-72-506"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "auto",
            "tempUnits": "c",
            "lang": "ru",
            "platform": "config"
        },
        {
            "name": "iRobot",
            "email": "[email protected]",
            "password": "89138496636",
            "roombas": [
                {
                    "autoConfig": true,
                    "info": {
                        "ver": 2
                    }
                }
            ],
            "manualDiscovery": false,
            "lowBattery": 10,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": false,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }
    ]
}

Node Version:

Версия Node.js v16.13.2

NPM Version:

Версия Npm v8.1.2

Homebridge Version:

Homebridge v1.4.0 (HAP v0.10.0) (Homebridge E9B4)

Plugin Version:

v2.1.16

Operating System:

MacOS

Bug Report: Docking doesn’t change status

Describe The Bug:

Hi. I have set the option that when docking change Eve status as inactive, but it doesn’t change and shows always as active.
Thank you

To Reproduce:

Expected behavior:

Logs:

*

Config:

"name": "iRobot",           
"email": "****",            
"password": "****",            
"lowBattery": 20,            
"offAction": "pause:dock",            
"status": "cycle:clean",            
"eveStatus": "cycle:dock",            
"bin": "filter:contact",            
"ignoreMultiRoomBin": true,            
"hideStuckSensor": false,            
"disableMultiRoom": false,            
"platform": "iRobotPlatform"

Node Version:

16.13.1

NPM Version:

8.3.0

Homebridge Version:

1.4.0

Plugin Version:

2.1.13

Operating System:

Raspberian

Bug Report: Pause & Resume

Describe The Bug:

When you have the Off Action set to Pause, the device fails to restart on the next command. This is because the Paused state requires a "resume" command and not a "clean" command.

For reference:

homebridge-plugins/homebridge-roomba2#62 (comment)
https://github.com/karlvr/homebridge-roomba2/blob/main/src/accessory.ts#L435

To Reproduce:

  1. Set "Off Action" to Pause.
  2. Turn on Roomba device
  3. Turn off device -> device will pause
  4. Turn on device -> device will error.

Expected behavior:

The plugin should send a resume command to a paused robot.

Logs:

[25/01/2022, 09:44:18] [iRobot] Set Rosie To pause 
[25/01/2022, 09:44:22] [iRobot] Set Rosie To Clean

Config:

"offAction": "pause:none",

Node Version:

16.13.2

NPM Version:

8.3.1

Homebridge Version:

1.4.0

Plugin Version:

homebridge-irobot v2.1.14-beta.4

Operating System:

Raspberian

Support Request: HomeKit Controls

Describe Your Problem:

Sorry, the links to Configuration and Installation in the github are broken or something.

I have 2 i9s, and when I did the initial configuration (username, password) it found both and they appear in Homekit/HB with the correct names. The i9 model is the one with the external bin and maps rooms out.

My problem is that I don't know how to see or configure multiroom support. In Homekit, each unit appears with 2 toggles. The left toggle is blue and the right toggle has the power icon in the lower half.
Both units have a full map of the floor they are on in the iRobot app on my iphone.

Can you fix the installation/configuration help links or let me know how to view or specify room information? Thanks!

Expected behavior:

Some way to see and control rooms to be cleaned

Logs:

[1/18/2022, 9:14:46 PM] [iRobot] Logging into iRobot...
[1/18/2022, 9:14:49 PM] [iRobot] Configuring roomba: RoombaNew
[1/18/2022, 9:14:49 PM] [iRobot] Configuring roomba: RoombaOld
[1/18/2022, 9:14:49 PM] [iRobot] Adding new accessory: RoombaNew
[1/18/2022, 9:14:49 PM] [iRobot] Adding new accessory: RoombaOld
[1/18/2022, 9:14:50 PM] [iRobot] Succefully connected to roomba RoombaNew
[1/18/2022, 9:14:50 PM] [iRobot] Succefully connected to roomba RoombaOld

Config:

{
            "name": "iRobot",
            "email": "mmmmm",
            "password": "xxxxx",
            "lowBattery": 20,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }

Node Version:

v16.13.2

NPM Version:

8.3.1

Homebridge Version:

1.3.9

Plugin Version:

└── [email protected]

Operating System:

Ubuntu

Bug Report: Homebridge iRobot 2.1.9 Crashing Homebridge when trying to Find IP for undefined

Describe The Bug:

Hi,

I have three devices on my iRobot account: an s9+, an i7+ and a m6. However, it seems like i may have 2 ghost devices on my account as during the discovery process in previous versions (2.1.6, 2.1.5) it would see 2 devices called undefined as well as the 3 legitimate devices. Now, when it hits the first undefined entry, it fails and brings down homebridge. Logs excerpt below and a full log is attached.
homebridge.log

To note, in version 2.1.6 and earlier, it would only add the first device it sees (my s9+) and never actually added the i7+ or the m6 even though IP discovery was successful. I saw that you are blocking the m6 now which is fine but I would like to get my i7+ added if possible.

To Reproduce:

Install 2.1.9 with undefined device on iRobot account

Expected behavior:

For undefined devices, i expect it should fail gracefully at finding an IP and move to the next device.

Logs:

[1/7/2022, 10:01:39 AM] [iRobot] Logging into iRobot...
[1/7/2022, 10:01:41 AM] [iRobot] Getting IP address for roomba: Goofy
[1/7/2022, 10:01:41 AM] [iRobot] Getting IP address for roomba: undefined
/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:35
            console.log(child_process.execFileSync(__dirname + '/getRoombaIP.js', [blid, attempt + 1]).toString());
                        ^

ReferenceError: child_process is not defined
    at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:35:25)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)
[1/7/2022, 10:01:46 AM] Error: Command failed: /usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js 86EB7F7B91FA4E8C80CF5101965378B2
/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:35
            console.log(child_process.execFileSync(__dirname + '/getRoombaIP.js', [blid, attempt + 1]).toString());
                        ^

ReferenceError: child_process is not defined
    at Timeout._onTimeout (/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:35:25)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

    at checkExecSyncError (node:child_process:826:11)
    at Object.execFileSync (node:child_process:864:15)
    at /usr/local/lib/node_modules/homebridge-irobot/src/getRoombas.ts:18:35
    at Array.forEach (<anonymous>)
    at getRoombas (/usr/local/lib/node_modules/homebridge-irobot/src/getRoombas.ts:16:10)
    at iRobotPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-irobot/src/platform.ts:65:36)
    at HomebridgeAPI.<anonymous> (/usr/local/lib/node_modules/homebridge-irobot/src/platform.ts:34:12)
    at HomebridgeAPI.emit (node:events:402:35)
    at HomebridgeAPI.signalFinished (/usr/local/lib/node_modules/homebridge/src/api.ts:275:10)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:173:14)

Config:

{
    "bridge": {
        "name": "Homebridge 3226",
        "username": "0E:9D:05:E4:32:25",
        "port": 51081,
        "pin": "redacted",
        "advertiser": "ciao",
        "bind": [
            "enp1s0"
        ]
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "Hubitat-v2",
            "app_url_local": "http://192.168.71.61/apps/api/",
            "app_url_cloud": "https://cloud.hubitat.com/redacted/apps/",
            "use_cloud": false,
            "app_id": 178,
            "access_token": "redacted",
            "direct_port": 8000,
            "temperature_unit": "C",
            "round_levels": true,
            "adaptive_lighting": true,
            "adaptive_lighting_offset": 0,
            "validateTokenId": false,
            "logConfig": {
                "debug": false,
                "showChanges": true
            },
            "platform": "Hubitat-v2"
        },
        {
            "controllers": [
                {
                    "address": "192.168.70.11",
                    "password": "redacted",
                    "username": "redacted"
                }
            ],
            "options": [
                "Enable.Video.Stream.Only.Low",
                "Disable.Video.Transcode",
                "Disable.18E829CFA6CA"
            ],
            "platform": "UniFi Protect"
        },
        {
            "refreshToken": "redacted",
            "hideAlarmSirenSwitch": true,
            "sendDoorbellMotionNotificationsToTv": false,
            "debug": false,
            "cameraStatusPollingSeconds": 30,
            "cameraDingsPollingSeconds": 30,
            "locationModePollingSeconds": 30,
            "locationIds": [
                "redacted"
            ],
            "onlyDeviceTypes": [
                "security-panel"
            ],
            "platform": "Ring"
        },
        {
            "platform": "Twinkly"
        },
        {
            "name": "iRobot",
            "email": "redacted",
            "password": "redacted",
            "lowBattery": 20,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }
    ],
    "disabledPlugins": [
        "homebridge-unifi-protect",
        "homebridge-roomba2"
    ]
}

Node Version:

16.13.1

NPM Version:

8.3.0

Homebridge Version:

1.3.9

Plugin Version:

2.1.9

Operating System:

Ubuntu

Bug Report: Disabling Unconfigured Roomba

Describe The Bug:

Can't manage to successfully configure account with i7 and m6 using homebridge-irobot v2.1.16 on homebridge 1.4.0 running Node.js Version v16.13.2. Have restarted but devices tab in the plugin shows no devices. Expected to see two devices (since both appear to be supported.) Any suggestions?

Startup logs output the following

[iRobot] Initializing iRobotPlatform platform...
[iRobot] Logging into iRobot...
[iRobot] Configuring roomba: Braava jet
[iRobot] Configuring roomba: Roomba
[iRobot] Disabling Unconfigured Roomba: Braava jet

To Reproduce:

sign-in with account with i7 and m6 using homebridge-irobot v2.1.16 on homebridge 1.4.0 running Node.js Version v16.13.2. On reboot note the plugin shows no devices.

Expected behavior:

Expected to see two devices (since both appear to be supported.)

Logs:

[iRobot] Initializing iRobotPlatform platform...
[iRobot] Logging into iRobot...
[iRobot] Configuring roomba: Braava jet
[iRobot] Configuring roomba: Roomba
[iRobot] Disabling Unconfigured Roomba: Braava jet

Config:

{
            "name": "iRobot",
            "email": "[redacted]",
            "password": "[redacted]",
            "roombas": [
                {
                    "autoConfig": true,
                    "info": {
                        "ver": 2
                    }
                }
            ],
            "manualDiscovery": false,
            "lowBattery": 20,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        }
    ],

Node Version:

16.13.2

NPM Version:

8.1.2

Homebridge Version:

2.1.16

Plugin Version:

2.1.16

Operating System:

MacOS

Bug Report: Roomba e5

Describe The Bug:

Roomba doesnt start when i push the button in HomeKit.
When I start the Roomba manually the button in HomeKit Works and the Roomba Turn back in the Station.

To Reproduce:

Roomba doesnt start when i push the button in HomeKit.

Expected behavior:

The Robot should start cleaning

Logs:

Set Roomba e5 to clean

Config:

Auto config

Node Version:

v16.13.2

NPM Version:

v8.1.2

Homebridge Version:

1.4.0

Plugin Version:

v2.1.16

Operating System:

Docker

Feature Request: test

Is your feature request related to a problem? Please describe:

N/A

Describe the solution you'd like:

N/A

Describe alternatives you've considered:

N/A

Additional context:

N/A

Node Version (optional):

N/A

NPM Version (optional):

N/A

Homebridge Version (optional):

N/A

Plugin Version:

N/A

Operating System (optional):

No response

Support Request: HomeKit Controls

Describe Your Problem:

Hi there,

I have a few questions:

  1. is it possible to show the icon as an on/off switch instead of a ventilator?
    IMG_3341

  2. I don't understand the controls:
    IMG_3342

  • I have power button ( I guess on / off roomba )
  • What is the next button ?
  • And than many switches without a description / label.

If I go deeper I can see this:
IMG_3343

Now I have a description for the switches. but what is room 3, 13, 14 ...?
How can I check, which switch is for which room (example: room 3 = living room, ...)

AND:
I see the the stuck sensor button.
This should not be, because my config is:

"hideStuckSensor": true,

Thanks !!

Expected behavior:

No response

Logs:

-

Config:

"name": "iRobot",
"email": "****",
"password": "****",
"lowBattery": 20,
"offAction": "stop:dock",
"status": "cycle:clean",
"eveStatus": "inverted:cycle:clean",
"bin": "none",
"ignoreMultiRoomBin": true,
"hideStuckSensor": true,
"disableMultiRoom": false,
"platform": "iRobotPlatform"

Node Version:

16.13.1

NPM Version:

8.1.2

Homebridge Version:

1.3.9

Plugin Version:

2.1.10

Operating System:

Docker

Bug Report: spelling error results in crash

Describe The Bug:

Homebridge crashes on getRoombaIP.js. Logs indicate a reference error for "proccess.argv" where process is spelled wrong. Changing to "process.argv" resolves the crash.

Change at lines 9 & 12 of getRoombaIP.js.

Logs below.

To Reproduce:

Enable plugin, restart homebridge.

Expected behavior:

Homebridge loads plugin successfully.

Logs:

[06/01/2022, 15:38:16] [redacted] Getting IP address for roomba: Rosie
/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:9
const attempt = proccess.argv[3] || 1;
                ^

ReferenceError: proccess is not defined
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:9:17)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47
[06/01/2022, 15:38:17] Error: Command failed: /usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js 30F8850492035650
/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:9
const attempt = proccess.argv[3] || 1;
                ^

ReferenceError: proccess is not defined
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-irobot/dist/scripts/getRoombaIP.js:9:17)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47

    at checkExecSyncError (node:child_process:826:11)
    at Object.execFileSync (node:child_process:864:15)
    at /usr/local/lib/node_modules/homebridge-irobot/src/getRoombas.ts:18:35
    at Array.forEach (<anonymous>)
    at getRoombas (/usr/local/lib/node_modules/homebridge-irobot/src/getRoombas.ts:16:10)
    at iRobotPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-irobot/src/platform.ts:65:36)
    at HomebridgeAPI.<anonymous> (/usr/local/lib/node_modules/homebridge-irobot/src/platform.ts:34:12)
    at HomebridgeAPI.emit (node:events:402:35)
    at HomebridgeAPI.signalFinished (/usr/local/lib/node_modules/homebridge/src/api.ts:275:10)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:173:14)

Config:

N/A

Node Version:

N/A

NPM Version:

N/A

Homebridge Version:

1.3.9

Plugin Version:

2.1.7

Operating System:

Raspberian

Feature Request: Option for No Cloud w/ BLID, Password & IP in Config

Is your feature request related to a problem? Please describe:

I think the ability to log in with the iRobot credentials solves a huge usability problem over the other plugin (Roomba2) as users have a hard time using the discovery script to obtain the BLID and Robot password. However, I would like to suggest a hybrid approach that allows for users to be completely disconnected from the cloud account by storing the BLID, Password, and IP in the config.

Describe the solution you'd like:

  1. Users who want to rely on cloud sign-in can do so.
  2. Perhaps an option in the logs upon discovery can highlight the BLID and Robot Password for users to save.
  3. Users who already have the information, or who choose to add it to the config can do so and remove their irobot cloud credentials.
  4. If there are config fields for blid, robot password, and ip are blank -> use cloud. If they are present and if cloud credentials are missing, use local only.

A good example of this is the Meross plugin.

Describe alternatives you've considered:

The homebridge-roomba2 plugin is the full-swing alternative. I think there can be a hybrid approach that benefits more users.

Additional context:

Ideally, the plugin would support the ability to use the irobot device 100% locally with no cloud dependencies.

Node Version (optional):

No response

NPM Version (optional):

No response

Homebridge Version (optional):

No response

Plugin Version:

2.1.9

Operating System (optional):

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.