Running two instances was my plan, but I can see how that would be an issue.
Is there some documentation somewhere that I can use to adapt the fileparse driver to be a service? Is this similar here? https://github.com/bdwilson/acurite/blob/master/pond.py On Monday, January 6, 2020 at 9:42:34 PM UTC-5, gjr80 wrote: > > Ok, now the cause is clear. WeeWX uses three 'pressures'; pressure which > is station or absolute pressure, altimeter which is pressure adjusted for > altitude and barometer which is pressure adjusted for altitude, > temperature and humidity. When one or more of these three are missing WeeWX > will attempt to calculate it. In your case you have pressure but no > barometer or altimeter - that is clear when you see what is coming from > the driver when run directly. When you look at the LOOP packets when WeeWX > is run directly you will notice pressure and altimeter but no barometer, > that is because altimeter is simply a function of pressure and station > altitude and WeeWX was able to calculate that but barometer requires > (amongst other things) temperature data and you don't have any. So WeeWX > cannot calculate barometer. > > Now cut to your reports, your report will be trying to display barometer > with (likely) the tag $current.barometer. There is no barometer data so > WeeWX displays N/A. If you change barometer to pressure or altimeter it > will work fine (albeit displaying pressure or altimeter not barometer). > When/if you integrate this with a station that has temperature and humidity > data barometer will appear. > > So the upshot is that everything is working as expected. The trick in > getting your pressure data into your RPi will be getting your SDR > 'arrangement' working with the fileparse 'arrangement' as each WeeWX > instance only supports a single driver. There are a few options, one would > be to run a single WeeWX instance using the SDR driver and adapt the > fileparse driver to be a service that augments loop packets with pressure; > WeeWX with then calculate altimeter and barometer and save to archive and > generate reports as required. Another option is the reverse, a single WeeWX > instance with fileparse driver and SDR as a service; I suspect the former > would be easier to implement since the fileparse driver is very basic in > operation. Another option is to run two instances of WeeWX each running a > single driver though this will be tricky because one instance will require > temperature and humidity data that only the other instance has. There is > not a huge difference between a driver and a service that augments loop > packets so I expect the first option will be very easy to do. > > Gary > > On Tuesday, 7 January 2020 11:34:37 UTC+10, Kenny Stier wrote: >> >> Thanks for that, Gary >> >> Running fileparse.py directly works >> mt-dev@weewx:~$ PYTHONPATH=/usr/share/weewx python >> /usr/share/weewx/user/fileparse.py >> 2020-01-06 20:32:35 EST (1578360755) {'pressure': 29.17, 'usUnits': 1, >> 'dateTime': 1578360755} >> >> When I run weewx directly, the pressure data is collected >> mt-dev@weewx:~$ sudo weewxd /etc/weewx/weewx.conf >> LOOP: 2020-01-06 20:18:09 EST (1578359889) altimeter: 30.1414615854, >> dateTime: 1578359889, maxSolarRad: None, pressure: 29.17, rainRate: 0, >> usUnits: 1 >> LOOP: 2020-01-06 20:23:09 EST (1578360189) altimeter: 30.1414615854, >> dateTime: 1578360189, maxSolarRad: None, pressure: 29.17, rainRate: 0, >> usUnits: 1 >> REC: 2020-01-06 20:20:00 EST (1578360000) altimeter: 30.1414615854, >> dateTime: 1578360000.0, ET: None, interval: 5, maxSolarRad: None, pressure: >> 29.17, rainRate: 0.0, usUnits: 1 >> LOOP: 2020-01-06 20:23:09 EST (1578360189) altimeter: 30.1414615854, >> dateTime: 1578360189, maxSolarRad: None, pressure: 29.17, rainRate: 0, >> usUnits: 1 >> >> My reports are still blank, however. >> I don't believe it is a permissions issue, as the files are being modified >> -rw-r--r-- 1 root root 17K Jan 6 20:23 index.html >> >> >> On Monday, January 6, 2020 at 6:10:23 AM UTC-5, gjr80 wrote: >>> >>> Hi, >>> >>> Since the end result is not what you expect you really want to follow >>> your data from start to finish to see where it is being lost. You have >>> looked at the file being generated by your bash script and it appears to >>> have valid data. The next step is to look at what is being emitted by the >>> fileparse driver. There are a couple of ways you can do this, since you >>> already have WeeWX installed you could run WeeWX directly. >>> <http://weewx.com/docs/usersguide.htm#Running_directly> This will show >>> you the WeeWX augmented loop packets being emitted by the fileparse driver >>> on the console. It will also show you the archive records being synthesised >>> by WeeWX, the archive records are what are used to populate your reports. >>> Alternatively, you could run the fileparse driver directly, refer to >>> the comments in the last few lines of fileparse.py for how to do this, >>> something like this should work (untested): >>> >>> $ PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/fileparse.py >>> >>> This will show you only the loop packets emitted by the fileparse >>> driver, this is exactly what fileparse passes to WeeWX when WeeWX is >>> run. >>> >>> If correct data is being emitted by the fileparse driver then you need >>> to look at WeeWX itself, if incorrect or no data is being emitted then you >>> have an issue with the driver and it's processing of/acces to the raw data. >>> >>> Gary >>> >> -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/7a7f7de6-beb0-4e84-ab48-c63b234faf18%40googlegroups.com.