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
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: {