From e79b0f504452b6d3451671f465833257d3a8d153 Mon Sep 17 00:00:00 2001 From: mischa Date: Wed, 6 Nov 2019 22:18:42 +0100 Subject: [PATCH] multiple changes --- .gitignore | 2 + get-id.py | 2 +- get-rules.py | 43 +++++++++++++++++++ ...r-battery.sh => wrapper-sensors-battery.sh | 4 +- 4 files changed, 48 insertions(+), 3 deletions(-) create mode 100755 get-rules.py rename wrapper-sensor-battery.sh => wrapper-sensors-battery.sh (70%) diff --git a/.gitignore b/.gitignore index 7d86ce4..a0c06ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ +hue-bridge +hue-email hue-token diff --git a/get-id.py b/get-id.py index 116e22a..7b8fac9 100755 --- a/get-id.py +++ b/get-id.py @@ -20,7 +20,7 @@ parser = argparse.ArgumentParser(description="Get id information") parser.add_argument("bridge", type=str, help="Hue Bridge IP") parser.add_argument("token", type=str, help="Hue API Token") parser.add_argument("-i", "--id", type=int, default='1', help="id#") -parser.add_argument("-t", "--type", type=str, default='lights', help="lights|sensors|groups") +parser.add_argument("-t", "--type", type=str, default='lights', help="lights|sensors|groups|rules") parser.add_argument("-v", "--verbose", action='store_true', help="verbose") try: diff --git a/get-rules.py b/get-rules.py new file mode 100755 index 0000000..078b9d1 --- /dev/null +++ b/get-rules.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +# +# Copyright 2019, Mischa Peters , High5!. +# Version 1.0 - 20191106 - WIP! +# +# Get all rules +# +# For example: +# $ get-rules.py +# +# Follow the steps at the Hue Developer site to get the username/token +# https://developers.meethue.com/develop/get-started-2/ +# +# Requires: +# - Python >3.6 +# +import argparse +import ssl +import urllib.request +import json + +parser = argparse.ArgumentParser(description="Get all light ids from Hue Bridge") +parser.add_argument("bridge", type=str, help="Hue Bridge IP") +parser.add_argument("token", type=str, help="Hue API Token") + +try: + args = parser.parse_args() + bridge = args.bridge + token = args.token + +except argparse.ArgumentError as e: + print(str(e)) + +no_cert_check = ssl.create_default_context() +no_cert_check.check_hostname=False +no_cert_check.verify_mode=ssl.CERT_NONE + +url = f"https://{bridge}/api/{token}/rules" +req = urllib.request.Request(url) +with urllib.request.urlopen(req, context=no_cert_check) as response: + content = response.read() +json_data = json.loads(content) +print(json.dumps(json_data, indent=4, sort_keys=True)) diff --git a/wrapper-sensor-battery.sh b/wrapper-sensors-battery.sh similarity index 70% rename from wrapper-sensor-battery.sh rename to wrapper-sensors-battery.sh index 93f7d33..6412bd2 100755 --- a/wrapper-sensor-battery.sh +++ b/wrapper-sensors-battery.sh @@ -3,6 +3,6 @@ PATH=$PATH:/usr/local/bin # # Easy invocation of python script # Add the following to crontab: -# @daily //wrapper-sensor-battery.sh +# @daily //wrapper-sensors-battery.sh # -(/home/mischa/hue/get-sensors.py $(cat /home/mischa/hue-bridge) $(cat /home/mischa/hue-token) -b 60) | mail -s "Hue Battery Status" $(cat /home/mischa/email-address) +(/home/mischa/hue/get-sensors.py $(cat /home/mischa/hue-bridge) $(cat /home/mischa/hue-token) -b 60) | mail -s "Hue Battery Status" $(cat /home/mischa/hue-email)