Files
ad-nix/apps/hello.py
2024-01-28 09:04:54 -06:00

29 lines
895 B
Python

from datetime import datetime
from appdaemon.plugins.hass.hassapi import Hass
class HelloWorld(Hass):
def initialize(self):
self.log('Hello World')
now: datetime = self.get_now()
eid = self.args['eid']
self.log(eid)
self.listen_state(self.my_callback, eid)
self.set_state(eid, state=now.isoformat(), attributes=dict(name='Test Fade Start'))
self.log(f'Set state to {now.time()}')
def my_callback(self, entity, attribute, old, new, kwargs):
new = self.convert_time(new)
old = self.convert_time(old)
self.log(f'{attribute} {old} -> {new}')
def convert_time(self, time_str: str) -> datetime:
dt = datetime.fromisoformat(time_str)
try:
dt = self.AD.tz.localize(dt)
except ValueError:
dt = dt.astimezone(self.AD.tz)
finally:
return dt