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