pass myMQTTClient.connect() motionQueue = Queue(maxsize=0) motionThread = Thread(target=sense_motion, args=(motionQueue, )) motionThread.setDaemon(True) motionThread.start() lati, longi = 0, 0 while True: lightPer = ldr.getLdrPer() noiseData = noise.getNoise() LPG, CO, SMOKE = air.getData() tempData, humData = weather.getData() #take last loop's ending Lati,Longi as start for now, #or read new data if noisy/empty readings found if (lati == 0 or longi == 0): lati, longi = loc.getLocation() else: lati, longi = lati, longi currenttime = int(time.time()) envData = {} envData['DeviceId'] = device_id envData['Timestamp'] = currenttime envData['LightIntensity'] = lightPer envData['Noise'] = noiseData envData['LPG'] = LPG envData['CO'] = CO envData['SMOKE'] = SMOKE