Closed andijegg closed 6 years ago
Hey Andi,
do you see any errors in the homebridge log like “can’t login...”? Can you download the free app Elgato Eve and use it to trigger the homekit identify process of the robot? That will print a detailed output to the homebridge log that would help me finding a solution.
To trigger the identify process open the robot in the Elgato Eve app, tap on the little triangle icon in the top right corner and then tap on the “ID” button.
The identify output in the logfile will look like this:
Oct 8 21:06:36 raspberrypi homebridge[8544]: [10/8/2017, 9:06:36 PM] [NeatoVacuumRobot] Robot {
Oct 8 21:06:36 raspberrypi homebridge[8544]: _baseUrl:
'https://nucleo.neatocloud.com/vendors/neato/robots/',
Oct 8 21:06:36 raspberrypi homebridge[8544]: name: 'Sam',
Oct 8 21:06:36 raspberrypi homebridge[8544]: _serial: '*****',
Oct 8 21:06:36 raspberrypi homebridge[8544]: _secret: '*****',
Oct 8 21:06:36 raspberrypi homebridge[8544]: eco: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: navigationMode: 1,
Oct 8 21:06:36 raspberrypi homebridge[8544]: spotWidth: 100,
Oct 8 21:06:36 raspberrypi homebridge[8544]: spotHeight: 100,
Oct 8 21:06:36 raspberrypi homebridge[8544]: spotRepeat: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: isCharging: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: isDocked: true,
Oct 8 21:06:36 raspberrypi homebridge[8544]: isScheduleEnabled: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: dockHasBeenSeen: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: charge: 97,
Oct 8 21:06:36 raspberrypi homebridge[8544]: canStart: true,
Oct 8 21:06:36 raspberrypi homebridge[8544]: canStop: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: canPause: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: canResume: false,
Oct 8 21:06:36 raspberrypi homebridge[8544]: canGoToBase: false }
Hi ,
this is what i get from the Homebridge by Tapping ID
_baseUrl: 'https://nucleo.neatocloud.com/vendors/neato/robots/',
name: 'Hugo',
_serial: '*****',
_secret: '*****',
eco: false,
navigationMode: 1,
spotWidth: 100,
spotHeight: 100,
spotRepeat: false,
isCharging: null,
isDocked: null,
isScheduleEnabled: null,
dockHasBeenSeen: null,
charge: null,
canStart: null,
canStop: null,
canPause: null,
canResume: null,
canGoToBase: null }
[2017-10-8 20:38:03] Loaded plugin: homebridge-neato
[2017-10-8 20:38:03] Registering platform 'homebridge-neato.NeatoVacuumRobot'
.....
.....
[2017-10-8 20:38:06] [NeatoVacuumRobot] Initializing NeatoVacuumRobot platform...
....
....
[2017-10-8 20:38:08] [NeatoVacuumRobot] Found robot #1: Hugo
[2017-10-8 20:38:08] [NeatoVacuumRobot] Initializing platform accessory 'Hugo'...
I can't find any errors....
Which file should I proof for more Informations
Thanks for the logs. Thats good for the moment. I will look into this and tell you when I found the problem. Maybe I will expand the debugging capabilities of my plugin or the underlying botvac node if needed.
It looks like the robot is found in your neato account but cannot be accessed (all states null).
Have you any new results what can cause the Problem?
I guess the getState() method of the underlying node-botvac is not working in your case. I added an additional error log in my plugin where the method gets called. Can you download the most recent index.js and replace yours? Here is a direct link: https://github.com/naofireblade/homebridge-neato/blob/master/index.js
If you installed the plugin with the -g option you should find the installed plugin under /usr/lib/node_modules/homebridge-neato .
After replacing the index.js please restart homebridge, try the identify button again and check the homebridge log for errors like "Error while updating robot state."
Hi,
thanks for the answer, I replaced the index.js an here are the results from the log.
[2017-10-15 16:50:47] Homebridge is running on port 42531.
[2017-10-15 16:50:48] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:50:48] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-15 16:50:58] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:50:58] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-15 16:51:03] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:51:03] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-15 16:51:27] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:51:27] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-15 16:52:00] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:52:00] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-15 16:52:07] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:52:07] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-15 16:52:07] [NeatoVacuumRobot] Robot {
_baseUrl: 'https://nucleo.neatocloud.com/vendors/neato/robots/',
name: 'Hugo',
_serial: '*****',
_secret: '*****',
eco: false,
navigationMode: 1,
spotWidth: 100,
spotHeight: 100,
spotRepeat: false,
isCharging: null,
isDocked: null,
isScheduleEnabled: null,
dockHasBeenSeen: null,
charge: null,
canStart: null,
canStop: null,
canPause: null,
canResume: null,
canGoToBase: null }
[2017-10-15 16:52:48] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-15 16:52:48] [NeatoVacuumRobot] Unacceptable range for date
Thanks, thats one step forward. Looks like your homebridge device (raspberry pi?) is passing a wrong date. Can you try this index.js and post the log again? (i log the date that is transmitted to neato): https://github.com/naofireblade/homebridge-neato/blob/debug-neato-d5/index.js
Thank you, I copied the index.js, but there is no new line in the log. And yes a use a Pi 3 as home bridge.
Here is the new log
[2017-10-16 14:23:20] Homebridge is running on port 42531.
[2017-10-16 14:23:22] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-16 14:23:22] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-16 14:23:25] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-16 14:23:25] [NeatoVacuumRobot] Unacceptable range for date
[2017-10-16 14:23:25] [NeatoVacuumRobot] Robot {
_baseUrl: 'https://nucleo.neatocloud.com/vendors/neato/robots/',
name: 'Hugo',
_serial: '*****',
_secret: '*****',
eco: false,
navigationMode: 1,
spotWidth: 100,
spotHeight: 100,
spotRepeat: false,
isCharging: null,
isDocked: null,
isScheduleEnabled: null,
dockHasBeenSeen: null,
charge: null,
canStart: null,
canStop: null,
canPause: null,
canResume: null,
canGoToBase: null }
[2017-10-16 14:23:29] [NeatoVacuumRobot] Error while updating robot state.
[2017-10-16 14:23:29] [NeatoVacuumRobot] Unacceptable range for date
I tried to update the Timezone, but it looks like, as there is a failure... This is the result
Current default time zone: 'Europe/Berlin'
Local time is now: Mon Oct 16 14:27:07 CEST 2017.
Universal Time is now: Mon Oct 16 12:27:07 UTC 2017.
The actual Time here is 07:51 pm
So it seams like nap was down, I installed it again and updated the Timezone so it is the correct Timezone, and now it works like a charm!
Thanks for your help, great job!
Nice. Have fun :)
Hi,
I've installed the Neato Plugin in Homebridge. Homebridge is starting and my Neto D5 is initialized correctly by Homebridge.
Also the Buttons are shown in the Home App. But when I push the Button for Clean or Dock in the App nothing happens. Also Homebridge shows no executed command.
I run iOS 11.1 beta on my iPhone on the iPhone of my wife the latest release of iOS 11 is running.
Any Idea what can cause the Problem.
In the Neato App my D5 is connected and works fine in Wifi an via remote.
Greatings Andi