appd - Make TOD controller fire events on change

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

View File

@ -33,11 +33,17 @@ class TimeOfDay(Timers, Entities):
self.update(None, None, {'trigger': 'init'}) self.update(None, None, {'trigger': 'init'})
def update(self, old, new, kwarg): def update(self, old=None, new=None, kwarg=None):
if kwarg is None:
kwarg = old
trigger = kwarg.get('trigger', None) trigger = kwarg.get('trigger', None)
if kwarg.get('entity', None) in ['tod', 'dark']: if kwarg.get('entity', None) == 'tod':
self.fire_event('TOD_TOD', old = old, new = new)
return
if kwarg.get('entity', None) == 'dark':
self.fire_event('TOD_DARK', old = old, new = new)
return return
self.log(f"TOD - updated by {trigger}") self.log(f"TOD - updated by {trigger}")
@ -101,3 +107,10 @@ class TimeOfDay(Timers, Entities):
self.e['dark'].push() self.e['dark'].push()
self.e['tod'].state = tod self.e['tod'].state = tod
self.e['tod'].push() self.e['tod'].push()
@property
def tod(self):
return self.e['tod'].state
@property
def dark(self):
return self.e['dark'].state

View File

@ -3,6 +3,8 @@ timeofday:
class: TimeOfDay class: TimeOfDay
global_dependencies: global_dependencies:
- base - base
- entities
- timers
morning: morning:
name: input_datetime.tod_morning name: input_datetime.tod_morning