From 6a24ec7a3097213024cc3fd4d377430980e9ed69 Mon Sep 17 00:00:00 2001 From: schiermi Date: Wed, 17 Mar 2021 15:32:18 +0100 Subject: [PATCH] Fix workday sensor to honor timezone (#47927) --- homeassistant/components/workday/binary_sensor.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/workday/binary_sensor.py b/homeassistant/components/workday/binary_sensor.py index 44f30cf9538..7a414035900 100644 --- a/homeassistant/components/workday/binary_sensor.py +++ b/homeassistant/components/workday/binary_sensor.py @@ -1,5 +1,5 @@ """Sensor to indicate whether the current day is a workday.""" -from datetime import datetime, timedelta +from datetime import timedelta import logging from typing import Any @@ -9,6 +9,7 @@ import voluptuous as vol from homeassistant.components.binary_sensor import PLATFORM_SCHEMA, BinarySensorEntity from homeassistant.const import CONF_NAME, WEEKDAYS import homeassistant.helpers.config_validation as cv +import homeassistant.util.dt as dt _LOGGER = logging.getLogger(__name__) @@ -77,7 +78,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None): sensor_name = config[CONF_NAME] workdays = config[CONF_WORKDAYS] - year = (get_date(datetime.today()) + timedelta(days=days_offset)).year + year = (get_date(dt.now()) + timedelta(days=days_offset)).year obj_holidays = getattr(holidays, country)(years=year) if province: @@ -185,7 +186,7 @@ class IsWorkdaySensor(BinarySensorEntity): self._state = False # Get ISO day of the week (1 = Monday, 7 = Sunday) - date = get_date(datetime.today()) + timedelta(days=self._days_offset) + date = get_date(dt.now()) + timedelta(days=self._days_offset) day = date.isoweekday() - 1 day_of_week = day_to_string(day)