Giter Site home page Giter Site logo

pbulteel / eufy_vacuum Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shopeonarope/eufy_vacuum

28.0 28.0 15.0 36 KB

This is a fork of the eufy_vacuum code so that it works with HACS. I plan to make this a bit more user friendly and hopefully work properly with any other Eufy vacuum.

License: Other

Python 100.00%
eufy homeassistant

eufy_vacuum's People

Contributors

mitchellrj avatar pbulteel 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  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

eufy_vacuum's Issues

X8 model T2262 no status

Is there any way to get further support for the X8 model so it shows correct status. My coding knowledge is limited but would be more then happy to act as a beta tester for any changes that would increase functionality.

Added support for 30C Max

I have a 30C max T2130 and I get the following error.

RuntimeError: Unsupported model T2130

If it can be supported that would be great. It is basically the same as the 30C from what i understand with more powerful suction.

I will try to help in any way you need it.

If you need any more information let me know.

Thank you for all your work on this in general though.

"Battery state error" when integration is used with G30 Edge

The below error is generated every 20 seconds when used with a Eufy G30 Edge RoboVac (model T2251)

Logger: homeassistant
Source: custom_components/eufy_vacuum/property.py:36
Integration: Integration to Eufy Vacuum (documentation, issues)
First occurred: 17:41:09 (1 occurrences)
Last logged: 17:41:09

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 673, in _update_entity_states
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 321, in async_update_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 370, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/usr/src/homeassistant/homeassistant/components/vacuum/__init__.py", line 279, in state_attributes
    data = super().state_attributes
  File "/usr/src/homeassistant/homeassistant/components/vacuum/__init__.py", line 179, in state_attributes
    data[ATTR_BATTERY_ICON] = self.battery_icon
  File "/usr/src/homeassistant/homeassistant/components/vacuum/__init__.py", line 269, in battery_icon
    if self.status is not None:
  File "/config/custom_components/eufy_vacuum/vacuum.py", line 116, in status
    if self.robovac.error_code != robovac.ErrorCode.NO_ERROR:
  File "/config/custom_components/eufy_vacuum/property.py", line 36, in __get__
    value = self.type_cast(value)
  File "/usr/local/lib/python3.8/enum.py", line 339, in __call__
    return cls.__new__(cls, value)
  File "/usr/local/lib/python3.8/enum.py", line 662, in __new__
    raise ve_exc
ValueError: 0 is not a valid ErrorCode

The outcome (failure to read the battery state) can be seen from the entity when added to Lovelace (vacuum is named Lilo in this example)

image

RoboVac L70 hybrid / Model no. T2190 seem to be supported, but only partially

Basic functionality seem to work but I get some weird messages when trying to integrate the model with type "T2118":

'utf-8' codec can't decode byte 0xfa in position 4: invalid start byte
14:30:46 – (ERROR) Integration to Eufy Vacuum (custom integration)
Failed to decrypt message from bfdfe0b3a78d53d247xvoq (192.168.2.21:6668)
14:30:46 – (ERROR) Integration to Eufy Vacuum (custom integration)

I'm not good in writing Python, but I guess I could do some debugging if some one could point me into the right direction on this. My best guess would be, that this model uses a slightly different protocol version.

Any ideas?

Eufy RoboVac G10 Hybrid

Hi!
this integration with the vacuum cleaner(Eufy RoboVac G10 Hybrid) does not work.
Could you improve support for this device?
Screenshot_20220124_231300

Эта ошибка возникла в кастомной интеграции.

Logger: homeassistant
Source: custom_components/eufy_vacuum/property.py:36
Integration: Integration to Eufy Vacuum (documentation, issues)
First occurred: 23:17:26 (1 occurrences)
Last logged: 23:17:26

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 734, in _update_entity_states
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 492, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 540, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/usr/src/homeassistant/homeassistant/components/vacuum/init.py", line 297, in state_attributes
data = super().state_attributes
File "/usr/src/homeassistant/homeassistant/components/vacuum/init.py", line 190, in state_attributes
data[ATTR_BATTERY_ICON] = self.battery_icon
File "/usr/src/homeassistant/homeassistant/components/vacuum/init.py", line 287, in battery_icon
if self.status is not None:
File "/config/custom_components/eufy_vacuum/vacuum.py", line 116, in status
if self.robovac.error_code != robovac.ErrorCode.NO_ERROR:
File "/config/custom_components/eufy_vacuum/property.py", line 36, in get
value = self.type_cast(value)
File "/usr/local/lib/python3.9/enum.py", line 384, in call
return cls.new(cls, value)
File "/usr/local/lib/python3.9/enum.py", line 702, in new
raise ve_exc
ValueError: 0 is not a valid ErrorCode

G30 Edge Shows Empty Tuya Device

Hi,
Thank you s omuch for your work on this. When I add my device per the guide, this is all I'm presented with:
Please advise, thank you!
2022-08-10 11_48_46-Settings – Home Assistant

Occassional error in logs

I occasionally get this error in my logs. It doesn't seem like it affects anything (at least that I've noticed), just posting it here in case it might be affecting someone else. I'm using this with a Eufy 30C Max. The vacuum was docked and fully charged at the time of this error message.

Running HA OS 7.1, Supervisor 2021.12.2, and Core 2021.12.9.

2022-01-15 17:40:24 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/config/custom_components/eufy_vacuum/tuya.py", line 551, in _async_handle_message response_data = await self.reader.readuntil(MAGIC_SUFFIX_BYTES) File "/usr/local/lib/python3.9/asyncio/streams.py", line 629, in readuntil raise exceptions.IncompleteReadError(chunk, None) asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes

Error doing job: Task exception was never retrieved

Got this message in the HA logs:

`Logger: homeassistant
Source: custom_components/eufy_vacuum/property.py:36
Integration: Integration to Eufy Vacuum (documentation, issues)
First occurred: November 4, 2022 at 13:22:03 (8628 occurrences)
Last logged: 13:17:55
Error doing job: Task exception was never retrieved

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 812, in _update_entity_states
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 520, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 573, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/usr/src/homeassistant/homeassistant/components/vacuum/init.py", line 341, in state_attributes
data = super().state_attributes
File "/usr/src/homeassistant/homeassistant/components/vacuum/init.py", line 224, in state_attributes
data[ATTR_BATTERY_ICON] = self.battery_icon
File "/usr/src/homeassistant/homeassistant/components/vacuum/init.py", line 331, in battery_icon
if self.status is not None:
File "/config/custom_components/eufy_vacuum/vacuum.py", line 116, in status
if self.robovac.error_code != robovac.ErrorCode.NO_ERROR:
File "/config/custom_components/eufy_vacuum/property.py", line 36, in get
value = self.type_cast(value)
File "/usr/local/lib/python3.10/enum.py", line 385, in call
return cls.new(cls, value)
File "/usr/local/lib/python3.10/enum.py", line 710, in new
raise ve_exc
ValueError: 0 is not a valid ErrorCode`

I got this in my configuration.yaml:
`eufy_vacuum:
devices:

  • name: Robovac
    address: 192.168.1.xx
    access_token: xxxxxxxxxx
    id: yyyyyyyyyyyyyyyyy
    type: T2118`

the strange thing is I don't have any Eufy Vacuum device, but under entities I have one vacuum.robovac_2 entity. I can also activate its buttons, but each time I get an error message. But the device is still getting the command and e.g. turning on

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.