DeebotUniverse / Deebot-4-Home-Assistant

Home Assistant integration for deebot vacuums
https://deebot.readthedocs.io/integrations/home-assistant/
GNU General Public License v3.0
180 stars 39 forks source link

Support for Deebot 900/901 #360

Open JohannesPtaszyk opened 1 year ago

JohannesPtaszyk commented 1 year ago

I am currently running Deebot N8 Pro+ and 900/901. Back on OpenHab we had the 900 running with ease.

Support for 900/901 would be awesome. :) I could also try to help, but since I am just getting started with HA, I have no experience in development for it. Would be happy to help, if you could point me to good ressources for local development of plugin with the deebot_client library.

Example

https://github.com/openhab/openhab-addons/tree/main/bundles/org.openhab.binding.ecovacs
JohannesPtaszyk commented 1 year ago

Additional Info from OpenHab Addon:

At this point, the following devices are fully supported and verified to be working:

Deebot OZMO 900/905 Deebot OZMO 920 Deebot OZMO 930 Deebot OZMO 950 Deebot OZMO Slim 10/11 Deebot N8 series The following devices will likely work because they are using similar protocols as the above ones:

Deebot 600/601/605 Deebot 900/901 Deebot OZMO 610 Deebot 710/711/711s Deebot OZMO T5 Deebot (OZMO) T8 series Deebot T9 series Deebot Slim 2 Deebot N3 MAX Deebot N7 Deebot U2 series Deebot X1 Omni

So it seems like all we would have to do is to add xml handling, right?

edenhaus commented 1 year ago

Feel free to add xml commands and their handling :)

Are you familiar with visual code and devcontainer (including docker)?

JohannesPtaszyk commented 1 year ago

Will look into devcontainer :) Have used docker before :) How would I have to setup everything: Docker instance of HA + Hacs + My fork of this project?

JohannesPtaszyk commented 1 year ago

Or would it be sufficient to change client library? Not sure if I see it right, but client lib is the main integration and this is just the wrapper, correct?

edenhaus commented 1 year ago

Correct

Or would it be sufficient to change client library? Not sure if I see it right, but client lib is the main integration and this is just the wrapper, correct?

Yes, this integration connects HA with the underlaying deebot-client library. So you need to add all the required commands and communication in the lib, so it's enough to fork the library first.

madd0gcom commented 1 year ago

My Deebot Ozmo 900 is showing as unavailable in HA, however in the Ecovacs app it is online, and I can use it. Any idea how I can get the Deebot Ozmo 900 activated in HA? My Deebot Ozmo 950 works flawlessly with the HA.

edenhaus commented 1 year ago

Currently the 900 is not supported by this integration. We plan to add support but I can not give you any eta

ghost commented 1 year ago

Would be high appreciated

kenrob2 commented 1 year ago

I'd just like to add my appreciation for any efforts to add support for the Deebot Ozmo 900 to the integration.

madd0gcom commented 1 year ago

Hi guys, any news on the 900 series integration? It used to work but since a while no response from the 900 series.....

edenhaus commented 1 year ago

Hi guys, any news on the 900 series integration? It used to work but since a while no response from the 900 series.....

That's 100% incorrect. This component never supported the 900 series.

Thanks to @sandervankasteel, support for 900 will be added in the future. Please be patient, as the old bots use another communication protocol. I hope to ship a beta version with experimental support in September.

sandervankasteel commented 1 year ago

That is correct. So I have a Deebot 900 (non-ozmo version) and I've been working on initial support for the Deebot 900 (and other XML based devices).

So right now, the following commands are supported by the client library. Please note there is no maps support right now yet, however I do intend to implement that map support. See this PR for more information https://github.com/DeebotUniverse/client.py/pull/288

A little sneak preview, how it currently shows up on the using the HACS integration. Keep in mind, some changes to the HACS integration will need to be done in order to fully take advantage of the new capabilities in the client library.

image

I do intend to make those changes, since I locally have the modified HACS integration which loads in my proposed changes.

edenhaus commented 1 year ago

I suggest waiting until the first beta with the new features out. Modifying files can break this integration or even HA if not done correctly.

Arn0uDz commented 1 year ago

@sandervankasteel how is this coming along? Would love to test this on my Deebot Ozmo 900 (XML).

sandervankasteel commented 1 year ago

@Arn0uDz So currently, the current status is that, I've merged my branch with the new architecture branch, so that the library can properly support both the JSON and XML data types. Instead of the "workaround" I implemented. But there is still a bunch of work for me to be done on my branch. I need to re-implement what I've done so far, to adhere to the new architecture. Which is not something that's hard, but it does require some effort from my part.

However, I am going on vacation next week, for 2 weeks. So I'm quite preoccupied with all the preparations for that at the moment :sweat_smile:. But I'd like to see if it's possible to re-implement most of the commands before my holiday. So that I can tackle any PR feedback after I am back from my holiday.

I'd like to add that I do not own an Ozmo 900 but the regular 900 version. So I am incapable of testing and implementing the mopping part.

Arn0uDz commented 1 year ago

@sandervankasteel I'd gladly test it for you if it's easy to do and if you want. Though I don't use the mopping part. I just need it to report it's state (ie: docked or cleaning) and to be able to make it clean and return to base.

edenhaus commented 1 year ago

@sandervankasteel You don't need to rush 😊 Implement it when you have time. Also the remaining architecture part on my side will take at least two weeks and without it, testing is only possible by changing some files. To be realistic, I think we can have the first beta out by the end of this month

Arn0uDz commented 1 year ago

@edenhaus @sandervankasteel take your time and I will gladly test the beta when it's out.

kooijman599 commented 10 months ago

Is there any news about the additional support of Deebot 900/901?

edenhaus commented 10 months ago

Please be patient. We are extending/improving this integration in our free time. It will take as long as it takes.

We will post an update, when we have an update.