From 9b58b24b179347add7d1522953a5f853c284f6cc Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Tue, 10 Nov 2020 18:00:04 -0700 Subject: [PATCH] Fix API change with Notion batteries (#43073) --- homeassistant/components/notion/binary_sensor.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/notion/binary_sensor.py b/homeassistant/components/notion/binary_sensor.py index 1597957c1f5..e6f4307a53c 100644 --- a/homeassistant/components/notion/binary_sensor.py +++ b/homeassistant/components/notion/binary_sensor.py @@ -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,