upper, lower, payload = parse_packet(data) if upper == 0x01: mode = int(payload[33].encode('hex'), 16) else: mode += 1 time.sleep(1) listen.close() out.close() if mode < 0: return None return mode if __name__ == "__main__": client = Client() client.connect(sys.argv[1], 8883, 20) client.endpoint = (sys.argv[2], PORT) client.on_connect = on_connect client.on_message = on_message client.loop_start() while True: mode = get_mode(client.endpoint) status = 'on' if mode else 'standby' print status client.publish(TOPIC_STATUS, status) time.sleep(5)