mirror of
https://github.com/weewx/weewx.git
synced 2026-04-18 08:36:54 -04:00
merge latest changes from master
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
"""Package weewx, containing modules specific to the weewx runtime engine."""
|
||||
import time
|
||||
|
||||
__version__="3.7.0b3"
|
||||
__version__="3.7.0"
|
||||
|
||||
# Holds the program launch time in unix epoch seconds:
|
||||
# Useful for calculating 'uptime.'
|
||||
|
||||
@@ -517,6 +517,7 @@ class StdArchive(StdService):
|
||||
self.end_archive_period_ts = \
|
||||
(int(self.engine._get_console_time() / self.archive_interval) + 1) * self.archive_interval
|
||||
self.end_archive_delay_ts = self.end_archive_period_ts + self.archive_delay
|
||||
self.old_accumulator = None
|
||||
|
||||
def new_loop_packet(self, event):
|
||||
"""Called when A new LOOP record has arrived."""
|
||||
@@ -555,8 +556,8 @@ class StdArchive(StdService):
|
||||
"""The main packet loop has ended, so process the old accumulator."""
|
||||
# If weewx happens to startup in the small time interval between the end of
|
||||
# the archive interval and the end of the archive delay period, then
|
||||
# there will be no old accumulator.
|
||||
if hasattr(self, 'old_accumulator'):
|
||||
# there will be no old accumulator. Check for this.
|
||||
if self.old_accumulator:
|
||||
# If the user has requested software generation, then do that:
|
||||
if self.record_generation == 'software':
|
||||
self._software_catchup()
|
||||
|
||||
@@ -118,16 +118,14 @@ chance of data spikes caused by RS232 line contention. Thanks lionel.sylvie!
|
||||
|
||||
The observation windGustDir has been removed from wmr100, wmr200, te923, and
|
||||
fousb drivers. These drivers were simply assigning windGustDir to windDir,
|
||||
since none of the hardware reports an actual windGustDir. For hardware that
|
||||
does not report a windGustDir, weewx will calculate windGustDir at each archive
|
||||
interval when it accumulates an archive record.
|
||||
since none of the hardware reports an actual windGustDir.
|
||||
|
||||
Calculation of aggregates over a period of one day or longer can now
|
||||
respect any change in archive interval. To take advantage of this
|
||||
feature, you will have to apply an update to your daily
|
||||
summaries. This can be done using the tool wee_database, option
|
||||
--update. The only reason to do this is you plan on changing your
|
||||
archive interval. Otherwise, you can ignore. Fixes issue #61.
|
||||
--update. Refer to the ‘Changes to daily summaries’ section in the
|
||||
Upgrade Guide to determine whether you should update or not. Fixes issue #61.
|
||||
|
||||
Max value of windSpeed for the day is now the max archive value of windSpeed.
|
||||
Formerly, it was the max LOOP value. If you wish to patch your older
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
@@ -4357,7 +4357,7 @@ UV = UV Index</pre>
|
||||
This is the list of search list objects that will be scanned by
|
||||
the template engine, looking for tags. See the section <em><a
|
||||
href="#defining_new_tags">Defining new tags</a></em> and the <a
|
||||
href="http://cheetahtemplate.org/docs/users_guide_html/users_guide.html">Cheetah
|
||||
href="http://pythonhosted.org/Cheetah/users_guide">Cheetah
|
||||
documentation</a> for details on search lists. If no <span
|
||||
class="config_option">search_list</span> is specified, a
|
||||
default list will be used. The default list is:
|
||||
|
||||
@@ -77,7 +77,7 @@ sudo rm -r /var/www/html/weewx</pre>
|
||||
|
||||
<h2>Layout</h2>
|
||||
<p>The installation will result in the following layout:</p>
|
||||
<table class='locations' style='width: 50%'>
|
||||
<table class='locations' style='width: auto;'>
|
||||
<tr>
|
||||
<td align='right'>executable:</td>
|
||||
<td class='tty'>/usr/bin/weewxd</td>
|
||||
|
||||
@@ -108,7 +108,7 @@ Version: 3.7
|
||||
go in the code to go instead in a configuration file.
|
||||
</li>
|
||||
<li>A powerful templating engine. The
|
||||
<a href="http://www.cheetahtemplate.org/">Cheetah</a> module
|
||||
<a href="http://pythonhosted.org/Cheetah/">Cheetah</a> module
|
||||
was chosen for generating html and other types of files from
|
||||
templates. Cheetah
|
||||
allows <em>search list extensions</em> to be defined, making it easy to extend weeWX with new template
|
||||
|
||||
@@ -95,7 +95,7 @@ sudo rm /Library/LaunchDaemons/com.weewx.weewxd.plist</pre>
|
||||
|
||||
<h2>Layout</h2>
|
||||
<p>The instructions above will result in the following layout:</p>
|
||||
<table class='locations' style="width:50%">
|
||||
<table class='locations' style="width: auto;">
|
||||
<tr>
|
||||
<td align='right'>executable:</td>
|
||||
<td class='tty'>/Users/Shared/weewx/bin/weewxd</td>
|
||||
|
||||
@@ -25,15 +25,19 @@ Version: 3.7
|
||||
|
||||
<div class="content">
|
||||
|
||||
<dl>
|
||||
<dt><a href="apt-get.htm">Quick-Start</a></dt>
|
||||
<dd>
|
||||
If you use a Debian-based system, such as Ubuntu, Mint, or
|
||||
Raspian, then you may want to follow this "quick start" guide.
|
||||
It will help you do a basic install to get you started, which
|
||||
you can then refine. Alternatively, you can follow the more
|
||||
complete directions in the User's Guide.
|
||||
</dd>
|
||||
<dl>
|
||||
<dt>Quick-Start</dt>
|
||||
<dd>
|
||||
Follow the installation instructions for a basic install, which
|
||||
you can then refine. For detailed instructions, see the
|
||||
User's Guide.
|
||||
<p>
|
||||
<a href="debian.htm">Instructions for Debian, Ubuntu, Mint, Raspbian</a><br/>
|
||||
<a href="redhat.htm">Instructions for Redhat, Centos, Fedora</a><br/>
|
||||
<a href="suse.htm">Instructions for SUSE, OpenSUSE</a><br/>
|
||||
<a href="macos.htm">Instructions for MacOS</a><br/>
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
<dt><a href="usersguide.htm">User's Guide</a></dt>
|
||||
<dd>
|
||||
@@ -93,8 +97,8 @@ Version: 3.7
|
||||
<dd>List of the changes in each release.</dd>
|
||||
|
||||
<dt><a href="http://weewx.com/hwcmp.html">Hardware Comparison</a></dt>
|
||||
<dd>Are you looking for a weather station? Are you considering
|
||||
building your own station? This table lists the sensors,
|
||||
<dd>Are you looking for a weather station? Would you like to
|
||||
build your own station? This table lists the sensors,
|
||||
configurations, and specifications for various
|
||||
types of weather-related hardware.
|
||||
</dd>
|
||||
|
||||
@@ -96,7 +96,7 @@ sudo rm -r /var/www/html/weewx</pre>
|
||||
|
||||
<h2>Layout</h2>
|
||||
<p>The installation will result in the following layout:</p>
|
||||
<table class='locations' style='width: 50%'>
|
||||
<table class='locations' style='width: auto;'>
|
||||
<tr>
|
||||
<td align='right'>executable: </td>
|
||||
<td class='tty'>/usr/bin/weewxd</td>
|
||||
|
||||
@@ -238,7 +238,7 @@ sudo rm /etc/init.d/weewx</pre>
|
||||
<p>The installation will place weeWX in the
|
||||
<span class="code">/home/weewx</span> directory with the following
|
||||
layout: </p>
|
||||
<table class='locations' style="width:50%">
|
||||
<table class='locations' style="width: auto;">
|
||||
<tr>
|
||||
<td align='right'>executable:</td>
|
||||
<td class='tty'>/home/weewx/bin/weewxd</td>
|
||||
|
||||
@@ -93,7 +93,7 @@ sudo rm -r /var/www/html/weewx</pre>
|
||||
|
||||
<h2>Layout</h2>
|
||||
<p>The installation will result in the following layout:</p>
|
||||
<table class='locations' style="width:50%">
|
||||
<table class='locations' style="width: auto;">
|
||||
<tr>
|
||||
<td align='right'>executable: </td>
|
||||
<td class='tty'>/usr/bin/weewxd</td>
|
||||
|
||||
@@ -340,13 +340,13 @@ Usage: wee_database --help
|
||||
wee_database --check-strings
|
||||
wee_database --fix-strings [--dry-run]
|
||||
wee_database --drop-daily
|
||||
wee_database --rebuild-daily
|
||||
[--date=YYYY-mm-dd | --from=YYYY-mm-dd --to=YYYY-mm-dd]
|
||||
wee_database --rebuild-daily [--date=YYYY-mm-dd |
|
||||
--from=YYYY-mm-dd --to=YYYY-mm-dd]
|
||||
|
||||
Description:
|
||||
|
||||
Manipulate the weeWX database. Most of these operations are handled automatically
|
||||
by weeWX, but they may be useful in special cases.
|
||||
Manipulate the weeWX database. Most of these operations are handled
|
||||
automatically by weeWX, but they may be useful in special cases.
|
||||
|
||||
Options:
|
||||
-h, --help show this help message and exit
|
||||
|
||||
24
makefile
24
makefile
@@ -6,7 +6,7 @@
|
||||
SIGN=1
|
||||
|
||||
# destination for uploading releases
|
||||
RELDIR=weewx.com:/downloads/development_versions/
|
||||
UPLOADDIR=weewx.com:/downloads/development_versions/
|
||||
|
||||
# destination for uploading docs
|
||||
DOCDST=weewx.com:/
|
||||
@@ -63,7 +63,7 @@ info:
|
||||
@echo " VERSION: $(VERSION)"
|
||||
@echo " MMVERSION: $(MMVERSION)"
|
||||
@echo " CWD: $(CWD)"
|
||||
@echo " RELDIR: $(RELDIR)"
|
||||
@echo " UPLOADDIR: $(UPLOADDIR)"
|
||||
@echo " DOCDST: $(DOCDST)"
|
||||
@echo " USER: $(USER)"
|
||||
|
||||
@@ -113,7 +113,7 @@ src-package $(DSTDIR)/$(SRCPKG): MANIFEST.in
|
||||
./setup.py sdist
|
||||
|
||||
upload-src:
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(RELDIR) $(SRCPKG))
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(UPLOADDIR) $(SRCPKG))
|
||||
|
||||
# upload docs to the weewx web site
|
||||
upload-docs:
|
||||
@@ -148,7 +148,7 @@ readme: docs/changes.txt
|
||||
pkg/mkchangelog.pl --ifile docs/changes.txt >> $(DSTDIR)/README.txt
|
||||
|
||||
upload-readme: readme
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(RELDIR) README.txt)
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(UPLOADDIR) README.txt)
|
||||
|
||||
# update the version in all relevant places
|
||||
VDOCS=readme.htm customizing.htm devnotes.htm hardware.htm usersguide.htm upgrading.htm utilities.htm
|
||||
@@ -208,7 +208,7 @@ check-deb:
|
||||
lintian -Ivi $(DSTDIR)/$(DEBPKG)
|
||||
|
||||
upload-deb:
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(RELDIR) $(DEBPKG))
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(UPLOADDIR) $(DEBPKG))
|
||||
|
||||
RPMREVISION=1
|
||||
RPMVER=$(VERSION)-$(RPMREVISION)
|
||||
@@ -262,16 +262,18 @@ check-rpm:
|
||||
rpmlint $(DSTDIR)/$(RPMPKG)
|
||||
|
||||
upload-rpm:
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(RELDIR) $(RPMPKG))
|
||||
(cd $(DSTDIR); ftp -u $(USER)@$(UPLOADDIR) $(RPMPKG))
|
||||
|
||||
# move files from development_versions to previous_versions and set up the
|
||||
# move files from the upload directory to the release directory and set up the
|
||||
# symlinks to them from the download root directory
|
||||
DEVDIR=$(WEEWX_DOWNLOADS)/development_versions
|
||||
RELDIR=$(WEEWX_DOWNLOADS)/released_versions
|
||||
ARTIFACTS=weewx-$(RPMVER).rhel.noarch.rpm weewx-$(RPMVER).suse.noarch.rpm weewx-$(VERSION).tar.gz weewx_$(DEBVER)_all.deb
|
||||
release:
|
||||
ssh $(USER)@weewx.com "for f in $(ARTIFACTS); do mv $(WEEWX_DOWNLOADS)/development_versions/$$f $(WEEWX_DOWNLOADS)/previous_versions; done"
|
||||
ssh $(USER)@weewx.com "rm $(WEEWX_DOWNLOADS)/weewx*"
|
||||
ssh $(USER)@weewx.com "for f in $(ARTIFACTS); do ln -s $$f $(WEEWX_DOWNLOADS); done"
|
||||
ssh $(USER)@weewx.com "mv $(WEEWX_DOWNLOADS)/README.txt $(WEEWX_DOWNLOADS)"
|
||||
ssh $(USER)@weewx.com "for f in $(ARTIFACTS); do if [ -f $(DEVDIR)/$$f ]; then mv $(DEVDIR)/$$f $(RELDIR); fi; done"
|
||||
ssh $(USER)@weewx.com "rm -f $(WEEWX_DOWNLOADS)/weewx*"
|
||||
ssh $(USER)@weewx.com "for f in $(ARTIFACTS); do if [ -f $(RELDIR)/$$f ]; then ln -s released_versions/$$f $(WEEWX_DOWNLOADS); fi; done"
|
||||
ssh $(USER)@weewx.com "if [ -f $(DEVDIR)/README.txt ]; then mv $(DEVDIR)/README.txt $(WEEWX_DOWNLOADS); fi"
|
||||
|
||||
# run perlcritic to ensure clean perl code. put these in ~/.perlcriticrc:
|
||||
# [-CodeLayout::RequireTidyCode]
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
* Fri Mar 10 2017 Matthew Wall (weewx) <mwall@users.sourceforge.net> - 3.7.0-1
|
||||
- new upstream release
|
||||
* Sat Mar 04 2017 Matthew Wall (weewx) <mwall@users.sourceforge.net> - 3.7.0b3-1
|
||||
- new upstream release
|
||||
* Sat Feb 18 2017 Matthew Wall (weewx) <mwall@users.sourceforge.net> - 3.7.0b2-1
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
weewx (3.7.0-1) unstable; urgency=low
|
||||
* new upstream release
|
||||
-- Matthew Wall (weewx) <mwall@users.sourceforge.net> Fri, 10 Mar 2017 15:48:50 -0500
|
||||
weewx (3.7.0b3-1) unstable; urgency=low
|
||||
* new upstream release
|
||||
-- Matthew Wall (weewx) <mwall@users.sourceforge.net> Sat, 04 Mar 2017 23:06:41 -0500
|
||||
|
||||
@@ -148,7 +148,9 @@ count_procs() {
|
||||
}
|
||||
|
||||
CMD=$1
|
||||
shift
|
||||
if [ "$1" != "" ]; then
|
||||
shift
|
||||
fi
|
||||
INSTANCES="$@"
|
||||
if [ "$INSTANCES" = "" ]; then
|
||||
INSTANCES=$WEEWX_INSTANCES
|
||||
|
||||
@@ -16,9 +16,9 @@ my $KBD_INTERRUPTS = 'engine: keyboard interrupts';
|
||||
my $RESTARTS = 'engine: restarts';
|
||||
my $GARBAGE = 'engine: garbage collected';
|
||||
my $ARCHIVE_RECORDS_ADDED = 'archive: records added';
|
||||
my $IMAGES_GENERATED = 'genimages: images generated';
|
||||
my $IMAGES_GENERATED = 'imagegenerator: images generated';
|
||||
my $FILES_GENERATED = 'filegenerator: files generated';
|
||||
my $FILES_COPIED = 'reportengine: files copied';
|
||||
my $FILES_COPIED = 'copygenerator: files copied';
|
||||
my $RECORDS_PUBLISHED = 'restful: records published';
|
||||
my $RECORDS_SKIPPED = 'restful: records skipped';
|
||||
my $RECORDS_FAILED = 'restful: publish failed';
|
||||
@@ -135,18 +135,18 @@ while(defined($_ = <STDIN>)) {
|
||||
$clockmin = $1 if $1 < $clockmin;
|
||||
$clockmax = $1 if $1 > $clockmax;
|
||||
$clockcount += 1;
|
||||
} elsif (/manager: added record/ || /archive: added record/) {
|
||||
} elsif (/manager: Added record/ || /archive: added record/) {
|
||||
$counts{$ARCHIVE_RECORDS_ADDED} += 1;
|
||||
} elsif (/genimages: Generated (\d+) images/) {
|
||||
} elsif (/imagegenerator: Generated (\d+) images/) {
|
||||
$counts{$IMAGES_GENERATED} += $1;
|
||||
} elsif (/genimages: aggregate interval required for aggregate type/ ||
|
||||
/genimages: line type \S+ skipped/) {
|
||||
} elsif (/imagegenerator: aggregate interval required for aggregate type/ ||
|
||||
/imagegenerator: line type \S+ skipped/) {
|
||||
$errors{$_} = $errors{$_} ? $errors{$_} + 1 : 1;
|
||||
} elsif (/cheetahgenerator: Generated (\d+)/ ||
|
||||
/cheetahgenerator: generated (\d+)/ ||
|
||||
/filegenerator: generated (\d+)/) {
|
||||
$counts{$FILES_GENERATED} += $1;
|
||||
} elsif (/reportengine: copied (\d+) files/) {
|
||||
} elsif (/copygenerator: copied (\d+) files/) {
|
||||
$counts{$FILES_COPIED} += $1;
|
||||
} elsif (/restful: Skipped record/) {
|
||||
$counts{$RECORDS_SKIPPED} += 1;
|
||||
@@ -250,9 +250,9 @@ while(defined($_ = <STDIN>)) {
|
||||
/archive: Created and initialized/ ||
|
||||
/reportengine: Running reports for latest time/ ||
|
||||
/reportengine: Found configuration file/ ||
|
||||
/reportengine: FTP upload not requested/ ||
|
||||
/ftpgenerator: FTP upload not requested/ ||
|
||||
/reportengine: Running report / || # only when debug=1
|
||||
/reportengine: rsync upload not requested/ ||
|
||||
/rsyncgenerator: rsync upload not requested/ ||
|
||||
/restful: station will register with/ ||
|
||||
/restful: Registration interval/ ||
|
||||
/\*\*\*\* Registration interval/ ||
|
||||
|
||||
@@ -17,7 +17,7 @@ WEEWX_ROOT = /home/weewx
|
||||
socket_timeout = 20
|
||||
|
||||
# Do not modify this. It is used when installing and updating weewx.
|
||||
version = 3.7.0b3
|
||||
version = 3.7.0
|
||||
|
||||
##############################################################################
|
||||
|
||||
|
||||
Reference in New Issue
Block a user