Skip to content

Commit

Permalink
refactor: add next_alarm label
Browse files Browse the repository at this point in the history
  • Loading branch information
alandtse committed Jun 25, 2022
1 parent 8dd43ea commit 33f5d4c
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions custom_components/alexa_media/sensor.py
Expand Up @@ -228,7 +228,7 @@ def __init__(
self,
client,
n_dict,
sensor_property: Text,
sensor_property: str,
account,
name="Next Notification",
icon=None,
Expand All @@ -252,9 +252,9 @@ def __init__(
self._tracker: Optional[Callable] = None
self._state: Optional[datetime.datetime] = None
self._dismissed: Optional[datetime.datetime] = None
self._status: Optional[Text] = None
self._amz_id: Optional[Text] = None
self._version: Optional[Text] = None
self._status: Optional[str] = None
self._amz_id: Optional[str] = None
self._version: Optional[str] = None

def _process_raw_notifications(self):
self._all = (
Expand Down Expand Up @@ -356,17 +356,18 @@ def _fix_alarm_date_time(self, value):

def _update_recurring_alarm(self, value):
_LOGGER.debug("Sensor value %s", value)
alarm = value[1][self._sensor_property]
next_item = value[1]
alarm = next_item[self._sensor_property]
reminder = None
if isinstance(value[1][self._sensor_property], (int, float)):
if isinstance(next_item[self._sensor_property], (int, float)):
reminder = True
alarm = dt.as_local(
self._round_time(
datetime.datetime.fromtimestamp(alarm / 1000, tz=LOCAL_TIMEZONE)
)
)
alarm_on = value[1]["status"] == "ON"
recurring_pattern = value[1].get("recurringPattern")
alarm_on = next_item["status"] == "ON"
recurring_pattern = next_item.get("recurringPattern")
while (
alarm_on
and recurring_pattern
Expand All @@ -377,14 +378,14 @@ def _update_recurring_alarm(self, value):
alarm += datetime.timedelta(days=1)
if reminder:
alarm = dt.as_timestamp(alarm) * 1000
if alarm != value[1][self._sensor_property]:
if alarm != next_item[self._sensor_property]:
_LOGGER.debug(
"%s with recurrence %s set to %s",
value[1]["type"],
next_item["type"],
RECURRING_PATTERN.get(recurring_pattern),
alarm,
)
value[1][self._sensor_property] = alarm
next_item[self._sensor_property] = alarm
return value

@staticmethod
Expand Down

0 comments on commit 33f5d4c

Please sign in to comment.