Skip to content

Commit bfaae92

Browse files
committed
fix pizigate:/dev/ttyAMA0 syntx
1 parent 135f264 commit bfaae92

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

tests/test_uart.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from unittest import mock
2-
from .async_mock import MagicMock
2+
from .async_mock import MagicMock, AsyncMock
33

44
import pytest
55
import serial_asyncio
@@ -9,10 +9,6 @@
99
from zigpy_zigate import uart
1010
from zigpy_zigate import common
1111

12-
DEVICE_CONFIG = zigpy_zigate.config.SCHEMA_DEVICE(
13-
{zigpy_zigate.config.CONF_DEVICE_PATH: "/dev/null"}
14-
)
15-
1612

1713
@pytest.fixture
1814
def gw():
@@ -22,14 +18,23 @@ def gw():
2218

2319

2420
@pytest.mark.asyncio
25-
async def test_connect(monkeypatch):
21+
@pytest.mark.parametrize(
22+
"port",
23+
('/dev/null', 'pizigate:/dev/ttyAMA0'),
24+
)
25+
async def test_connect(port, monkeypatch):
2626
api = mock.MagicMock()
2727

28-
async def mock_conn(loop, protocol_factory, **kwargs):
28+
async def mock_conn(loop, protocol_factory, url, **kwargs):
2929
protocol = protocol_factory()
3030
loop.call_soon(protocol.connection_made, None)
31+
assert url.startswith('/') is True
3132
return None, protocol
3233
monkeypatch.setattr(serial_asyncio, 'create_serial_connection', mock_conn)
34+
monkeypatch.setattr(common, 'set_pizigate_running_mode', AsyncMock())
35+
DEVICE_CONFIG = zigpy_zigate.config.SCHEMA_DEVICE(
36+
{zigpy_zigate.config.CONF_DEVICE_PATH: port}
37+
)
3338

3439
await uart.connect(DEVICE_CONFIG, api)
3540

zigpy_zigate/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
MAJOR_VERSION = 0
22
MINOR_VERSION = 7
3-
PATCH_VERSION = '1'
3+
PATCH_VERSION = '2'
44
__short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION)
55
__version__ = '{}.{}'.format(__short_version__, PATCH_VERSION)

zigpy_zigate/uart.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ async def connect(device_config: Dict[str, Any], api, loop=None):
142142
if c.is_pizigate(port):
143143
LOGGER.debug('PiZiGate detected')
144144
await c.set_pizigate_running_mode()
145+
# in case of pizigate:/dev/ttyAMA0 syntax
146+
if port.startswith('pizigate:'):
147+
port = port[9:]
145148
elif c.is_zigate_din:
146149
LOGGER.debug('ZiGate USB DIN detected')
147150
await c.set_zigatedin_running_mode()

0 commit comments

Comments
 (0)