Merge pull request #2688 from home-assistant/hotfix-0-25-1
Hotfix 0 25 1
This commit is contained in:
commit
c608740382
7 changed files with 41 additions and 29 deletions
|
@ -8,6 +8,7 @@ import logging
|
|||
|
||||
# Because we do not compile openzwave on CI
|
||||
# pylint: disable=import-error
|
||||
from threading import Timer
|
||||
from homeassistant.components.light import ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, \
|
||||
ATTR_RGB_COLOR, DOMAIN, Light
|
||||
from homeassistant.components import zwave
|
||||
|
@ -108,7 +109,22 @@ class ZwaveDimmer(zwave.ZWaveDeviceEntity, Light):
|
|||
"""Called when a value has changed on the network."""
|
||||
if self._value.value_id == value.value_id or \
|
||||
self._value.node == value.node:
|
||||
self.update_properties()
|
||||
|
||||
if self._refreshing:
|
||||
self._refreshing = False
|
||||
self.update_properties()
|
||||
else:
|
||||
def _refresh_value():
|
||||
"""Used timer callback for delayed value refresh."""
|
||||
self._refreshing = True
|
||||
self._value.refresh()
|
||||
|
||||
if self._timer is not None and self._timer.isAlive():
|
||||
self._timer.cancel()
|
||||
|
||||
self._timer = Timer(2, _refresh_value)
|
||||
self._timer.start()
|
||||
|
||||
self.update_ha_state()
|
||||
|
||||
@property
|
||||
|
|
|
@ -53,7 +53,8 @@ class KodiDevice(MediaPlayerDevice):
|
|||
self._url = url
|
||||
self._server = jsonrpc_requests.Server(
|
||||
'{}/jsonrpc'.format(self._url),
|
||||
auth=auth)
|
||||
auth=auth,
|
||||
timeout=5)
|
||||
self._turn_off_action = turn_off_action
|
||||
self._players = list()
|
||||
self._properties = None
|
||||
|
|
|
@ -58,14 +58,17 @@ def execute(q):
|
|||
This method also retries a few times in the case of stale connections.
|
||||
"""
|
||||
import sqlalchemy.exc
|
||||
for _ in range(0, RETRIES):
|
||||
try:
|
||||
return [
|
||||
row for row in
|
||||
(row.to_native() for row in q)
|
||||
if row is not None]
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
log_error(e, retry_wait=QUERY_RETRY_WAIT, rollback=True)
|
||||
try:
|
||||
for _ in range(0, RETRIES):
|
||||
try:
|
||||
return [
|
||||
row for row in
|
||||
(row.to_native() for row in q)
|
||||
if row is not None]
|
||||
except sqlalchemy.exc.SQLAlchemyError as e:
|
||||
log_error(e, retry_wait=QUERY_RETRY_WAIT, rollback=True)
|
||||
finally:
|
||||
Session().close()
|
||||
return []
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# coding: utf-8
|
||||
"""Constants used by Home Assistant components."""
|
||||
|
||||
__version__ = "0.25.0"
|
||||
__version__ = "0.25.1"
|
||||
REQUIRED_PYTHON_VER = (3, 4)
|
||||
|
||||
PLATFORM_FORMAT = '{}.{}'
|
||||
|
|
|
@ -4,7 +4,7 @@ pyyaml>=3.11,<4
|
|||
pytz>=2016.6.1
|
||||
pip>=7.0.0
|
||||
jinja2>=2.8
|
||||
voluptuous==0.9.1
|
||||
voluptuous==0.8.9
|
||||
typing>=3,<4
|
||||
sqlalchemy==1.0.14
|
||||
|
||||
|
|
2
setup.py
2
setup.py
|
@ -16,7 +16,7 @@ REQUIRES = [
|
|||
'pytz>=2016.6.1',
|
||||
'pip>=7.0.0',
|
||||
'jinja2>=2.8',
|
||||
'voluptuous==0.9.1',
|
||||
'voluptuous==0.8.9',
|
||||
'typing>=3,<4',
|
||||
'sqlalchemy==1.0.14',
|
||||
]
|
||||
|
|
|
@ -1,15 +1,10 @@
|
|||
"""Test discovery helpers."""
|
||||
import os
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from homeassistant import loader, bootstrap, config as config_util
|
||||
from homeassistant import loader, bootstrap
|
||||
from homeassistant.helpers import discovery
|
||||
|
||||
from tests.common import (get_test_home_assistant, get_test_config_dir,
|
||||
MockModule, MockPlatform)
|
||||
|
||||
VERSION_PATH = os.path.join(get_test_config_dir(), config_util.VERSION_FILE)
|
||||
from tests.common import get_test_home_assistant, MockModule, MockPlatform
|
||||
|
||||
|
||||
class TestHelpersDiscovery:
|
||||
|
@ -17,15 +12,12 @@ class TestHelpersDiscovery:
|
|||
|
||||
def setup_method(self, method):
|
||||
"""Setup things to be run when tests are started."""
|
||||
self.hass = get_test_home_assistant()
|
||||
self.hass = get_test_home_assistant(1)
|
||||
|
||||
def teardown_method(self, method):
|
||||
"""Stop everything that was started."""
|
||||
self.hass.stop()
|
||||
|
||||
if os.path.isfile(VERSION_PATH):
|
||||
os.remove(VERSION_PATH)
|
||||
|
||||
@patch('homeassistant.bootstrap.setup_component')
|
||||
def test_listen(self, mock_setup_component):
|
||||
"""Test discovery listen/discover combo."""
|
||||
|
@ -105,14 +97,15 @@ class TestHelpersDiscovery:
|
|||
|
||||
def component_setup(hass, config):
|
||||
"""Setup mock component."""
|
||||
discovery.load_platform(hass, 'switch', 'test_circular')
|
||||
discovery.load_platform(hass, 'switch', 'test_circular', 'disc',
|
||||
config)
|
||||
component_calls.append(1)
|
||||
return True
|
||||
|
||||
def setup_platform(hass, config, add_devices_callback,
|
||||
discovery_info=None):
|
||||
"""Setup mock platform."""
|
||||
platform_calls.append(1)
|
||||
platform_calls.append('disc' if discovery_info else 'component')
|
||||
|
||||
loader.set_component(
|
||||
'test_component',
|
||||
|
@ -123,13 +116,12 @@ class TestHelpersDiscovery:
|
|||
MockPlatform(setup_platform,
|
||||
dependencies=['test_component']))
|
||||
|
||||
bootstrap.from_config_dict({
|
||||
bootstrap.setup_component(self.hass, 'test_component', {
|
||||
'test_component': None,
|
||||
'switch': [{
|
||||
'platform': 'test_circular',
|
||||
}],
|
||||
}, self.hass)
|
||||
|
||||
})
|
||||
self.hass.pool.block_till_done()
|
||||
|
||||
assert 'test_component' in self.hass.config.components
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue