I haven't died, just busy with work.

Robert, my driver does not read JSON, it's only simple key-value pairs in a 
string. So for example, it doesn't know to strip the quotes off the key or 
the value here:
"altimeter": "30.4916869968"
It wants
altimeter: 30.4916869968


I am planning on adopting WYSIWYG (Frederic's) approach of a separate MQTT 
topic for each value.


On Saturday, 25 March 2017 11:37:35 UTC-3, Robert Mantel wrote:
>
> So I tried changing the topic to weather/loop because that appears to have 
> the full json tuple format with the paired label:values that the wxMesh 
> driver needs but I get this error:
>
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: engine: RealTimeGaugeData will 
> generate gauge-data.txt. min_interval is 120 seconds
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: engine: Finished loading 
> service user.rtgd.RealtimeGaugeData
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: engine: Starting up weewx 
> version 3.7.1
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: engine: Station does not 
> support reading the time
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: engine: Starting main packet 
> loop.
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: wxMesh: Working on payload : 
> Empty
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: wxMesh: Sleeping for 5
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: manager: Daily summary version 
> is 2.0
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: manager: Daily summary version 
> is 2.0
> Mar 25 15:35:47 ubuntu-freenas weewx[5297]: rtgdthread: Zambretti is 
> installed: False
> Mar 25 15:35:52 ubuntu-freenas weewx[5297]: wxMesh: Working on payload : 
> Empty
> Mar 25 15:35:52 ubuntu-freenas weewx[5297]: wxMesh: Sleeping for 5
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: Got message {"soc": 
> "68.8047", "altimeter": "30.4916869968", "outHumidity": "63.0", "dayRain": 
> "0.0", "rainin": "0.0", "voltage": "3.9688", "dailyrainin": "0.132", 
> "windspeedmph": "4.4383", "kilopascals": "100.941", "heatindex": "29.534", 
> "rainmm": "0.0", "windspeedmps": "1.9841", "hpa": "1009.4", "hourRain": 
> "0.0", "windGustDir": "90.0", "tempc": "-1.37", "barometer": 
> "30.5439450745", "windchill": "29.534", "dewpoint": "18.4883", "windrun": 
> "32.3367", "windspdmps_avg2m": "1.3076", "windspeedkmph": "7.1427", 
> "humidex": "29.534", "winddir": "90.0", "pressure": "29.8079", "rain": 
> "0.0", "rainRate": "0.0", "dewptc": "-7.5065", "usUnits": "1.0", "altm": 
> "33.1085", "appTemp": "22.7487311772", "altf": "108.6236", "interval": 
> "2.0", "dateTime": "1490455920.0", "windDir": "53.0", "outTemp": "29.534", 
> "windSpeed": "2.9333", "rain24": "0.363", "windGust": "11.8354", "rssi": 
> "-71.0", "cloudbase": "3141.49934286"}
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: Working on payload : 
> {"soc": "68.8047", "altimeter": "30.4916869968", "outHumidity": "63.0", 
> "dayRain": "0.0", "rainin": "0.0", "voltage": "3.9688", "dailyrainin": 
> "0.132", "windspeedmph": "4.4383", "kilopascals": "100.941", "heatindex": 
> "29.534", "rainmm": "0.0", "windspeedmps": "1.9841", "hpa": "1009.4", 
> "hourRain": "0.0", "windGustDir": "90.0", "tempc": "-1.37", "barometer": 
> "30.5439450745", "windchill": "29.534", "dewpoint": "18.4883", "windrun": 
> "32.3367", "windspdmps_avg2m": "1.3076", "windspeedkmph": "7.1427", 
> "humidex": "29.534", "winddir": "90.0", "pressure": "29.8079", "rain": 
> "0.0", "rainRate": "0.0", "dewptc": "-7.5065", "usUnits": "1.0", "altm": 
> "33.1085", "appTemp": "22.7487311772", "altf": "108.6236", "interval": 
> "2.0", "dateTime": "1490455920.0", "windDir": "53.0", "outTemp": "29.534", 
> "windSpeed": "2.9333", "rain24": "0.363", "windGust": "11.8354", "rssi": 
> "-71.0", "cloudbase": "3141.49934286"}
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key: {"soc" value: 
>  "68.8047"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "altimeter" 
> value:  "30.4916869968"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "outHumidity" 
> value:  "63.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "dayRain" value: 
>  "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "rainin" value: 
>  "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "voltage" value: 
>  "3.9688"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "dailyrainin" 
> value:  "0.132"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windspeedmph" 
> value:  "4.4383"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "kilopascals" 
> value:  "100.941"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "heatindex" 
> value:  "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "rainmm" value: 
>  "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windspeedmps" 
> value:  "1.9841"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "hpa" value: 
>  "1009.4"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "hourRain" 
> value:  "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windGustDir" 
> value:  "90.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "tempc" value: 
>  "-1.37"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "barometer" 
> value:  "30.5439450745"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windchill" 
> value:  "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "dewpoint" 
> value:  "18.4883"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windrun" value: 
>  "32.3367"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key: 
>  "windspdmps_avg2m" value:  "1.3076"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windspeedkmph" 
> value:  "7.1427"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "humidex" value: 
>  "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "winddir" value: 
>  "90.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "pressure" 
> value:  "29.8079"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "rain" value: 
>  "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "rainRate" 
> value:  "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "dewptc" value: 
>  "-7.5065"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "usUnits" value: 
>  "1.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "altm" value: 
>  "33.1085"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "appTemp" value: 
>  "22.7487311772"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "altf" value: 
>  "108.6236"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "interval" 
> value:  "2.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "dateTime" 
> value:  "1490455920.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windDir" value: 
>  "53.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "outTemp" value: 
>  "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windSpeed" 
> value:  "2.9333"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "rain24" value: 
>  "0.363"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "windGust" 
> value:  "11.8354"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "rssi" value: 
>  "-71.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: key:  "cloudbase" 
> value:  "3141.49934286"}
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windrun"': could not convert string to float: "32.3367"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windGust"': could not convert string to float: "11.8354"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windchill"': could not convert string to float: "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "rainmm"': could not convert string to float: "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "voltage"': could not convert string to float: "3.9688"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "altm"': could not convert string to float: "33.1085"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windspdmps_avg2m"': could not convert string to float: "1.3076"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "altimeter"': could not convert string to float: "30.4916869968"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "barometer"': could not convert string to float: "30.5439450745"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "pressure"': could not convert string to float: "29.8079"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windspeedmps"': could not convert string to float: "1.9841"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "rainRate"': could not convert string to float: "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windspeedkmph"': could not convert string to float: "7.1427"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windspeedmph"': could not convert string to float: "4.4383"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "altf"': could not convert string to float: "108.6236"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "dewpoint"': could not convert string to float: "18.4883"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windGustDir"': could not convert string to float: "90.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windSpeed"': could not convert string to float: "2.9333"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "outTemp"': could not convert string to float: "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "dateTime"': could not convert string to float: "1490455920.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "outHumidity"': could not convert string to float: "63.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "dewptc"': could not convert string to float: "-7.5065"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "hpa"': could not convert string to float: "1009.4"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "interval"': could not convert string to float: "2.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "winddir"': could not convert string to float: "90.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "kilopascals"': could not convert string to float: "100.941"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "rain24"': could not convert string to float: "0.363"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "heatindex"': could not convert string to float: "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "appTemp"': could not convert string to float: "22.7487311772"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "usUnits"': could not convert string to float: "1.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "rssi"': could not convert string to float: "-71.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "tempc"': could not convert string to float: "-1.37"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "dayRain"': could not convert string to float: "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "dailyrainin"': could not convert string to float: "0.132"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "humidex"': could not convert string to float: "29.534"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "windDir"': could not convert string to float: "53.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "cloudbase"': could not convert string to float: "3141.49934286"}
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "hourRain"': could not convert string to float: "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> '{"soc"': could not convert string to float: "68.8047"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "rainin"': could not convert string to float: "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: wxMesh: cannot read value for 
> ' "rain"': could not convert string to float: "0.0"
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: engine: Main loop exiting. 
> Shutting engine down.
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: rtgd: Shut down Thread-1 
> thread.
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]: engine: Caught unrecoverable 
> exception in engine:
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****  'dateTime'
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****  Traceback (most 
> recent call last):
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****    File 
> "/usr/share/weewx/weewx/engine.py", line 871, in main
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****      engine.run()
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****    File 
> "/usr/share/weewx/weewx/engine.py", line 190, in run
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****     
>  self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet))
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****    File 
> "/usr/share/weewx/weewx/engine.py", line 223, in dispatchEvent
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****      callback(event)
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****    File 
> "/usr/share/weewx/weewx/wxservices.py", line 45, in new_loop_packet
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****     
>  self.calc.do_calculations(event.packet, 'loop')
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****    File 
> "/usr/share/weewx/weewx/wxservices.py", line 189, in do_calculations
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****      getattr(self, 
> 'calc_' + obs)(data_us, data_type)
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****    File 
> "/usr/share/weewx/weewx/wxservices.py", line 306, in calc_maxSolarRad
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****     
>  data['dateTime'], self.atc)
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****  KeyError: 'dateTime'
> Mar 25 15:35:57 ubuntu-freenas weewx[5297]:     ****  Exiting.
>
> Seems like it gets part way reading the payload, but then dies on trying 
> to convert the values?  Not sure Bill, is what I'm trying to do here 
> possible?  
>
> On Friday, 24 March 2017 20:23:37 UTC-4, mwall wrote:
>>
>>
>>
>> On Friday, March 24, 2017 at 8:13:57 PM UTC-4, Robert Mantel wrote:
>>>
>>> Bill, I have a question about the format of the MQTT message.  I have my 
>>> raspberry pi running weewx, I also have that unit using mathew's mqtt 
>>> publisher to push data to my mosquitto server.  I set up another virtual 
>>> machine running weewx with your driver, but for the life of me cannot get 
>>> your driver to pick up the info from it.  It keeps saying the payload is 
>>> empty, but I have mqtt dashboard running on my android phone that I tested 
>>> with and get updates just fine.  My goal is to actually migrate from my 
>>> fileparse setup on my PI to an mqtt based server on the freenas box. 
>>>  Presumably Mathiew's mqtt implimentation will use the standard weewx 
>>> labels so I would assume I wouldn't even need a label map for the wxMesh 
>>> driver.  Unless I'm way off on that.
>>>
>>
>> the weewx-mqtt uploader publishes to the topic specified in [[MQTT]], 
>> which is 'weather' by default.
>>
>> so if you subscribe to /weather/+ you should see everything
>>
>> other mqtt uploader options:
>>
>> [StdRESTful]
>>     [[MQTT]]
>>         topic = weather
>>         append_units_label = True # should the units name be appended to 
>> the observation name?
>>         retain = False
>>         aggregation = individual, aggregate # upload each observation 
>> individually, and/or all in a single message
>>         unit_system = None # convert to the indicated unit system 'US', 
>> 'METRIC', or 'METRICWX'
>>         binding = archive # how often to emit data, either 'loop' or 
>> 'archive' 
>>
>> you can also specify units and formatting for each observation, if 
>> necessary.
>>
>> m
>>
>

Reply via email to