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.

Reply via email to