commit - b455762fa20af256019440e420831946f8fab374
commit + ef999189ea47ed3aacb0678874837040135f1daa
blob - 64a9281018e28cd83b7799c1e24a2a0863062a05
blob + 52cf1637cd35df690424ceb606881dd3e88e985e
--- lightctl.py
+++ lightctl.py
parser.add_argument("bridge", type=str, help="Hue Bridge IP")
parser.add_argument("token", type=str, help="Hue API Token")
parser.add_argument("-l", "--light", type=int, required=True, help="light id#")
-parser.add_argument("-a", "--action", type=str, default='on', help="on|off|relax|bright|dimmed|nightlight")
+parser.add_argument("-a", "--action", type=str, default='on', help="on|off|relax|bright|dimmed|nightlight|state")
parser.add_argument("-v", "--verbose", action='store_true', help="verbose")
parser.add_argument("-d", "--debug", action='store_true', help="debug")
json_data = json.loads(content)
if debug: print (f"State for light id {id}:\n{json_data['state']}")
if debug: print (f"Type for light id {id}: {json_data['config']['archetype']}")
- return (json_data['state'])
+ if 'state' in json_data:
+ return (json_data['state'])
+ else:
+ print(f"id {id} doesn't exist")
+ return -1
def put_state(id, state):
if not 'colormode' in state:
return(res)
light_state = get_state(light)
-put_state(light, light_state)
+if not action == 'state':
+ put_state(light, light_state)
+else:
+ if light_state['reachable']:
+ state = 'on' if light_state['on'] else 'off'
+ print(state)
+ else:
+ print("unreachable")