Fix time zone for flux switch (#18102)

This commit is contained in:
Anders Melchiorsen 2018-11-02 12:32:41 +01:00 committed by Paulus Schoutsen
parent 8613694544
commit 93689d68f7
2 changed files with 38 additions and 36 deletions

View File

@ -25,7 +25,7 @@ from homeassistant.util import slugify
from homeassistant.util.color import (
color_temperature_to_rgb, color_RGB_to_xy_brightness,
color_temperature_kelvin_to_mired)
from homeassistant.util.dt import now as dt_now
from homeassistant.util.dt import utcnow as dt_utcnow, as_local
_LOGGER = logging.getLogger(__name__)
@ -195,10 +195,12 @@ class FluxSwitch(SwitchDevice):
self.schedule_update_ha_state()
def flux_update(self, now=None):
def flux_update(self, utcnow=None):
"""Update all the lights using flux."""
if now is None:
now = dt_now()
if utcnow is None:
utcnow = dt_utcnow()
now = as_local(utcnow)
sunset = get_astral_event_date(self.hass, SUN_EVENT_SUNSET, now.date())
start_time = self.find_start_time(now)

View File

@ -87,7 +87,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=10, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=10, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -96,7 +96,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.util.dt.utcnow', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
@ -127,7 +127,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=2, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=2, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -136,7 +136,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.util.dt.utcnow', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
@ -172,7 +172,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=8, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=8, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -181,7 +181,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -218,7 +218,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=17, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=17, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -227,7 +227,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -265,7 +265,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=23, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=23, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -274,7 +274,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.util.dt.utcnow', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
@ -310,7 +310,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=17, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=17, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -319,7 +319,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -360,7 +360,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=2, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=2, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -369,7 +369,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -411,7 +411,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=8, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=8, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -420,7 +420,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -461,7 +461,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=23, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=23, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -470,7 +470,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.util.dt.utcnow', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
@ -510,7 +510,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=00, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=00, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -519,7 +519,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -560,7 +560,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=2, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=2, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -569,7 +569,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -607,7 +607,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=17, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=17, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -616,7 +616,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -656,7 +656,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=17, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=17, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -665,7 +665,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -716,7 +716,7 @@ class TestSwitchFlux(unittest.TestCase):
assert state.attributes.get('xy_color') is None
assert state.attributes.get('brightness') is None
test_time = dt_util.now().replace(hour=12, minute=0, second=0)
test_time = dt_util.utcnow().replace(hour=12, minute=0, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -727,7 +727,7 @@ class TestSwitchFlux(unittest.TestCase):
print('sunset {}'.format(sunset_time))
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -770,7 +770,7 @@ class TestSwitchFlux(unittest.TestCase):
assert STATE_ON == state.state
assert state.attributes.get('color_temp') is None
test_time = dt_util.now().replace(hour=8, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=8, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -779,7 +779,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
@ -814,7 +814,7 @@ class TestSwitchFlux(unittest.TestCase):
assert STATE_ON == state.state
assert state.attributes.get('color_temp') is None
test_time = dt_util.now().replace(hour=8, minute=30, second=0)
test_time = dt_util.utcnow().replace(hour=8, minute=30, second=0)
sunset_time = test_time.replace(hour=17, minute=0, second=0)
sunrise_time = test_time.replace(hour=5, minute=0, second=0)
@ -823,7 +823,7 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.components.switch.flux.dt_now',
with patch('homeassistant.components.switch.flux.dt_utcnow',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):