26 lines
911 B
Python
26 lines
911 B
Python
from base import Base
|
|
|
|
class Logger(Base):
|
|
def initialize(self):
|
|
super().initialize()
|
|
|
|
self.listen_event(self.event)
|
|
self.listen_state(self.state)
|
|
self.log_out("Appdaemon logger started")
|
|
|
|
def log_out(self, message):
|
|
self.call_service('notify/discord_log', message=message)
|
|
def info_out(self, message):
|
|
self.call_service('notify/discord_info', message=message)
|
|
|
|
def event(self, name, data, kwargs):
|
|
if name == 'call_service' and data['service'] == 'discord_log':
|
|
return
|
|
self.log_out("EVENT: {} {}".format(name, data))
|
|
|
|
def state(self, entity, attribute, old, new, kwargs):
|
|
tracked_domains = ['light', 'switch', 'device_tracker', 'binary_sensor']
|
|
domain = entity.split('.')[0]
|
|
if domain in tracked_domains:
|
|
self.log_out("STATE: {} {} {} =>{}".format(entity, attribute, old, new))
|