Try to make unstable lights stay up-to-date
This commit is contained in:
parent
6c74d378f6
commit
1c2a41cef3
@ -8,22 +8,30 @@ class OutsideLights(Entities):
|
||||
|
||||
self.listen_event(self.update, 'TOD_TOD')
|
||||
self.run_in(lambda *_: self.update(None, None, None), 2)
|
||||
for l in self.args['lights']:
|
||||
self.listen_event(self.found, l, old="unavailable")
|
||||
|
||||
def update(self, event, data, kwarg):
|
||||
state = self.get_app('timeofday').dark
|
||||
self.state = self.get_app('timeofday').dark
|
||||
if self.get_app('timeofday').tod == 'night':
|
||||
state = False
|
||||
self.state = False
|
||||
|
||||
self.log(f"OUTSIDE LIGHTS - Turning lights {state}")
|
||||
self.log(f"OUTSIDE LIGHTS - Turning lights {self.state}")
|
||||
for l in self.e:
|
||||
self.e[l].state = state
|
||||
self.e[l].state = self.state
|
||||
self.e[l].push()
|
||||
|
||||
def found(self, entity, attribute, old, new, kwargs):
|
||||
if old == "unavailable":
|
||||
self.log(f"{entity} showed up, setting to {self.state}")
|
||||
self.e[entity].state = self.state
|
||||
self.e[entity].push()
|
||||
|
||||
class DecorativeLights(OutsideLights):
|
||||
def update(self, event, data, kwarg):
|
||||
state = self.get_app('timeofday').dark
|
||||
self.log(f"DECOATIVE LIGHTS - Turning lights {state}")
|
||||
self.state = self.get_app('timeofday').dark
|
||||
self.log(f"DECORATIVE LIGHTS - Turning lights {self.state}")
|
||||
for l in self.e:
|
||||
self.e[l].state = state
|
||||
self.e[l].state = self.state
|
||||
self.e[l].push()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user