Fix timedelta-based sensors for xiaomi_miio (#58995)
This commit is contained in:
parent
1af621ef13
commit
96c03aec06
1 changed files with 2 additions and 7 deletions
|
@ -167,8 +167,7 @@ class XiaomiCoordinatedMiioEntity(CoordinatorEntity):
|
||||||
return cls._parse_datetime_time(value)
|
return cls._parse_datetime_time(value)
|
||||||
if isinstance(value, datetime.datetime):
|
if isinstance(value, datetime.datetime):
|
||||||
return cls._parse_datetime_datetime(value)
|
return cls._parse_datetime_datetime(value)
|
||||||
if isinstance(value, datetime.timedelta):
|
|
||||||
return cls._parse_time_delta(value)
|
|
||||||
if value is None:
|
if value is None:
|
||||||
_LOGGER.debug("Attribute %s is None, this is unexpected", attribute)
|
_LOGGER.debug("Attribute %s is None, this is unexpected", attribute)
|
||||||
|
|
||||||
|
@ -176,7 +175,7 @@ class XiaomiCoordinatedMiioEntity(CoordinatorEntity):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_time_delta(timedelta: datetime.timedelta) -> int:
|
def _parse_time_delta(timedelta: datetime.timedelta) -> int:
|
||||||
return timedelta.seconds
|
return int(timedelta.total_seconds())
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_datetime_time(time: datetime.time) -> str:
|
def _parse_datetime_time(time: datetime.time) -> str:
|
||||||
|
@ -192,7 +191,3 @@ class XiaomiCoordinatedMiioEntity(CoordinatorEntity):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_datetime_datetime(time: datetime.datetime) -> str:
|
def _parse_datetime_datetime(time: datetime.datetime) -> str:
|
||||||
return time.isoformat()
|
return time.isoformat()
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def _parse_datetime_timedelta(time: datetime.timedelta) -> int:
|
|
||||||
return time.seconds
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue