Ecovacs Deebot N79

This is all true.

When I said dumb, I was refering to the fact that the robots plan for a path around the room was more random than straight lines like my two Samsung PowerBot.

I agree the plan looks very indecisive, but I am not so sure. I wish I had kept a video I had made of the vac running in the Master Bedroom. it seems to follow the same path every single time it is run. Unless of course something in the room is out of place. I looked at the video for the first ten minutes as I started the robot again and sure enough it left the dock and went over the same path, 90% of the time. One time it diverted because an area rug was moved so very slightly. With area rugs depending on the height of the rug plus the non slip pad if it hits it just a fraction off, it will follow a different path.

Ok, it might not be random. But you will never get the nice lines like my PowerBot. Hardwood it’s just fine.

That is true.

1 Like

I have the Deebot Slim2, and using a Harmony Hub to automate, but it’s pretty clunky because it turns off other activities (which makes zero sense to me), I’m hoping the Broadlink RM Pro will perform better. Ideally, this will one day get integrated into SmartThings, as it has an app already, then it could be automated via WiFi? And it won’t matter if the charging station is out of sight of the RF signal?

I would just love to be able to start cleaning and respond to charge. I contacted Deebot and they said Alexa integration may come. But then another guy said no because of the firmware.

Hi, folks! Inspired by Albert’s code (thanks, Albert!), I wrote a simple command-line python script that bosses my Deebot N79 around. I put my code up on Github. I wrote it to solve the one problem I had, which is that I wanted to be able to say how long a scheduled cleaning should last. (My place is small, so 15 minutes is plenty.) You can thus do something like:

sucks clean 15

To clean for 15 minutes and then return to the charger.

I mention it here mainly as possible inspiration for others, but I’m glad to take patches if people want to extend it.

I have extended this a fair bit, added some documentation of the protocol, and gave more detailed instructions on how to MITM the control app. Hopefully that will be useful to others trying to figure out how to control their N79. With these updates it’s about all I need, but feel free to get in touch if you’d like to use it or contribute to it.

1 Like

I started building a device handler for this. However I quickly discovered Smartthings doesn’t seem to have a library for XMPP. Anyone know of a way to do this?

I said I was done working on this, but my previous solution required not using the Android app, which was annoying. Thanks to Albert’s work and the wonderful mitmproxy tool, I have now implemented the whole login flow, so now this tool is useful for anybody who has already registered their account (e.g., via an app).

The code is still up on GitHub, and those wishing to write tools in other languages will find my protocol documentation handy. Now hopefully I’m really done working on this, but feel free to email me or submit a pull request if I can be of service.

Great work on this so far… I dont know anything about coding but thank you @wpietri and Albert for the work done so far… i will continue to monitor with the rest of us non coders… but would love to get our hands on something to even try… :slight_smile:

1 Like

I’m a bit of a complete noob with python admittedly. I’ve tried using both a raspberry pi and python for windows (3.6.3) and for the life of me I can’t get it to work. Surely it’s something simple that I’m doing wrong.

-edit-

OK, so a friend far smarter than me held my hand through the process… I had to download some additional modules and had to change Cyrpto to cryptodome… Works like a charm in Homeseer now :slight_smile:

1 Like

Ah, that’s great to hear, Aaron! Could you send me the changes you made and the libraries you had to install? I’ll update it so the next person has it easier.

Hi, i found this thread with google an it’s verry great what was done here. I use iobroker with a ccu2 and i now that is an other project. But the developers here are the only ones who deal with deebot. Therefore, I hope that there is probably someone here who may import the resources to iobroker. ? Thank you for your support.

Thanks to interest and contribution from others, I have expanded support to the Ecovacs Deebot N79, M80 Pro, M81, and M88 Pro and it works from both North America and Europe. I released this code as a Python library to make integrations easier. Those interested in participating should join the mailing list.

Thanks for all the info, but I am a novice and have a Mac any help would be appreciated. If you feel it is way to hard for a novice, that is understandable. I mean novice at programing.

I suppose it depends on what you want to do, Joel. All this code really does is make it possible for other programs to boss the vacuum around. If you’re happy with the app, I’d say stick with the app. I wanted my home server to be able to control the vacuum, so I wrote this. Others are now starting to use the code for other integrations.

But the code does come with a command-line program, so if what you want to do is control it from a terminal window, it shouldn’t be too hard for someone comfortable with the usual command-line stuff. I’m not a Mac user, so I don’t know anything about installing Python there. But on other platforms it goes something like

pip install sucks
sucks login
sucks clean 10

The first command installs this software; the second sets things up to work with your Ecovacs account, and the third sends the robot out to clean for 10 minutes.

Is there a way to use the commands with WebCoRE?

You would have to ask the WebCoRE people, I’m afraid. My guess is that somebody familiar with WebCoRE would have to write an integration. If they can integrate with Python, then they can use this software directly, making it pretty easy. If not, they’d have to copy what we did in their language. That also wouldn’t be too bad; the hard part was figuring out how this stuff worked, and we’ve tried to document all that.

Since I don’t know Python, and not sure on Mac I will standby and watch for now.