Compare commits

...

11 Commits

Author SHA1 Message Date
Paulus Schoutsen f50c30bbba Merge pull request #2704 from home-assistant/hotfix-0-25-2
Hotfix 0 25 2
2016-08-01 20:58:27 -07:00
Paulus Schoutsen b1b14f0e83 Version bump to 0.25.2 2016-08-01 20:56:59 -07:00
Tobie Booth b51ba85a15 Reverts changes to ZWave lock status update (#2595) (#2696) 2016-08-01 20:56:43 -07:00
Paulus Schoutsen c608740382 Merge pull request #2688 from home-assistant/hotfix-0-25-1
Hotfix 0 25 1
2016-07-31 17:34:34 -07:00
Paulus Schoutsen 08e694cac3 Version bump to 0.25.1 2016-07-31 17:21:24 -07:00
Paulus Schoutsen 628eacc83e Rollback voluptuous to 0.8.9 (#2687) 2016-07-31 17:21:02 -07:00
Stephen Hoekstra ba72166333 Add 5 second timeout to Kodi connections (#2683) 2016-07-31 17:21:02 -07:00
Johann Kellerman 74f284d2d7 Close session after execute. (#2677) 2016-07-31 17:21:02 -07:00
Jesse Newland a81a8c2bdf Bring back delayed zwave value update behavior (#2674) 2016-07-31 17:21:02 -07:00
Paulus Schoutsen 3686a5ed56 Try to deflake discovery tests 2016-07-31 17:21:02 -07:00
Robbie Trencheny ecfcc1fd41 Update authorship information
Sorry @balloob :)
2016-07-30 13:03:54 -07:00
8 changed files with 44 additions and 33 deletions
+17 -1
View File
@@ -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
+1 -2
View File
@@ -46,8 +46,7 @@ class ZwaveLock(zwave.ZWaveDeviceEntity, LockDevice):
def _value_changed(self, value):
"""Called when a value has changed on the network."""
if self._value.value_id == value.value_id or \
self._value.node == value.node:
if self._value.value_id == value.value_id:
self._state = value.data
self.update_ha_state()
@@ -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
+11 -8
View File
@@ -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 -1
View File
@@ -1,7 +1,7 @@
# coding: utf-8
"""Constants used by Home Assistant components."""
__version__ = "0.25.0"
__version__ = "0.25.2"
REQUIRED_PYTHON_VER = (3, 4)
PLATFORM_FORMAT = '{}.{}'
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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',
]
@@ -27,8 +27,8 @@ setup(
license='MIT License',
url='https://home-assistant.io/',
download_url=DOWNLOAD_URL,
author='Paulus Schoutsen',
author_email='paulus@paulusschoutsen.nl',
author='Home Assistant',
author_email='hello@home-assistant.io',
description='Open-source home automation platform running on Python 3.',
packages=PACKAGES,
include_package_data=True,
+8 -16
View File
@@ -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