X-Git-Url: https://wylark.com/src/infoex-autowx.git/blobdiff_plain/80fca28ed8e3e24106dd765a8b466a22108d88c4..638c4f11d29b685bc7c485c10ce62f2c61ae4a54:/README.md?ds=inline diff --git a/README.md b/README.md index 520a722..8bbe60e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This program fetches data from an NRCS SNOTEL or MesoWest station and pushes it into the InfoEx system using the new automated weather system implementation. -License under the ISC license (see file: LICENSE). +Licensed under the ISC license (see file: LICENSE). Disclaimer ---------- @@ -35,13 +35,26 @@ This design allows you to run a separate program instance for each NRCS or MesoWest weather station from which you'd like to automate the importation of data into your InfoEx subscriber account. +To get started, copy the included example config file +(`config.ini.example` in the root source directoy) and modify the values +for your own use. + To run ad-hoc (be sure to activate the virtual environment, as detailed in the Installation section): -`./infoex-autowx.py --config [path/to/config-file.ini] [--dry-run]` +`./infoex-autowx.py --config path/to/config-file.ini [--dry-run] [--log-level debug|info|warning]` + +**NOTE: Specifying --dry-run will not clean up the generated CSV file.** +This is so that you can more easily debug any issues that arise in the +setup process. -**NOTE: Specifying --dry-run will also not clean up the generated CSV -file.** This is so that you can debug any issues more easily. +You can also specify `--log-level` as debug, info, warning. The +log messages produced by the program will try to be logged to journald, +but if that's not available, they will be printed to stdout. This output +can be helpful early on in the setup process. + +Automation +---------- Here's an example of a crontab(5) with two SNOTEL sites, each of which will run once per hour (note that this will activate the virtual environment @@ -65,11 +78,12 @@ weather station FTP server and other InfoEx-related configuration options. `[station]` -`type = # either mesowest or nrcs #` -`token = # MesoWest API token -- ignored when type is nrcs #` +`type = # mesowest, nrcs, or python #` +`token = # MesoWest API token -- only applies when type is mesowest #` `station_id = # the NRCS/MesoWest identifier for a particular station #` `desired_data = # a comma-delimited list of fields you're interested in #` -`units = # either english or metric -- ignored when type is nrcs #` +`units = # either english or metric -- only applies when type is mesowest #` +`path = # the filesystem path to the Python program -- only applies when type is python #` `[infoex]` `host = # InfoEx FTP host address #` @@ -124,7 +138,7 @@ Once you've chosen your elements, combine all of their respective "elementCd" values into a comma-delimited string and put that into your configuration file as the `desired_data` value. -A complete example: +A complete [station] section example: `[station]` `type = nrcs` @@ -160,12 +174,12 @@ you want to import data. Here are the steps to do that: https://developers.synopticdata.com/about/station-variables/ -The MesoWest API supports on-the-fly unit conversion, so that can be -specified to infoex-autowx via the configuration option `units`. This -can be either 'english' or 'metric', with 'english' meaning imperial -units as used in the United States. +The MesoWest API supports on-the-fly unit conversion. If desired, that +can be specified to infoex-autowx via the configuration option `units`. +This can be either 'english' or 'metric', with 'english' meaning +imperial units as used in the United States. -A complete example: +A complete [station] section example: `[station]` `type = mesowest` @@ -178,6 +192,13 @@ indicates that I'd like to import "Temperature" and "Precipitation accumulated" from the MesoWest station at Santiam Pass, OR, into InfoEx, and that I want that data in imperial units. +Custom weather station support +------------------------------ + +This program supports custom weather station data by allowing the user +to specify the path to an external Python program. The external Python +program should emit its data in the form expected by infoex-autowx. + A note on supported measurements -------------------------------- @@ -194,14 +215,24 @@ with the data you see in your web browser. Here's the list of measurements currently supported: -precipitationGauge -tempPres -hS -baro -rH -windSpeedNum -windDirectionNum -windGustSpeedNum (only supported by MesoWest) +**NRCS:** +PREC +TOBS +SNWD +PRES +RHUM +WSPD +WDIR + +**MesoWest:** +precip\_accum +air\_temp +snow\_depth +pressure +relative\_humidity +wind\_speed +wind\_direction +wind\_gust Future plans ------------ @@ -212,6 +243,26 @@ Future plans Version history --------------- +- 2.2.0 (Nov 2020) + + Add support for Tmin/Tmax values (directly from MesoWest/NRCS). + +- 2.1.0 (Nov 2020) + + Adjust precision of certain values before sending them to InfoEx. + +- 2.0.2 (Jul 2020) + + Fix issues shown by pylint(1). + +- 2.0.1 (Jul 2020) + + Major restructuring, but nothing which should impact the end user. + + - Took the monolithic main () routine and broke it out into logical + components. + - Improved the names of variables. + - 2.0.0 (Jul 2020) Implement MesoWest integration. @@ -220,6 +271,12 @@ Version history hence the major version bump. Such changes are not taken lightly but given the desire to support multiple data sources, were necessary. + Other minor changes include: + + - New switches: --log-level and --version. + - Better documentation. + - Expanded supported measurement types (from three to eight, in number). + - 1.0.0 (Jun 2020) First released version. Cleaned up the program and design.