Add Braava support to iRobot Roomba component#33616
Conversation
|
@shenxn The one ahead of this just merged, would you please rebase https://developers.home-assistant.io/docs/development_catching_up/ |
|
@bdraco don't you think that Braava should have it own component? |
It is using the same library so it should be the same integration. It makes sense to make the Braava device a new class though. |
yeah, makes sense |
|
@bdraco I'll rebase and try to create a new class. It should be finished in a few days. |
|
@bdraco I just wanna double check. Since now we wait for data in the |
|
Should be good to do in |
|
@bdraco I've re-based and re-implemented the code. Since I only have a Braava Jet and don't have any Roomba robots, I'll need someone else to test the code. |
bdraco
left a comment
There was a problem hiding this comment.
@shenxn Good news. Everything still appears to be working with my Roomba and Braava (and I can now see much more detail!)
There are a few things to cleanup in the PR that I noted. The most important being the part that should be upstreamed into the pypi package. Thank you for opening a PR for that.
Optional: Having everything in async_update is a legacy issue but it would be nice to be cleaned up if you feel up to it.
|
on mobile app you can click |
|
After additional testing its clear its not the return to base command being the issue. All commands are unreliable. Sometimes they get executed sometimes not |
|
|
After some testing it turns out that in order for roomba or the braava to accept the |
|
yeah, just wanted to write about, found such behaviour long time ago, thought it was bug in HA |
|
Not sure which path its taking but its either not sending pause or sending stop which causes the roomba or braava to
|
|
@freekode https://github.com/cseelye/pyirobot/blob/master/pyirobot/__init__.py#L296 |
|
I was able to get this working reliably with the below naive implementation. |
|
@bdraco I noticed that Home Assistant introduced |
|
So I tried to implement the |
|
I switched to |
|
I refactored the code a little bit and removed some duplicated code in |
|
I'm retesting with my roomba and braava now. |
|
Everything works reliably now. Nice job @shenxn I'll look over the code in a bit. |
|
Thank you for your contribution thus far! 🎖 Since this is a significant contribution, we would appreciate you'd added yourself to the list of code owners for this integration. ❤️ Please, add your GitHub username to the For more information about "code owners", see: Architecture Decision Record 0008: Code owners. |
bdraco
left a comment
There was a problem hiding this comment.
Nice job on this. Much easier to see what is going on now.
MartinHjelmare
left a comment
There was a problem hiding this comment.
Please address the comments in a new PR. Thanks!




Breaking change
Proposed change
Add Braava jet m6 support to the iRobot Braava integration. More specifically, the lid, tank, and pad states and spray amount settings are added as attributes and the wet mopping behavior can be set through "fan speed".
Type of change
Example entry for
configuration.yaml:The configuration is identical to the original integration.
Additional information
Checklist
black --fast homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all..coveragerc.The integration reached or maintains the following Integration Quality Scale: