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'})
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)
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
self.log(f"TOD - updated by {trigger}")
@ -101,3 +107,10 @@ class TimeOfDay(Timers, Entities):
self.e['dark'].push()
self.e['tod'].state = tod
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
global_dependencies:
- base
- entities
- timers
morning:
name: input_datetime.tod_morning