Skip to content

Commit

Permalink
Merge branch 'CodeFoodPixels:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
MelleD authored Mar 28, 2024
2 parents 44447c7 + f397319 commit b3988d3
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 35 deletions.
5 changes: 3 additions & 2 deletions custom_components/robovac/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

"""Config flow for Eufy Robovac integration."""
from __future__ import annotations
import json

import logging
from typing import Any, Optional
Expand Down Expand Up @@ -138,7 +139,6 @@ def get_eufy_vacuums(self):
if item["device"]["product"]["appliance"] == "Cleaning":
try:
device = tuya_client.get_device(item["device"]["id"])
_LOGGER.debug("Robovac schema: {}".format(device["schema"]))

vac_details = {
CONF_ID: item["device"]["id"],
Expand All @@ -153,10 +153,11 @@ def get_eufy_vacuums(self):
self[CONF_VACS][item["device"]["id"]] = vac_details
except:
_LOGGER.debug(
"Vacuum {} found on Eufy, but not on Tuya. Skipping.".format(
"Skipping vacuum {}: found on Eufy but not on Tuya. Eufy details:".format(
item["device"]["id"]
)
)
_LOGGER.debug(json.dumps(item["device"], indent=2))

return response

Expand Down
39 changes: 6 additions & 33 deletions custom_components/robovac/vacuum.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,28 +89,16 @@


class TUYA_CODES(StrEnum):
MODE = "5"
STATE = "15"
# FAN_SPEED = "102"
FAN_SPEED = "130"
BATTERY_LEVEL = "104"
STATE = "15"
ERROR_CODE = "106"
CLEANING_TIME = "109"
MODE = "5"
FAN_SPEED = "102"
CLEANING_AREA = "110"
CLEANING_TIME = "109"
AUTO_RETURN = "135"
DO_NOT_DISTURB = "107"
DO_NOT_DISTURB2 = "139"
BOOST_IQ = "118"
AUTO_RETURN = "135"
RETURN_HOME = "101" # boolean
A_111 = "111" # 65?
A_122 = "122" # continue
A_131 = "131" # false
A_137 = "137" # 0
HARDWARE_CODE = "115" # decoded
A_112 = "112" # decoded clean record?
A_113 = "113" # decoded
CLEAN_STATISTIC = "114" # decoded
MULTI_MAPS = "117" # decoded


TUYA_CONSUMABLES_CODES = ["142", "116"]
Expand Down Expand Up @@ -364,14 +352,7 @@ def update_entity_values(self):
# self.map_data = self.tuyastatus.get("121")
# self.erro_msg? = self.tuyastatus.get("124")
if self.robovac_supported & RoboVacEntityFeature.CONSUMABLES:
_LOGGER.debug("Support Consumables")
for CONSUMABLE_CODE in TUYA_CONSUMABLES_CODES:
_LOGGER.debug("Consumable code is: {}".format(CONSUMABLE_CODE))
_LOGGER.debug(
"Consumables value is: {}".format(
self.tuyastatus.get(CONSUMABLE_CODE)
)
)
if (
CONSUMABLE_CODE in self.tuyastatus
and self.tuyastatus.get(CONSUMABLE_CODE) is not None
Expand All @@ -381,18 +362,10 @@ def update_entity_values(self):
"ascii"
)
)
_LOGGER.debug(
"Consumables decoded value is: {}".format(consumables)
)
if (
"consumable" in consumables
and "duration" in consumables["consumable"]
):
_LOGGER.debug(
"Consumables encoded value is: {}".format(
consumables["consumable"]["duration"]
)
)
self._attr_consumables = consumables["consumable"]["duration"]

async def async_locate(self, **kwargs):
Expand Down Expand Up @@ -432,7 +405,7 @@ async def async_set_fan_speed(self, fan_speed, **kwargs):
fan_speed = "Boost_IQ"
elif fan_speed == "Pure":
fan_speed = "Quiet"
await self.vacuum.async_set({"130": fan_speed})
await self.vacuum.async_set({"102": fan_speed})

async def async_send_command(
self, command: str, params: dict | list | None = None, **kwargs
Expand Down

0 comments on commit b3988d3

Please sign in to comment.