From 00cc17f3211fa2b3ee65beddc26dc69556bbaa8e Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Wed, 11 Nov 2020 14:25:19 -0700 Subject: [PATCH 1/2] Fix incorrect Notion battery state calculation --- homeassistant/components/notion/binary_sensor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/notion/binary_sensor.py b/homeassistant/components/notion/binary_sensor.py index e6f4307a53c59..9d184cc5a9f79 100644 --- a/homeassistant/components/notion/binary_sensor.py +++ b/homeassistant/components/notion/binary_sensor.py @@ -94,7 +94,7 @@ def is_on(self) -> bool: task = self.coordinator.data["tasks"][self._task_id] if task["task_type"] == SENSOR_BATTERY: - return self._state != "critical" + return self._state == "critical" if task["task_type"] in ( SENSOR_DOOR, SENSOR_GARAGE_DOOR, From 8584e91bf8e83a2613e60e040bb82ec689c62f60 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Wed, 11 Nov 2020 14:40:09 -0700 Subject: [PATCH 2/2] Both cases --- homeassistant/components/notion/binary_sensor.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/notion/binary_sensor.py b/homeassistant/components/notion/binary_sensor.py index 9d184cc5a9f79..b8fd96fabc5d7 100644 --- a/homeassistant/components/notion/binary_sensor.py +++ b/homeassistant/components/notion/binary_sensor.py @@ -79,14 +79,10 @@ def _async_update_from_latest_data(self) -> None: """Fetch new state data for the sensor.""" 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" - ] + if "value" in task["status"]: + self._state = task["status"]["value"] + elif task["task_type"] == SENSOR_BATTERY: + self._state = task["status"]["data"]["to_state"] @property def is_on(self) -> bool: