forked from andrius/neohubapi
Add command to reboot neohub.
This commit is contained in:
parent
1fe59a4255
commit
0fb1805f80
34
neohub.py
34
neohub.py
|
@ -17,28 +17,46 @@ class NeoHub:
|
||||||
self._firmware_version = await self._firmware()
|
self._firmware_version = await self._firmware()
|
||||||
|
|
||||||
|
|
||||||
async def send(self, message):
|
async def _send(self, message, expect_return = True):
|
||||||
encoded_message = bytearray(json.dumps(message) + "\0\r", "utf-8")
|
encoded_message = bytearray(json.dumps(message) + "\0\r", "utf-8")
|
||||||
|
self._logger.debug(f"Sending message: {encoded_message}")
|
||||||
self._writer.write(encoded_message)
|
self._writer.write(encoded_message)
|
||||||
await self._writer.drain()
|
await self._writer.drain()
|
||||||
|
|
||||||
data = await self._reader.read(4096)
|
if expect_return:
|
||||||
json_string = data.decode('utf-8')
|
data = await self._reader.read(4096)
|
||||||
self._logger.debug(f"Received message: {json_string}")
|
json_string = data.decode('utf-8')
|
||||||
return json.loads(json_string)
|
self._logger.debug(f"Received message: {json_string}")
|
||||||
|
return json.loads(json_string)
|
||||||
|
|
||||||
|
|
||||||
def firmware(self):
|
def firmware(self):
|
||||||
return self._firmware_version
|
return self._firmware_version
|
||||||
|
|
||||||
|
|
||||||
async def firmware(self):
|
async def firmware(self):
|
||||||
return self._firmware_version
|
return self._firmware_version
|
||||||
|
|
||||||
|
|
||||||
async def _firmware(self):
|
async def _firmware(self):
|
||||||
'''
|
"""
|
||||||
NeoHub firmware version
|
NeoHub firmware version
|
||||||
'''
|
"""
|
||||||
|
|
||||||
message = {"FIRMWARE": 0}
|
message = {"FIRMWARE": 0}
|
||||||
result = await self.send(message)
|
result = await self._send(message)
|
||||||
firmware_version = int(result['firmware version'])
|
firmware_version = int(result['firmware version'])
|
||||||
return firmware_version
|
return firmware_version
|
||||||
|
|
||||||
|
|
||||||
|
async def reset(self):
|
||||||
|
"""
|
||||||
|
Reboot neohub
|
||||||
|
"""
|
||||||
|
message = {"RESET": 0}
|
||||||
|
|
||||||
|
if self._firmware_version >= 2027:
|
||||||
|
await self._send(message, expect_return = False)
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
Loading…
Reference in New Issue