leaving update
This commit is contained in:
@@ -2,17 +2,13 @@ from appdaemon.adapi import ADAPI
|
|||||||
|
|
||||||
class Leaving(ADAPI):
|
class Leaving(ADAPI):
|
||||||
def initialize(self):
|
def initialize(self):
|
||||||
self.listen_state(self.handle_state_change, entity_id=self.args['person'])
|
self.listen_state(self.turn_everything_off, entity_id=self.args['person'], old='home')
|
||||||
|
|
||||||
def handle_state_change(self, entity, attribute, old, new, kwargs):
|
|
||||||
self.log(f'Changed state {old} -> {new}')
|
|
||||||
if old == 'home' and new != 'home':
|
|
||||||
self.turn_everything_off()
|
|
||||||
|
|
||||||
def turn_everything_off(self):
|
def turn_everything_off(self, *args, **kwargs):
|
||||||
|
self.log(f'turning everything off')
|
||||||
for app_name in self.args['apps']:
|
for app_name in self.args['apps']:
|
||||||
try:
|
try:
|
||||||
self.get_app(app_name).deactivate(cause='leaving')
|
self.get_app(app_name).deactivate(kwargs={'cause': 'leaving'})
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.log(f'{type(e).__name__}: {e}')
|
self.log(f'{type(e).__name__}: {e}')
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user