From c509eabc3ae16540a36b2b0199839f481cbed2dc Mon Sep 17 00:00:00 2001 From: Seb Ruiz Date: Sat, 12 Feb 2022 21:32:09 +1100 Subject: [PATCH] Experimental change to turn switch off after receiving a change mode event. cc #96 --- custom_components/bhyve/switch.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/custom_components/bhyve/switch.py b/custom_components/bhyve/switch.py index 65c0e97..d34a0e1 100644 --- a/custom_components/bhyve/switch.py +++ b/custom_components/bhyve/switch.py @@ -466,11 +466,12 @@ def _set_watering_program(self, program): def _should_handle_event(self, event_name, data): return event_name in [ + EVENT_CHANGE_MODE, EVENT_DEVICE_IDLE, + EVENT_PROGRAM_CHANGED, + EVENT_SET_MANUAL_PRESET_TIME, EVENT_WATERING_COMPLETE, EVENT_WATERING_IN_PROGRESS, - EVENT_SET_MANUAL_PRESET_TIME, - EVENT_PROGRAM_CHANGED, ] def _on_ws_data(self, data): @@ -480,7 +481,9 @@ def _on_ws_data(self, data): # {'event': 'program_changed' } event = data.get("event") - if event in (EVENT_DEVICE_IDLE, EVENT_WATERING_COMPLETE): + if event in (EVENT_DEVICE_IDLE, EVENT_WATERING_COMPLETE) or ( + event == EVENT_CHANGE_MODE and event.get("mode") in ("off", "auto") + ): self._is_on = False self._set_watering_started(None) elif event == EVENT_WATERING_IN_PROGRESS: