I found some goof info on the development group and got closer to a working setup. I purchased an Adafruit HTU21 sensor board and using Bill Morrows code example I now get MQTT output like this:
TIME:0,INTE:19.36,INHU:59.75 TIME:0,INTE:19.35,INHU:59.74 TIME:0,INTE:19.35,INHU:59.88 TIME:0,INTE:19.32,INHU:59.83 *WeeWx still is not happy as I get this after starting WeeWX:* Apr 7 18:59:33 ru-pi systemd[1]: Starting LSB: weewx weather system... Apr 7 18:59:33 ru-pi weewx[19707]: engine: Initializing weewx version 3.8.0 Apr 7 18:59:33 ru-pi weewx[19707]: engine: Using Python 2.7.9 (default, Sep 17 2016, 20:26:04) #012[GCC 4.9.2] Apr 7 18:59:33 ru-pi weewx[19707]: engine: Platform Linux-4.9.35-v7+-armv7l-with-debian-8.0 Apr 7 18:59:33 ru-pi weewx[19707]: engine: Locale is 'en_US.UTF-8' Apr 7 18:59:33 ru-pi weewx[19707]: engine: pid file is /var/run/weewx.pid Apr 7 18:59:33 ru-pi weewx[19697]: Starting weewx weather system: weewx. Apr 7 18:59:33 ru-pi systemd[1]: Started LSB: weewx weather system. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Using configuration file /etc/weewx/weewx.conf Apr 7 18:59:33 ru-pi weewx[19737]: engine: debug is 1 Apr 7 18:59:33 ru-pi weewx[19737]: engine: Initializing engine Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading station type wxMesh (user.wxMesh) Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: MQTT host is localhost Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: MQTT topic is weather Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: MQTT client is wxclient Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: polling interval is 5.0 Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: label map is {'INTE': 'outTemp', 'INHU': 'inHumidity'} Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: Connected Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdTimeSynch Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdTimeSynch Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service user.owfs.OWFSService Apr 7 18:59:33 ru-pi weewx[19737]: owfs: service version is 0.21 Apr 7 18:59:33 ru-pi weewx[19737]: owfs: binding is archive Apr 7 18:59:33 ru-pi weewx[19737]: owfs: interface is u Apr 7 18:59:33 ru-pi weewx[19737]: owfs: sensor map is {'extraTemp': '/uncached/28.70000A060000/temperature', 'inTemp': '/uncached/28.03CF08060000/temperature'} Apr 7 18:59:33 ru-pi weewx[19737]: owfs: sensor type map is {} Apr 7 18:59:33 ru-pi weewx[19737]: owfs: sensor unit system is metric Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service user.owfs.OWFSService Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdConvert Apr 7 18:59:33 ru-pi weewx[19737]: engine: StdConvert target unit is 0x1 Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdConvert Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdCalibrate Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdCalibrate Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdQC Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdQC Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.wxservices.StdWXCalculate Apr 7 18:59:33 ru-pi weewx[19737]: wxcalculate: The following values will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=prefer_hardware, windrun=prefer_hardware, heatindex=prefer_hardware, maxSolarRad=prefer_hardware, humidex=prefer_hardware, pressure=prefer_hardware, inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, cloudbase=prefer_hardware Apr 7 18:59:33 ru-pi weewx[19737]: wxcalculate: The following algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.wxservices.StdWXCalculate Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: Added to queue of 1 message temperature Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdArchive Apr 7 18:59:33 ru-pi weewx[19737]: engine: Archive will use data binding wx_binding Apr 7 18:59:33 ru-pi weewx[19737]: engine: Record generation will be attempted in 'hardware' Apr 7 18:59:33 ru-pi weewx[19737]: engine: Using archive interval of 300 seconds (specified in weewx configuration) Apr 7 18:59:33 ru-pi weewx[19737]: engine: Use LOOP data in hi/low calculations: 1 Apr 7 18:59:33 ru-pi weewx[19737]: manager: Daily summary version is 2.0 Apr 7 18:59:33 ru-pi weewx[19737]: engine: Using binding 'wx_binding' to database 'weewx.sdb' Apr 7 18:59:33 ru-pi weewx[19737]: manager: Starting backfill of daily summaries Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdArchive Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.restx.StdStationRegistry Apr 7 18:59:33 ru-pi weewx[19737]: restx: StationRegistry: Registration not requested. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.restx.StdStationRegistry Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.restx.StdWunderground Apr 7 18:59:33 ru-pi weewx[19737]: restx: Wunderground: Posting not enabled. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.restx.StdWunderground Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.restx.StdPWSweather Apr 7 18:59:33 ru-pi weewx[19737]: restx: PWSweather: Posting not enabled. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.restx.StdPWSweather Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.restx.StdCWOP Apr 7 18:59:33 ru-pi weewx[19737]: restx: CWOP: Posting not enabled. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.restx.StdCWOP Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.restx.StdWOW Apr 7 18:59:33 ru-pi weewx[19737]: restx: WOW: Posting not enabled. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.restx.StdWOW Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.restx.StdAWEKAS Apr 7 18:59:33 ru-pi weewx[19737]: restx: AWEKAS: Posting not enabled. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.restx.StdAWEKAS Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdPrint Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdPrint Apr 7 18:59:33 ru-pi weewx[19737]: engine: Loading service weewx.engine.StdReport Apr 7 18:59:33 ru-pi weewx[19737]: engine: Finished loading service weewx.engine.StdReport Apr 7 18:59:33 ru-pi weewx[19737]: engine: Starting up weewx version 3.8.0 Apr 7 18:59:33 ru-pi weewx[19737]: engine: Station does not support reading the time Apr 7 18:59:33 ru-pi weewx[19737]: engine: Starting main packet loop. Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: Working on queue of 1 Apr 7 18:59:33 ru-pi weewx[19737]: wxMesh: Working on queue 0 payload : temperature Apr 7 18:59:33 ru-pi weewx[19737]: engine: Main loop exiting. Shutting engine down. Apr 7 18:59:33 ru-pi weewx[19737]: engine: Caught unrecoverable exception in engine: Apr 7 18:59:33 ru-pi weewx[19737]: **** need more than 1 value to unpack Apr 7 18:59:33 ru-pi weewx[19737]: **** Traceback (most recent call last): Apr 7 18:59:33 ru-pi weewx[19737]: **** File "/usr/share/weewx/weewx/engine.py", line 871, in main Apr 7 18:59:33 ru-pi weewx[19737]: **** engine.run() Apr 7 18:59:33 ru-pi weewx[19737]: **** File "/usr/share/weewx/weewx/engine.py", line 187, in run Apr 7 18:59:33 ru-pi weewx[19737]: **** for packet in self.console.genLoopPackets(): Apr 7 18:59:33 ru-pi weewx[19737]: **** File "/usr/share/weewx/user/wxMesh.py", line 139, in genLoopPackets Apr 7 18:59:33 ru-pi weewx[19737]: **** (key,value) = datum.split(":") Apr 7 18:59:33 ru-pi weewx[19737]: **** ValueError: need more than 1 value to unpack Apr 7 18:59:33 ru-pi weewx[19737]: **** Exiting. Part of the wxMesh.py with line 139 in *BOLD:* def genLoopPackets(self): while True: # read whatever values we can get from the MQTT broker logdbg("Working on queue of %d " % self.payload.qsize()) while not self.payload.empty(): msg = str(self.payload.get()) if msg != "Empty" : logdbg("Working on queue %d payload : %s" % (self.payload.qsize(), msg)) data = {} row = msg.split(",") for datum in row: * (key,value) = datum.split(":")* data[key] = value if( key=="TIME" and data[key] == "0"): data[key] = str(int(time.time())) # time from station is not yet reliable - replace it logdbg("key: "+key+" value: "+data[key]) # map the data into a weewx loop packet _packet = {'usUnits': weewx.METRIC} for vname in data: _packet[self.label_map.get(vname, vname)] = _get_as_float(data, vname) yield _packet logdbg("Sleeping for %d" % self.poll_interval) time.sleep(self.poll_interval) self.client.disconnect() self.client.loop_stop() I see *: *between keywords and values when I view the MQTT messages in a terminal with mosquito_sub -t weather/# Stumped again. -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.