diff --git a/appdaemon/apps/timed_lights.py b/appdaemon/apps/timed_lights.py new file mode 100644 index 0000000..f86eea4 --- /dev/null +++ b/appdaemon/apps/timed_lights.py @@ -0,0 +1,30 @@ +from entities import Entities + +class OutsideLights(Entities): + def initialize(self): + super().initialize() + for l in self.args['lights']: + self.register_entity(l, l) + + self.listen_event(self.update, 'TOD_TOD') + self.listen_event(self.update, 'TOD_DARK') + self.run_in(lambda *_: self.update(None, None, None), 2) + + def update(self, event, data, kwarg): + state = self.get_app('timeofday').dark + if self.get_app('timeofday').tod == 'night': + state = False + + self.log(f"OUTSIDE LIGHTS - Turning lights {state}") + for l in self.e: + self.e[l].state = state + self.e[l].push() + +class DecorativeLights(OutsideLights): + def update(self, event, data, kwarg): + state = self.get_app('timeofday').dark + self.log(f"DECOATIVE LIGHTS - Turning lights {state}") + for l in self.e: + self.e[l].state = state + self.e[l].push() + diff --git a/appdaemon/apps/timed_lights.yaml b/appdaemon/apps/timed_lights.yaml new file mode 100644 index 0000000..c41c396 --- /dev/null +++ b/appdaemon/apps/timed_lights.yaml @@ -0,0 +1,23 @@ +outside_lights: + module: timed_lights + class: OutsideLights + global_dependencies: + - entities + dependencies: + - timeofday + lights: + - light.ute_framsidan + + +decorative_lights: + module: timed_lights + class: DecorativeLights + global_dependencies: + - entities + dependencies: + - timeofday + lights: + - light.deko_vardagsrum + - light.skotbord + - light.trappbelysning + - light.kontor_fonster