homebridge-neato icon indicating copy to clipboard operation
homebridge-neato copied to clipboard

Error with multiple robots since v0.7.0

Open CooperCGN opened this issue 5 years ago • 20 comments

Everything was working correctly with my two D5 up to 0.6.3. After the update homebridge throws the following error log. went back to 0.6.3. and they switch to responding again.

Oct 14 13:07:53 raspberrypi systemd[1]: Started Node.js HomeKit Server.
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:55 PM] Loaded config.json with 0 accessories and 1 platforms.
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] ---
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] Loaded plugin: homebridge-neato
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] Registering platform 'homebridge-neato.NeatoVacuumRobot'
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] ---
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] Loading 1 platforms...
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] [NeatoVacuumRobot] Initializing NeatoVacuumRobot platform...
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] [NeatoVacuumRobot] Refresh is set to: 120 seconds
Oct 14 13:07:56 raspberrypi homebridge[24512]: [10/14/2019, 1:07:56 PM] Loading 0 accessories...
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Found robot #1 named "Unten" with serial "OPS50316-XXXXXXXXXXXX"
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Added cleaning device named: Unten
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Found robot #2 named "Oben" with serial "OPS48616-XXXXXXXXXXXX"
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Added cleaning device named: Oben
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Initializing platform accessory 'Unten'...
Oct 14 13:07:59 raspberrypi homebridge[24512]: HAP Warning: Characteristic undefined not in required or optional characteristics for service 00000049-0000-1000-8000-0026BB765291. Adding anyway.
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Error getting robot meta information: Error: Cannot add a Characteristic with the same UUID as another Characteristic in this Service: 1E79C603-63B8-4E6A-9CE1-D31D67981831: null
Oct 14 13:07:59 raspberrypi homebridge[24512]: [10/14/2019, 1:07:59 PM] [NeatoVacuumRobot] Found robot #1 named "Unten" with serial "OPS50316-XXXXXXXXXXXX"
Oct 14 13:07:59 raspberrypi homebridge[24512]: HAP Warning: Characteristic undefined not in required or optional characteristics for service 00000049-0000-1000-8000-0026BB765291. Adding anyway.
Oct 14 13:07:59 raspberrypi homebridge[24512]: (node:24512) UnhandledPromiseRejectionWarning: Error: Cannot add a Characteristic with the same UUID as another Characteristic in this Service: 1E79C603-63B8-4E6A-9CE1-D31D67981831
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at Service.Switch.Service.addCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:80:13)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at Service.Switch.Service.getCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:162:19)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at Service.Switch.Service.setCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:183:8)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at NeatoVacuumRobotAccessory.updated (/usr/local/lib/node_modules/homebridge-neato/accessories/neatoVacuumRobot.js:669:33)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at updateRobot (/usr/local/lib/node_modules/homebridge-neato/index.js:253:24)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at NeatoVacuumRobotPlatform.updateRobot (/usr/local/lib/node_modules/homebridge-neato/index.js:214:4)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at NeatoVacuumRobotPlatform.updateRobotTimer (/usr/local/lib/node_modules/homebridge-neato/index.js:246:8)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at robots.forEach (/usr/local/lib/node_modules/homebridge-neato/index.js:64:10)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at Array.forEach (<anonymous>)
Oct 14 13:07:59 raspberrypi homebridge[24512]:     at getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:59:16)
Oct 14 13:07:59 raspberrypi homebridge[24512]: (node:24512) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
Oct 14 13:07:59 raspberrypi homebridge[24512]: (node:24512) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Oct 14 13:08:00 raspberrypi homebridge[24512]: HAP Warning: Characteristic undefined not in required or optional characteristics for service 00000049-0000-1000-8000-0026BB765291. Adding anyway.
Oct 14 13:08:00 raspberrypi homebridge[24512]: [10/14/2019, 1:08:00 PM] [NeatoVacuumRobot] Cannot update robot. Check if robot is online. Error: Cannot add a Characteristic with the same UUID as another Characteristic in this Service: 1E79C603-63B8-4E6A-9CE1-D31D67981831
Oct 14 13:08:00 raspberrypi homebridge[24512]: HAP Warning: Characteristic undefined not in required or optional characteristics for service 00000049-0000-1000-8000-0026BB765291. Adding anyway.
Oct 14 13:08:00 raspberrypi homebridge[24512]: (node:24512) UnhandledPromiseRejectionWarning: Error: Cannot add a Characteristic with the same UUID as another Characteristic in this Service: 1E79C603-63B8-4E6A-9CE1-D31D67981831
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at Service.Switch.Service.addCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:80:13)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at Service.Switch.Service.getCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:162:19)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at Service.Switch.Service.setCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Service.js:183:8)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at NeatoVacuumRobotAccessory.updated (/usr/local/lib/node_modules/homebridge-neato/accessories/neatoVacuumRobot.js:669:33)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at updateRobot (/usr/local/lib/node_modules/homebridge-neato/index.js:253:24)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at robot.device.getState (/usr/local/lib/node_modules/homebridge-neato/index.js:226:5)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at Robot.<anonymous> (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:39:17)
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:506:17
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45
Oct 14 13:08:00 raspberrypi homebridge[24512]:     at process._tickCallback (internal/process/next_tick.js:68:7)
Oct 14 13:08:00 raspberrypi homebridge[24512]: (node:24512) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
Oct 14 13:09:07 raspberrypi systemd[1]: Stopping Node.js HomeKit Server...
Oct 14 13:09:07 raspberrypi homebridge[24512]: [10/14/2019, 1:09:07 PM] Got SIGTERM, shutting down Homebridge...
Oct 14 13:09:12 raspberrypi systemd[1]: homebridgeneato.service: Main process exited, code=exited, status=143/n/a
Oct 14 13:09:12 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.
Oct 14 13:09:12 raspberrypi systemd[1]: homebridgeneato.service: Unit entered failed state.
Oct 14 13:09:12 raspberrypi systemd[1]: homebridgeneato.service: Failed with result 'exit-code'.

CooperCGN avatar Oct 14 '19 11:10 CooperCGN

config.json looks like this:

{
            "platform": "NeatoVacuumRobot",
            "email": "email",
            "password": "password",
            "refresh": "120",
            "extraCareNavigation": false,
            "disabled": [
                "dock",
                "dockstate",
                "eco",
                "nogolines",
                "extracare",
                "schedule"
            ]
        }

CooperCGN avatar Oct 14 '19 11:10 CooperCGN

Hi sorry to hear that. I think you can disable "spot" as a workaround until I fixed that.

naofireblade avatar Oct 14 '19 11:10 naofireblade

Doesn't help, I will stay on 0.6.3 till it is fixed.

CooperCGN avatar Oct 14 '19 11:10 CooperCGN

Alright thanks for reporting, I will look into this.

naofireblade avatar Oct 14 '19 11:10 naofireblade

I have the exact same problem:/

Web-Fashion avatar Oct 14 '19 18:10 Web-Fashion

I have 2 D7 btw.

Web-Fashion avatar Oct 14 '19 18:10 Web-Fashion

This will be fixed in v0.7.2. I might need help in testing a beta from one of you because I have only one robot.

naofireblade avatar Oct 15 '19 10:10 naofireblade

Great! Thank you so much💪🏼 I will be happy to help beta testing

Web-Fashion avatar Oct 15 '19 18:10 Web-Fashion

Alright, I might fixed the problem in v0.7.2-beta.1.

I work on this problem like a blind taxi driver (I know the streets but without a second robot, I can only guess the traffic 😄). Could you check it please?

You can install the beta version with npm install -g homebridge-neato@beta

naofireblade avatar Oct 16 '19 20:10 naofireblade

Sorry, can’t test before the weekend, won’t be home until Sunday. :(

CooperCGN avatar Oct 17 '19 05:10 CooperCGN

Hello again:) i have just tested the beta, and it seems you have fixed the problem👍🏼 Thank you for your awesome work😃

Web-Fashion avatar Oct 18 '19 14:10 Web-Fashion

Glad to hear that.

naofireblade avatar Oct 19 '19 17:10 naofireblade

I am sorry to say but it doesn't work our me. My new config.json looks like this, I just need the dock command.

{ "platform": "NeatoVacuumRobot", "email": "xxxxx", "password": "xxxxx", "refresh": "120", "hidden": ["dockstate", "eco", "nogolines", "extracare", "schedule", "find", "spot"] }

and it throws the following error:

[NeatoVacuumRobot] Error getting robot meta information: Error: Request failed with status code 404: null

If I add the dock back into the ignore list, it works again.

CooperCGN avatar Oct 21 '19 09:10 CooperCGN

Was your robot maybe offline? This looks like another error.

naofireblade avatar Oct 21 '19 09:10 naofireblade

My account https://user-images.githubusercontent.com/20209851/71785259-8eddf980-2fcb-11ea-8b99-44a5dc8fbad6.png { "platform": "NeatoVacuumRobot", "email": "x@x", "password": "xxx" } [1/5/2020, 2:27:20 PM] [NeatoVacuumRobot] Initializing NeatoVacuumRobot platform... [1/5/2020, 2:27:20 PM] [NeatoVacuumRobot] Refresh is set to: auto [1/5/2020, 2:27:20 PM] Loading 0 accessories... [1/5/2020, 2:27:21 PM] [NeatoVacuumRobot] Error getting robot meta information: no serial or secret: null Setup Payload: X-HM://0023IX8JIE9NF Scan this code with your HomeKit app

[1/5/2020, 2:27:21 PM] [NeatoVacuumRobot] Error getting robot meta information: no serial or secret: null [1/5/2020, 2:27:21 PM] [NeatoVacuumRobot] Successful login but can't connect to your neato robot: Error: This callback function has already been called by someone else; it can only be called one time. [1/5/2020, 2:27:21 PM] Homebridge is running on port 51826. (node:1672) UnhandledPromiseRejectionWarning: 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/lib/util/once.js:12:13 at /usr/local/lib/node_modules/homebridge-neato/index.js:116:7 at /usr/local/lib/node_modules/homebridge-neato/index.js:147:7 at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:46:25) at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45 at processTicksAndRejections (internal/process/task_queues.js:97:5) (node:1672) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:1672) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. [1/5/2020, 2:27:22 PM] [WebUI] Homebridge Config UI X v4.6.7 is listening on :: port 8080

RCdiy avatar Jan 05 '20 19:01 RCdiy

Thanks for the screenshot. I guess the problem occurs because of your other non smart robots. I will try to fix that. I created a new issue for your problem: #49

naofireblade avatar Jan 07 '20 18:01 naofireblade

I’m also getting the “error getting robot meta information: request failed with status 404”

One robot: Botvac Connected.

Config file is pretty much identical to the others here.

itselifb avatar Feb 12 '20 20:02 itselifb

I’m also getting the “error getting robot meta information: request failed with status 404”

Same here. Detecting neither of my robots because of the 404.

olliegg123 avatar Mar 29 '20 10:03 olliegg123

Hello @naofireblade,

i bought my second Neato and also received the following message:

Error getting robot meta information: Error: Request failed with status code 404: null

Can you help us? I you need more informations or if I can help you, please let me know.

Alex

alexanderbjelos avatar Jun 02 '20 16:06 alexanderbjelos

Got the same problem... one of my 2 robots failed to load. I added a robots.pop(); in the code before the forEach to let at least one robot run. But I wonder how to fix the bug. Unfortunately I understand too little about programming.

technikjunge avatar Oct 24 '20 16:10 technikjunge