about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--broadlink/__init__.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/broadlink/__init__.py b/broadlink/__init__.py
index eb945a7d96fe..ee74b8843fd0 100644
--- a/broadlink/__init__.py
+++ b/broadlink/__init__.py
@@ -386,6 +386,16 @@ class sp2(device):
         state = bool(ord(payload[0x4]))
       return state
 
+  def get_energy(self):
+    packet = bytearray([8, 0, 254, 1, 5, 1, 0, 0, 0, 45])
+    response = self.send_packet(0x6a, packet)
+    err = response[0x22] | (response[0x23] << 8)
+    if err == 0:
+      payload = self.decrypt(bytes(response[0x38:]))
+      energy = int(hex(ord(payload[7]) * 256 + ord(payload[6]))[2:]) + int(hex(ord(payload[5]))[2:])/100.0
+      return energy
+
+
 class a1(device):
   def __init__ (self, host, mac):
     device.__init__(self, host, mac)