Open seanmousseau opened 2 years ago
I saw this error as well, "child_process is not defined", but wasn't able to replicate what made it appear. After a few restart cycles it went away. Just commenting that I also believe there is a bug here.
Thank you for submitting this. the child process was my bad for not declaring it as a variable. I also made it remove any devices that it can't find the ip for which should fix your problem.
Hi bloomkd46,
Thanks for the quick work! Confirmed the update no longer crashes Homebridge. However, once it hits the first undefined cloud entry, it doesn't continue to enumerate robots. Here's a peak at the logs:
[1/7/2022, 1:28:08 PM] [iRobot] Getting IP address for roomba: undefined [1/7/2022, 1:28:18 PM] [iRobot] Failed to fetch ip for roomba: undefined see below for details [1/7/2022, 1:28:18 PM] [iRobot] No Roomba Found With Blid: 86EB7F7B91FA4E8C80CF5101965378B2
After this it just continues with normal Homebridge startup.
Sean.
Could you please enable debug logging in your homebridge settings and copy the output after logging into iRobot…
Here it is:
[1/8/2022, 8:29:58 AM] [iRobot] Executed didFinishLaunching callback [1/8/2022, 8:29:58 AM] [iRobot] Logging into iRobot... [1/8/2022, 8:30:00 AM] [iRobot] [ {"name": "Goofy", "blid": "redacted", "password": "redacted", "ip": "undefined"} , {"name": "undefined", "blid": "86EB7F7B91FA4E8C80CF5101965378B2", "password": "", "ip": "undefined"} , {"name": "undefined", "blid": "BFBFC877E17A4A19887200D48A90A052", "password": "", "ip": "undefined"} , {"name": "Pluto", "blid": "redacted", "password": "redacted", "ip": "undefined"} , {"name": "Mickey", "blid": "redacted", "password": "redacted", "ip": "undefined"} ]
[1/8/2022, 8:30:00 AM] [iRobot] Getting IP address for roomba: Goofy [1/8/2022, 8:30:00 AM] [iRobot] {"ver":"3","hostname":"iRobot-redacted","robotname":"Goofy","robotid":"redacted","ip":"192.168.72.61","mac":"50:14:79:77:0D:9E","sw":"soho+3.20.7+soho-release-rt421+11","sku":"s910020","nc":0,"proto":"mqtt","cap":{"carpetBoost":1,"binFullDetect":2,"oMode":2,"dockComm":1,"edge":0,"maps":3,"pmaps":5,"tLine":2,"area":1,"eco":1,"multiPass":2,"team":1,"pp":0,"lang":2,"gentle":1,"5ghz":1,"prov":3,"sched":1,"svcConf":1,"ota":2,"log":2,"langOta":0,"tileScan":1}}
[1/8/2022, 8:30:00 AM] [iRobot] Getting IP address for roomba: undefined [1/8/2022, 8:30:10 AM] [iRobot] Failed to fetch ip for roomba: undefined see below for details [1/8/2022, 8:30:10 AM] [iRobot] No Roomba Found With Blid: 86EB7F7B91FA4E8C80CF5101965378B2
[1/8/2022, 8:30:10 AM] [iRobot] Restoring existing accessory from cache: Goofy
Ok, I have found the problem and will fix it later today
Hi,
I gave the update version a try. It crashes Homebridge. Here is the error I see right before it exits:
[1/15/2022, 10:31:41 AM] TypeError: Cannot read properties of undefined (reading 'name')
at getRoombas (/usr/local/lib/node_modules/homebridge-irobot/src/getRoombas.ts:38:62)
at iRobotPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-irobot/src/platform.ts:65:36)
at HomebridgeAPI.
Ok, that is weird and I will look into it. If you are interested I will try to release some beta updates that let you manually configure your Roomba's instead of using a email/password.
Sorry for the delay. Thanks for looking in to the issue. I'd be happy to test a beta when you're ready.
Sean
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:
Config:
Node Version:
16.13.1
NPM Version:
8.3.0
Homebridge Version:
1.3.9
Plugin Version:
2.1.9
Operating System:
Ubuntu