Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.

Add D900 (IOTMQ) and Ozmo930 Support #63

Open
wants to merge 62 commits into
base: master
Choose a base branch
from

Conversation

bmartin5692
Copy link

@bmartin5692 bmartin5692 commented Feb 19, 2019

Add support for D900 series robots addressing #37

  • Add EcoVacsIOTMQ class to support "IOTMQ" devices
    • IOTMQ devices will be added manually via list for now, it seems limited to D900 currently
  • Added tests to cover
  • Updated protocol.md with additional details

Add support for Ozmo930 addressing #11

bmartin5692 and others added 30 commits January 10, 2019 22:40
Add EcoVacsIOT in VacBot
Add SpotArea option for D90X w/ Mapping
Add clean_status for IOT
- Reports cleaning or paused
Add backward action
Fix tests
Add tests for iot
Modify Clean to use kwargs for SpotArea
Add spotarea command tests
Add spotclean to cli
Cleanup init code from adding IOT
Remove egg & update gitignore for vscode files
Fix xmpp to work with iot
Handle already charging
Small cleanup
Set timeout to 1.25 secs for IOT API
- Some commands (Move) never return a status, so this allows things to continue moving along without waiting too long
WIP: Add initial EcoVacsMQTT client
- Connect and get message

TODO: Parse messages and plumb to events
MQTT Client plumbed up
- Connect, disconnect, statuses working
Add test MQTTPing & Fix tests
Fix clean from CLI
Inject an action='start' for IOTvacs
Add to protocol.md
Fix tables in protocol
Add more iot tests
Add mqtt tests
Added verify False to requests. Needed for work on Bumper
Make ssl verification optional
Can be set via config manually, or used from library
Fix for custom commands with multiple inner tags
Updated tests
stop printing positiion updates
Fix spot area clean
@codeclinic
Copy link

Ok thanks. At least I know that there is a working library available. Thanks for your work on this.

@s3to87
Copy link

s3to87 commented Jul 20, 2019

EDIT: Please ignore my comment, I was able to make it work by installing python 3.7. Many thanks!

First of all thank you for your work, I'm really looking forward to integrate my D900 into openHab :)
Unfortunately so far I wasn't able to install this from your repo.
I'm running openhabianpi on my Raspberry, python3 version 3.5.3

If I do "sudo python3 setup.py install" the installation fails with an error and I have no idea how to fix this.
Can anyone help with this?

`
[14:03:46] openhabian@openHABianPi:~/sucks$ sudo python3 setup.py install
can't find python README; skipping
running install
running bdist_egg
running egg_info
writing entry points to sucks.egg-info/entry_points.txt
writing top-level names to sucks.egg-info/top_level.txt
writing dependency_links to sucks.egg-info/dependency_links.txt
writing requirements to sucks.egg-info/requires.txt
writing sucks.egg-info/PKG-INFO
reading manifest file 'sucks.egg-info/SOURCES.txt'
writing manifest file 'sucks.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
creating build/bdist.linux-armv7l/egg
creating build/bdist.linux-armv7l/egg/sucks
copying build/lib/sucks/cli.py -> build/bdist.linux-armv7l/egg/sucks
copying build/lib/sucks/init.py -> build/bdist.linux-armv7l/egg/sucks
byte-compiling build/bdist.linux-armv7l/egg/sucks/cli.py to cli.cpython-35.pyc
byte-compiling build/bdist.linux-armv7l/egg/sucks/init.py to init.cpython-35.pyc
creating build/bdist.linux-armv7l/egg/EGG-INFO
copying sucks.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying sucks.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying sucks.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying sucks.egg-info/entry_points.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying sucks.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying sucks.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/sucks-0.9.3-py3.5.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing sucks-0.9.3-py3.5.egg
Removing /usr/local/lib/python3.5/dist-packages/sucks-0.9.3-py3.5.egg
Copying sucks-0.9.3-py3.5.egg to /usr/local/lib/python3.5/dist-packages
sucks 0.9.3 is already the active version in easy-install.pth
Installing sucks script to /usr/local/bin

Installed /usr/local/lib/python3.5/dist-packages/sucks-0.9.3-py3.5.egg
Processing dependencies for sucks==0.9.3
Searching for importlib-metadata>=0.12
Reading https://pypi.python.org/simple/importlib-metadata/
Downloading https://files.pythonhosted.org/packages/fd/5c/9caf9fe3d92afc3c0296c97b0fd72cacfcaf20e8b2c42306840914e052fa/importlib_metadata-0.18.tar.gz#sha256=cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db
Best match: importlib-metadata 0.18
Processing importlib_metadata-0.18.tar.gz
Writing /tmp/easy_install-463d4k27/importlib_metadata-0.18/setup.cfg
Running importlib_metadata-0.18/setup.py -q bdist_egg --dist-dir /tmp/easy_install-463d4k27/importlib_metadata-0.18/egg-dist-tmp-6f6qbe8s
/usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'use_scm_version'
warnings.warn(msg)
warning: no previously-included files found matching '.gitignore'
no previously-included directories found matching 'build'
no previously-included directories found matching '.tox'
zip_safe flag not set; analyzing archive contents...
Removing /usr/local/lib/python3.5/dist-packages/importlib_metadata-0.0.0-py3.5.egg
Moving importlib_metadata-0.0.0-py3.5.egg to /usr/local/lib/python3.5/dist-packages
importlib-metadata 0.0.0 is already the active version in easy-install.pth

Installed /usr/local/lib/python3.5/dist-packages/importlib_metadata-0.0.0-py3.5.egg
error: The 'importlib-metadata>=0.12' distribution was not found and is required by pytest, pluggy
`
Many thanks in advance!

@Ligio
Copy link

Ligio commented Jul 24, 2019

I tried this code with my Ecovacs Deebot Ozmo 900 and is working fine, with IT/EU country/continent.
Thanks for your fix and I hope this PR will be merged soon. ;)

@codeclinic
Copy link

@wpietri Is there any schedule for when this will be merged or what needs resolving to get it merged? Thanks.

@fjfricke
Copy link

@wpietri Could you please merge that? Would be awesome especially for home assistant users for pip..

@boutch
Copy link

boutch commented Aug 23, 2019

@wpietri I would love to have this one merged. I am using Home Assistant and this code works OK. Right Now I had to build a custom_component ecovacs home asssistant plugin pointing to this branch in order to make it work. It is not a very elegant solution. Thanks all for the hard work.

@codeclinic
Copy link

@boutch Could you please share info on how you did that?

P.s. I've emailed @wpietri via his website but its seems like he has gone AWOL from GitHub. His last actvitiy on any GitHub repo was back in April.

@OverloadUT
Copy link
Collaborator

Hi everyone - I have push privileges on this repo and can publish new versions to PyPi. I'll add it to my queue of PRs I need to process!

@codeclinic
Copy link

@OverloadUT Oh, yes please! It's been sitting here since February and unfortunately it looks like the repo maintainer has gone AWOL. His last GitHub activity was back in April and I've not been able to communicate with him through other channels. I know a lot of people are waiting for this even in just the Home Assistant community.

You seem to be our last hope, beyond the lengthy process of starting a new fork and then getting to work on the fight to get that fork used in HA instead of this original repo.

Thanks!

@codeclinic
Copy link

@OverloadUT Apparently these changes were reviewed & approved already by @meyerdenney

Does that speed things up at all?

@bmartin5692
Copy link
Author

@OverloadUT #61 needs to be merged in addition to this in order for Ozmo versions to work properly as well.

@lukakama lukakama mentioned this pull request Sep 17, 2019
@grillp
Copy link

grillp commented Sep 25, 2019

Can we please get this merged?!?! This pull was created in Feb!!

Is there an option to fork this and release a new version under another name, as this is just ridiculous!

@OverloadUT , what can we do to get #61 and this merged and released?

@Ligio
Copy link

Ligio commented Sep 26, 2019

I've already forked this project into https://github.com/Ligio/ozmo and published in pypi at https://pypi.org/project/ozmo/. Feel free to use! ;)

@grillp
Copy link

grillp commented Sep 26, 2019

Hey @Ligio , that's great! I'll update homeassistant.io to use the new library.

Cheers!

@grillp
Copy link

grillp commented Sep 26, 2019

@Ligio , do you know if your fork supports the 610? @bmartin5692's fork above supports it, butI did not see it supported in the README on your fork.

@codeclinic
Copy link

codeclinic commented Sep 26, 2019

@Ligio , do you know if your fork supports the 610? @bmartin5692's fork above supports it, butI did not see it supported in the README on your fork.

@grillp Ligios is just a fork of @bmartin5692 for the purpose of pushing it to HA via PyPi.

@grillp You can already use @Ligio 's via Home Assistant. Just replace "Ecovacs" with "ozmo" in your HA config file.

@grillp
Copy link

grillp commented Sep 26, 2019

@grillp You can already use @Ligio 's via Home Assistant. Just replace "Ecovacs" with "ozmo" in your HA config file.

@codeclinic , I tried to change the HA ecovacs config to:

ozmo:
  username: gil@mydomain.com
  password: !secret ecovacs_password
  country: au
  continent: ww

But I to does not recognize ozmo as a platform.

Setup failed for ozmo: Integration not found.

So not sure what you meant?

@LukasK13
Copy link

Didn‘t work for me either, but I was able to get it to work using @ligios custom component (https://github.com/Ligio/hacc-ozmo, thanks for the awesome work). Just place this one inside your custom_components folder and change your integration name to deebot.

@codeclinic
Copy link

ozmo:
username: gil@mydomain.com
password: !secret ecovacs_password
country: au
continent: ww

Sorry. That should be deebot, NOT ozmo.

I'd really recommend that you read the forum thread here: https://community.home-assistant.io/t/fixed-ecovacs-deebot-2019-ozmo-series-working-library/126319

@bmartin5692
Copy link
Author

@OverloadUT , @wpietri

These PRs have been sitting for a very long time with lots of activity around them, what can be done to get these merged?

@jendib
Copy link

jendib commented Oct 11, 2019

Still no news about merging this? @wpietri @OverloadUT

@wpietri
Copy link
Owner

wpietri commented Oct 11, 2019

@jendib This is being discussed on the mailing list. Feel free to chime in there.

@jendib
Copy link

jendib commented Oct 11, 2019

I cannot access the mailing list (it says I'm not authorized). But thanks for the update! 👍

@wpietri
Copy link
Owner

wpietri commented Oct 11, 2019

@jendib Weird! It all used to be publicly visible. I've tinkered with settings; let me know if it's better now.

@jendib
Copy link

jendib commented Oct 11, 2019

It's all good thanks!

@addd45
Copy link

addd45 commented Dec 21, 2019

Insane. This has been pending since February. What is any reason to not merge this?

@wpietri
Copy link
Owner

wpietri commented Dec 21, 2019

@addd45 As mentioned, it is being discussed on the mailing list. If there's anything you don't understand after thoroughly reading the discussion, feel free to ask. But entitled jackassery isn't going to speed things up.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.