fixed states?

This commit is contained in:
John Lancaster
2023-12-08 16:29:25 -06:00
parent cf9f0f3244
commit 4f11d9bdcc

View File

@@ -113,15 +113,18 @@ class RoomController(Hass, Mqtt):
# now: datetime = await self.get_now()
# self.log(f'Getting state for datetime: {now.strftime("%I:%M:%S %p")}')
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:
res = state
self.log(f'Selected state from {time_str}')
return state
else:
self.log(f'Not {time_str}')
else:
self.log(f'Defaulting to first state')
res = self.states[0]
self.log(f'Selected state from {res["time"].strftime("%I:%M:%S %p")}')
return res
return self.states[0]
async def current_scene(self, time: time = None):
if (state := (await self.current_state(time=time))) is not None: