Code Monkey home page Code Monkey logo

home-assistant-pure-i9's People

Contributors

darkstarsword avatar ekman avatar lorenzo-deluca avatar phype avatar techillin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

home-assistant-pure-i9's Issues

Handle unavailable robots on boot

It seems that robots which are not connected to the cloud when home assistant starts are not picked up properly.

Today I had to restart home assistant to change the state of my robot from unavailable to docked because it wasn't connected to wifi when home assistant was started.

I'll try to debug this and provide better information.

updating debian broke integration [solution]

Hi

first thanks for the integration for home assistant.
after updating debian to latest (update and upgrade) this integration somehow broke, it couldn't login anymore to AEG

after some digging i changed every import purei9_unofficial.cloudv2 to purei9_unofficial.cloudv3
and in de manifest changed "requirements": ["purei9_unofficial==0.0.11"] to "requirements": ["purei9_unofficial==0.0.12"]. (this is the latest release)

that got it working again, dont know if anything changed with cloudv2 API call or something

Can't login on my Electrolux account

I am trying to login on my Electrolux account from this integration, but I am unable to. I even removed any especial characters from my password to prevent issues with unescaped characters, but no luck. I logged in and out from the Electrolux app several times just to make sure my password is correct.
This is the log message I am getting:

Logger: purei9_unofficial.util
Source: /usr/local/lib/python3.10/site-packages/purei9_unofficial/util.py:28
First occurred: 23:37:58 (6 occurrences)
Last logged: 23:49:57

Giving up due to no left retries. Wrong credentials?

Any suggestions on how can I dig for more information about this issue?

Broken after upgrade to 2023.9.0

Upgraded from 2023.8.4

purei9: Not adding entity with invalid device info: Invalid device info {'default_model': 'Pure i9', 'identifiers': {('purei9', 'xxxxxxxxxx')}, 'manufacturer': 'Electrolux', 'name': 'Electrolux PI92', 'sw_version': '43.23'} for 'purei9' config entry: device info needs to either describe a device, link to existing device or provide extra information.

Able to clean specific rooms

Hello, I would like to know if it was possible to add either the choice of rooms in the house, or the favorite programs of the Electrolux application for the i9 vacuum cleaner.
thank you again for this integration that I looked for for a long time :)

Switch to v2 (Wellbeing) API

Since the purei app was shut down, i guess it would also a good idea for you to switch to the v2 API (which uses the API the Wellbeeing app uses). Since i don't count on the old API being available for a long time in the future, i switched my efforts to the newer one.

I added an overview which API has which functionality implemented currently:
https://github.com/Phype/purei9_unofficial/blob/master/functions.md

The interface should be exactly the same, just using another class, but there may be some bugs. Also, the Authentication is a bit more complicated - while you can login via the same username and password to get an access token, the API doesn't like it when you do it too often, so i would propose you try to save the accesstoken and reuse it.

Proposal for enhanced features

Thank you for the good work creating this integration.
Looking at this integration after installation and Vacuum card I couldn't make the following to work, might just be stupid me but if these are not implemented please do consider the following:

  • Cleaning area
  • Cleaning time
  • Maps/zones

Looking at the Android Wellbeing app and this issue, the data probably is available via the API.

Local mode

I just tested something: When you turn the robot around, you can set the localpw for the local connection without breaking the connection to the cloud. This means that it is pretty easy to make use of the local mode of purei9_unofficial. Users have just turn the robot around and run a command (Maybe this cloud even be included in the home assistant intergration).

As the official app isn't using the local interface anymore anyway, i don't think it breaks anything if we set the localpw to another value as it was before.

So i though maybe it makes sense to kind of include this in the integration. Something like supporting both modes of controlling the robot, depending on what it currently available or something.

What do you think?

Version 1.0.0

The focus right now is testing the code and making whatever minor adjustments needed. I want to bring the integration to version 1.0.0 as soon as possibe. I'm not personally a huge fan of software that stays in pre-release stages indefinitely. Note that I'll do whatever I can to not add any breaking changes.

I appreciate any feedback and suggestions to new features. I'll look at them as soon as I've bumped the version to 1.0.0.

Request an official Pure i9 API

Thanks to the great work of @Phype and his library purei9_unofficial, this integration is able to communicate with the Pure i9. It's highly appreciated work!

Even though the code works great, the challenge with using an unofficial API is that the integration can stop working at any time for no reason at all. Therefore, head over to the official Pure i9 community forum and vote for an official API. If this was provided to me then this integration would be able to reliably communicate with the Pure i9, with a significantly less risk of breaking.

v1.5.0 leads to "This entity is no longer being provided"

I have purei9 v1.5.0 and home-assistant 1.4. When I upgraded purei9 to this version from the last, my robot vacuum stopped being provided. I have found a recurring error message in the logs that relate to this:

2024-01-24 17:38:22.710 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 243, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 399, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners
update_callback()
File "/config/custom_components/purei9/vacuum.py", line 226, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1066, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1006, in __async_calculate_state
attr.update(self.extra_state_attributes or {})
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/purei9/vacuum.py", line 129, in extra_state_attributes
"maps": ", ".join([_map["name"] for _map in self._params.maps]),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: sequence item 2: expected str instance, NoneType found

I do not currently have the time to dig into the code and create a pull request, but if anyone else produces a PR, I'd be happy to try out the fix from my end.

class custom_components will be deprecated

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:1607
First occurred: 20:41:30 (1 occurrences)
Last logged: 20:41:30

Entity None (<class 'custom_components.purei9.vacuum.PureI9'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <VacuumEntityFeature.PAUSE|STOP|RETURN_HOME|FAN_SPEED|BATTERY|SEND_COMMAND|STATE|START: 12668>, please create a bug report at https://github.com/Ekman/home-assistant-pure-i9/issues and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation

Dustbin state

Dustbin state is now implemented in purei9_unofficial, would be nice if it would be implmented here as Error or an Attribute.

Discussion: `DustbinStates.full` is translated to state `ERROR` which might be misleading

This is more a discussion piece than an actual issue.

For me as a user - which might possibly ignore the robots request to empty the dustbin from time to time (๐Ÿ™ˆ) - it is kind of misleading that homeassistant will report a full dustbin as state ERROR, as the robot is technically still operational - albeit with obviously reduced cleaning performance.

I'm bringing this up mainly because it makes it hard to distinguish between states which need immidiate action - ie. the robot getting stuck somewhere - and states which are less problematic - such as a full dustbin.

What do you think? I guess it would be best to have a seperate state, but HA does not support this. Maybe i just have to create a custom UI which differentiates based on the attribute.

My robot wont charge after cleaning

Good morning everyone, im having an issue that appear from nowhere.. suddenly the robot needs to charge after 70% of cleaning all the house it will say going for charger and will resume after charging but the robot wont charge at all, the simbol in the APP electrolux just says battery "mid" and theres no
Charging simbol on the app, on the robot (says that is charging) but then an aural alert from the robot "im having problems charging" , tested the batteries with multimiter it says they are good 7.6 volts idk what could
Be the problem, everything works EXCEPT that when it drains the battery "pauses for charging"
It wont go vaccum again and the god damn red simbol
Will appear after a while. I want
To destroy this damn robot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.