From 101d4f41493e5447d4f75d7b649d3c446fb9e6e3 Mon Sep 17 00:00:00 2001 From: sqozz Date: Fri, 17 Jan 2020 22:25:54 +0100 Subject: [PATCH] Add parsing of the total consumed power --- sem6000.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sem6000.py b/sem6000.py index 0491ed8..51a0d86 100644 --- a/sem6000.py +++ b/sem6000.py @@ -9,6 +9,7 @@ class SEMSocket(): current = 0 power = 0 power_factor = 0 + total_power = 0 frequency = 0 mac_address = "" custom_service = None @@ -194,15 +195,17 @@ class SEMSocket(): print("Switch toggled") self.__btle_device.getStatus() elif message_type == 0x04: #status related data - voltage = data[8] - current = (data[9] << 8 | data[10]) / 1000 - power = (data[5] << 16 | data[6] << 8 | data[7]) / 1000 + voltage = data[8] + current = (data[9] << 8 | data[10]) / 1000 + power = (data[5] << 16 | data[6] << 8 | data[7]) / 1000 + total_power = (data[14] << 24 | data[15] << 16 | data[16] << 8 | data[17]) / 1000 self.__btle_device.voltage = voltage self.__btle_device.current = current self.__btle_device.power = power self.__btle_device.frequency = data[11] self.__btle_device.powered = bool(data[4]) + self.__btle_device.total_power = total_power # calculated values self.__btle_device.power_factor = power / (voltage * current)