fixed states?
This commit is contained in:
@@ -113,15 +113,18 @@ class RoomController(Hass, Mqtt):
|
|||||||
# now: datetime = await self.get_now()
|
# now: datetime = await self.get_now()
|
||||||
# self.log(f'Getting state for datetime: {now.strftime("%I:%M:%S %p")}')
|
# self.log(f'Getting state for datetime: {now.strftime("%I:%M:%S %p")}')
|
||||||
time = time or (await self.get_now()).time()
|
time = time or (await self.get_now()).time()
|
||||||
for state in self.states:
|
time_fmt = "%I:%M %p"
|
||||||
|
self.log(f'Getting state before: {time.strftime(time_fmt)}')
|
||||||
|
for state in self.states[::-1]:
|
||||||
|
time_str = state["time"].strftime(time_fmt)
|
||||||
if state['time'] <= time:
|
if state['time'] <= time:
|
||||||
res = state
|
self.log(f'Selected state from {time_str}')
|
||||||
|
return state
|
||||||
|
else:
|
||||||
|
self.log(f'Not {time_str}')
|
||||||
else:
|
else:
|
||||||
self.log(f'Defaulting to first state')
|
self.log(f'Defaulting to first state')
|
||||||
res = self.states[0]
|
return self.states[0]
|
||||||
|
|
||||||
self.log(f'Selected state from {res["time"].strftime("%I:%M:%S %p")}')
|
|
||||||
return res
|
|
||||||
|
|
||||||
async def current_scene(self, time: time = None):
|
async def current_scene(self, time: time = None):
|
||||||
if (state := (await self.current_state(time=time))) is not None:
|
if (state := (await self.current_state(time=time))) is not None:
|
||||||
|
|||||||
Reference in New Issue
Block a user