From bd3fbe8363c61e6e100f39e164f5f3bd28b67f50 Mon Sep 17 00:00:00 2001 From: Johan Bloemberg Date: Tue, 14 Mar 2017 20:16:43 +0100 Subject: [PATCH] Upgrade to dsmr_parser 0.8, supporting protocol 3 and 5. (#6600) * Upgrade to dsmr_parser 0.8, supporting protocol 3 and 5. * Update tests for new import. --- homeassistant/components/sensor/dsmr.py | 5 +++-- requirements_all.txt | 2 +- tests/components/sensor/test_dsmr.py | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/sensor/dsmr.py b/homeassistant/components/sensor/dsmr.py index 04fe1e97964..32de89187d9 100644 --- a/homeassistant/components/sensor/dsmr.py +++ b/homeassistant/components/sensor/dsmr.py @@ -40,7 +40,7 @@ import voluptuous as vol _LOGGER = logging.getLogger(__name__) -REQUIREMENTS = ['dsmr_parser==0.6'] +REQUIREMENTS = ['dsmr_parser==0.8'] CONF_DSMR_VERSION = 'dsmr_version' CONF_RECONNECT_INTERVAL = 'reconnect_interval' @@ -72,7 +72,8 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): logging.getLogger('dsmr_parser').setLevel(logging.ERROR) from dsmr_parser import obis_references as obis_ref - from dsmr_parser.protocol import create_dsmr_reader, create_tcp_dsmr_reader + from dsmr_parser.clients.protocol import (create_dsmr_reader, + create_tcp_dsmr_reader) import serial dsmr_version = config[CONF_DSMR_VERSION] diff --git a/requirements_all.txt b/requirements_all.txt index 27e31c49a46..4cb5081c7b4 100755 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -124,7 +124,7 @@ dnspython3==1.15.0 dovado==0.4.1 # homeassistant.components.sensor.dsmr -dsmr_parser==0.6 +dsmr_parser==0.8 # homeassistant.components.dweet # homeassistant.components.sensor.dweet diff --git a/tests/components/sensor/test_dsmr.py b/tests/components/sensor/test_dsmr.py index aae8dfddc5b..a09f16b00fd 100644 --- a/tests/components/sensor/test_dsmr.py +++ b/tests/components/sensor/test_dsmr.py @@ -20,7 +20,7 @@ from tests.common import assert_setup_component @pytest.fixture def mock_connection_factory(monkeypatch): """Mock the create functions for serial and TCP Asyncio connections.""" - from dsmr_parser.protocol import DSMRProtocol + from dsmr_parser.clients.protocol import DSMRProtocol transport = asynctest.Mock(spec=asyncio.Transport) protocol = asynctest.Mock(spec=DSMRProtocol) @@ -32,10 +32,10 @@ def mock_connection_factory(monkeypatch): # apply the mock to both connection factories monkeypatch.setattr( - 'dsmr_parser.protocol.create_dsmr_reader', + 'dsmr_parser.clients.protocol.create_dsmr_reader', connection_factory) monkeypatch.setattr( - 'dsmr_parser.protocol.create_tcp_dsmr_reader', + 'dsmr_parser.clients.protocol.create_tcp_dsmr_reader', connection_factory) return connection_factory, transport, protocol @@ -161,7 +161,7 @@ def test_connection_errors_retry(hass, monkeypatch, mock_connection_factory): TimeoutError]) monkeypatch.setattr( - 'dsmr_parser.protocol.create_dsmr_reader', + 'dsmr_parser.clients.protocol.create_dsmr_reader', first_fail_connection_factory) yield from async_setup_component(hass, 'sensor', {'sensor': config})