From 1dd8b4e2026ac3118ac95c8f9d4fad4a64c6a2e0 Mon Sep 17 00:00:00 2001 From: mischa Date: Wed, 6 Nov 2019 20:19:05 +0100 Subject: [PATCH] added -b option for battery test only to use with cron --- get-sensors.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/get-sensors.py b/get-sensors.py index d40ae10..35eb1af 100755 --- a/get-sensors.py +++ b/get-sensors.py @@ -26,11 +26,15 @@ import collections parser = argparse.ArgumentParser(description="Get all sensor ids from Hue Bridge") parser.add_argument("bridge", type=str, help="Hue Bridge IP") parser.add_argument("token", type=str, help="Hue API Token") +parser.add_argument("-b", "--battery", type=int, help="battery check only, threshold, default 20") +parser.add_argument("-v", "--verbose", action='store_true', help="verbose") try: args = parser.parse_args() bridge = args.bridge token = args.token + battery = args.battery + verbose = args.verbose except argparse.ArgumentError as e: print(str(e)) @@ -58,10 +62,15 @@ for key in json_data: for key in sensors: for i in sensors[key]: - if json_data.get(i)['type'] == 'ZLLPresence': - print(f"{json_data.get(i)['name']} ({json_data.get(i)['config']['battery']}%)") - print(f"{i:>5s}: {json_data.get(i)['productname']}") - if json_data.get(i)['type'] == 'ZLLLightLevel': - print(f"{i:>5s}: {json_data.get(i)['productname']}") - if json_data.get(i)['type'] == 'ZLLTemperature': - print(f"{i:>5s}: {json_data.get(i)['productname']}") + if not battery: + if json_data.get(i)['type'] == 'ZLLPresence': + print(f"{json_data.get(i)['name']:<32s} ({json_data.get(i)['config']['battery']}%)") + print(f"{i:>5s}: {json_data.get(i)['productname']}") + if json_data.get(i)['type'] == 'ZLLLightLevel': + print(f"{i:>5s}: {json_data.get(i)['productname']}") + if json_data.get(i)['type'] == 'ZLLTemperature': + print(f"{i:>5s}: {json_data.get(i)['productname']}") + else: + if int(json_data.get(i)['config']['battery']) < battery: + if json_data.get(i)['type'] == 'ZLLPresence': + print(f"{json_data.get(i)['name']:<32s} battery level {json_data.get(i)['config']['battery']}%")