From eb9e6df32ed696158bf34dba6464277b648f5c74 Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Sun, 31 Oct 2021 13:08:51 -0700 Subject: Ugh, a bunch of things. @overrides. --lmodule. Chromecasts. etc... --- smart_home/device.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'smart_home/device.py') diff --git a/smart_home/device.py b/smart_home/device.py index 04b0bfe..9675b7c 100644 --- a/smart_home/device.py +++ b/smart_home/device.py @@ -28,9 +28,20 @@ class Device(object): def get_mac(self) -> str: return self.mac - def get_ip(self) -> str: + def get_ip(self) -> Optional[str]: return self.arper.get_ip_by_mac(self.mac) + def has_static_ip(self) -> bool: + for kw in self.kws: + m = re.search(r'static:([\d\.]+)', kw) + if m is not None: + ip = m.group(1) + assert self.get_ip() == ip + return True + return False + + # Add command -> URL logic here. + def get_keywords(self) -> Optional[List[str]]: return self.kws -- cgit v1.3