Ensure ReCollect Waste shows pickups for midnight on the actual day (#55424)

This commit is contained in:
Aaron Bach
2021-08-29 21:27:34 -06:00
committed by Paulus Schoutsen
parent 47e2d1caa5
commit 6cf799459b

View File

@@ -1,6 +1,8 @@
"""Support for ReCollect Waste sensors.""" """Support for ReCollect Waste sensors."""
from __future__ import annotations from __future__ import annotations
from datetime import date, datetime, time
from aiorecollect.client import PickupType from aiorecollect.client import PickupType
import voluptuous as vol import voluptuous as vol
@@ -20,6 +22,7 @@ from homeassistant.helpers.update_coordinator import (
CoordinatorEntity, CoordinatorEntity,
DataUpdateCoordinator, DataUpdateCoordinator,
) )
from homeassistant.util.dt import as_utc
from .const import CONF_PLACE_ID, CONF_SERVICE_ID, DATA_COORDINATOR, DOMAIN, LOGGER from .const import CONF_PLACE_ID, CONF_SERVICE_ID, DATA_COORDINATOR, DOMAIN, LOGGER
@@ -73,6 +76,12 @@ async def async_setup_platform(
) )
@callback
def async_get_utc_midnight(target_date: date) -> datetime:
"""Get UTC midnight for a given date."""
return as_utc(datetime.combine(target_date, time(0)))
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
) -> None: ) -> None:
@@ -123,7 +132,9 @@ class ReCollectWasteSensor(CoordinatorEntity, SensorEntity):
ATTR_NEXT_PICKUP_TYPES: async_get_pickup_type_names( ATTR_NEXT_PICKUP_TYPES: async_get_pickup_type_names(
self._entry, next_pickup_event.pickup_types self._entry, next_pickup_event.pickup_types
), ),
ATTR_NEXT_PICKUP_DATE: next_pickup_event.date.isoformat(), ATTR_NEXT_PICKUP_DATE: async_get_utc_midnight(
next_pickup_event.date
).isoformat(),
} }
) )
self._attr_native_value = pickup_event.date.isoformat() self._attr_native_value = async_get_utc_midnight(pickup_event.date).isoformat()