mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 21:57:51 +00:00
Recollect waste multi day (#41853)
* Add a "next day" attribute for recollect_waste * Add a "next_day" attribute for recollect_waste * Added "next day" capability to recollect_waste * Add a "next_day" attribute for recollect_waste * Add better try/catch for recollect_waste
This commit is contained in:
parent
36b1756816
commit
aef80263cd
@ -1,5 +1,5 @@
|
|||||||
"""Support for Recollect Waste curbside collection pickup."""
|
"""Support for Recollect Waste curbside collection pickup."""
|
||||||
from datetime import timedelta
|
from datetime import date, timedelta
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
import recollect_waste
|
import recollect_waste
|
||||||
@ -13,6 +13,8 @@ from homeassistant.helpers.entity import Entity
|
|||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
ATTR_PICKUP_TYPES = "pickup_types"
|
ATTR_PICKUP_TYPES = "pickup_types"
|
||||||
ATTR_AREA_NAME = "area_name"
|
ATTR_AREA_NAME = "area_name"
|
||||||
|
ATTR_NEXT_PICKUP_TYPES = "next_pickup_types"
|
||||||
|
ATTR_NEXT_PICKUP_DATE = "next_pickup_date"
|
||||||
CONF_PLACE_ID = "place_id"
|
CONF_PLACE_ID = "place_id"
|
||||||
CONF_SERVICE_ID = "service_id"
|
CONF_SERVICE_ID = "service_id"
|
||||||
DEFAULT_NAME = "recollect_waste"
|
DEFAULT_NAME = "recollect_waste"
|
||||||
@ -84,13 +86,21 @@ class RecollectWasteSensor(Entity):
|
|||||||
def update(self):
|
def update(self):
|
||||||
"""Update device state."""
|
"""Update device state."""
|
||||||
try:
|
try:
|
||||||
pickup_event = self.client.get_next_pickup()
|
pickup_event_array = self.client.get_pickup_events(
|
||||||
|
date.today(), date.today() + timedelta(weeks=4)
|
||||||
|
)
|
||||||
|
except recollect_waste.RecollectWasteException as ex:
|
||||||
|
_LOGGER.error("Recollect Waste platform error. %s", ex)
|
||||||
|
else:
|
||||||
|
pickup_event = pickup_event_array[0]
|
||||||
|
next_pickup_event = pickup_event_array[1]
|
||||||
|
next_date = str(next_pickup_event.event_date)
|
||||||
self._state = pickup_event.event_date
|
self._state = pickup_event.event_date
|
||||||
self._attributes.update(
|
self._attributes.update(
|
||||||
{
|
{
|
||||||
ATTR_PICKUP_TYPES: pickup_event.pickup_types,
|
ATTR_PICKUP_TYPES: pickup_event.pickup_types,
|
||||||
ATTR_AREA_NAME: pickup_event.area_name,
|
ATTR_AREA_NAME: pickup_event.area_name,
|
||||||
|
ATTR_NEXT_PICKUP_TYPES: next_pickup_event.pickup_types,
|
||||||
|
ATTR_NEXT_PICKUP_DATE: next_date,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
except recollect_waste.RecollectWasteException as ex:
|
|
||||||
_LOGGER.error("Recollect Waste platform error. %s", ex)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user