Add function to sync the time with the plug

This commit is contained in:
sqozz 2020-01-17 22:20:41 +01:00
parent d824a93c5b
commit ed06f884c2

View file

@ -1,5 +1,6 @@
from bluepy import btle
import time
import datetime
import uuid
class SEMSocket():
@ -40,6 +41,17 @@ class SEMSocket():
msg = self.BTLEMessage(self, cmd, payload)
msg.send()
def syncTime(self):
#15, 12, 1, 0, SECOND, MINUTE, HOUR_OF_DAY, DAY_OF_MONTH, MONTH (+1), int(YEAR/256), YEAR%256, 0, 0, CHKSUM, 255, 255
now = datetime.datetime.now()
cmd = bytearray([0x01])
payload = bytearray([0x00])
payload += bytearray([now.second, now.minute, now.hour])
payload += bytearray([now.day, now.month, int(now.year/256), now.year%256])
payload += bytearray([0x00, 0x00])
msg = self.BTLEMessage(self, cmd, payload)
msg.send()
def login(self, password):
self.password = password
cmd = bytearray([0x17])
@ -189,6 +201,8 @@ class SEMSocket():
print("Checksum error!")
else:
print("Unknown error:", data)
elif message_type == 0x01:
print("Time synced")
elif message_type == 0x03: #switch toggle
print("Switch toggled")
self.__btle_device.getStatus()