Hi Michael, I rewrote LoopData to use the same names as Cheetah (rather than keeping my home-grown naming scheme).
If you are planning on going further with LoopData (and WeatherBoard) I recommend that you switch to: https://github.com/chaunceygardiner/weewx-loopdata/tree/development and https://github.com/chaunceygardiner/weewx-weatherboard/tree/development You’ll find the names you can include much more familiar. Here’ my loop-data.txt now: {"current.dateTime.raw": 1594525666, "current.windSpeed.raw": 0.0, "current.windSpeed": "0.0 mph", "current.windDir.ordinal_compass": "N/A", "trend.barometer.desc": "Rising Slowly", "current.barometer": "29.976 inHg", "day.rain.sum": "0.00 in", "current.dewpoint": "55.5\u00b0F", "current.heatindex": "68.2\u00b0F", "current.outHumidity": "64%", "current.outTemp": "68.2\u00b0F", "current.rainRate": "0.00 in/h", "current.windchill": "68.2\u00b0F", "day.windGust.maxtime": "07/11/2020 03:58:52 PM", "day.windGust.max": "13.8 mph", "10m.windGust.max": "4.4 mph", "current.pm2_5_aqi.raw": 29.0, "current.pm2_5_aqic.raw": 2746368, "day.wind.maxtime": "07/11/2020 03:58:52 PM", "day.wind.max.formatted": "13.8", "day.wind.gustdir.formatted": "45", "day.outTemp.maxtime": "07/11/2020 02:01:02 PM", "day.outTemp.max.formatted": "87.2", "day.outTemp.mintime": "07/11/2020 06:15:54 AM", "day.outTemp.min.formatted": "53.2", "day.heatindex.maxtime": "07/11/2020 02:01:02 PM", "day.heatindex.max.formatted": "87.2", "day.windchill.mintime": "07/11/2020 06:15:54 AM", "day.windchill.min.formatted": "53.2", "day.dewpoint.maxtime": "07/11/2020 07:59:56 AM", "day.dewpoint.max.formatted": "61.4", "day.dewpoint.mintime": "07/11/2020 06:15:54 AM", "day.dewpoint.min.formatted": "51.8", "day.outHumidity.maxtime": "07/11/2020 07:06:56 AM", "day.outHumidity.max.formatted": "96", "day.outHumidity.mintime": "07/11/2020 02:03:02 PM", "day.outHumidity.min.formatted": "34", "day.barometer.maxtime": "07/11/2020 10:36:58 AM", "day.barometer.max.formatted": "30.025", "day.barometer.minttime": "day.barometer.minttime", "day.barometer.min.formatted": "29.945", "day.rain.sum.formatted": "0.00", "day.rainRate.maxtime": "07/11/2020 12:00:02 AM", "day.rainRate.max.formatted": "0.00", "day.wind.avg.formatted": "2.0", "day.wind.rms.formatted": "2.6", "day.wind.vecavg.formatted": "1.8", "day.wind.vecdir.formatted": "357", "current.consBatteryVoltage": "5.3 V", "current.supplyVoltage": "6.6 V"} current and day are pretty much all there. You can’t use .format(xxx); but you can use .formatted (which is the same as .format(add_label=False). unit.label.<obs> works. Trend only has barometer and it’s for a hard coded (at present) 3-hour barometer trend: trend.barometer Also, trend.barometer.desc is a made up, not currently localized, way of getting steady, falling slowly, etc. I’ve got to figure something out for that. Lastly, there’s also a 15m period just for windGust. 15m.windGust.max 15m.windGust.maxtime Cheers, John > On Jul 11, 2020, at 8:23 AM, John Kline <[email protected]> wrote: > > > Asssuming loop-data.txt is being generated on every loop, some questions: > > Is WeatherBoard pointed to the correct location where loop-data.txt is > located? > > Did you add the fields required by WeatherBoard (see WeatherBoard README) to > the fields entry in the LoopData section of weewx.conf? > > Perhaps you are missing a field that WeatherBoard requires? Do you see any > JavaScript errors on the WeatherBoard page (Developer Tools->View JavaScript > console or something of that sort). If so, would you tell me what those > errors are? > >>> On Jul 11, 2020, at 6:56 AM, Michael <[email protected]> wrote: >>> >> >> Hi John, >> >> great, thankyou. Now weewx-loopdata works as expected >> >> But now I have another question: I installed the Skin Weatherboard. What do >> I have to do, so that the page refreshes automatically when the values are >> updated. Until now I have to update the page manually with F5. Then in 5 >> minutes rhythm updated values are displayed. >> >> Kind Regards >> Michael >> >> >> Am Donnerstag, 9. Juli 2020 16:17:39 UTC+2 schrieb John Kline: >>> >>> Hi Michael, >>> >>> Thank you for testing my extension. I added a check for barometer value of >>> None in the database. Would you give 1.3.18 a try? >>> >>> Cheers, >>> John >>> >>>>> On Jul 9, 2020, at 1:22 AM, Michael <[email protected]> wrote: >>>>> >>>> >>>> Hi John, >>>> >>>> I'm just about to test your extension. The installation is on a raspi that >>>> gets its data only via SDR. There is no station connected. Barometer data >>>> is not available on this test system. >>>> shortly after the start of weewx there is this error: >>>> >>>> Jul 9 10:14:02 raspberrypi systemd[1]: Started Session c3 of user pi. >>>> Jul 9 10:14:14 raspberrypi systemd[1]: Stopping LSB: weewx weather >>>> system... >>>> Jul 9 10:14:14 raspberrypi weewx[2147]: Stopping weewx weather system: >>>> weewx not running.... >>>> Jul 9 10:14:14 raspberrypi systemd[1]: weewx.service: Succeeded. >>>> Jul 9 10:14:14 raspberrypi systemd[1]: Stopped LSB: weewx weather system. >>>> Jul 9 10:14:14 raspberrypi systemd[1]: Starting LSB: weewx weather >>>> system... >>>> Jul 9 10:14:15 raspberrypi weewx[2167] INFO __main__: Initializing weewx >>>> version 4.0.0 >>>> Jul 9 10:14:15 raspberrypi weewx[2167] INFO __main__: Using Python 3.7.3 >>>> (default, Dec 20 2019, 18:57:59) #012[GCC 8.3.0] >>>> Jul 9 10:14:15 raspberrypi weewx[2167] INFO __main__: Platform >>>> Linux-4.19.118-v7+-armv7l-with-debian-10.4 >>>> Jul 9 10:14:15 raspberrypi weewx[2167] INFO __main__: Locale is >>>> 'de_DE.UTF-8' >>>> Jul 9 10:14:15 raspberrypi weewx[2167] INFO __main__: PID file is >>>> /var/run/weewx.pid >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO __main__: Using configuration >>>> file /home/weewx/weewx.conf >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Loading station >>>> type SDR (user.sdr) >>>> Jul 9 10:14:15 raspberrypi weewx[2157]: Starting weewx weather system: >>>> weewx. >>>> Jul 9 10:14:15 raspberrypi systemd[1]: Started LSB: weewx weather system. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.sdr: driver version is >>>> 0.77 >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.sdr: sensor map is >>>> {'outTemp': 'temperature.1:8.HidekiTS04Packet', 'outHumidity': >>>> 'humidity.1:8.HidekiTS04Packet', 'extraTemp1': >>>> 'temperature.2:10.HidekiTS04Packet', 'extraHumid1': >>>> 'humidity.2:10.HidekiTS04Packet', 'batteryStatus1': >>>> 'battery.2:10.HidekiTS04Packet', 'extraTemp2': >>>> 'temperature.3:1.HidekiTS04Packet', 'extraHumid2': >>>> 'humidity.3:1.HidekiTS04Packet', 'batteryStatus2': >>>> 'battery.3:1.HidekiTS04Packet', 'extraTemp3': >>>> 'temperature.4:13.HidekiTS04Packet', 'extraHumid3': >>>> 'humidity.4:13.HidekiTS04Packet', 'batteryStatus3': >>>> 'battery.4:13.HidekiTS04Packet', 'extraTemp4': >>>> 'temperature.5:8.HidekiTS04Packet', 'extraHumid4': >>>> 'humidity.5:8.HidekiTS04Packet', 'batteryStatus4': >>>> 'battery.5:8.HidekiTS04Packet', 'extraTemp6': >>>> 'temperature.220.inFactoryPacket', 'extraHumid6': >>>> 'humidity.220.inFactoryPacket', 'batteryStatus6': >>>> 'battery.220.inFactoryPacket', 'extraTemp7': >>>> 'temperature.15.inFactoryPacket', 'extraHumid7': >>>> 'humidity.15.inFactoryPacket', 'batteryStatus7': >>>> 'battery.15.inFactoryPacket', 'extraTemp8': >>>> 'temperature.3:12.HidekiTS04Packet', 'extraHumid8': >>>> 'humidity.3:12.HidekiTS04Packet', 'batteryStatus8': >>>> 'battery.3:12.HidekiTS04Packet', 'extraTemp9': >>>> 'temperature.3:14.HidekiTS04Packet', 'extraHumid9': >>>> 'humidity.3:14.HidekiTS04Packet', 'batteryStatus9': >>>> 'battery.3:14.HidekiTS04Packet', 'extraTemp10': >>>> 'temperature.3:15.HidekiTS04Packet', 'extraHumid10': >>>> 'humidity.3:15.HidekiTS04Packet', 'batteryStatus10': >>>> 'battery.3:15.HidekiTS04Packet', 'windSpeed': >>>> 'wind_speed.4:7.HidekiWindPacket', 'windDir': >>>> 'wind_dir.4:7.HidekiWindPacket', 'windGust': >>>> 'wind_gust.4:7.HidekiWindPacket', 'windBatteryStatus': >>>> 'battery.4:7.HidekiWindPacket'} >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.sdr: deltas is {'rain': >>>> 'rain_total', 'strikes': 'strikes_total'} >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.sdr: startup process >>>> '/usr/local/bin/rtl_433 -f 433.92M -M utc -F json -M oldmodel' >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: StdConvert >>>> target unit is 0x10 >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.wxservices: The >>>> following values will be calculated: pressure=prefer_hardware, >>>> barometer=prefer_software, altimeter=prefer_hardware, >>>> windchill=prefer_hardware, heatindex=prefer_hardware, >>>> dewpoint=prefer_hardware, inDewpoint=prefer_hardware, >>>> rainRate=prefer_hardware, maxSolarRad=prefer_hardware, >>>> cloudbase=prefer_software, humidex=prefer_hardware, >>>> appTemp=prefer_hardware, ET=prefer_hardware, windrun=prefer_hardware >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.wxservices: The >>>> following algorithms will be used for calculations: altimeter=aaASOS, >>>> maxSolarRad=RS >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Archive will >>>> use data binding wx_binding >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Record >>>> generation will be attempted in 'hardware' >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Using archive >>>> interval of 300 seconds (specified in weewx configuration) >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.restx: StationRegistry: >>>> Registration not requested. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.restx: Wunderground: >>>> Posting not enabled. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.restx: PWSweather: >>>> Posting not enabled. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.restx: CWOP: Posting >>>> not enabled. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.restx: WOW: Posting not >>>> enabled. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.restx: AWEKAS: Posting >>>> not enabled. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.loopdata: Service >>>> version is 1.3.17. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.loopdata: LoopData file >>>> is: /home/weewx/public_html/loop-data.txt >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO __main__: Starting up weewx >>>> version 4.0.0 >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Using binding >>>> 'wx_binding' to database 'weewx_sdr2' >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.manager: Starting >>>> backfill of daily summaries >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Starting main >>>> packet loop. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO weewx.engine: Main loop >>>> exiting. Shutting engine down. >>>> Jul 9 10:14:15 raspberrypi weewx[2171] INFO user.sdr: shutdown process >>>> /usr/local/bin/rtl_433 -f 433.92M -M utc -F json -M oldmodel >>>> Jul 9 10:14:30 raspberrypi weewx[2171] INFO user.sdr: timed out waiting >>>> for stderr-thread >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: Caught >>>> unrecoverable exception: >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** must >>>> be real number, not NoneType >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> Traceback (most recent call last): >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> File "/home/weewx/bin/weewxd", line 154, in main >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> engine.run() >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> File "/home/weewx/bin/weewx/engine.py", line 177, in run >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> self.dispatchEvent(weewx.Event(weewx.PRE_LOOP)) >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> File "/home/weewx/bin/weewx/engine.py", line 224, in dispatchEvent >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> callback(event) >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> File "/home/weewx/bin/user/loopdata.py", line 257, in pre_loop >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> barometer_readings = self.fill_in_barometer_readings_at_startup(dbm) >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> File "/home/weewx/bin/user/loopdata.py", line 288, in >>>> fill_in_barometer_readings_at_startup >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> timestamp_to_string(reading.timestamp), reading.value)) >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> TypeError: must be real number, not NoneType >>>> Jul 9 10:14:37 raspberrypi weewx[2171] CRITICAL __main__: **** >>>> Exiting. >>>> >>>> kind regards >>>> Michael >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "weewx-development" 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-development/3b5accfd-6280-4b55-bde6-b2d3a739c722o%40googlegroups.com. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "weewx-development" 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-development/a1b6662f-2d26-4cd4-8b66-d85ac19f25bao%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "weewx-development" 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-development/1BBE290C-71EB-42DE-8DAD-2BFED3B742FF%40johnkline.com.
