From 7921be1b5f0f47a89df39b74f6fd17c748119fd7 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Thu, 12 Nov 2020 10:47:47 -0700 Subject: [PATCH] Fix incorrect Notion battery state calculation (#43108) * Fix incorrect Notion battery state calculation * Both cases --- homeassistant/components/notion/binary_sensor.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/notion/binary_sensor.py b/homeassistant/components/notion/binary_sensor.py index e6f4307a53c..b8fd96fabc5 100644 --- a/homeassistant/components/notion/binary_sensor.py +++ b/homeassistant/components/notion/binary_sensor.py @@ -79,14 +79,10 @@ class NotionBinarySensor(NotionEntity, BinarySensorEntity): """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: @@ -94,7 +90,7 @@ class NotionBinarySensor(NotionEntity, BinarySensorEntity): 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,