homebridge-plugins / homebridge-roomba2

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

Roomba No running #17

Closed alexgow95 closed 2 years ago

alexgow95 commented 3 years ago

Current Behavior

I proceed to the installation following your instructions but when I add the bridge and the api on my iPhone nothing happened... On my phone, a new roomba switch is available but "This accessory does not answer".

It is my first plugin installation, so I hope I don't forget anything.

Capture d’écran 2020-12-04 à 19 21 48

Steps to Reproduce (for bugs)

Versions

Configuration

{ "bridge": { "name": "Homebridge", "username": "0E:D5:56:82:2B:8D", "port": 51744, "pin": "364-61-848" }, "accessories": [ { "accessory": "Roomba2", "name": "Conchita", "model": "980", "blid": "XXXXXXXXX", "robotpwd": "XXXXX", "ipaddress": "192.168.1.XX", "autoRefreshEnabled": true, "keepAliveEnabled": true, "dockContactSensor": true, "runningContactSensor": true, "binContactSensor": true, "cacheTTL": 30 } ], "platforms": [ { "name": "Config", "port": 8581, "auth": "form", "theme": "auto", "tempUnits": "c", "lang": "auto", "platform": "config" } ] }

Homebridge Log / Command Output

[12/4/2020, 7:15:58 PM] [Conchita] Running status requested [12/4/2020, 7:15:58 PM] [Conchita] Bin status requested [12/4/2020, 7:16:02 PM] [Conchita] Running status requested [12/4/2020, 7:16:02 PM] [Conchita] Battery level requested [12/4/2020, 7:16:02 PM] [Conchita] Charging status requested [12/4/2020, 7:16:02 PM] [Conchita] Battery status requested [12/4/2020, 7:16:02 PM] [Conchita] Docked status requested [12/4/2020, 7:16:02 PM] [Conchita] Running status requested [12/4/2020, 7:16:02 PM] [Conchita] Bin status requested

alexgow95 commented 3 years ago
Capture d’écran 2020-12-04 à 20 31 31
iRayanKhan commented 3 years ago

How did you get your blid and robot info? And did you use sudo to run the command?

alexgow95 commented 3 years ago

I did exactly the instructions: cd /usr/local/lib/node_modules/homebridge-roomba2 sudo npm run getrobotpwd 192.168.x.xxx (with the Roomba IP). I press on the Home button until the Roomba rings. The informations are printed with the blid and others more (ip, MAC, proto, etc).

alexgow95 commented 3 years ago
Capture d’écran 2020-12-08 à 18 00 56
whreams commented 3 years ago

I did exactly the instructions: cd /usr/local/lib/node_modules/homebridge-roomba2 sudo npm run getrobotpwd 192.168.x.xxx (with the Roomba IP). I press on the Home button until the Roomba rings. The informations are printed with the blid and others more (ip, MAC, proto, etc).

Try to install the other plugin as I suspect the script portion that fetches the pwd is exactly the same. This would rule out the roomba2 plugin. I originally setup my Roomba with this one. homebridge-roomba-stv v1.6.0 (2020-05-13). I didn't have to change anything with respect to the unit IP or password, etc... as that is not customized by the plugin. You can at least prove basic install and functionality with the other - then go to roomba2 for future use.

alexgow95 commented 3 years ago

I did exactly the instructions: cd /usr/local/lib/node_modules/homebridge-roomba2 sudo npm run getrobotpwd 192.168.x.xxx (with the Roomba IP). I press on the Home button until the Roomba rings. The informations are printed with the blid and others more (ip, MAC, proto, etc).

Try to install the other plugin as I suspect the script portion that fetches the pwd is exactly the same. This would rule out the roomba2 plugin. I originally setup my Roomba with this one. homebridge-roomba-stv v1.6.0 (2020-05-13). I didn't have to change anything with respect to the unit IP or password, etc... as that is not customized by the plugin. You can at least prove basic install and functionality with the other - then go to roomba2 for future use.

Thanks for your answer. I try to install this plugin but same behavior. I reset homebridge and update my Home application on my iPhone. The Roomba button is here but no response :(

whreams commented 3 years ago

I don’t think the binding process is successfully completed. If it failed on both - it’s not the plugin, it’s the binding process. Is the Roomba assigned a static ip? Maybe reboot your machine that is performing the binding process?

On Dec 8, 2020, at 11:21 AM, alexgow95 notifications@github.com wrote:

I did exactly the instructions: cd /usr/local/lib/node_modules/homebridge-roomba2 sudo npm run getrobotpwd 192.168.x.xxx (with the Roomba IP). I press on the Home button until the Roomba rings. The informations are printed with the blid and others more (ip, MAC, proto, etc).

Try to install the other plugin as I suspect the script portion that fetches the pwd is exactly the same. This would rule out the roomba2 plugin. I originally setup my Roomba with this one. homebridge-roomba-stv v1.6.0 (2020-05-13). I didn't have to change anything with respect to the unit IP or password, etc... as that is not customized by the plugin. You can at least prove basic install and functionality with the other - then go to roomba2 for future use.

Thanks for your answer. I try to install this plugin but same behavior. I reset homebridge and update my Home application on my iPhone. The Roomba button is here but no response :(

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iRayanKhan/homebridge-roomba2/issues/17#issuecomment-740777618, or unsubscribe https://github.com/notifications/unsubscribe-auth/APK2HVVMFTFTGSTCL6H6APLSTZOAFANCNFSM4UNZHMTQ.

alexgow95 commented 3 years ago

I don’t think the binding process is successfully completed. If it failed on both - it’s not the plugin, it’s the binding process. Is the Roomba assigned a static ip? Maybe reboot your machine that is performing the binding process?

I reboot my Mac several times since the first try of installations. So I don't think it is the problem.

I reinitialize my robot and I can set a static IP address. Is it mandatory to configure plugins in homebridge? What IP address can I put? Thank you very much for your help

whreams commented 3 years ago

I honestly set all my automation appliances to static IPs just to eliminate “weirdness” from happening. If I can plug it in - I do. If its’ wireless, ok, but all my low bandwidth appliances are on the same network - usually a 2.5G network. Anything on the default ring should be fine as I’m guessing your not slinging over 200 IPs. Given your problems, I’d suggest changing the ip to the next available one and try to start fresh. And make sure you are in usr - nor “user”. Maybe getting there from the finder will help - then once you’re there, run the terminal from that location.

On Dec 8, 2020, at 11:36 AM, alexgow95 notifications@github.com wrote:

I don’t think the binding process is successfully completed. If it failed on both - it’s not the plugin, it’s the binding process. Is the Roomba assigned a static ip? Maybe reboot your machine that is performing the binding process? … <x-msg://29/#> I reboot my Mac several times since the first try of installations. So I don't think it is the problem.

I reinitialize my robot and I can set a static IP address. Is it mandatory to configure plugins in homebridge? What IP address can I put? Thank you very much for your help

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iRayanKhan/homebridge-roomba2/issues/17#issuecomment-740787262, or unsubscribe https://github.com/notifications/unsubscribe-auth/APK2HVX6YBGDCL2T6QLZQYTSTZPZNANCNFSM4UNZHMTQ.

alexgow95 commented 3 years ago

Ok I will set a static IP but I never do that. Could you send me an example of your configuration plz? Thank you in advance.

whreams commented 3 years ago

{ "name": "Rosie", "model": "s9", "blid": "XXXX", "robotpwd": ":X:XXXX", "ipaddress": "192.168.1.67", "dockContactSensor": true, "binContactSensor": true, "cacheTTL": 30, "accessory": "Roomba2" },

On Dec 8, 2020, at 4:25 PM, alexgow95 notifications@github.com wrote:

Ok I will set a static IP but I never do that. Could you send me an example of your configuration plz? Thank you in advance.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iRayanKhan/homebridge-roomba2/issues/17#issuecomment-741134101, or unsubscribe https://github.com/notifications/unsubscribe-auth/APK2HVS54QVGBHASZC76OB3ST2RURANCNFSM4UNZHMTQ.

iRayanKhan commented 3 years ago

@alexgow95 what kind of router do you have?

alexgow95 commented 3 years ago

{ "name": "Rosie", "model": "s9", "blid": "XXXX", "robotpwd": ":X:XXXX", "ipaddress": "192.168.1.67", "dockContactSensor": true, "binContactSensor": true, "cacheTTL": 30, "accessory": "Roomba2" },

I mean your Roomba configuration on the iRobot's Apps (IP address, MAC, DNS). IDK how I need to set this.

alexgow95 commented 3 years ago

@alexgow95 what kind of router do you have?

My router is my internet box (Orange).

MichelRabozee commented 3 years ago

Hi, I just installed the roomba2 plugin and I run into the exact same issue as @alexgow95 : in the Home apps, the Roomba-related items show "No Response". I have two dozens of accessories and platforms which are working perfect. I entered the blid and Robot password correctly (checked twice at least), fixed IP for the robot (192.168.1.175). No other error are displayed in Homebridge.

My Roomba data as reported by getrobotpwd are:

homebridge-roomba2@1.2.0 getrobotpwd /usr/local/lib/node_modules/homebridge-roomba2 cd node_modules/dorita980 && npm install && node ./bin/getpassword.js "192.168.1.175"

npm WARN ajv-keywords@2.1.1 requires a peer of ajv@^5.0.0 but none is installed. You must install peer dependencies yourself. npm WARN eslint-plugin-react@6.8.0 requires a peer of eslint@^2.0.0 || ^3.0.0 but none is installed. You must install peer dependencies yourself.

audited 355 packages in 2.463s

4 packages are looking for funding run npm fund for details

found 3 vulnerabilities (2 low, 1 critical) run npm audit fix to fix them, or npm audit for details Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light. Then press any key here...

Robot Data: { ver: '3', hostname: 'Roomba-3144411C02335680', robotname: 'Corniche', ip: '192.168.1.175', mac: 'F0:03:8C:EB:84:5A', sw: 'v2.4.8-44', sku: 'R966040', nc: 0, proto: 'mqtt', cap: { pose: 1, ota: 2, multiPass: 2, pp: 1, binFullDetect: 1, langOta: 1, maps: 1, edge: 1, eco: 1, svcConf: 1 }, blid: '3144411C02335680' }

MichelRabozee commented 3 years ago

More information: after having restarted another time HomeBridge, opening the Home app, the Roomba items do not show the "Not Responding" status and everything seems now fine... BUT the "Battery status does not appear in the Mac OS Mojave Home app or the iOS 13.7 Home apps (maybe this is normal ?).

BUT: After switching ON/OFF the robot, if I open the home app a second time, I get in the HomeBridge logs:

[20/12/2020 10:24:11] 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 /usr/local/lib/node_modules/homebridge-roomba2/index.js:225:17 at roombaAccessory.getStatus (/usr/local/lib/node_modules/homebridge-roomba2/index.js:274:16) at roombaAccessory.getFilterStatus (/usr/local/lib/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 () 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. (/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)

NOTE: the line: "at /usr/local/lib/node_modules/homebridge-roomba2/index.js:225:17 " is sometimes "at /usr/local/lib/node_modules/homebridge-roomba2/index.js:214:17" for BatteryLevel

Setting the keepAliveEnabled to true get rid of those errors. I guess when keepAliveEnabled is false, some cleaning about installed callbacks should occur (see #20 and #19).

Geek-MD commented 3 years ago

Hi, I'm having the same issue with a Roomba model 671, Roomba "not responding". Configuration is OK, IP, blid and robotpwd, but Roomba is still not responding.

I had installed previously "homebridge-roomba-stv" plugin, but stopped working and is not optimized with latest version of Homebridge.

Homebridge: 1.3.0 NodeJS: 14.15.5 Npm: 6.14.11 Homebridge UI: 4.39.0

{             "name": "Roomba",             "model": "671",             "blid": "XXXX",             "robotpwd": "XXXXXX",             "ipaddress": "XX.XX.XX.XX",             "keepAliveEnabled": true,             "dockContactSensor": true,             "accessory": "Roomba2"         }

Please help to make it work.

MichelRabozee commented 3 years ago

Hi, from my experience, during the tries I made to have the plugin working with the Roomba, sometimes the connection becomes stuck (for instance if you interrupt it half way or have 2 connections occurring simultaneously, which may happen in the case keepAliveEnabled is true and you try to use another tool like Roomba980-Python-1.2.8). I suggest you restart your Roomba (on a 960, you just have to push for 10 seconds the big "CLEAN" button, not sure what you need to do on a 671 but this page may help: https://homesupport.irobot.com/app/answers/detail/a_id/9087/~/rebooting-or-resetting-your-robot ): according to that page, you need to "Press and hold HOME and SPOT Clean buttons on your robot for 10 seconds. When the button is released, Roomba® will play the reboot tone."

karlvr commented 2 years ago

@MichelRabozee I am making a lot of changes to the way the connections are handled. If you're still interested, please try installing the latest beta and report back.

MichelRabozee commented 2 years ago

Hello, sure, I installed the update. My Roomba runs every Wednesday hence I will monitor the behaviour of the plug in next week and of course report back. Currently everything seem fine (still in keepAlive mode).

khad commented 2 years ago

So far the problem with "no response" appears to be fixed for me in 1.3.0-beta.6: https://github.com/karlvr/homebridge-roomba2/issues/75#issuecomment-926956051

Looking forward to your results, @MichelRabozee. I hope it works well for you too. :)

MichelRabozee commented 2 years ago

It is on its base station, so far, no issue whatsoever, logs are clean too. I will check on Wednesday how it behaves with the bin, the charge, etc.

MichelRabozee commented 2 years ago

Hello, my Roomba did a cleaning cycle successfully, and the plugin behaved correctly (dock sensor, battery indication follow-up, running state, bin full state). So everything OK for me !