def IPJ_16703(light): print( "Executing case ID IPJ-16703 *** Transition time <7s not change startup setting***" ) effect = '{"startup": {"mode": "powerfail"}}' uds_set(effect) time.sleep(3) requests.put( "http://" + bridge_ip + "/api/" + bridge_user + "/lights/" + str(light) + "/state", '{"bri":254, "ct":153}') bri, ct = uds_get() time.sleep(10) if bri == default_bri and ct == 153: requests.put( "http://" + bridge_ip + "/api/" + bridge_user + "/lights/" + str(light) + "/state", '{"bri":1, "transitiontime":600}') print("Start transition") time.sleep(3) print("Power cycle lamp and wait 15 seconds") ippower.power_reset() time.sleep(15) bri, ct = uds_get() if bri == default_bri and ct == 153: print('\033[1;32m IPJ-16703: PASS \033[0m\n') else: print('\033[1;31m IPJ-16703: FAIL \033[0m\n')
def IPJ_16697(light): print("Executing case ID IPJ-16697 *** Attribute None Test ***") time.sleep(3) effect = '{"startup": {"mode": "powerfail"}}' uds_set(effect) requests.put( "http://" + bridge_ip + "/api/" + bridge_user + "/lights/" + str(light) + "/state", '{"bri":200,"ct":153}') time.sleep(10) url = "http://" + bridge_ip + "/api/" + bridge_user + "/lights/" + str( light) res_json = requests.get(url) res = res_json.json() mode = res['config']['startup']['mode'] time.sleep(3) if mode == 'powerfail': effect = '{"startup": {"mode": "custom", "customsettings": {}}}' uds_set(effect) print('Attribute {"customsettings":{}} is already configured') time.sleep(3) print("Power cycle lamp and wait 15 seconds") ippower.power_reset() time.sleep(15) bri, ct = uds_get() if bri == default_bri and ct == default_ct: print('\033[1;32m IPJ-16697: PASS \033[0m\n') else: print('\033[1;31m IPJ-16697: FAIL \033[0m\n') time.sleep(3)
def IPJ_16686(light): print("Executing case ID IPJ-16686 *** Safety Mode Recall ***") effect = '{"startup": {"mode": "safety"}}' res_text = uds_set(effect) res = str(res_text) if 'success' in res: print("Power cycle lamp and wait 15 seconds") ippower.power_reset() time.sleep(15) bri = uds_get() if bri == 254: print('\033[1;32m IPJ-16686: PASS \033[0m\n') else: print('\033[1;31m IPJ-16686: FAIL \033[0m\n') time.sleep(3)
def IPJ_16686(light): print("Executing case ID IPJ-16686 *** Safety Mode Recall ***") effect = '{"startup": {"mode": "safety"}}' res_text = uds_set(effect) res = str(res_text) if 'success' in res: print("Power Cycle Lamp and Wait 20 seconds") ippower.power_reset() time.sleep(20) bri, xc, yc = uds_get() if bri == default_bri and xc == default_xc and yc == default_yc: print('\033[1;32m IPJ-16686: PASS \033[0m\n') else: print('\033[1;31m IPJ-16686: FAIL \033[0m\n') time.sleep(time_between_case)
def IPJ_16688(light): print("Executing case ID IPJ-16688 *** Custom Mode Recall ***") effect = '{"startup": {"mode": "custom", "customsettings": {"bri":100, "xy":[0.1658, 0.5369]}}}' res_text = uds_set(effect) res = str(res_text) if 'success' in res: print("Power Cycle Lamp and Wait 20 seconds") ippower.power_reset() time.sleep(20) bri, xc, yc = uds_get() if bri == 100 and xc == 0.17 and yc == 0.54: print('\033[1;32m IPJ-16688: PASS \033[0m\n') else: print('\033[1;31m IPJ-16688: FAIL \033[0m\n') time.sleep(time_between_case)
def IPJ_16688(light): print("Executing case ID IPJ-16688 *** Custom Mode Recall ***") effect = '{"startup": {"mode": "custom", "customsettings": {"bri":100}}}' res_text = uds_set(effect) time.sleep(3) res = str(res_text) if 'success' in res: print("Power cycle lamp and wait 15 seconds") ippower.power_reset() time.sleep(15) bri = uds_get() if bri == 100: print('\033[1;32m IPJ-16688: PASS \033[0m\n') else: print('\033[1;31m IPJ-16688: FAIL \033[0m\n') time.sleep(3)
def IPJ_16687(light): print("Executing case ID IPJ-16687 *** Power Fail Mode Recall ***") effect = '{"startup": {"mode": "powerfail"}}' uds_set(effect) res_text = requests.put("http://"+bridge_ip+"/api/"+bridge_user+"/lights/"+str(light)+"/state", '{"bri":100}').text res = str(res_text) if 'success' in res: time.sleep(10) print("Power cycle lamp and wait 15 seconds") ippower.power_reset() time.sleep(15) bri = uds_get() if bri == 100: print('\033[1;32m IPJ-16687: PASS \033[0m\n') else: print('\033[1;31m IPJ-16687: FAIL \033[0m\n') time.sleep(3)
def IPJ_16687(light): print("Executing case ID IPJ-16687 *** Power Fail Mode Recall ***") effect = '{"startup": {"mode": "powerfail"}}' uds_set(effect) res_text = requests.put( "http://" + bridge_ip + "/api" + bridge_user + "/lights/" + str(light) + "/state", '{"bri":100, "xy":[0.6915, 0.3083]}').text res = str(res_text) if 'success' in res: time.sleep(7 * 2) print("Power Cycle Lamp and Wait 20 seconds") ippower.power_reset() time.sleep(20) bri, xc, yc = uds_get() if bri == 100 and xc == 0.69 and yc == 0.31: print('\033[1;32m IPJ-16687: PASS \033[0m\n') else: print('\033[1;31m IPJ-16687: FAIL \033[0m\n') time.sleep(time_between_case)
def IPJ_16704(light): print("Executing case ID IPJ-16704 *** Transition time >7s change startup setting***") effect = '{"startup": {"mode": "powerfail"}}' uds_set(effect) requests.put("http://" + bridge_ip + "/api" + bridge_user + "/lights/" + str(light) + "/state", '{"bri":1}') bri = uds_get() time.sleep(7*2) if bri == 1: requests.put("http://"+bridge_ip+"/api"+bridge_user+"/lights/"+str(light)+"/state", '{"bri":254, "transitiontime":600}') print("Start transition") time.sleep(7*2) print("Power cycle lamp and wait 20 seconds") ippower.power_reset() time.sleep(20) bri = uds_get() if bri == 254: print('\033[1;32m IPJ-16704: PASS \033[0m\n') else: print('\033[1;31m IPJ-16704: FAIL \033[0m\n')
def IPJ_16700(light): print("Executing case ID IPJ-16700 *** 5x toggle to factory new lamp ***") requests.put( "http://" + bridge_ip + "/api" + bridge_user + "/lights/" + str(light) + "/state", '{"on":true, "bri":254, "xy":[0.17,0.7]}') effect = '{"startup": {"mode": "powerfail"}}' uds_set(effect) print("1th toggle") ippower.power_reset() print("2th toggle") ippower.power_reset() print("3th toggle") ippower.power_reset() print("4th toggle") ippower.power_reset() print("5th toggle") ippower.power_reset() time.sleep(90) res_json = requests.get("http://" + bridge_ip + "/api" + bridge_user + "/lights/" + str(light)) res = res_json.json() status = res['state']['reachable'] print(status) if status is False: requests.post("http://" + bridge_ip + "/api" + bridge_user + "/lights/") time.sleep(60) res_json = requests.get("http://" + bridge_ip + "/api" + bridge_user + "/lights/" + str(light)) res = res_json.json() mode = res['config']['startup']['mode'] if mode == 'safety': print('\033[1;32m IPJ-16700: PASS \033[0m\n') else: print('\033[1;31m IPJ-16700: FAIL \033[0m\n') else: print('\033[1;31m IPJ-16700: lamp is not factory newed! \033[0m\n') return time.sleep(time_between_case)