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

fix(vaccum): use activity instead of deprecated property state #474

Merged
merged 3 commits into from
Jan 11, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 11 additions & 16 deletions custom_components/localtuya/vacuum.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,9 @@
import voluptuous as vol
from homeassistant.components.vacuum import (
DOMAIN,
STATE_CLEANING,
STATE_DOCKED,
STATE_ERROR,
STATE_IDLE,
STATE_PAUSED,
STATE_RETURNING,
VacuumEntityFeature,
StateVacuumEntity,
VacuumActivity,
VacuumEntityFeature,
)

from .entity import LocalTuyaEntity, async_setup_entry
Expand Down Expand Up @@ -149,7 +144,7 @@ def supported_features(self) -> VacuumEntityFeature:
return supported_features

@property
def state(self):
def activity(self) -> VacuumActivity | None:
"""Return the vacuum state."""
return self._state

Expand Down Expand Up @@ -227,22 +222,22 @@ async def async_send_command(self, command, params=None, **kwargs):

def status_updated(self):
"""Device status was updated."""
state_value = str(self.dp_value(self._dp_id))
state_value = self.dp_value(self._dp_id)

if state_value == "None":
if state_value is None:
self._state = None
elif state_value in self._idle_status_list:
self._state = STATE_IDLE
self._state = VacuumActivity.IDLE
elif state_value in self._docked_status_list:
self._state = STATE_DOCKED
self._state = VacuumActivity.DOCKED
elif state_value in self._returning_status_list:
self._state = STATE_RETURNING
self._state = VacuumActivity.RETURNING
elif state_value in [self._config[CONF_PAUSED_STATE], "pause"] or (
not state_value and self.dp_value(CONF_PAUSE_DP) is True
):
self._state = STATE_PAUSED
self._state = VacuumActivity.PAUSED
else:
self._state = STATE_CLEANING
self._state = VacuumActivity.CLEANING

if self.has_config(CONF_BATTERY_DP):
self._battery_level = self.dp_value(CONF_BATTERY_DP)
Expand All @@ -268,7 +263,7 @@ def status_updated(self):
if self.has_config(CONF_FAULT_DP):
self._attrs[FAULT] = self.dp_value(CONF_FAULT_DP)
if self._attrs[FAULT] != 0:
self._state = STATE_ERROR
self._state = VacuumActivity.ERROR


async_setup_entry = partial(async_setup_entry, DOMAIN, LocalTuyaVacuum, flow_schema)
Loading