appd - Simple automations for outside and decoration lights

This commit is contained in:
Thomas Lovén 2018-12-28 23:19:40 +01:00
parent e578fdabe6
commit 9609e9c627
2 changed files with 53 additions and 0 deletions

View File

@ -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()

View File

@ -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