naofireblade / homebridge-neato

A Neato vacuum robot plugin for homebridge.
MIT License
69 stars 18 forks source link

Neato D5 is shown in Homebridge but push the Button in the App doesn't start the Robot #7

Closed andijegg closed 6 years ago

andijegg commented 6 years ago

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

naofireblade commented 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 }
andijegg commented 6 years ago

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 }
andijegg commented 6 years ago
[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

naofireblade commented 6 years ago

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).

andijegg commented 6 years ago

Have you any new results what can cause the Problem?

naofireblade commented 6 years ago

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."

andijegg commented 6 years ago

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
naofireblade commented 6 years ago

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

andijegg commented 6 years ago

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
andijegg commented 6 years ago

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

andijegg commented 6 years ago

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!

naofireblade commented 6 years ago

Nice. Have fun :)