Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to dsmr_parser 0.8, supporting protocol 3 and 5. #6600

Merged
merged 2 commits into from Mar 14, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 3 additions & 2 deletions homeassistant/components/sensor/dsmr.py
Expand Up @@ -40,7 +40,7 @@

_LOGGER = logging.getLogger(__name__)

REQUIREMENTS = ['dsmr_parser==0.6']
REQUIREMENTS = ['dsmr_parser==0.8']

CONF_DSMR_VERSION = 'dsmr_version'
CONF_RECONNECT_INTERVAL = 'reconnect_interval'
Expand Down Expand Up @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion requirements_all.txt
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions tests/components/sensor/test_dsmr.py
Expand Up @@ -20,7 +20,7 @@
@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)

Expand All @@ -32,10 +32,10 @@ def connection_factory(*args, **kwargs):

# 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
Expand Down Expand Up @@ -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})

Expand Down