def start_client(self, msg): sp_topic = re.split('/', msg.topic) device_name = str(sp_topic[1]) + '_' + str(sp_topic[2]) if device_name not in self.devices: #signal.signal(signal.SIGINT, signal.SIG_IGN) process = MQTTClient_Process( device=device_name, ip=self.ip, port=self.port, p_type=self.p_type) self.add_process(device_name, process) process.start() #signal.signal(signal.SIGINT, signal_handler) else: print('Warning: Device with same name ignored!!')
print('Error in Arguments passed') serveri.usage() sys.exit(2) serveri.parse_args(opts) serveri.remove_files() serveri.controlled_devices = [] try: with open('conf/' + str(serveri.curr_device) + '.conf') as f: for line in f: serveri.controlled_devices.append(line.strip()) f.close() except ValueError as e: print(str(e)) except: print("No Configuration File Found") process = MQTTClient_Process(device=serveri.curr_device, ip=serveri.ip, port=serveri.port, p_type=0) serveri.add_process(serveri.curr_device, process) try: mqttc.will_set('leave/' + str(serveri.dev_topic), "Disconnect") except IndexError: print("Will not set") mqttc.on_connect = serveri.on_connect mqttc.on_publish = serveri.on_publish mqttc.on_subscribe = serveri.on_subscribe mqttc.on_message = serveri.on_message # Uncomment to enable debug messages mqttc.on_log = serveri.on_log mqttc.connect(serveri.ip, serveri.port) process.start()