diff --git a/homeassistant/components/notion/binary_sensor.py b/homeassistant/components/notion/binary_sensor.py index e6f4307a53c59..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: @@ -94,7 +90,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,