Add function to sync the time with the plug #8

Merged
sqozz merged 1 commit from features/time_sync into master 2020-05-02 19:23:52 +02:00
Showing only changes of commit ed06f884c2 - Show all commits

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()