From cf154099738d3a7980f811aec87443f98115a158 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Sun, 21 Sep 2025 21:15:57 -0400 Subject: [PATCH] Fix schedule timezone handling (#52) - Add proper timezone support to _check_schedule() method - Use configured timezone instead of system local time - Add pytz import for timezone handling - Ensures schedule respects America/Chicago timezone setting - Fixes issue where display wouldn't turn off at configured end_time --- src/display_controller.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/display_controller.py b/src/display_controller.py index 5d82ddac..c26ca780 100644 --- a/src/display_controller.py +++ b/src/display_controller.py @@ -1,6 +1,7 @@ import time import logging import sys +import pytz from typing import Dict, Any, List from datetime import datetime, time as time_obj @@ -930,7 +931,15 @@ class DisplayController: self.is_display_active = True return - now_time = datetime.now().time() + # Get current time in configured timezone + timezone_str = self.config.get('timezone', 'UTC') + try: + tz = pytz.timezone(timezone_str) + except pytz.exceptions.UnknownTimeZoneError: + logger.warning(f"Unknown timezone: {timezone_str}, falling back to UTC") + tz = pytz.UTC + + now_time = datetime.now(tz).time() # Handle overnight schedules if self.start_time <= self.end_time: