I recently went through a full rebuild of my reasonably complicated weewx
setup and noticed from my grafana (over influxdb) dashboard that I wasn't
getting any weewx data displayed any more in grafana.
After scratching my head a bit I remembered that waaaay back I had to hack
on mqtt to force the data fields to be floats rather than strings in order
to have telegraf be able to consume the MQTT JSON data for vp2/loop and
save the values into influxdb as floats.
The unaltered topic that is published looks like:
{"dateTime": "1640292000.0", "usUnits": "1.0", "interval": "5.0",
"rxCheckPercent": "99.08333333333333", "outTemp": "42.9", "highOutTemp":
"43.0", "lowOutTemp": "42.8", "rain": "0.0", "rainRate": "0.0",
"barometer": "29.458", "wind_samples": "116.0", "inTemp": "73.0",
"inHumidity": "41.0", "outHumidity": "84.0", "windSpeed": "10.0",
"windGust": "23.0", "windGustDir": "225.0", "windDir": "225.0", "ET":
"0.0", "forecastRule": "192.0", "txBatteryStatus": "0.0",
"consBatteryVoltage": "4.6", "pressure": "29.06259143856035", "altimeter":
"29.452768103211785", "appTemp": "34.745507363020586", "cloudbase":
"1386.797032575108", "dewpoint": "38.404093056669524", "heatindex":
"40.838", "humidex": "42.9", "inDewpoint": "47.894926888168385",
"maxSolarRad": "234.6516473206998", "windchill": "37.236882231370714",
"windrun": "0.8333333333333334", "windSpeed10": "10.0", "stormRain":
"0.73", "stormStart": "1640073600.0", "dayRain": "0.15", "monthRain":
"3.98", "yearRain": "17.97", "dayET": "0.0", "monthET": "0.0", "yearET":
"0.0", "leafWet4": "0.0", "insideAlarm": "0.0", "rainAlarm": "0.0",
"outsideAlarm1": "0.0", "outsideAlarm2": "0.0", "extraAlarm1": "0.0",
"extraAlarm2": "0.0", "extraAlarm3": "0.0", "extraAlarm4": "0.0",
"extraAlarm5": "0.0", "extraAlarm6": "0.0", "extraAlarm7": "0.0",
"extraAlarm8": "0.0", "soilLeafAlarm1": "0.0", "soilLeafAlarm2": "0.0",
"soilLeafAlarm3": "0.0", "soilLeafAlarm4": "0.0", "forecastIcon": "18.0",
"sunrise": "1640274840.0", "sunset": "1640305380.0", "hourRain": "0.0",
"rain24": "0.4400000000000003", "extraTemp1": "45.61", "extraTemp2": "46.4"}
Notice the values are strings ?
Shouldn't they be numerical ?
As a workaround/hack fix I changed "data[name] = s" to be "data[name] =
float(s)" in mqtt.py which restored everything working end-to-end, but I
would love to be able to get all the values for the key/value pairs to be
float so hacking on the extension is not needed.
Is there a way to do this in weewx.conf without adding dozens of entries to
force each individual item within a MQTT published set of loop data ??
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/9482667e-53d4-483b-8199-392592c63c9cn%40googlegroups.com.