Fix state determination in tplink kasa lights.
[python_utils.git] / smart_home / lights.py
index 44b3634cd5fb9f5c84620762701f120db8bd3977..64f2105ffe8a4de0864e95a14d2b05703010a2bb 100644 (file)
@@ -11,7 +11,6 @@ import re
 import subprocess
 import sys
 from typing import Any, Dict, List, Optional, Tuple
-import warnings
 
 from overrides import overrides
 import tinytuya as tt
@@ -49,7 +48,6 @@ def tplink_light_command(command: str) -> bool:
     if signal != 0:
         msg = f'{command} died with signal {signal}'
         logger.warning(msg)
-        warnings.warn(msg)
         logging_utils.hlog(msg)
         return False
     else:
@@ -57,7 +55,6 @@ def tplink_light_command(command: str) -> bool:
         if exit_value != 0:
             msg = f'{command} failed, exited {exit_value}'
             logger.warning(msg)
-            warnings.warn(msg)
             logging_utils.hlog(msg)
             return False
     logger.debug(f'{command} succeeded.')
@@ -326,7 +323,7 @@ class TPLinkLight(BaseLight):
         self.info = self.get_info()
         if self.info is None:
             raise Exception('Unable to get info?')
-        return self.info.get("relay_state", "0") == "1"
+        return self.info.get("relay_state", 0) == 1
 
     @overrides
     def is_off(self) -> bool:
@@ -347,6 +344,7 @@ class TPLinkLight(BaseLight):
         out = re.sub("Received: *", "", out)
         try:
             self.info = json.loads(out)["system"]["get_sysinfo"]
+            logger.debug(json.dumps(self.info, indent=4, sort_keys=True))
             self.info_ts = datetime.datetime.now()
             return self.info
         except Exception as e: