Skip to content

Commit ca2a9f5

Browse files
committed
Merge branch 'suntest' into dev
2 parents fe7c01b + 1f0779f commit ca2a9f5

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

appdaemon/scheduler.py

+19-11
Original file line numberDiff line numberDiff line change
@@ -388,11 +388,12 @@ def get_next_sun_event(self, type: str, day_offset: int):
388388
else:
389389
return self.next_sunset(day_offset)
390390

391-
def todays_sunrise(self, days_offset):
392-
candidate_date = (self.now + datetime.timedelta(days=days_offset)).astimezone(self.AD.tz).date()
393-
next_rising_dt = self.location.sunrise(date=candidate_date, local=False, observer_elevation=self.AD.elevation)
391+
def todays_sunrise(self, days_offset): # @here todays sunrise
392+
candidate_date = (self.now.astimezone(self.AD.tz) + datetime.timedelta(days=days_offset)).date()
393+
# self.logger.info(f"{self.now.astimezone(self.AD.tz)=}, {candidate_date=}")
394+
sunrise = self.location.sunrise(date=candidate_date, local=True, observer_elevation=self.AD.elevation)
394395

395-
return next_rising_dt
396+
return sunrise
396397

397398
def next_sunrise(self, offset: int = 0):
398399
day_offset = 0
@@ -427,10 +428,11 @@ def next_sunset(self, offset: int = 0):
427428
return next_setting_dt
428429

429430
def todays_sunset(self, days_offset):
430-
candidate_date = (self.now + datetime.timedelta(days=days_offset)).astimezone(self.AD.tz).date()
431-
next_setting_dt = self.location.sunset(date=candidate_date, local=False, observer_elevation=self.AD.elevation)
431+
candidate_date = (self.now.astimezone(self.AD.tz) + datetime.timedelta(days=days_offset)).date()
432+
# self.logger.info(f"{self.now.astimezone(self.AD.tz)=}, {candidate_date=}")
433+
sunset = self.location.sunset(date=candidate_date, local=True, observer_elevation=self.AD.elevation)
432434

433-
return next_setting_dt
435+
return sunset
434436

435437
@staticmethod
436438
def get_offset(kwargs: dict):
@@ -772,25 +774,31 @@ async def now_is_between(self, start_time_str, end_time_str, name=None, now=None
772774
else:
773775
now = (await self.get_now()).astimezone(self.AD.tz)
774776

775-
# self.diag.info(f"locals: {locals()}")
777+
# self.logger.info(
778+
# "\n" + "-" * 80 + f"\nInitial\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "-" * 80
779+
# )
780+
776781
# Comparisons
777782
if end_time < start_time:
778-
# self.diag.info("Midnight transition")
779783
# Start and end time backwards.
780784
# Spans midnight
781785
# Lets start by assuming end_time is wrong and should be tomorrow
782786
# This will be true if we are currently after start_time
783787
end_time = (await self._parse_time(end_time_str, name, today=True, days_offset=1))["datetime"]
788+
# self.logger.info(
789+
# f"\nMidnight transition detected\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "-" * 80
790+
# )
784791
if now < start_time and now < end_time:
785-
# self.diag.info("Reverse")
786792
# Well, it's complicated -
787793
# We crossed into a new day and things changed.
788794
# Now all times have shifted relative to the new day, so we need to look at it differently
789795
# If both times are now in the future, we now actually want to set start time back a day and keep end_time as today
790796
start_time = (await self._parse_time(start_time_str, name, today=True, days_offset=-1))["datetime"]
791797
end_time = (await self._parse_time(end_time_str, name, today=True, days_offset=0))["datetime"]
798+
# self.logger.info(f"\nReverse\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "=" * 80)
792799

793-
# self.diag.info(f"\nstart = {start_time}\nnow = {now}\nend = {end_time}")
800+
# self.logger.info(f"\nFinal\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "-" * 80)
801+
# self.logger.info(f"Final decision: {start_time <= now <= end_time}\n" + "=" * 80)
794802
return start_time <= now <= end_time
795803

796804
async def sunset(self, aware, today=False, days_offset=0):

0 commit comments

Comments
 (0)