diff --git a/neohub.py b/neohub.py index 1e4a8b1..8698cc8 100644 --- a/neohub.py +++ b/neohub.py @@ -5,6 +5,8 @@ import asyncio import json import logging +from system import System + class NeoHub: def __init__(self): self._logger = logging.getLogger('neohub') @@ -45,6 +47,20 @@ class NeoHub: return firmware_version + + async def get_system(self): + """ + Get system wide variables + + Returns System object + """ + message = {"GET_SYSTEM": 0} + + data = await self._send(message) + system_data = System(data) + return system_data + + async def reset(self): """ Reboot neohub @@ -61,12 +77,13 @@ class NeoHub: else: return False - - async def get_system(self): + async def set_channel(self, channel: int): """ - Get system wide variables - """ - message = {"GET_SYSTEM": 0} + Set ZigBee channel. - data = await self._send(message) - return data + Only channels 11, 14, 15, 19, 20, 24, 25 are allowed. + """ + + message = {"SET_CHANNEL": channel} + + result = await self._send(message) diff --git a/test.py b/test.py index aa85c4d..6041c5e 100755 --- a/test.py +++ b/test.py @@ -14,7 +14,7 @@ async def run(): await hub.connect() firmware_version = await hub.firmware() print(firmware_version) - result = await hub.get_system() + result = await hub.set_channel(14) print(result)