def __init__(self, log=None, config=None): threading.Thread.__init__(self) self.log = log self.config = config #Get values from config self.mysensor_ip = self.config.get('config', 'mysensor_ip') self.mysensor_port = self.config.get('config', 'mysensor_port') self.http_ip = self.config.get('config', 'http_ip') self.http_port = self.config.get('config', 'http_port') self.mqtt_ip = self.config.get('config', 'mqtt_ip') self.mqtt_port = self.config.get('config', 'mqtt_port') self.serial_port = self.config.get('config', 'serial_port') self.serial_baudrate = self.config.get('config', 'serial_baudrate') self.base_topic = self.config.get('config', 'mqtt_topic') # Constants self.BUFFER_SIZE = 48 #Variables s = None client = None self.ser = serial.Serial(self.serial_port, self.serial_baudrate, timeout=1) #open serial interface self.log.info("Start up: Listening on :" + self.serial_port + " using baudrate: " + self.serial_baudrate) self.ser.close() self.ser.open() print("Using Serial port %s at baudrate %s" % (self.serial_port, self.serial_baudrate)) #Give Arduino time to start up. sleep(5) self.client = mqtt.Client(protocol=3) self.client.on_message = self.on_message self.client.on_connect = self.on_connect #self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.mysensor = MySensor(self.log, self.config, self.ser, self.client)