86 lines
3.1 KiB
Markdown
86 lines
3.1 KiB
Markdown
|
# PyWeather
|
||
|
|
||
|
## Abstract
|
||
|
|
||
|
PyWeather contains weather related modules implemented in Python.
|
||
|
Anything weather related is fair game for PyWeather. Currently
|
||
|
PyWeather is limited to unit conversion, console reading, and data
|
||
|
publication. But, future work can be added to PyWeather in any area.
|
||
|
|
||
|
|
||
|
## Unit Conversion
|
||
|
|
||
|
PyWeather has a lot of support for common unit conversions in
|
||
|
distance, temperature, pressure, and volume. Conversion from
|
||
|
Fahrenheit to Celsius, and kelvin is supported, as well as conversions
|
||
|
between inches of mercury and millibars.
|
||
|
|
||
|
|
||
|
## Station Observations
|
||
|
|
||
|
PyWeather also contains modules that are capable of downloading
|
||
|
observations from weather consoles. The current list of supported
|
||
|
weather consoles includes:
|
||
|
|
||
|
- Davis Vantage Pro
|
||
|
- Davis Vantage Pro2
|
||
|
- Netatmo weather station.
|
||
|
|
||
|
|
||
|
## Data Publication
|
||
|
|
||
|
PyWeather contains a module that allows developers to post conditions
|
||
|
to weather aggregation sites. The current list of support services includes:
|
||
|
|
||
|
- WeatherUnderground (wundgerground.com)
|
||
|
- PWS Weather (pwsweather.com)
|
||
|
- WeatherForYou (weatherforyou.com)
|
||
|
|
||
|
|
||
|
For additional information, please email the maintainer:
|
||
|
pyweather@tuxcoder.com
|
||
|
|
||
|
## Data Publication Script
|
||
|
|
||
|
`scripts/weatherpub.py` supports publication of the weather data. It can also serve as a good usage example.
|
||
|
|
||
|
### General usage
|
||
|
|
||
|
1. Copy `weatherpub.conf.example` as `weatehrpub.conf`.
|
||
|
2. Modify `weatehrpub.conf`:
|
||
|
3. In `[general]` section set `station` to the name of the station you have.
|
||
|
4. Set `publication` to a comma-separated list of weather services you'd like
|
||
|
to push data to.
|
||
|
5. Configure weather station and publication service in corresponding sections
|
||
|
of the configuration file (see below for more details).
|
||
|
3. Run it: `./scripts/weatherpub.py -c scripts/weatherpub.conf`
|
||
|
|
||
|
### Weather stations
|
||
|
|
||
|
The script supports Vantage Pro and Netatmo. Vantage Pro support was not recently tested and may be broken by the latest update. Please report bugs and/or send pull requests.
|
||
|
|
||
|
#### Vantage Pro
|
||
|
|
||
|
By default script excepts Vantage Pro weather stations to be connected to /`/dev/ttyS0`. Use `--tty` command-line flag to override it (this cannot be currently set via command-line), e.g. `./scripts/weatherpub.py -c scripts/weatherpub.conf --tty /dev/ttyS1`
|
||
|
|
||
|
#### Netatmo
|
||
|
|
||
|
Since netatmo works via public API, some setup required first:
|
||
|
|
||
|
1. [Create a Netatmo app](https://dev.netatmo.com/apps/createanapp#form).
|
||
|
2. Use generated app id and secret as `client_id` and `client_secret`.
|
||
|
3. Use your own Netatmo username (e-mail) as `username` and `password`.
|
||
|
4. Set `module_name` to your outdoor module name, e.g. 'Outdoor'.
|
||
|
|
||
|
Note: Rain Gauge and Anemometer are not supported yet.
|
||
|
|
||
|
### Publication services
|
||
|
|
||
|
Only 3 publication service are currently supported. Out of them only PWS Weather was properly tested.
|
||
|
|
||
|
#### PWS Weather
|
||
|
|
||
|
1. [Create PWS Weather profile](https://www.pwsweather.com/register).
|
||
|
2. Go to your [dashboard](https://dashboard.pwsweather.com/) and [create a station](https://dashboard.pwsweather.com/stations/add).
|
||
|
3. In `[pwsweather]` section of the configuration file use your station id as `site_id`, and password from account you created at step 1 as `password`.
|