Fix flux switch update interval (#17458)

This commit is contained in:
Anders Melchiorsen 2018-10-18 23:04:22 +02:00 committed by GitHub
parent 10c1378195
commit cc4d29d42a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 225 additions and 211 deletions

View file

@ -19,7 +19,7 @@ from homeassistant.components.switch import DOMAIN, SwitchDevice
from homeassistant.const import (
ATTR_ENTITY_ID, CONF_NAME, CONF_PLATFORM, CONF_LIGHTS, CONF_MODE,
SERVICE_TURN_ON)
from homeassistant.helpers.event import track_time_change
from homeassistant.helpers.event import track_time_interval
from homeassistant.helpers.sun import get_astral_event_date
from homeassistant.util import slugify
from homeassistant.util.color import (
@ -180,8 +180,10 @@ class FluxSwitch(SwitchDevice):
# Make initial update
self.flux_update()
self.unsub_tracker = track_time_change(
self.hass, self.flux_update, second=[0, self._interval])
self.unsub_tracker = track_time_interval(
self.hass,
self.flux_update,
datetime.timedelta(seconds=self._interval))
self.schedule_update_ha_state()

View file

@ -183,8 +183,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -229,8 +230,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -322,8 +324,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -372,8 +375,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -423,8 +427,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -523,8 +528,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -573,8 +579,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -620,8 +627,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -669,8 +677,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -731,8 +740,9 @@ class TestSwitchFlux(unittest.TestCase):
print('sunset {}'.format(sunset_time))
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -783,8 +793,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {
@ -827,8 +838,9 @@ class TestSwitchFlux(unittest.TestCase):
return sunrise_time
return sunset_time
with patch('homeassistant.util.dt.now', return_value=test_time):
with patch('homeassistant.helpers.sun.get_astral_event_date',
with patch('homeassistant.components.switch.flux.dt_now',
return_value=test_time), \
patch('homeassistant.helpers.sun.get_astral_event_date',
side_effect=event_date):
assert setup_component(self.hass, switch.DOMAIN, {
switch.DOMAIN: {