Giter Club home page Giter Club logo

robovac's Introduction

hacs_badge Buy Me A Coffee

Eufy RobovVac control for Home Assistant

A brand new version Eufy RoboVac integration for Home Assistant that includes a Config Flow to add your RoboVac(s) and the local key and ID required. All you need to do is enter your Eufy app credentials and the Config Flow will look up the details for you. After the initial config use the configuration button on the Integration to enter the RoboVac IP address when prompted.

This work has evovled from the original work by Richard Mitchell https://github.com/mitchellrj and the countless others who have contributed over the last couple of years. It also builds on the work done by Andre Borie https://gitlab.com/Rjevski/eufy-device-id-and-local-key-grabber to get the required local ID and key.

This project has been forked many times since the I am building upon the original work done by Richard and attempting to simplfy the operation and number of files involved.

Installation

Couple of Pre-reqs

  1. Make sure your Home Assistant Core is up to date
  2. Remove any previous Eufy or RoboVac installation including entries in the configuration.yaml

If you want you can clone this repo manually, oterwise use HACS (Recommended).

Using HACS

  1. In HACS add this repo as an integration additional repository.
  2. Then install it.
  3. Restart Home Assistant
  4. Go to the Integrations Page and Click +Add Integration button
  5. Search for Eufy Robovac and select it
  6. Enter your Eufy username and password (The ones you use to login to the add with) and submit
  7. If youve done it correctly you should get a success dialoge and option to enter an Area for each RoboVac you have
  8. Click Finish
  9. On the Integrations Screen Locate your Eufy Robovac card and click the configure button
  10. Select the Radio button beside the Vacuum name and type its IP addess in the box and press Submit (You need to repeat steps 9 and 10 for each RoboVac you have)
  11. Enjoy

Please note: You may have to get a new version of the access key for your vacuum from time to time if Eufy change it. Worst case you have to Delete the integration and re add it to get the new key.

Optional 1: Scripts

The integration is designed to work with the standard Home Assistant Lovelace card but that doesnt support all the options of your Robovac. I have created some scripts to send the relevant commands to the Robovac.

Add the below text to your scripts.yaml file for a xxC RoboVAC. It should be in the same folder as your configuration.yaml

15c_smallroomclean:
  alias: 15C_smallRoomClean
  sequence:
  - service: vacuum.send_command
    data:
      command: smallRoomClean
    target:
      entity_id: vacuum.15c
  mode: single
15c_edgeclean:
  alias: 15C_edgeClean
  sequence:
  - service: vacuum.send_command
    data:
      command: edgeClean
    target:
      entity_id: vacuum.15c
  mode: single
15c_dock:
  alias: 15C_dock
  sequence:
  - service: vacuum.return_to_base
    target:
      entity_id: vacuum.15c
  mode: single

If you have a Gxx add this to your scripts.yaml

g30_autoclean:
  alias: G30_autoClean
  sequence:
  - service: vacuum.send_command
    data:
      command: autoClean
    target:
      entity_id: vacuum.g30
  mode: single
g30_autoreturn:
  alias: G30_autoReturn
  sequence:
  - service: vacuum.send_command
    data:
      command: autoReturn
    target:
      entity_id: vacuum.g30
  mode: single
g30_donotdisturb:
  alias: G30_do_Not_Disturb
  sequence:
  - service: vacuum.send_command
    data:
      command: doNotDisturb
    target:
      entity_id: vacuum.g30
  mode: single
g30_dock:
  alias: G30_dock
  sequence:
  - service: vacuum.return_to_base
    target:
      entity_id: vacuum.g30
  mode: single

If you have an X8 add this to your scripts.yaml

x8_boostiq:
  alias: x8_boostIQ
  sequence:
  - service: vacuum.send_command
    data:
      command: boostIQ
    target:
      entity_id: vacuum.x8
  mode: single
x8_autoclean:
  alias: x8_autoClean
  sequence:
  - service: vacuum.send_command
    data:
      command: autoClean
    target:
      entity_id: vacuum.x8
  mode: single
x8_autoreturn:
  alias: X8_autoReturn
  sequence:
  - service: vacuum.send_command
    data:
      command: autoReturn
    target:
      entity_id: vacuum.x8
  mode: single
x8_donotdisturb:
  alias: X8_do_Not_Disturb
  sequence:
  - service: vacuum.send_command
    data:
      command: doNotDisturb
    target:
      entity_id: vacuum.x8
  mode: single
x8_dock:
  alias: X8_dock
  sequence:
  - service: vacuum.return_to_base
    target:
      entity_id: vacuum.x8
  mode: single

The facilities in the script options above only work on the those model series. i.e. You cant do edge cleaning on the G30 and you cant do the autoreturn on the 15C.

Optional 2 : Lovelace Card

Search in HACS for the Vacuum Card by Denys Dovhan and install it and configure it in lovelace to use you vacuum. Note there is a minor "feature" in the vacuum card where it doesnt show the correct values in toolbar when they update and there is a template adjusting what is being displayed. A screen refresh shows the correct vaules. Hopefully this will be fixed soon.

Edit the lovelace vaccum card and add the following to the cards yaml if you have a xxC.

type: custom:vacuum-card
entity: vacuum.15c
image: default
show_name: true
show_status: true
show_toolbar: true
shortcuts:
  - name: Dock
    service: script.15c_dock
    icon: mdi:home-map-marker
  - name: Edge Cleaning
    service: script.15c_edgeclean
    icon: mdi:square-outline
  - name: Small Room
    service: script.15c_smallroomclean
    icon: mdi:timer-cog-outline

Again if you have the Gxx you will add these lines to the cards yaml.

type: custom:vacuum-card
entity: vacuum.g30
image: default
shortcuts:
  - name: Dock
    service: script.g30_dock
    icon: mdi:home-map-marker
  - name: Auto Clean
    service: script.g30_autoclean
    icon: mdi:caps-lock
  - name: Auto Return
    service: script.g30_autoreturn
    icon: mdi:arrow-u-down-left-bold
  - name: Do Not Disturb
    service: script.g30_donotdisturb
    icon: mdi:volume-off
stats:
  default:
    - attribute: cleaning_area
      unit: sq meters
      subtitle: Cleaning Area
    - attribute: cleaning_time
      value_template: '{{ (value | float(0) / 60) | round(1) }}'
      unit: minutes
      subtitle: Cleaning time
    - attribute: auto_return
      subtitle: Auto Ret
      value_template: '{% if (value == true) %}On{% else %}Off{% endif %}'
    - attribute: do_not_disturb
      subtitle: Dnd
      value_template: '{% if (value == true) %}On{% else %}Off{% endif %}'

Again if you have the X8 you will add these lines to the cards yaml.

type: custom:vacuum-card
entity: vacuum.x8
image: default
stats:
  default:
    - attribute: cleaning_area
      unit: sq meters
      subtitle: Cleaning Area
    - attribute: cleaning_time
      value_template: '{{ (value | float(0) / 60) | round(1) }}'
      unit: minutes
      subtitle: Cleaning time
    - attribute: boost_iq
      subtitle: Boost IQ
      value_template: '{% if (value == true) %}On{% else %}Off{% endif %}'
    - attribute: auto_return
      subtitle: Auto Ret
      value_template: '{% if (value == true) %}On{% else %}Off{% endif %}'
    - attribute: do_not_disturb
      subtitle: Dnd
      value_template: '{% if (value == true) %}On{% else %}Off{% endif %}'
shortcuts:
  - name: Dock
    service: script.x8_dock
    icon: mdi:home-map-marker
  - name: Auto Clean
    service: script.x8_autoclean
    icon: mdi:caps-lock
  - name: Boost IQ
    service: script.x8_boostiq
    icon: mdi:bootstrap
  - name: Auto Return
    service: script.x8_autoreturn
    icon: mdi:arrow-u-down-left-bold
  - name: Do Not Disturb
    service: script.x8_donotdisturb
    icon: mdi:volume-off

Debugging

I have left quite a few debug statements in the code and they may be useful to see whats happening by looking in the System Log files. The Log Viewer Addon available in the Home Assistance store can be very useful to watch the logs being updated in real time. To get the debugging to add to the logs you need to add the below text to your configuration.yaml

logger:
  default: warning
  logs:
    custom_components.robovac.vacuum: debug
    custom_components.robovac.tuyalocalapi: debug

robovac's People

Contributors

bmccluskey 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robovac's Issues

The robovac custom integration is using deprecated vacuum feature

The custom integration robovac is extending the deprecated base class VacuumEntity instead of StateVacuumEntity.

Please report it to the author of the robovac custom integration.

Once an updated version of robovac is available, install it and restart Home Assistant to fix this issue.

KeyError: 'access_token'

I tried to set up a eufy robovac G10 and got this log.
The Log-In worked when I entered my credentials (at least the robovac was displayed by configuring the integration afterwards).

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/robovac/vacuum.py", line 115, in async_setup_entry
    async_add_entities([RoboVacEntity(item)])
  File "/config/custom_components/robovac/vacuum.py", line 247, in __init__
    self._attr_access_token = item[CONF_ACCESS_TOKEN]
KeyError: 'access_token'

Update needed for HA 2023.8

The beta for HA Core 2023.8 is now released and is displaying a warning for this integration:

The robovac custom integration is using deprecated vacuum feature
This stops working in version 2024.2.0. Please address before upgrading.
The custom integration robovac is extending the deprecated base class VacuumEntity instead of StateVacuumEntity.

Please report it to the author of the robovac custom integration.

Once an updated version of robovac is available, install it and restart Home Assistant to fix this issue.
image

ihome vacuum

Is there anyway that we can get an integration that would work for the ihome vacuum. It is also a Tuya device but with tuya you loose some features. Thank you!

Automate cleaning certain rooms

Hello,

Thanks for making this integration.

I noticed the vacuum has a Cleaning area attribute. I was wondering if it would be possible to use this to automate the vacuum cleaning in certain rooms?
EG, Start cleaning in room number 2

Thanks!

Where do I find IP address

I have installed this and it found all my devices but I cannot add the IP address as I do not know where to find them.

They are not in the Eufy app, only the MAC address is there.

I have checked all devices connected to my router and none of them have the corresponding MAC address so I am very confused.

Any help appreciated.

X8 play/pause button half works

I'm not sure if this is a widespread problem, but the play/pause button and service only half works. When you press it once it starts cleaning but when you press it again, instead of pausing, it stops the run completely and goes into standby mode. This being the case instead of resuming the cleaning session it starts over completely. Also the play pause icons being together on the same button instead of switching to the other when pressed is a little OCD but that's just a minor visual thing.

RoboVac card no longer working in HA latest update

The custom integration robovac is extending the deprecated base class VacuumEntity instead of StateVacuumEntity.
Please report it to the author of the robovac custom integration.
Once an updated version of robovac is available, install it and restart Home Assistant to fix this issue.

Also the home and start commands at the bottom of the card don't work for the X8 I have to open the card to operate

Failed to decrypt message with x8

Logger: custom_components.robovac.tuyalocalapi
Source: custom_components/robovac/tuyalocalapi.py:753
Integration: Eufy Robovac
First occurred: 8:50:17 AM (20 occurrences)
Last logged: 8:55:33 AM

Failed to decrypt message from eb58d5d8e7305eca78jjgf (192.168.2.208:6668)

Battery drops to 0-ish percent.

Hey,
firstly: amazing work with the integration!

I've installed it a couple hours ago and encountered the following:
Every time homeassistant restarts or the integration reloads, the battery percent is being reported as 0% for a short time.

Home Assistant 2022.10.0
Supervisor 2022.09.1
Operating System 9.0
Frontend 20221005.0 - latest

robovac integration: 2.0.0

Eufy 15C
Wi-Fi Version: 1.1.5
MCU Version: 1.1.5

Screenshot _NOPROCESS_ 2022-10-06 at 13 20 55

unexpected error when sumitting working credentials

I'm getting an unexpected error when I try to add this integration at the step of supplying the credentials. These definitely are correct: I can login to the web/app, and even running the curl statement gets me a response with a token.

It seems to break in the tuyawebapi session request where I get an 'errorCode': 'USER_PASSWD_WRONG', 'status': 'error', 'errorMsg': 'Incorrect account ID or password'} returned.

Any suggestions why the first script does accept the password, but the second does not?

edit: went through the sniffing process with bluestacks and was able to get to the localkey etc. I've been able to use a basic integration and it works.

However, how to install this repo as working integration bypassing the 'auto configuring' tuya to get the most out f my G30?

Eufy 30c scripts?

Hi I am at the step where I add the scripts to give my vacuum functionality in home assistant. I have a eufy 30c vacuum, do I use the 15C scripts? or the g30 scripts? My intuition is telling me the 15c scripts since the only difference between the 15c and 30c is the magnetic strip detection. But there seems to be features in the g30 script that should work with my 30c. Any guidance would be very appreciated.

Excessive Logging in home assistant logs

Hello

I've tried setting

    custom_components.robovac.tuyalocalapi: warning
    custom_components.robovac.vacuum: warning

But keep getting this repeated log and others entires in the home assistant logs

Tuya local API Result: {'1': True, '2': False, '5': 'auto', '15': 'completed', '101': False, '102': 'Standard', '103': False, '104': 100, '106': 0, '107': False, '109': 1800, '110': 22, '111': 70, '118': True, '122': 'Nosweep', '131': False, '135': True, '137': 0}

I believe the above should only be logged if info / debug is requested

Connection Refused on using the integration with a G30

Hi All,

I am seeing a connection refused while trying to configure my G30 robovac (gist)

I have verified that the IP address are correctly used and I have also tried configuring a static IP for my robovac but no luck!

I have also tried the suggestion #4 (comment) and I see similar connection error. Is there anything else I could be missing?

Eufy G40 unavailable after adding

I’ve successfully discovered my G40, but none of the commands work and it says it’s unavailable. I see it’s reported here, but whilst I’m pretty sure that’s a different integration it may call upon similar code, so linking it here just in case it’s useful.

Does anyone else have the same issue?

Some issues Hybrid G10

Basically, the integration works for the G10 Hybrid. Thanks for that and kudos.

I have some small problems, maybe it's just not supported by the vacuum cleaner:

Cleaning time and area are not displayed in the UI. Is this supported at all, should I see the attributes in my device?

To the functions:

  1. Cleaning does not work on the main page. The vacuum robot does not start. The button on the left side.
    However, Start/Pause works in modal dialog.
    Are these different functions?

  2. When you click Start in the modal dialog. And the main page changes. Then stop (function not available) and pause (nothing happens) don't work either. However, on the modal dialog, the pause works.

  3. In the extended functions, it do not work "do not disturb", nothing happens.

What is the difference between auto clean and cleaning?

My attributes

fan_speed_list: 
Standard ip_address: xxx 
model_code: T2150 
battery_level: 100 
battery_icon: mdi:battery-charging-100 
fan_speed: Standard status: 
charging mode: Nosweep 
friendly_name: RoboVac 
supported_features: 4084

Thanks for your support

Add RoboVacs with existing Access Token / without the necessity of access to the internet for the integreation

Hello,

I'm trying to keep my IoT devices as locally controlled / away from the internet as possible.
As a matter of fact, even home-assistant itself doesn't have access to the internet in my very case.
For my RoboVacs I already do have the necessary access tokens.
I'd really appreciate a short guide - even if it's hacked up - on how to add RoboVacs via this integration by IP address / hostname and access token rather than Eufy credentials which will then used to interact with the Eufy cloud.

Thanks for your work!

Invalid start Byte with X8

Logger: custom_components.robovac.tuyalocalapi
Source: custom_components/robovac/tuyalocalapi.py:749
Integration: Eufy Robovac
First occurred: 8:50:17 AM (20 occurrences)
Last logged: 8:55:33 AM

'utf-8' codec can't decode byte 0xf9 in position 0: invalid start byte
'utf-8' codec can't decode byte 0x97 in position 9: invalid start byte

Small problem need help G35+

Hi and have most of everything almost working for my eufy g35+ setup and working but need help to fix the remainder oh and auto return is on not much is matching

Screenshot_20221112_151723_Home Assistant
Screenshot_20221112_170320_eufy Clean.jpg

Status: Error: None / error service call turn_on

I can not get the new X9 Pro working.

Integration shows the model name, I can set the IP, but then the Status-Attribute of the entity is "Error: None".

State is "off" and this are the attributes:

fan_speed_list: Standard
ip_address:  192.168.xxx.xxx
model_code: T2320
friendly_name: Eufy Clean X9 Pro
supported_features: 4084
battery_level: 0
battery_icon: mdi:battery-alert
status: Error: None

The Log shows following error message:

Logger: homeassistant.helpers.entity
Source: custom_components/robovac/tuyalocalapi.py:679
Integration: Eufy Robovac
First occurred: 21:14:16 (5 occurrences)
Last logged: 21:15:59

Update for vacuum.eufy_robovac fails
Traceback (most recent call last):
  File "/config/custom_components/robovac/tuyalocalapi.py", line 763, in _async_send
    await self.async_connect()
  File "/config/custom_components/robovac/tuyalocalapi.py", line 679, in async_connect
    sock.connect((self.host, self.port))
socket.gaierror: [Errno -2] Name does not resolve

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 559, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 784, in async_device_update
    await self.async_update()
  File "/config/custom_components/robovac/vacuum.py", line 319, in async_update
    await self.vacuum.async_get()
  File "/config/custom_components/robovac/tuyalocalapi.py", line 699, in async_get
    return await message.async_send(self, callback)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/robovac/tuyalocalapi.py", line 529, in async_send
    await device._async_send(self)
  File "/config/custom_components/robovac/tuyalocalapi.py", line 769, in _async_send
    await self.async_connect()
  File "/config/custom_components/robovac/tuyalocalapi.py", line 679, in async_connect
    sock.connect((self.host, self.port))
socket.gaierror: [Errno -2] Name does not resolve

Device toggle and ‘Turn On’ button in entity card do not work for 15C and 15C Max

Having an issue where if i use the device toggle in the entity card or if i click turn on within the entity card i get the following error and nothing happens:

[
AB57325B-F703-4E18-B18C-21F5E7EADB38

If i click the start/pause button in the entity card or if call the start/pause vacuum service it starts fine. Is there a reason why the turn on and off commands dont work for either the 15C and 15C Max? I would like to be able to turn them on using the toggle in my Lovelace dashboard but i am unable to. Is this expected behaviour?

Connection to device is failing

2023-08-05 14:37:57.618 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to 5******************* (192.168.0.139:6668): Message(0x9, b'', 0, <Device 5******************* (192.168.0.139:6668)>) 2023-08-05 14:37:57.623 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from 5******************* (192.168.0.139:6668): Message(0x9, b'', 0, None) 2023-08-05 14:37:59.247 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Connecting to 5******************* (192.168.0.139:6668) 2023-08-05 14:37:59.295 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to 5******************* (192.168.0.139:6668): Message(0xa, {'gwId': '5******************* ', 'devId': '5******************* '}, 1*******, <Device 5******************* (192.168.0.139:6668)>) 2023-08-05 14:37:59.296 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to 5******************* (192.168.0.139:6668): Message(0x9, b'', 0, <Device 5******************* (192.168.0.139:6668)>) 2023-08-05 14:37:59.297 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to 5******************* (192.168.0.139:6668): Message(0xa, {'gwId': '5******************* ', 'devId': '5******************* '}, 1*******, <Device 5******************* (192.168.0.139:6668)>) 2023-08-05 14:37:59.308 ERROR (MainThread) [custom_components.robovac.tuyalocalapi] Connection to 5******************* (192.168.0.139:6668) failed: [Errno 104] Connection reset by peer 2023-08-05 14:37:59.309 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Disconnected from 5******************* (192.168.0.139:6668)

This is the debug log if I try to connect my vacuum cleaner to HA. I already checked the IP of the robot, it's the right one. This 5******************* is the ID of my vacuum cleaner (I just added the * by myself).

Has anybody experienced this issue already?

Failed to call service : turn on: Unknown error

Hi,
thank you so much for this integration.

i added through HACS to my HASSIO (running on VM) and the integration added successfully, my two G30 robovac found on integration and i added the IP addresses obtained from my modem (double checked), but when i start the Robovac from Home assistant it returns the following error:
Failed to call service vacuum.turn_on. unknown error.
this happens on both robovacs.
any solutions will be appreciated.

Cannot decrypt messages

Robovac 30C Max. I previously had a working integration that was manually configured but when facing the deprecated StateVacummEntity issue tried to migrate over. Receiving theerrors:

Failed to decrypt message from (192.168.86.92:6668)
Failed to decrypt message from (192.168.86.91:6668)

'utf-8' codec can't decode byte 0x95 in position 10: invalid start byte
'utf-8' codec can't decode byte 0xe4 in position 0: invalid continuation byte
'utf-8' codec can't decode byte 0xe6 in position 4: invalid continuation byte
'utf-8' codec can't decode byte 0x96 in position 10: invalid start byte
'utf-8' codec can't decode byte 0x97 in position 10: invalid start byte

I tried the solution here: #15 but this made no difference.

Any ideas where to start with sorting this greatly appreciated.

This repo is most likely unmaintained

Given that the maintainer of this integration hasn't been active on GitHub since December 2022, I've forked this repo with a view to maintain it along with anyone else who would like to help.

I'm also submitting my fork to be included in HACS by default.

Fork is here, but happy to consider setting up an org or whatever: https://github.com/CodeFoodPixels/robovac

Home Assistant errors even though integration seems to function correctly

I have 2 Robovacs added through the integration. A 15C and 15C Max. Both seem to function and are controllable though both the front end and automations. However I am getting persistent error messages in the logs despite functionality seemingly being fine. The errors are repeated every few hours for both vacuums and they usually appear rapidly one after another.

Home Assistant 2022.10.4
Supervisor 2022.10.0
Operating System 9.2
Frontend 20221010.0 - latest
HACS 1.28.0

I have obfuscated the IDs and the IPs for the Vacuums, but the messages are exactly the same for both.

This error originated from a custom integration.

Logger: custom_components.robovac.tuyalocalapi
Source: custom_components/robovac/tuyalocalapi.py:741 
Integration: Eufy Robovac 
First occurred: 23:15:29 (16 occurrences) 
Last logged: 23:26:56

Connection to xxxxxxxxxxxxxxxxxxxxxxxxx (192.168.0.XXX:6668) failed: [Errno 104] Connection reset by peer

x10 Pro Omni not seen

Just added this into my HA but it doesnt see my X10 Pro omni. under configure it says select the vacuum to edit but nothing is there. Is there a newer version to install?

X8 cleaning minutes and sq ft indicator not updating on vacuum card

I was able to add this very easily by copying your code snippets. After adding the vacuum card, the auto clean and docking controls work, but the area that shows how long the machine has been running and the sq footage remain unchanged. I can see the info in the eufy app, is it possible this isn't making it into HA?

Screenshot_20230331_111855_Home Assistant

Eufy Key Grabber has been moved!

Andre Borie's Eufy Key Grabber has been moved to GitHub. Here is the new link.

NOTE: IT IS NO LONGER MAINTAINED

Sidenote: Still worked for me for my Robovac 35C as of today.

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.