X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=smart_home%2Foutlets.py;h=fcc3c4eb8f7fa74d428d31c7ebe4814c5cb11cbd;hb=532df2c5b57c7517dfb3dddd8c1358fbadf8baf3;hp=77e9c2d22cec74135af71ca08774765ab6b94d77;hpb=1220ffcf56e968de31b62f6d0c5af250fed9028e;p=python_utils.git diff --git a/smart_home/outlets.py b/smart_home/outlets.py index 77e9c2d..fcc3c4e 100644 --- a/smart_home/outlets.py +++ b/smart_home/outlets.py @@ -1,5 +1,7 @@ #!/usr/bin/env python3 +# © Copyright 2021-2022, Scott Gasch + """Utilities for dealing with the smart outlets.""" import asyncio @@ -87,7 +89,7 @@ class TPLinkOutlet(BaseOutlet): cmd = self.get_cmdline() + f"-c {cmd}" if extra_args is not None: cmd += f" {extra_args}" - return tplink.tplink_command(cmd) + return tplink.tplink_command_wrapper(cmd) @overrides def turn_on(self) -> bool: @@ -106,13 +108,15 @@ class TPLinkOutlet(BaseOutlet): return not self.is_on() def get_info(self) -> Optional[Dict]: - cmd = self.get_cmdline() + "-c info" - self.info = tplink.tplink_get_info(cmd) - if self.info is not None: - self.info_ts = datetime.datetime.now() - else: - self.info_ts = None - return self.info + ip = self.get_ip() + if ip is not None: + self.info = tplink.tplink_get_info(ip) + if self.info is not None: + self.info_ts = datetime.datetime.now() + else: + self.info_ts = None + return self.info + return None def get_on_duration_seconds(self) -> int: self.info = self.get_info() @@ -150,7 +154,7 @@ class TPLinkOutletWithChildren(TPLinkOutlet): if extra_args is not None: cmd += f" {extra_args}" logger.debug('About to execute: %s', cmd) - return tplink.tplink_command(cmd) + return tplink.tplink_command_wrapper(cmd) def get_children(self) -> List[str]: return self.children