Generic support for vacuums
-
My first Roomba, still in service (700 series) is approaching its 13 year in duty. It's becoming sluggish and slow, but it's still operating. The second one was sent to the basement, and we have a new Deebot that we love, since it's also mopping. We have hard floors (white on first floor, dark gray on the 2nd) so my wife wants them to do the daily tasks because otherwise dust will be visibile and she hates it.
Belevie me or not, she is the main driver to get robot vacuums, because they're really helping with the daily maintenance. The one one could mop as well and on white floor she said that it's good, because it's helping to maintian the floor cleaned.
We have no dogs/cats (we're both allergic), kids are not really kids anymore, but we live at the borders of the city and dust is a problem.
-
In 2017, bought a "Xiaomi Mi Robot Vacuum Cleaner Laser Distance Sensor NIDEC Brushless Motor, MPN: SDJQR01RR". Need to lift the smaller obstacles off the floor so it gets a good go at the floor and it can get stuck under some furniture. We have a mix of hard floor and carpet and it gets cleaned really well. Based on its work, it paid for itself very quickly. It maps the house with LIDAR and sends the map of my house back to China - no doubt there is some good data mining to be had in thousands of house plans!!! It vacuums in lines, up & down, rather than just bumping around randomly, like some of the older vacs do. Takes a while but that's only because it does a good job.
-
Thanks - this is good timing as I’m at the point where I need to replace both the vacuum cleaner and also our lawn mower , and the robot option look very attractive in both areas
-
Just started looking into the background stuff for the domoticz plugin.. It uses a separate Miio-server instance to talk to the vacuum, and i suppose that could be upgraded to push directly to MQTT? it uses the python miio library..
I have no idea of how to go about that, and with what layer.. guess i could ask the miio server developer..
-
Just started looking into the background stuff for the domoticz plugin.. It uses a separate Miio-server instance to talk to the vacuum, and i suppose that could be upgraded to push directly to MQTT? it uses the python miio library..
I have no idea of how to go about that, and with what layer.. guess i could ask the miio server developer..
-
@perh I’m writing an mqtt client for my deebot. I’m working slowly but it’s coming nicely. I’ll publish the device file with a virtual http device next week.
@therealdb said in Generic support for vacuums:
@perh I’m writing an mqtt client for my deebot. I’m working slowly but it’s coming nicely. I’ll publish the device file with a virtual http device next week.
Might have to buy a Deebot then
C -
@therealdb said in Generic support for vacuums:
@perh I’m writing an mqtt client for my deebot. I’m working slowly but it’s coming nicely. I’ll publish the device file with a virtual http device next week.
Might have to buy a Deebot then
C -
@therealdb could use homebridge 2 openluup also...
-
@therealdb could use homebridge 2 openluup also...
@ronluna I've taken a look and it's using the same base library. I'll push some changes I did in the next days, since the library is good but not well organized. I've already added a couple of features. But I digress.
I've finally completed the part pushing via MQTT. I could get nice maps pushed to me and my wife via Telegram with the map, when it started (un'ora fa - one hour ago), how many square meters (69) and the duration.
Next week I'll build the device file for Vera/openLuup. I've started pushing the variables, so it's just a matter of stabilizing them, make them generic and build the UI.
-
@catmanv2 yes. keep in mind it's not lua-based, but a nodejs app pushing data into mqtt. since mqtt it's supported under openLuup these days, it's not that difficult, but it's not plug-and-play. home assistant should have similar features, but it's written in python and I'm not that proficient - plus I'm not really runnning HA in production, since I prefer to thinker with APIs and similar these days.
-
@catmanv2 If you go the HomeAssistant or homebridge route, it's pratically plug&play
I'm just playing with stuff, because I'm working too much, life is still slow, and I need to fill some voids. It should be easier to integrate than via my route
But a generic device file should benefit everyone, regardless of the routes you'll follow to map your vacuum.Next I'll get a robo mower, because I'm tired of cutting the grass, and I'll probably write another device file with associated services, so anyone could map their and see status, alerts, etc.
-
So, I've just started to collect variables. In honor of this place, I'm starting to use this new service ID: urn:smarthome-community:serverId:Vacuum
I've consolidated this variables, but I'm waiting for feedback (@akbooer , @rafale77, @toggledbits):
- CleanState: the clean state (idle, auto, alert, etc)
- LastClean: the last clean date
- LastCleanImageUrl: a map of the last clean, if available
- LastCleanSquareMeters: (should we just use a generic unit of measure?)
- LastCleanDuration: the duration
- LastCleanDurationFormatted (last clean formatted)
- LastError/LastErrorCode
- ChargeStatus (0/1)
- SleepStatus (0/1)
- CleanSpeed (number)
- Description: something more verbose, like "docked and charging", or "auto", "clean started at", etc.
Is there anything I'm missing?
-
I think all the "Last****" variables are very good but I tend to be a minimalist for the rest. I would actually suggest to remove the sleepStatus, the ChargeStatus binary sensors and add the BatteryLevel instead. Does the CleanState include Cleaning/Paused/Stopped?