From ed06f884c251b4dd74a26169c2fdf3742a17e8b3 Mon Sep 17 00:00:00 2001 From: sqozz Date: Fri, 17 Jan 2020 22:20:41 +0100 Subject: [PATCH] Add function to sync the time with the plug --- sem6000.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sem6000.py b/sem6000.py index 7622a78..ae35642 100644 --- a/sem6000.py +++ b/sem6000.py @@ -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()