First stab at Python custom Wx implementation
[infoex-autowx.git] / README.md
index 3b442b56627a1541eab02fda9161885b43c2991d..8bbe60e022b00e9286ad87910cc2a3f824c442cd 100644 (file)
--- a/README.md
+++ b/README.md
@@ -35,18 +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] [--log-level debug|info|warning]`
 
-**NOTE: Specifying --dry-run will also not clean up the generated CSV
-file.** This is so that you can debug any issues more easily.
+**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.
 
 You can also specify `--log-level` as debug, info, warning. The
-resultant log messages 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.
+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
@@ -70,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 #`  
@@ -129,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`  
@@ -165,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`  
@@ -183,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
 --------------------------------
 
@@ -227,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.