Gary thank you that helps me understand it so much better.

The only problem is the rapid fire ends up showing a -- in the barometer
and sometimes a -- in the dewpoint and aNa in the temp. So I really don't
know what to do to fix that.

I am just going to set everything back to its defaults and live with it.

John

On Jul 3, 2017 22:24, "gjr80" <[email protected]> wrote:

Hi,

Well I guess we best get you unconfused!

If I understand the intent of your posts correctly, you have an Accurite
station and are running weeWX with a 5 minute archive period. You are
uploading data to a number of external services, presumably at 5 minute or
longer intervals. You would like WU and Weatherbug to have data uploaded as
close to realtime as possible and for the others you would like to upload
at the preferred (or default) upload period of the external service
concerned?

I think it will help if you get a quick understanding of the data coming
into weeWX and the how and when data is sent to external services.

As Andrew said, weeWX receives two types of data from the weather station;
loop data and archive data. Loop data is the raw data that comes in from
the device driver (the driver is the code that talks directly to the
station). Loop data comes in frequently but it may be regular or irregular.
Some stations emit loop data every 2 odd seconds, some every 40 odd
seconds, some use a mix of times. Loop data may be a 'complete packet'
where it includes data for all of the basic observations or it may be in
'partial packets' where data is included for some observations only (eg
rain, or wind). The key characteristic is that loop data comes in
frequently.

The other type of data is archive data. Once archive data exists it is
known as an archive record. Archive records are produced regularly at fixed
times and almost always include data for all observations. Archive records
can be produced by the weather station (eg Davis Vantage stations) or weeWX
can produce the the archive record based on the aggregation of loop data
received since the last archive record was generated. It is these archive
records that weeWX records in the archive database. The key characteristics
of archive records is that they are highly regular and al,ost always
complete.

There is much better description of loop and archive data in the weeWX
Customization Guide (http://www.weewx.com/docs/
customizing.htm#_________LOOP_packets_vs._archive_records_______)

Now for how/when data is uploaded to external services. WeeWX is event
driven and the two main events that are used to trigger data being uploaded
to other services are the arrival of new loop data and the
generation/arrival of a new archive record. By default, the uploads to
external services are triggerred off the new archive record event and thus
uploads are normally attempted (in your case) every 5 minutes (remember
archive records are highly regular in terms of when they are
generated/recieved). Tom mentioned the post_interval setting. This lets you
specify a minimum period between uploads, so if you specify 600 for WU then
weeWX will upload to WU every 10 minutes. If you specify 660 then weeWX
will upload every 15 minutes (remember the upload is tied to every new
archive record and these occur every 5 minutes, so the upload can only
occur on 5 minute boundaries, at 5 minutes after the last upload the upload
will be skipped because 660 seconds have not elapsed, likewise at 10
minutes after the last upload). It actually takes until the archive record
15 minutes after the last upload before the next upload occurs.

Similarly if you try and take the post_interval below 5 minutes, let's say
it is 60. An uload occurs at a given time, the next upload cannot occur
until the next archive rcord is generated which will be 5 minutes later,
the code checks if 60 seconds has elapsed since the last upload, which it
has, and another upload occurs. So in this case uploads will occur every 5
minutes, in effect the post_interval has no effect when you set it to some
value less than your systems archive interval. Or expressed in another way,
the post_interval setting cannot be used to cause uploads to external
services more frequently than once every archive period.

Remember though I said weeWX can also use the arrival of a new loop packet
as a trigger. Some of the uploaders have the ability to upload on the
arrival of every new loop packet. The WU uploader has this ability through
use of the rapidfire option in weewx.conf. If rapidfire is set to True then
the WU uploader will upload data to WU every time a new loop packet
artives. This could be every 2 odd seconds for Davis Vantage stations, or
at different (and variable) times for other stations depending on how often
they generate loop packets. You can also use the post_interval to limit the
upload frequency. Now that we are triggerring off the new loop packet
event, the post_interval setting applies to the time of the last upload of
the last loop packet. So if you were using WU rapidfire with a Vantage
station you could conceivably set post_interval to 60 to upload every 60
seconds even though loop packets arrive every 2 odd seconds. You could not
set post_interval to 1 to upload every second as you cannot go below that
discrete time between events that trigger the upload.

One key issue that affects uploads based on new loop packets is that many
of these external services do not handle missing data very well. Remember
the characteristics of loop data; they are generated frequently but,
depending on the station, not all observations are included in all loop
packets. So when an uploader comes to upload and say outside temperature is
missing from the loop data what does it upload as outside temperature? This
is why stations that have partial loop packets do not work well with
uploaders that upload on receipt of new loop data. Uploading on a new
archive record is ok as archive records include all direct observations.
Some work has been done to implement a loop packet cache so that stations
that produce partial loop packets can use a loop based uploads (missing
observations are kept in the cache for a defined time) but the decision was
made to implement the cache in the uploaders. As far as I know the WU
uploader is the only one that supports loop caching(which is probably
because the WU uploader is the only one of the default restful uploaders
that support uploading on new loop packets.)

Looking at the weatherbug uploader code it only uploads on every new
archive record, it cannot be set to upload on every new loop packet as the
WU uploader can.

That was a little lengthy but hopefully you have some idea of what can and
can't be done given your station. So what to do now? Given your current
station and 5 minute archive period you could:
1. implement WU rapidfire. This would upload on receipt of every new loop
packet(some every 18 seconds, some every 30 seconds and some every 60
seconds)(refer http://www.weewx.com/docs/hardware.htm#acurite_notes)
2. implement weatherbug updates to occur every 5 minutes
3. implement CWOP updates to occur every 10 minutes. This is the default
weeWX setting for CWOP so there should be no need to do/set anything
4. implement weathercloud updates every 10 minutes. As with CWOP this is
the default setting in weeWX for Weathercloud so no need to do/set anything.
5. implement PWS updates at some multiple of 5 minutes through use of the
post_interval setting (not required to upload every 5 minutes as the
default is your archive period which currently is 5 minutes)

If you shorten your archive period you could post to weatherbug more often,
say every 1 or 2 minutes, but I would not recommend going to a 1 minute
archive for an Accurite based system since some observations only update
every 60 seconds, you risk having incomplete arcgive records as weeWX may
not have seen some observations during the last minute. You could go to a 2
minute archive period but that would mean you could not do a 5 minute PWS
upload since 5 is not a multiple of 2, your PWS updates would be at 10
minutes.

If it were me I would stick with a 5 minute archive, implement 1-5 above
and accept that the best you can do with weatherbug is 5 minutely updates.
You would have to rely on WU as your most up to date external service.

Hope the above helps to give you an understanding of what is possible and
why.

Gary

PS. You could always ask Matthew nicely if he would be able to modify the
weatherbug uploader to upload on new loop packets...

--
You received this message because you are subscribed to a topic in the
Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/
topic/weewx-user/qhdN8xgyPxE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
[email protected].
For more options, visit https://groups.google.com/d/optout.

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to