Fix API change with Notion batteries (#43073)

This commit is contained in:
Aaron Bach 2020-11-10 18:00:04 -07:00 committed by GitHub
parent 4b9ba79584
commit 9b58b24b17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -77,7 +77,16 @@ class NotionBinarySensor(NotionEntity, BinarySensorEntity):
@callback
def _async_update_from_latest_data(self) -> None:
"""Fetch new state data for the sensor."""
self._state = self.coordinator.data["tasks"][self._task_id]["status"]["value"]
task = self.coordinator.data["tasks"][self._task_id]
if task["task_type"] == SENSOR_BATTERY:
self._state = self.coordinator.data["tasks"][self._task_id]["status"][
"data"
]["to_state"]
else:
self._state = self.coordinator.data["tasks"][self._task_id]["status"][
"value"
]
@property
def is_on(self) -> bool:
@ -85,7 +94,7 @@ class NotionBinarySensor(NotionEntity, BinarySensorEntity):
task = self.coordinator.data["tasks"][self._task_id]
if task["task_type"] == SENSOR_BATTERY:
return self._state != "battery_good"
return self._state != "critical"
if task["task_type"] in (
SENSOR_DOOR,
SENSOR_GARAGE_DOOR,