Neato BotVac Connected binding?

oh2bindings
binding
vacuum
Tags: #<Tag:0x00007f6cf2bd36c8> #<Tag:0x00007f6cf2bd1be8> #<Tag:0x00007f6cf2bd06d0>

(Patrik) #21

Ah, it seems to be possible to get the map image url then :wink:


(Patrik) #22

GitHub seems to have been down..


(Martyn Bright) #23

Yes, seems to be OK now. Installed and just getting it set up. :slight_smile:


(Martyn Bright) #24

Got it installed and working. I can now start Nobby (my robot cleaner) from Habpanel.

Start and Stop work great. Return to Dock doesn't, but that might be my configuration. I have noticed from the log that the robot is being polled every 10 seconds or so, it doesnt seem to make any difference what the refresh interval is set to in the binding configuration.


(Patrik) #25

Great!

Try to stop or pause the cleaner before sending to base. And also the "seen dock" must be true.

I'll check the refresh interval :)!


(Patrik) #26

Added a new JAR in the git repository. The "refresh" config value on the thing should now be working (and defined in seconds).


(Phil) #27

Nice work - I am trying it right now.
But I would like to mentioned that I had to perform

feature:install openhab-runtime-compat1x

in the Karaf-console to activate the binding. Maybe this is helpful for some others. :slight_smile:

Edit: This is awesome - please create a PR for it! :+1:


(Patrik) #28

Hmm - strange that the need for openhab-runtime-compat1x needed to be enabled.... I have developed it in a pure OH2 environment..

I'm in the process of a PR - Just need to fix some things in the code :wink:

Thanks for trying it out! :slight_smile:


(Phil) #29

Hey Patrik,

thanks for the update. I had to re-install the binding recently and it worked without the compatibility-layer.
However, I am seeing these messages in the log:

20:27:21.934 [INFO ] [b.binding.neato.handler.NeatoHandler] - Successfully got and parsed new state for BotVac
20:27:24.689 [INFO ] [b.binding.neato.handler.NeatoHandler] - Will get STATE for Robot BotVac
20:27:24.949 [INFO ] [b.binding.neato.handler.NeatoHandler] - Successfully got and parsed new state for BotVac

Is it normal and necessary to check the state every second? It fills up the log quite fast and I am also not sure if this makes sense if we think about performance.


(Patrik) #30

Thanks for your feedback!

The log files being printed is unnecessary ofcourse. I am in the process of fine tuning the codebase in the PR being sent, and in that work I can disable the log files.

Best regards


(Phil) #31

Hi Patrik,

thanks for your quick reply and the info.
I'm still wondering: is it necessary to check the state every second? Or does it make sense for some reason?


(Patrik) #32

Oh, missed the timestamp info in your log. Of course it is not necessary to poll state every second - something is not OK there. Default setting is once a minute, and that is also configureable in the thing-setup. If you are using the latest jar-file in the git repository, the settings reflects the value in "minutes" as the screenshot shows below:


(Phil) #33

Yep, I am using the latest snapshot that was posted here. I've set the state-check to 3 minutes, but unfortunately that did not work.


(Patrik) #34

Ok - I will have to look into it. Have already made som changes according to PR-handling, so I will probably update the jar file as the first step.

I'll let you know here as soon as there is an update!


(Phil) #35

That's good news, thanks!

Let me know if I can do anything to support you.


(Michael) #36

@scurb This is really genius!
Big thanks for sharing


(Ton van Loon) #37

@scurb Great job!

Smooth install: I copied the JAR (org.openhab.binding.neato_2.0.0.201701102253.jar ) from GitHub on 8-2-2017 into the addons map. Binding was discovered in Paper UI and after inputting my credentials in the configuration of the binding in the Paper UI, the thing was discovered in the inbox. 17 channels available in the thing/item configuration.

Through HABPanel I added sendcommand-item buttons for sending commands to my BotVacConnected (version 1, firmware 2.2.0) for: starting ( clean) , pausing (pause), resuming ( resume ) , stopping (stop ) and returning tot dock ( dock).

At first returning to dock ( dock ) didn't work, not after pausing nor stoppping the Neato. Item HasSeenDock stayed "OFF".

Addition: Docking works, but it takes a while ( AFAIK more than 10minutes) before the Neato "HasSeenDock". As soon as this items was ON, I was able to dock the Beauty.


(Patrik) #38

Hi!

SeenDock is something reported from Neato - the binding does not have any control for this. It simply displays the state from Neato. And before it has set this to true, I don't believe that you can order it to go to dock.


(Patrik) #39

I uploaded a new version of the jar file. Just to see if any changes has been made that solves your "refresh time problem". Please see if you have better experience with this.

https://github.com/scurb/NeatoBinding/blob/master/org.openhab.binding.neato_2.0.0.201702082008.jar


(Phil) #40

Hi Patrik,

thanks a lot for your effort.

I've downloaded the latest jar and copied it into the addons folder.
This time, I've used auto discovery to find the robot and get the required data to do a thing definition with a .things file. This worked out well!

Unfortunately, it is still trying to get new data every second:

09:29:43.831 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel cleaning-spotheight - lets see if any links exists!
09:29:43.831 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel cleaning-spotheight does not seem to have a valid link. Will not publish changes!
09:29:44.366 [INFO ] [b.binding.neato.handler.NeatoHandler] - Will get STATE for Robot BotVac
09:29:44.559 [INFO ] [b.binding.neato.handler.NeatoHandler] - Will get STATE for Robot BotVac
09:29:44.612 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Result from getRobotState: {"version":1,"reqId":"abc","result":"ok","error":"ui_alert_invalid","data": {},"state":1,"action":0,"cleaning": {"category":2,"mode":2,"modifier":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":99},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"houseCleaning":"basic-1","spotCleaning":"basic-1","manualCleaning":"basic-1","schedule":"basic-1","maps":"basic-1"},"meta": {"modelName":"BotVacConnected","firmware":"2.2.0"}}
09:29:44.616 [INFO ] [b.binding.neato.handler.NeatoHandler] - Successfully got and parsed new state for BotVac
09:29:44.616 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Your vacuum cleaner does not support General Info messages
09:29:44.616 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel battery-level - lets see if any links exists!
09:29:44.617 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel battery-level does not seem to have a valid link. Will not publish changes!
09:29:44.617 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel state - lets see if any links exists!
09:29:44.618 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel state does not seem to have a valid link. Will not publish changes!
09:29:44.618 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel version - lets see if any links exists!
09:29:44.618 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel version does not seem to have a valid link. Will not publish changes!
09:29:44.619 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel model-name - lets see if any links exists!
09:29:44.619 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel model-name does not seem to have a valid link. Will not publish changes!
09:29:44.619 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel firmware - lets see if any links exists!
09:29:44.620 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel firmware does not seem to have a valid link. Will not publish changes!
09:29:44.620 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel action - lets see if any links exists!
09:29:44.621 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel action does not seem to have a valid link. Will not publish changes!
09:29:44.621 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel dock-has-been-seen - lets see if any links exists!
09:29:44.621 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel dock-has-been-seen does not seem to have a valid link. Will not publish changes!
09:29:44.622 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel is-docked - lets see if any links exists!
09:29:44.622 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel is-docked does not seem to have a valid link. Will not publish changes!
09:29:44.623 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel is-scheduled - lets see if any links exists!
09:29:44.623 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel is-scheduled does not seem to have a valid link. Will not publish changes!
09:29:44.623 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel is-charging - lets see if any links exists!
09:29:44.624 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel is-charging does not seem to have a valid link. Will not publish changes!
09:29:44.624 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel error - lets see if any links exists!
09:29:44.624 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel error does not seem to have a valid link. Will not publish changes!
09:29:44.625 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel command - lets see if any links exists!
09:29:44.625 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel command does not seem to have a valid link. Will not publish changes!
09:29:44.626 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel name - lets see if any links exists!
09:29:44.626 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel name does not seem to have a valid link. Will not publish changes!
09:29:44.626 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel cleaning-category - lets see if any links exists!
09:29:44.627 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel cleaning-category does not seem to have a valid link. Will not publish changes!
09:29:44.627 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel cleaning-mode - lets see if any links exists!
09:29:44.628 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel cleaning-mode does not seem to have a valid link. Will not publish changes!
09:29:44.628 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel cleaning-modifier - lets see if any links exists!
09:29:44.628 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel cleaning-modifier does not seem to have a valid link. Will not publish changes!
09:29:44.629 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel cleaning-spotwidth - lets see if any links exists!
09:29:44.629 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel cleaning-spotwidth does not seem to have a valid link. Will not publish changes!
09:29:44.630 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Will try to publish changes to channel cleaning-spotheight - lets see if any links exists!
09:29:44.630 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Well - channel cleaning-spotheight does not seem to have a valid link. Will not publish changes!
09:29:44.809 [DEBUG] [b.binding.neato.handler.NeatoHandler] - Result from getRobotState: {"version":1,"reqId":"abc","result":"ok","error":"ui_alert_invalid","data": {},"state":1,"action":0,"cleaning": {"category":2,"mode":2,"modifier":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":99},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"houseCleaning":"basic-1","spotCleaning":"basic-1","manualCleaning":"basic-1","schedule":"basic-1","maps":"basic-1"},"meta": {"modelName":"BotVacConnected","firmware":"2.2.0"}}
09:29:44.813 [INFO ] [b.binding.neato.handler.NeatoHandler] - Successfully got and parsed new state for BotVac