Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for 700 series Robot Vacuum #152

Merged
merged 5 commits into from
Oct 27, 2024
Merged

Conversation

ivancoppa
Copy link
Contributor

@ivancoppa ivancoppa commented Oct 27, 2024

I have added basic support for the 700 Series Robot Vacuum, the successor to the PUREi9 Series, which differs from the PUREi9 in terms of capabilities.

In this version, support for the 700 Series Vacuum Mode (also known as Power Mode in PUREi9) is not yet included, as I am still determining the best approach to implement this feature.

However, this basic implementation should allow users to set up essential automations.

This implementation provides basic vacuum support for the following models:

Electrolux

  • Clean 600
  • Hygienic 600
  • Hygienic 700
  • Ultimate 700

AEG

  • 6000 Robot Vacuum Cleaner
  • 7000 Robot Vacuum Cleaner

Copy link
Owner

@JohNan JohNan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! It looks great! Well done.

@ivancoppa
Copy link
Contributor Author

Thank you!

It would be greatly appreciated if @joakimjalden and @derkrasseleo could also verify that this update doesn’t cause any regressions with the PUREi9 and PUREi9.2 models.

@JohNan JohNan merged commit e775207 into JohNan:main Oct 27, 2024
2 checks passed
@joakimjalden
Copy link
Contributor

joakimjalden commented Oct 27, 2024

It would be greatly appreciated if @joakimjalden and @derkrasseleo could also verify that this update doesn’t cause any regressions with the PUREi9 and PUREi9.2 models.

@ivancoppa Functionally it works (start, pause, stop, return) but the addition messes up the battery status. The battery status of the PUREi9 is reported as an integer number in the range of 1 to 6, not a percentage. The change makes the integration report a full battery on the PUREi9.2 as only 6% full. I have not had time to debug in my development environment (and will not be able to for a few days) but I would assume that something goes wrong with the battery_range property on line 398 in api.py.

It will also (because of how the overall integration is implemented) add the Robot700series_entities "Battery Status" sensor as a percentage sensor that is always between 1 and 6 for the PUREi9. Not sure how to best fix that.

@joakimjalden
Copy link
Contributor

joakimjalden commented Oct 27, 2024

...and out of curiosity, do the newer models report any capabilities for maps and cleaning zones? Could you post the "capabilities" part of the reply to the appliance info call?

@derkrasseleo
Copy link

Can confirm, battery status shows 6% for me, even though the robot was charging all day..

@joakimjalden
Copy link
Contributor

@ivancoppa Also, a suggestion is to change line 56 in vacuum.py to VACUUM_CHARGING_STATES = [9, 'sleeping'] or VACUUM_CHARGING_STATES = [9, 'idle'] and then line 114 to charging = self.get_entity.state in VACUUM_CHARGING_STATES so that the new models also get the little lightning bolt by the battery when charging.

@ivancoppa
Copy link
Contributor Author

@derkrasseleo @joakimjalden, thanks so much for checking!
I hope to work on a fix tomorrow and implement your suggestions.

...and out of curiosity, do the newer models report any capabilities for maps and cleaning zones? Could you post the "capabilities" part of the reply to the appliance info call?

From what I observed, it doesn’t seem to support cleaning zones, it just draws the map in the app.

@joakimjalden
Copy link
Contributor

@ivancoppa I was mucking about in the code today, and I have another suggestion for the 700 series support. When implementing the PUREi9 support, I got the (good) suggestion to give the Vacuum Entity a default friendly name based on the appliance name; see

#146 (comment)

I'm assuming the change would be a simple change of line 223 in ´api.py` to 206. Maybe we should also consolidate the naming convention (now "Vacuum" for PUREi9 and "Robot Status" for the 700 series).

@ivancoppa
Copy link
Contributor Author

Good point @joakimjalden,
I'll try to have a look during the weekend.

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

Successfully merging this pull request may close these issues.

4 participants