def test_relay(delay): test = get_all_device_paths() print(test) set_relay_state(test[0], 1, OFF) # ensure it is turned off set_relay_state(test[0], 2, OFF) print( "Beginning loop with a {} second cycles. Ctrl+C to stop".format(delay) ) cycles = 0 # counter try: while True: print("Turning Relay On") set_relay_state(test[0], 1, ON) set_relay_state(test[0], 2, ON) time.sleep(delay) print("Turning Relay Off") set_relay_state(test[0], 1, OFF) set_relay_state(test[0], 2, OFF) time.sleep(delay) cycles += 1 if cycles == 1: print(cycles, "Cycle completed") else: print(cycles, "Cycles completed") except KeyboardInterrupt: print("Preparing for graceful shutdown...") set_relay_state(test[0], 1, OFF) # ensure it is turned off set_relay_state(test[0], 2, OFF) print("Test Concluded")
def turn_off_usb_relay(num_of_chs=2): print('Turning OFF all USB relays...') for relay in get_all_device_paths(): print('Turning OFF channels of relay {}'.format(relay.decode('utf-8'))) for ch in range(num_of_chs): set_relay_state(relay, ch, OFF) print('Channel {} is set to OFF.'.format(ch))
def __init__(self, host, port, entry='relay', automaticDiscovery=True, relayIdx=0, relayDevId=None): self.host = host self.port = port self.entry = entry if automaticDiscovery: relays = list(map(lambda x: x.decode('utf8'), get_all_device_paths())) self.relay = relays[relayIdx] else: self.relay = relayDevId
async def handler_relay_list(self, request): devs = '\n'.join([p.decode('utf-8') for p in get_all_device_paths()]) return web.Response(text=devs)
try: while True: print("Turning Relay On") set_relay_state(test[0], 1, ON) set_relay_state(test[0], 2, ON) time.sleep(delay) print("Turning Relay Off") set_relay_state(test[0], 1, OFF) set_relay_state(test[0], 2, OFF) time.sleep(delay) cycles += 1 if cycles == 1: print(cycles, "Cycle completed") else: print(cycles, "Cycles completed") except KeyboardInterrupt: print("Preparing for graceful shutdown...") set_relay_state(test[0], 1, OFF) # ensure it is turned off set_relay_state(test[0], 2, OFF) print("Test Concluded") if __name__ == "__main__": relay_paths = get_all_device_paths() sleep_time = int(sys.argv[1]) test_relay(sleep_time)