diff --git a/README.md b/README.md index 8ddb90f..1824320 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,8 @@ More details in [Wiki](https://github.com/IATkachenko/HA-SleepAsAndroid/wiki/app ### on device event 1. select `Device` in automatization trigger and use `SleepAsAndroid` device; 1. select trigger from a list. + +![added_in_version_badge](https://img.shields.io/badge/Since-v1.7.0-red) events will be fired up for every MQTT message ### on sensor state change `` is an integration name in lower case without spaces from the `Settings` dialog. @@ -90,6 +92,7 @@ If application publishes a new event, then integration fires `` event with "event": "" } ``` +![added_in_version_badge](https://img.shields.io/badge/Since-v1.7.0-red) events will be fired up for every MQTT message ## Attributes ![added_in_version_badge](https://img.shields.io/badge/Since-v1.7.0-red) diff --git a/custom_components/sleep_as_android/sensor.py b/custom_components/sleep_as_android/sensor.py index 709e697..bfa3704 100644 --- a/custom_components/sleep_as_android/sensor.py +++ b/custom_components/sleep_as_android/sensor.py @@ -120,6 +120,8 @@ def process_message(self, msg): self._set_attributes(payload) self.state = new_state + self._fire_event(self.state) + self._fire_trigger(self.state) except json.decoder.JSONDecodeError: _LOGGER.warning("expected JSON payload. got '%s' instead", msg.payload) @@ -150,9 +152,6 @@ def state(self, new_state: str): if self._state != new_state: self._state = new_state self.async_write_ha_state() - if new_state != STATE_UNKNOWN: - self._fire_event(self.state) - self._fire_trigger(self.state) else: _LOGGER.debug(f"Will not update state because old state == new_state")