mirror of
https://github.com/weewx/weewx.git
synced 2026-04-18 08:36:54 -04:00
1077 lines
37 KiB
Plaintext
1077 lines
37 KiB
Plaintext
weewx change history
|
|
--------------------
|
|
|
|
2.6.0 MM/DD/YY
|
|
|
|
Changed the RESTful architecture so RESTful services are now first-class
|
|
weewx services. This should simplify the installation of 3rd party
|
|
extensions that use these services.
|
|
|
|
Broke up service_list, the very long list of services to be run, into
|
|
five separate lists. This will allow services to be grouped together,
|
|
according to when they should be run.
|
|
|
|
Added extensions to the weewx source distribution, including:
|
|
uploader for open weather map
|
|
uploader for weatherbug
|
|
uploader for wetter.com
|
|
uploader for emoncms
|
|
uploader for xively (cosm/pachube)
|
|
uploader for smart energy groups
|
|
cmon computer health monitor
|
|
amphibian skin
|
|
|
|
Changed the default time and date labels to use locale dependent formatting.
|
|
The defaults should now work in most locales, provided you set the
|
|
environment variable LANG before running weewx.
|
|
|
|
Changed default QC barometric low from 28 to 26. Added inTemp,
|
|
inHumidity, and rain.
|
|
|
|
Ranges in MinMax QC can now include units.
|
|
|
|
Now caches font handles in order to work around a memory leak in PIL.
|
|
|
|
Image margins now scale with image and font sizes.
|
|
|
|
Now works with the pure Python version of Cheetah's NameMapper.
|
|
|
|
Fixed bug in SummaryByMonth and SummaryByYear that would result in duplicate
|
|
month/year entries when generating from multiple ByMonth or ByYear templates.
|
|
|
|
Consolidated pressure calculation code in ws23xx, ws28xx, te923, and fousb.
|
|
|
|
Catch USB failures when reading Fine Offset archive interval.
|
|
|
|
Added Vantage types stormRain and windSpeed10 to the list of observation
|
|
types.
|
|
|
|
Simulator now generates types dewpoint, pressure, radiation, and UV.
|
|
|
|
Fixed parsing of locations in the xtide forecast.
|
|
|
|
Minor cleanup to Standard skin for better out-of-the-box behavior:
|
|
- default to no radar image instead of having every station point to Oregon
|
|
- not every WMR100 is a WMR100N
|
|
|
|
2.5.1 12/30/13
|
|
|
|
Added UV plots to the templates. They will be shown automatically if you
|
|
have any UV data.
|
|
|
|
Fixed bug when reading cooling_base option.
|
|
|
|
Default to sane behavior if skin does not define Labels.
|
|
|
|
Fixed bug in setting of CheetahGenerator options.
|
|
|
|
Fixed qsf and qpf summary values in forecast module.
|
|
|
|
Fixed handling of empty sky cover fields in WU forecasts.
|
|
|
|
Forecast module now considers the fctcode, condition, and wx fields for
|
|
precipitation and obstructions to visibility.
|
|
|
|
Added options to forecast module to help diagnose parsing failures and new
|
|
forecast formats.
|
|
|
|
Added retries when saving forecast to database and when reading from database.
|
|
|
|
Fixes to the Fine Offset driver to eliminate spikes caused by reading from
|
|
memory before the pointer had been updated (not the same thing as an unstable
|
|
read).
|
|
|
|
Added driver for LaCrosse 2300 series of weather stations.
|
|
|
|
Added driver for Hideki TE923 series of weather stations.
|
|
|
|
|
|
2.5.0 10/29/13
|
|
|
|
Introduced a new architecture that makes it easier to define search
|
|
list extensions. The old architecture should be 100% backwards compatible.
|
|
|
|
Added station registry service. This allows weewx to optionally
|
|
"phone home" and put your station location on a map.
|
|
|
|
Added a forecast service and reporting options. The forecast service
|
|
can generate Zambretti weather or XTide tide forecasts, or it can download
|
|
Weather Underground or US National Weather Service weather forecasts. These
|
|
data can then be displayed in reports using the Cheetah template engine. The
|
|
forecast service is disabled by default.
|
|
|
|
Weewx now allows easier localization to non-English speaking locales.
|
|
In particular, set the environment variable LANG to your locale, and
|
|
then weewx date and number formatting will follow local conventions.
|
|
There are also more labeling options in skin.conf. Details in a new section
|
|
in the Customization Guide.
|
|
|
|
Added aggregate type "minmax" and "maxmin". Thank you user Gary Roderick!
|
|
|
|
New option in [StdArchive] called "loop_hilo". Setting to True will
|
|
cause both LOOP and archive data to be used for high/low statistics.
|
|
This is the default. Setting to False causes only archive data to be used.
|
|
|
|
When a template fails, skip only that template, not everything that the
|
|
generator is processing.
|
|
|
|
Trend calculations no longer need a record at precisely (for example)
|
|
3 hours in the past. It can be within a "grace" period.
|
|
|
|
FineOffset driver now uses the 'delay' field instead of the fixed_block
|
|
'read_period' for the archive record interval when reading records from
|
|
console memory.
|
|
|
|
FineOffset driver now support for multiple stations on the same USB.
|
|
|
|
FineOffset driver now reduces logging verbosity when bad magic numbers
|
|
appear. Log only when the numbers are unrecognized or change.
|
|
The purpose of the magic numbers is still unknown.
|
|
|
|
WMR100, Vantage, FineOffset, and WS28xx drivers now emit a null wind
|
|
direction when the wind speed is zero. Same for wind gust.
|
|
|
|
For WMR9x8 stations, wind chill is now retrieved from the console
|
|
rather than calculated in software. Thank you user Peter Ferencz!
|
|
|
|
For WMR9x8 stations, the first extra temperature sensor (packet code 4)
|
|
now shows up as extraTemp1 (instead of outTemp). Thanks again to
|
|
Peter Ferencz.
|
|
|
|
For WMR9x8 stations, packet types 2 and 3 have been separated. Only the
|
|
latter is used for outside temperature, humidity, dewpoint. The former
|
|
is used for "extra" sensors. Corrected the calculation for channel
|
|
numbers >=3. Also, extended the number of battery codes. Thanks to Per
|
|
Edström for his patience in figuring this out!
|
|
|
|
For WMR200 stations, altitude-corrected pressure is now emitted correctly.
|
|
|
|
ws28xx driver improvements, including: better thread control; better logging
|
|
for debugging/diagnostics; better timing to reduce dropouts; eliminate writes
|
|
to disk to reduce wear when used on flash devices. Plus, support for
|
|
multiple stations on the same USB.
|
|
|
|
Fixed rain units in ws28xx driver.
|
|
|
|
The LOOP value for daily ET on Vantages was too high by a factor of 10.
|
|
This has been corrected.
|
|
|
|
Fixed a bug that caused values of ET to be miscalculated when using
|
|
software record generation.
|
|
|
|
Ported to Korora 19 (Fedora 19). Thanks to user zmodemguru!
|
|
|
|
Plots under 16 hours in length, now use 1 hour increments (instead of
|
|
3 hours).
|
|
|
|
No longer emits "deprecation" warning when working with some versions
|
|
of the MySQLdb python driver.
|
|
|
|
Added ability to build platform-specific RPMs, e.g., one for RedHat-based
|
|
distributions and one for SuSE-based distributions.
|
|
|
|
Fixed the 'stop' and 'restart' options in the SuSE rc script.
|
|
|
|
The weewx logwatch script now recognizes more log entries and errors.
|
|
|
|
|
|
2.4.0 08/03/13
|
|
|
|
The configuration utility wee_config_vantage now allows you to set
|
|
DST to 'auto', 'off', or 'on'. It also lets you set either a time
|
|
zone code, or a time zone offset.
|
|
|
|
The service StdTimeSync now catches startup events and syncs the clock
|
|
on them. It has now been moved to the beginning of the list
|
|
"service_list" in weewx.conf. Users may want to do the same with their
|
|
old configuration file.
|
|
|
|
A new event, END_ARCHIVE_PERIOD has been added, signaling the end of
|
|
the archive period.
|
|
|
|
The LOOP packets emitted by the driver for the Davis Vantage series
|
|
now includes the max wind gust and direction seen since the beginning
|
|
of the current archive period.
|
|
|
|
Changed the null value from zero (which the Davis documentation specifies)
|
|
to 0x7fff for the VP2 type 'highRadiation'.
|
|
|
|
Archive record packets with date and time equal to zero or 0xff now
|
|
terminate dumps.
|
|
|
|
The code that picks a filename for "summary by" reports has now been
|
|
factored out into a separate function (getSummaryByFileName). This
|
|
allows the logic to be changed by subclassing.
|
|
|
|
Fixed a bug that did not allow plots with aggregations less than 60 minutes
|
|
across a DST boundary.
|
|
|
|
Fixed bug in the WMR100 driver that prevented UV indexes from being
|
|
reported.
|
|
|
|
The driver for the LaCrosse WS-28XX weather series continues to evolve and
|
|
mature. However, you should still consider it experimental.
|
|
|
|
|
|
2.3.3 06/21/13
|
|
|
|
The option week_start now works.
|
|
|
|
Updated WMR200 driver from Chris Manton.
|
|
|
|
Fixed bug that prevented queries from being run against a MySQL database.
|
|
|
|
|
|
2.3.2 06/16/13
|
|
|
|
Added support for the temperature-only sensor THWR800. Thanks to
|
|
user fstuyk!
|
|
|
|
Fixed bug that prevented overriding the FTP directory in section
|
|
[[FTP]] of the configuration file.
|
|
|
|
Day plots now show 24 hours instead of 27. If you want the old
|
|
behavior, then change option "time_length" to 97200.
|
|
|
|
Plots shorter than 24 hours are now possible. Thanks to user Andrew Tridgell.
|
|
|
|
If one of the sections SummaryByMonth, SummaryByYear, or ToDate is missing,
|
|
the report engine no longer crashes.
|
|
|
|
If you live at a high latitude and the sun never sets, the Almanac now
|
|
does the right thing.
|
|
|
|
Fixed bug that caused the first day in the stats database to be left out
|
|
of calculations of all-time stats.
|
|
|
|
|
|
2.3.1 04/15/13
|
|
|
|
Fixed bug that prevented Fine Offset stations from downloading archive
|
|
records if the archive database had no records in it.
|
|
|
|
rsync should now work with Python 2.5 and 2.6 (not just 2.7)
|
|
|
|
|
|
2.3.0 04/10/13
|
|
|
|
Davis Vantage stations can now produce station pressures (aka, "absolute
|
|
pressure"), altimeter pressures, as well as sea-level pressure. These will
|
|
be put in the archive database.
|
|
|
|
Along the same line, 'altimeter' pressure is now reported to CWOP, rather
|
|
than the 'barometer' pressure. If altimeter pressure is not available,
|
|
no pressure is reported.
|
|
|
|
Fixed bug in CWOP upload that put spaces in the upload string if the pressure
|
|
was under 1000 millibars.
|
|
|
|
A bad record archive type now causes a catch up to be abandoned, rather
|
|
than program termination.
|
|
|
|
Fixed bug in trends, when showing changes in temperature. NB: this fix will
|
|
not work with explicit unit conversion. I.e., $trend.outTemp.degree_C will
|
|
not work.
|
|
|
|
Modified wee_config_vantage and wee_config_fousb so that the configuration
|
|
file will be guessed if none is specified.
|
|
|
|
Fixed wxformulas.heatindexC to handle arguments of None type.
|
|
|
|
Fixed bug that causes Corrections to be applied twice to archive records if
|
|
software record generation is used.
|
|
|
|
rsync now allows a port to be specified.
|
|
|
|
Fixed day/night transition bug.
|
|
|
|
Added gradients to the day/night transitions.
|
|
|
|
Numerous fixes to the WMR200 driver. Now has a "watchdog" thread.
|
|
|
|
All of the device drivers have now been put in their own package
|
|
'weewx.drivers' to keep them together. Many have also had name changes
|
|
to make them more consistent:
|
|
OLD NEW
|
|
VantagePro.py (Vantage) vantage.py (Vantage)
|
|
WMR918.py (WMR-918) wmr9x8.py (WMR9x8)
|
|
wmrx.py (WMR-USB) wmr100.py (WMR100)
|
|
|
|
new (experimental) drivers:
|
|
wmr200.py (WMR200)
|
|
ws28xx.py (WS28xx)
|
|
|
|
The interface to the device driver "loader" function has changed slightly. It
|
|
now takes a second parameter, "engine". Details are in the Upgrading doc.
|
|
|
|
The FineOffsetUSB driver now supports hardware archive record generation.
|
|
|
|
When starting weewx, the FineOffsetUSB driver will now try to 'catch up' - it
|
|
will read the console memory for any records that are not yet in the database.
|
|
|
|
Added illuminance-to-radiation conversion in FineOffsetUSB driver.
|
|
|
|
Added pressure calibration option to wee_config_fousb and explicit support for
|
|
pressure calibration in FineOffsetUSB driver.
|
|
|
|
Fixed windchill calculation in FineOffsetUSB driver.
|
|
|
|
Fixed FineOffsetUSB driver to handle cases where the 'delay' is undefined,
|
|
resulting in a TypeError that caused weewx to stop.
|
|
|
|
The FineOffsetUSB driver now uses 'max_rain_rate' (measured in cm/hr) instead
|
|
of 'max_sane_rain' (measured in mm) to filter spurious rain sensor readings.
|
|
This is done in the driver instead of StdQC so that a single parameter can
|
|
apply to both LOOP and ARCHIVE records.
|
|
|
|
2.2.1 02/15/13
|
|
|
|
Added a function call to the Vantage driver that allows the lamp to be
|
|
turned on and off. Added a corresponding option to wee_config_vantage.
|
|
|
|
Fixed bug where an undefined wind direction caused an exception when using
|
|
ordinal wind directions.
|
|
|
|
2.2.0 02/14/13
|
|
|
|
Weewx can now be installed using Debian (DEB) or Redhat (RPM) packages, as well
|
|
as with the old 'setup.py' method. Because they install things in different
|
|
places, you should stick with one method or another. Don't mix and match.
|
|
Thanks to Matthew Wall for putting this together!
|
|
|
|
Added plot options line_gap_fraction and bar_gap_fraction, which control how
|
|
gaps in the data are handled by the plots. Also, added more flexible control of
|
|
plot colors, using a notation such as 0xBBGGRR, #RRGGBB, or the English name,
|
|
such as 'yellow'. Finally, added day/night bands to the plots. All contributed
|
|
by Matthew Wall. Thanks again, Matthew!
|
|
|
|
Ordinal wind directions can now be shown, just by adding the tag suffix
|
|
".ordinal_compass". For example, $current.windDir.ordinal_compass might show
|
|
'SSE' The abbreviations are set in the skin configuration file.
|
|
|
|
Fixed bug that caused rain totals to be misreported to Weather Underground when
|
|
using a metric database.
|
|
|
|
Generalized the weewx machinery so it can be used for applications other than
|
|
weather applications.
|
|
|
|
Got rid of option stats_types in weewx.conf and put it in
|
|
bin/user/schemas.py. See upgrading.html if you have a specialized stats
|
|
database.
|
|
|
|
The stats database now includes an internal table of participating observation
|
|
types. This allows it to be easily combined with the archive database, should
|
|
you choose to do so. The table is automatically created for older stats
|
|
databases.
|
|
|
|
Added rain rate calculation to FineOffsetUSB driver. Added adaptive polling
|
|
option to FineOffsetUSB driver. Fixed barometric pressure calculation for
|
|
FineOffsetUSB driver.
|
|
|
|
Changed the name of the utilities, so they will be easier to find in /usr/bin:
|
|
weewxd.py -> weewxd
|
|
runreports.py -> wee_reports
|
|
config_database.py -> wee_config_database
|
|
config_vp.py -> wee_config_vantage
|
|
config_fousb.py -> wee_config_fousb
|
|
|
|
2.1.1 01/02/13
|
|
|
|
Fixed bug that shows itself when one of the variables is 'None' when
|
|
calculating a trend.
|
|
|
|
2.1.0 01/02/13
|
|
|
|
Now supports the Oregon Scientific WMR918/968 series, courtesy of user
|
|
William Page. Thanks, William!!
|
|
|
|
Now supports the Fine Offset series of weather stations, thanks to user
|
|
Matthew Wall. Thanks, Matthew!!
|
|
|
|
Now includes a Redhat init.d script, contributed by Mark Jenks. Thanks,
|
|
Mark!!
|
|
|
|
Added rsync report type as an alternative to the existing FTP report.
|
|
Another thanks to William Page!
|
|
|
|
Fill color for bar charts can now be specified separately from the outline
|
|
color, resulting in much more attractive charts. Another thanks to Matthew
|
|
Wall!!
|
|
|
|
Added a tag for trends. The barometer trend can now be returned as
|
|
$trend.barometer. Similar syntax for other observation types.
|
|
|
|
config_vp.py now returns the console version number if available (older
|
|
consoles do not offer this).
|
|
|
|
Hardware dewpoint calculations with the WMR100 seem to be unreliable below
|
|
about 20F, so these are now done in software. Thanks to user Mark Jenks for
|
|
sleuthing this.
|
|
|
|
2.0.2 11/23/12
|
|
|
|
Now allows both the archive and stats data to be held in the same database.
|
|
|
|
Improved chances of weewx.Archive being reused by allowing optional table
|
|
name to be specified.
|
|
|
|
2.0.1 11/05/12
|
|
|
|
Fixed problem with reconfiguring databases to a new unit system.
|
|
|
|
2.0.0 11/04/12
|
|
|
|
A big release with lots of changes. The two most important are the support
|
|
of additional weather hardware, and the support of the MySQL database.
|
|
|
|
All skin configurations are backwardly compatible, but the configuration
|
|
file, weewx.conf, is not. The install utility setup.py will install a fresh
|
|
version, which you will then have to edit by hand.
|
|
|
|
If you have written a custom service, see the upgrade guide on how to port
|
|
your service to the new architecture.
|
|
|
|
Added the ability to generate archive records in software, thus opening the
|
|
door for supporting weather stations that do not have a logger.
|
|
|
|
Support for the Oregon Scientific WMR100, the cheapest weather station I
|
|
could find, in order to demonstrate the above!
|
|
|
|
Added a software weather station simulator.
|
|
|
|
Introduced weedb, a database-independent Python wrapper around sqlite3 and
|
|
MySQLdb, which fixes some of their flaws.
|
|
|
|
Ported everything to use weedb, and thus MySQL (as well as sqlite)
|
|
|
|
Internally, the databases can now use either Metric units, or US Customary.
|
|
NB: you cannot switch systems in the middle of a database. You have to
|
|
stick to one or other other. However, the utility config_database.py does
|
|
have a reconfigure option that allows copying the data to a new database,
|
|
performing the conversion along the way. See the Customizing Guide.
|
|
|
|
You can now use "mmHg" as a unit of pressure.
|
|
|
|
Added new almanac information, such as first and last quarter moons, and
|
|
civil twilight.
|
|
|
|
Changed the engine architecture so it is more event driven. It now uses
|
|
callbacks, making it easier to add new event types.
|
|
|
|
Added utility config_vp.py, for configuring the VantagePro hardware.
|
|
|
|
Added utility config_database.py, for configuring the databases.
|
|
|
|
Made it easier to write custom RESTful protocols. Thanks to user Brad, for
|
|
the idea and the use case!
|
|
|
|
The stats type 'squarecount' now contains the number of valid wind
|
|
directions that went into calculating 'xsum' and 'ysum'. It used to be the
|
|
number of valid wind speeds. Wind direction is now calculated using
|
|
'squarecount' (instead of 'count').
|
|
|
|
Simplified and reduced the memory requirements of the CRC16 calculations.
|
|
|
|
Improved test suites.
|
|
|
|
Lots of little nips and tucks here and there, mostly to reduce the coupling
|
|
between different modules. In particular, now a service generally gets
|
|
configured only using its section of weewx.conf.
|
|
|
|
I also worked hard at making sure that cursors, connections, files, and
|
|
lots of other bits and pieces get properly closed instead of relying on
|
|
garbage collection. Hopefully, this will reduce the long-term growth of
|
|
memory usage.
|
|
|
|
1.14.1 07/06/12
|
|
|
|
Hardened retry strategy for the WeatherLink IP. If the port fails to open
|
|
at all, or a socket error occurs, it will thrown an exception (resulting in
|
|
a retry in 60 seconds). If a socket returns an incomplete result, it will
|
|
continue to retry until everything has been read.
|
|
|
|
Fixed minor bug that causes the reporting thread to prematurely terminate
|
|
if an exception is thrown while doing an FTP.
|
|
|
|
1.14.0 06/18/12
|
|
|
|
Added smartphone formatted mobile webpage, contributed by user Torbjörn
|
|
Einarsson. If you are doing a fresh install, then these pages will be
|
|
generated automatically. If you are doing an upgrade, then see the upgrade
|
|
guide on how to have these webpages generated. Thanks, Tobbe!
|
|
|
|
Three changes suggested by user Charlie Spirakis: o Changed umask in
|
|
daemon.py to 0022; o Allow location of process ID file to be specified on
|
|
the command line of weewx; o Start script allows daemon to be run as a
|
|
specific user. Thanks, Charlie!
|
|
|
|
Corrected bug in humidity reports to CWOP that shows itself when the
|
|
humidity is in the single digits.
|
|
|
|
Now includes software in CWOP APRS equipment field.
|
|
|
|
1.13.2 05/02/12
|
|
|
|
Now allows CWOP stations with prefix 'EW'.
|
|
|
|
Fixed bug that showed itself in the line color with plots with 3 or more
|
|
lines.
|
|
|
|
Changed debug message when reaching the end of memory in the VP2 to
|
|
something slightly less alarming.
|
|
|
|
1.13.1 03/25/12
|
|
|
|
Added finer control over the line plots. Can now add optional markers. The
|
|
marker_type can be 'none' (the default), 'cross', 'box', 'circle', or 'x'.
|
|
Also, line_type can now either be 'solid' (the default) or 'none' (for
|
|
scatter plots). Same day I'll add 'dashed', but not now. :-)
|
|
|
|
Conditionally imports sqlite3. If it does not support the "with" statement,
|
|
then imports pysqlite2 as sqlite3.
|
|
|
|
1.13.0 03/13/12
|
|
|
|
The binding to the SQL database to be used now happens much later when
|
|
running reports. This allows more than one database to be used when running
|
|
a report. Extra databases can be specified in the option list for a report.
|
|
I use this to display broadband bandwidth information, which was collected
|
|
by a separate program. Email me for details on how to do this. Introducing
|
|
this feature changed the signature of a few functions. See the upgrade
|
|
guide for details.
|
|
|
|
1.12.4 02/13/12
|
|
|
|
User Alf Høgemark found an error in the encoding of solar data for CWOP
|
|
and sent me a fix. Thanks, Alf!
|
|
|
|
Now always uses "import sqlite3", resulting in using the version of
|
|
pysqlite that comes with Python. This means the install instructions have
|
|
been simplified.
|
|
|
|
Now doesn't choke when using the (rare) Python version of NameMapper used
|
|
by Cheetah.
|
|
|
|
1.12.3 02/09/12
|
|
|
|
Added start script for FreeBSD, courtesy of user Fabian Abplanalp. Thanks,
|
|
Fabian!
|
|
|
|
Added the ability to respond to a "status" query to the Debian startup
|
|
script.
|
|
|
|
RESTful posts can now recover from more HTTP errors.
|
|
|
|
Station serial port can now recover from a SerialException error (usually
|
|
caused when there is a process competing for the serial port).
|
|
|
|
Continue to fiddle with the retry logic when reading LOOP data.
|
|
|
|
1.12.2 01/18/12
|
|
|
|
Added check for FTP error code '521' to the list of possibilities if a
|
|
directory already exists. Thanks to user Clyde!
|
|
|
|
More complete information when unable to load a module file. Thanks, Jason!
|
|
|
|
Added a few new unit types to the list of possible target units when using
|
|
explicit conversion. Thanks, Antonio!
|
|
|
|
Discovered and fixed problem caused by the Davis docs giving the wrong
|
|
"resend" code (should be decimal 21, not hex 21).
|
|
|
|
Improved robustness of VantagePro configuration utility.
|
|
|
|
Fixed problem where an exception gets thrown when changing VP archive
|
|
interval.
|
|
|
|
Simplified some of the logic in the VP2 driver.
|
|
|
|
1.12.1 11/03/11
|
|
|
|
Now corrects for rain bucket size if it is something other than the
|
|
standard 0.01 inch bucket.
|
|
|
|
1.12.0 10/29/11
|
|
|
|
Added the ability to change bucket type, rain year start, and barometer
|
|
calibration data in the console using the utility configure.py. Added
|
|
option "--info", which queries the console and returns information about
|
|
EEPROM settings. Changed configure.py so it can do hardware-specific
|
|
configurations, in anticipation of supporting hardware besides the Davis
|
|
series.
|
|
|
|
Reorganized the documentation.
|
|
|
|
1.11.0 10/06/11
|
|
|
|
Added support for the Davis WeatherLinkIP. Thanks, Peter Nock and Travis
|
|
Pickle!
|
|
|
|
Added support for older Rev A type archive records.
|
|
|
|
Added patch from user Dan Haller that sends UV and radiation data to the
|
|
WeatherUnderground if available. Thanks, Dan!
|
|
|
|
Added patch from user Marijn Vriens that allows fallback to the version of
|
|
pysqlite that comes with many versions of Python. Thanks, Marijn!
|
|
|
|
Now does garbage collection after an archive record is obtained and before
|
|
the main loop is restarted.
|
|
|
|
1.10.2 04/14/11
|
|
|
|
Added RA and declination for the Sun and Moon to the Daily Almanac. Equinox
|
|
and solstice are now displayed in chronological order. Same with new and
|
|
full moons.
|
|
|
|
Examples alarm.py and lowBattery.py now include more error checks, allow an
|
|
optional 'subject' line to the sent email, and allow a comma separated list
|
|
of recipients.
|
|
|
|
1.10.1 03/30/11
|
|
|
|
Substitutes US Units if a user does not specify anything (instead of
|
|
exception KeyError).
|
|
|
|
Almanac uses default temperature and pressure if they are 'None'.
|
|
|
|
Prettied up web page almanac data in the case where pyephem has not been
|
|
installed.
|
|
|
|
Fixed up malformed CSS script weewx.css.
|
|
|
|
1.10.0 03/29/11
|
|
|
|
Added extensive almanac information if the optional package 'pyephem' has
|
|
been installed
|
|
|
|
Added a weewx "favorite icon" favicon.ico that displays in your browser
|
|
toolbar.
|
|
|
|
Added a mobile formatted HTML page, courtesy of user Vince Skahan (thanks,
|
|
Vince!!).
|
|
|
|
Tags can now be ended with a unit type to convert to a new unit. For
|
|
example, say your pressure group ("group_pressure") has been set to show
|
|
inHg. The normal tag notation of "$day.barometer.avg" will show something
|
|
like "30.05 inHg". However, the tag "$day.barometer.avg.mbar" will show
|
|
"1017.5 mbar".
|
|
|
|
Added special tag "exists" to test whether an observation type exists.
|
|
Example "$year.foo.exists" will return False if there is no type "foo" in
|
|
the statistical database.
|
|
|
|
Added special tag "has_data" to test whether an observation type exists and
|
|
has a non-zero number of data points over the aggregation period. For
|
|
example, "$year.soilMoist1.has_data" will return "True" if soilMoist1 both
|
|
exists in the stats database and contains some data (meaning, you have the
|
|
hardware).
|
|
|
|
Y-axis plot labels (such as "°F") can now be overridden in the plot
|
|
configuration section of skin.conf by using option "y_label".
|
|
|
|
Added executable module "runreports.py" for running report generation only.
|
|
|
|
Added package "user", which can contain any user extensions. This package
|
|
will not get overridden in the upgrade process.
|
|
|
|
Added the ability to reconfigure the main database, i.e., add or drop data
|
|
types. Along the same line, statistical types can also be added or dropped.
|
|
Email me for details on how to do this.
|
|
|
|
Now makes all of the LOOP and archive data available to services. This
|
|
includes new keys:
|
|
|
|
LOOP data: 'extraAlarm1' 'extraAlarm2' 'extraAlarm3' 'extraAlarm4'
|
|
'extraAlarm5' 'extraAlarm6' 'extraAlarm7' 'extraAlarm8' 'forecastIcon'
|
|
'forecastRule' 'insideAlarm' 'outsideAlarm1' 'outsideAlarm2' 'rainAlarm'
|
|
'soilLeafAlarm1' 'soilLeafAlarm2' 'soilLeafAlarm3' 'soilLeafAlarm4'
|
|
'sunrise' 'sunset'
|
|
|
|
Archive data: 'forecastRule' 'highOutTemp' 'highRadiation' 'highUV'
|
|
'lowOutTemp'
|
|
|
|
Started a more formal test suite. There are now tests for the report
|
|
generators. These are not included in the normal distribution, but can be
|
|
retrieved from SourceForge via svn.
|
|
|
|
1.9.3 02/04/11
|
|
|
|
Now correctly decodes temperatures from LOOP packets as signed shorts
|
|
(rather than unsigned).
|
|
|
|
Now does a CRC check on LOOP data.
|
|
|
|
Changed VantagePro.accumulateLoop to make it slightly more robust.
|
|
|
|
1.9.2 11/20/10
|
|
|
|
Now catches exception of type OverflowError when calculating celsius
|
|
dewpoint. (Despite the documentation indicating otherwise, math.log() can
|
|
still throw an OverflowError)
|
|
|
|
Fixed bug that causes crash in VantagePro.accumulateLoop() during fall DST
|
|
transition in certain situations.
|
|
|
|
VP2 does not store records during the one hour fall DST transition.
|
|
Improved logic in dealing with this.
|
|
|
|
Changed install so that it backs up the ./bin subdirectory, then overwrites
|
|
the old one. Also, does not install the ./skins subdirectory at all if one
|
|
already exists (thus preserving any user customization).
|
|
|
|
1.9.1 09/09/10
|
|
|
|
Now catches exceptions of type httplib.BadStatusLine when doing RESTful
|
|
posts.
|
|
|
|
Added an extra decimal point of precision to dew point reports to the
|
|
Weather Underground and PWS.
|
|
|
|
1.9.0 07/04/10
|
|
|
|
Added a new service, StdQC, that offers a rudimentary data check.
|
|
|
|
Corrected error in rain year total if rain year does not start in January.
|
|
|
|
Moved option max_drift (the max amount of clock drift to tolerate) to
|
|
section [Station].
|
|
|
|
Added check for a bad storm start time.
|
|
|
|
Added checks for bad dateTime.
|
|
|
|
Simplified VantagePro module.
|
|
|
|
1.8.4 06/06/10
|
|
|
|
Fixed problem that shows itself if weewx starts up at precisely the
|
|
beginning of an archive interval. Symptom is max recursion depth exceeded.
|
|
|
|
Units for UV in LOOP records corrected. Also, introduced new group for UV,
|
|
group_uv_index. Thanks to user A. Burriel for this fix!
|
|
|
|
1.8.3 05/20/10
|
|
|
|
Problem with configuring archive interval found and fixed by user A.
|
|
Burriel (thanks, Antonio!)
|
|
|
|
1.8.2 05/09/10
|
|
|
|
Added check to skip calibration for a type that doesn't exist in LOOP or
|
|
archive records. This allows windSpeed and windGust to be calibrated
|
|
separately.
|
|
|
|
1.8.1 05/01/10
|
|
|
|
Ported to Cheetah V2.4.X
|
|
|
|
1.8.0 04/28/10
|
|
|
|
Added CWOP support.
|
|
|
|
Storage of LOOP and archive data into the SQL databases is now just another
|
|
service, StdArchive.
|
|
|
|
Added a calibration service, StdCalibrate, that can correct LOOP and
|
|
archive data.
|
|
|
|
Average console battery voltage is now calculated from LOOP data, and saved
|
|
to the archive as 'consBatteryVoltage'.
|
|
|
|
Transmitter battery status is now ORd together from LOOP data, and saved to
|
|
the archive as 'txBatteryStatus'.
|
|
|
|
Added stack tracebacks for unrecoverable exceptions.
|
|
|
|
Added a wrapper to the serial port in the VantagePro code. When used in a
|
|
Python "with" statement, it automatically releases the serial port if an
|
|
exception happens, allowing a more orderly shutdown.
|
|
|
|
Offered some hints in the documentation on how to automount your VP2 when
|
|
using a USB connection.
|
|
|
|
Corrected error in units. getTargetType() that showed itself with when the
|
|
console memory was freshly cleared, then tried to graph something
|
|
immediately.
|
|
|
|
1.7.0 04/15/10
|
|
|
|
Big update.
|
|
|
|
Reports now use skins for their "look or feel." Options specific to the
|
|
presentation layer have been moved out of the weewx configuration file
|
|
'weewx.conf' to a skin configuration file, 'skin.conf'. Other options have
|
|
remained behind.
|
|
|
|
Because the configuration file weewx.conf was split, the installation
|
|
script setup.py will NOT merge your old configuration file into the new
|
|
one. You will have to reedit weewx.conf to put in your customizations.
|
|
|
|
FTP is treated as just another report, albeit with an unusual generator.
|
|
You can have multiple FTP sessions, each to a different server, or
|
|
uploading to or from a different area.
|
|
|
|
Rewrote the FTP upload package so that it allows more than one FTP session
|
|
to be active in the same local directory. This version also does fewer hits
|
|
on the server, so it is significantly faster.
|
|
|
|
The configuration files weewx.conf and skin.conf now expect UTF-8
|
|
characters throughout.
|
|
|
|
The encoding for reports generated from templates can be chosen. By
|
|
default, the day, week, month, and year HTML files are encoded using HTML
|
|
entities; the NOAA reports encoded using 'strict ascii.' Optionally,
|
|
reports can be encoded using UTF-8.
|
|
|
|
Revamped the template formatting. No longer use class ModelView. Went to a
|
|
simpler system built around classes ValueHelper and UnitInfo.
|
|
|
|
Optional formatting was added to all tags in the templates. There are now
|
|
optional endings: 'string': Use specified string for None value.
|
|
'formatted': No label. 'format': Format using specified string format.
|
|
'nolabel': Format using specified string format; no label. 'raw': return
|
|
the underlying data with no string formatting or label.
|
|
|
|
For the index, week, month, and year template files, added conditional to
|
|
not include ISS extended types (UV, radiation, ET) unless they exist.
|
|
|
|
Added an RSS feed.
|
|
|
|
Added support for PWSweather.com
|
|
|
|
Both WeatherUnderground and PWSweather posts are now retried up to 3 times
|
|
before giving up.
|
|
|
|
Now offer a section 'Extras' in the skin configuration file for including
|
|
tags added by the user. As an example, the tag radar_url has been moved
|
|
into here.
|
|
|
|
Data files used in reports (such as weewx.css) are copied over to the HTML
|
|
directory on program startup.
|
|
|
|
Included an example of a low-battery alarm.
|
|
|
|
Rearranged distribution directory structure so that it matches the install
|
|
directory structure.
|
|
|
|
Moved base temperature for heating and cooling degree days into skin.conf.
|
|
They now also require a unit.
|
|
|
|
Now require unit to be specified for 'altitude'.
|
|
|
|
1.5.0 03/07/10
|
|
|
|
Added support for other units besides the U.S. Customary. Plots and HTML
|
|
reports can be prepared using any arbitrary combination of units. For
|
|
example, pressure could be in millibars, while everything else is in U.S.
|
|
Customary.
|
|
|
|
Because the configuration file weewx.conf changed significantly, the
|
|
installation script setup.py will NOT merge your old configuration file
|
|
into the new one. You will have to reedit weewx.conf to put in your
|
|
customizations.
|
|
|
|
Added an exception handler for exception OSError, which is typically thrown
|
|
when another piece of software attempts to access the same device port.
|
|
Weewx catches the exception, waits 10 seconds, then starts again from the
|
|
top.
|
|
|
|
1.4.0 02/22/10
|
|
|
|
Changed the architecture of stats.py to one that uses very late binding.
|
|
The SQL statements are not run until template evaluation. This reduces the
|
|
amount of memory required (by about 1/2), reduces memory fragmentation, as
|
|
well as greatly simplifying the code (file stats.py shed over 150 lines of
|
|
non-test code). Execution time is slightly slower for NOAA file generation,
|
|
slightly faster for HTML file generation, the same for image generation,
|
|
although your actual results will depend on your disk speed.
|
|
|
|
Now possible to tell weewx to reread the configuration file without
|
|
stopping it. Send signal HUP to the process.
|
|
|
|
Added option week_start, for specifying which day a calendar week starts
|
|
on. Default is 6 (Sunday).
|
|
|
|
Fixed reporting bug when the reporting time falls on a calendar month or
|
|
year boundary.
|
|
|
|
1.3.4 02/08/10
|
|
|
|
Fixed problem when plotting data where all data points are bad (None).
|
|
|
|
1.3.3 01/10/10
|
|
|
|
Fixed reporting bug that shows itself if rain year does not start in
|
|
January.
|
|
|
|
1.3.2 12/26/09
|
|
|
|
LOOP data added to stats database.
|
|
|
|
1.3.1 12/22/09
|
|
|
|
Added a call to syslog.openlog() that inadvertently got left out when
|
|
switching to the engine driven architecture.
|
|
|
|
1.3.0 12/21/09
|
|
|
|
Moved to a very different architecture to drive weewx. Consists of an
|
|
engine, that manages a list of 'services.' At key events, each service is
|
|
given a chance to participate. Services are easy to add, to allow easy
|
|
customization. An example is offered of an 'alarm' service.
|
|
|
|
Checking the clock of the weather station for drift is now a service, so
|
|
the option clock_check was moved from the station specific [VantagePro]
|
|
section to the more general [Station] section.
|
|
|
|
Added an example service 'MyAlarm', which sends out an email should the
|
|
outside temperature drop below 40 degrees.
|
|
|
|
In a similar manner, all generated files, images, and reports are the
|
|
product of a report engine, which can run any number of reports. New
|
|
reports are easily added.
|
|
|
|
Moved the compass rose used in progressive vector plots into the interior
|
|
of the plot.
|
|
|
|
Install now deletes public_html/#upstream.last, thus forcing all files to
|
|
be uploaded to the web server at the next opportunity.
|
|
|
|
1.2.0 11/22/09
|
|
|
|
Added progressive vector plots for wind data.
|
|
|
|
Improved axis scaling. The automatic axis scaling routine now does a better
|
|
job for ranges less than 1.0. The user can also hardwire in min and max
|
|
values, as well as specify a minimum increment, through parameter 'yscale'
|
|
in section [Images] in the configuration file.
|
|
|
|
Now allows the same SQL type to be used more than once in a plot. This
|
|
allows, say, instantaneous and average wind speed to be shown in the same
|
|
plot.
|
|
|
|
Rain year is now parameterized in file templates/year.tmpl (instead of
|
|
being hardwired in).
|
|
|
|
Now does LOOP caching by default.
|
|
|
|
When doing backfilling to the stats database, configure now creates the
|
|
stats database if it doesn't already exist.
|
|
|
|
setup.py now more robust to upgrading the FTP and Wunderground sections
|
|
|
|
1.1.0 11/14/09
|
|
|
|
Added the ability to cache LOOP data. This can dramatically reduce the
|
|
number of writes to the stats database, reducing wear on solid-state disk
|
|
stores.
|
|
|
|
Introduced module weewx.mainloop. Introduced class weewx.mainloop.MainLoop
|
|
This class offers many opportunities to customize weewx through
|
|
subclassing, then overriding an appropriate member function.
|
|
|
|
Refactored module weewx.wunderground so it more closely resembles the
|
|
(better) logic in wunderfixer.
|
|
|
|
setup.py no longer installs a daemon startup script to /etc/init.d. It must
|
|
now be done by hand.
|
|
|
|
setup.py now uses the 'home' value in setup.cfg to set WEEWX_ROOT in
|
|
weewx.conf and in the daemon start up scripts
|
|
|
|
Now uses FTP passive mode by default.
|
|
|
|
1.0.1 11/09/09
|
|
|
|
Fixed bug that prevented backfilling the stats database after modifying the
|
|
main archive.
|
|
|
|
1.0.0 10/26/09
|
|
|
|
Took the module weewx.factory back out, as it was too complicated and hard
|
|
to understand.
|
|
|
|
Added support for generating NOAA monthly and yearly reports. Completely
|
|
rewrote the filegenerator.py module, to allow easy subclassing and
|
|
specialization.
|
|
|
|
Completely rewrote the stats.py module. All aggregate quantities are now
|
|
calculated dynamically.
|
|
|
|
Labels for HTML generation are now held separately from labels used for
|
|
image generation. This allows entities such as '°' to be used for the
|
|
former.
|
|
|
|
LOOP mode now requests only 200 LOOP records (instead of the old 2000). It
|
|
then renews the request should it run out. This was to get around an
|
|
(undocumented) limitation in the VP2 that limits the number of LOOP records
|
|
that can be requested to something like 220. This was a problem when
|
|
supporting VP2s that use long archive intervals.
|
|
|
|
Cut down the amount of computing that went on before the processing thread
|
|
was spawned, thus allowing the main thread to get back into LOOP mode more
|
|
quickly.
|
|
|
|
Added type 'rainRate' to the types decoded from a Davis archive record. For
|
|
some reason it was left out.
|
|
|
|
Added retries when doing FTP uploads. It will now attempt the upload
|
|
several times before giving up.
|
|
|
|
Much more extensive DEBUG analysis.
|
|
|
|
Nipped and tucked here and there, trying to simplify.
|
|
|
|
0.6.5 10/11/09
|
|
|
|
Ported to Cheetah V2.2.X. Mostly, this is making sure that all strings that
|
|
cannot be converted with the 'ascii' codec are converted to Unicode first
|
|
before feeding to Cheetah.
|
|
|
|
0.6.4 09/22/09
|
|
|
|
Fixed an error in the calculation of heat index.
|
|
|
|
0.6.3 08/25/09
|
|
|
|
FTP transfers now default to ACTIVE mode, but a configuration file option
|
|
allows PASSIVE mode. This was necessary to support Microsoft FTP servers.
|
|
|
|
0.6.2 08/01/09
|
|
|
|
Exception handling in weewx/ftpdata.py used socket.error but failed to
|
|
declare it. Added 'import socket' to fix.
|
|
|
|
Added more complete check for unused pages in weewx/VantagePro.py. Now the
|
|
entire record must be filled with 0xff, not just the time field. This fixes
|
|
a bug where certain time stamps could look like unused records.
|
|
|
|
0.6.1 06/22/09
|
|
|
|
Fixed minor ftp bug.
|
|
|
|
0.6.0 05/20/09
|
|
|
|
Changed the file, imaging, ftping functions into objects, so they can be
|
|
more easily specialized by the user.
|
|
|
|
Introduced a StationData object.
|
|
|
|
Introduced module weewx.factory that produces these things, so the user has
|
|
a place to inject his/her new types.
|
|
|
|
0.5.1 05/13/09
|
|
|
|
1. Weather Underground thread now run as daemon thread, allowing the
|
|
program to exit even if it is running.
|
|
|
|
2. WU queue now hold an instance of archive and the time to be published,
|
|
rather than a record. This allows dailyrain to be published as well.
|
|
|
|
3. WU date is now given in the format "2009-05-13+12%3A35%3A00" rather than
|
|
"2009-05-13 12:35:00". Seems to be more reliable. But, maybe I'm imagining
|
|
things...
|
|
|