diff --git a/appdaemon/apps/logger.py b/appdaemon/apps/logger.py new file mode 100644 index 0000000..e353f91 --- /dev/null +++ b/appdaemon/apps/logger.py @@ -0,0 +1,23 @@ +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 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)) diff --git a/appdaemon/apps/logger.yaml b/appdaemon/apps/logger.yaml new file mode 100644 index 0000000..d17d8c2 --- /dev/null +++ b/appdaemon/apps/logger.yaml @@ -0,0 +1,5 @@ +logger: + module: logger + class: Logger + global_dependencies: + - base diff --git a/packages/logging.yaml b/packages/logging.yaml new file mode 100644 index 0000000..6566c72 --- /dev/null +++ b/packages/logging.yaml @@ -0,0 +1,48 @@ +homeassistant: + customize: + package.node_anchors: + common: &common + package: "logging" + +notify: + - platform: rest + name: discord_log + method: POST + message_param_name: content + title_param_name: username + data: + username: Åvägen + resource: !secret discord_log + - platform: rest + name: discord_info + method: POST + message_param_name: content + title_param_name: username + data: + username: Åvägen + resource: !secret discord_info + + +script: + log_message: + sequence: + - service: notify.discord_log + data_template: + message: "{{ message }}" + info_message: + sequence: + - service: notify.discord_info + data_template: + message: "{{ message }}" + - service: notify.discord_log + data_template: + message: "INFO: {{ message }}" + +automation: + trigger: + platform: homeassistant + event: start + action: + - service: script.info_message + data: + message: "Home Assistant started!"