added option to query specific 'id'
This commit is contained in:
parent
ef999189ea
commit
51565e99fc
@ -23,11 +23,13 @@ import json
|
|||||||
parser = argparse.ArgumentParser(description="Get all light ids from Hue Bridge")
|
parser = argparse.ArgumentParser(description="Get all light ids from Hue Bridge")
|
||||||
parser.add_argument("bridge", type=str, help="Hue Bridge IP")
|
parser.add_argument("bridge", type=str, help="Hue Bridge IP")
|
||||||
parser.add_argument("token", type=str, help="Hue API Token")
|
parser.add_argument("token", type=str, help="Hue API Token")
|
||||||
|
parser.add_argument("-i", "--id", type=int, help="light id#")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
bridge = args.bridge
|
bridge = args.bridge
|
||||||
token = args.token
|
token = args.token
|
||||||
|
id = args.id
|
||||||
|
|
||||||
except argparse.ArgumentError as e:
|
except argparse.ArgumentError as e:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
@ -42,11 +44,17 @@ with urllib.request.urlopen(req, context=no_cert_check) as response:
|
|||||||
content = response.read()
|
content = response.read()
|
||||||
json_data = json.loads(content)
|
json_data = json.loads(content)
|
||||||
|
|
||||||
|
if not id:
|
||||||
print(f"{'ID':>3s} {'Name':<32s} {'State':<5s} Type")
|
print(f"{'ID':>3s} {'Name':<32s} {'State':<5s} Type")
|
||||||
print ("################################################################################")
|
print ("################################################################################")
|
||||||
for key in json_data:
|
for key in json_data:
|
||||||
if not json_data[key]['state']['reachable']:
|
if not json_data[key]['state']['reachable']:
|
||||||
continue
|
continue
|
||||||
state = 'on' if json_data[key]['state']['on'] else 'off'
|
state = 'on' if json_data[key]['state']['on'] else 'off'
|
||||||
print(f"{key:>3s}: {json_data[key]['name']:<32s} {state:<5s} {json_data[key]['type']}")
|
print(f"{key:>3s}: {json_data[key]['name']:<32s} {state:<5s} {json_data[key]['type']}")
|
||||||
|
else:
|
||||||
|
if json_data[str(id)]['state']['reachable']:
|
||||||
|
state = 'on' if json_data[str(id)]['state']['on'] else 'off'
|
||||||
|
print(state)
|
||||||
|
else:
|
||||||
|
print("unreachable")
|
||||||
|
Loading…
Reference in New Issue
Block a user