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.
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.
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.
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: [email protected]
scripts/weatherpub.py
supports publication of the weather data. It can also serve as a good usage example.
- Copy
weatherpub.conf.example
asweatehrpub.conf
. - Modify
weatehrpub.conf
: - In
[general]
section setstation
to the name of the station you have. - Set
publication
to a comma-separated list of weather services you'd like to push data to. - Configure weather station and publication service in corresponding sections of the configuration file (see below for more details).
- Run it:
./scripts/weatherpub.py -c scripts/weatherpub.conf
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.
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
Since netatmo works via public API, some setup required first:
- Create a Netatmo app.
- Use generated app id and secret as
client_id
andclient_secret
. - Use your own Netatmo username (e-mail) as
username
andpassword
. - Set
module_name
to your outdoor module name, e.g. 'Outdoor'.
Note: Rain Gauge and Anemometer are not supported yet.
Only 3 publication service are currently supported. Out of them only PWS Weather was properly tested.
- Create PWS Weather profile.
- Go to your dashboard and create a station.
- In
[pwsweather]
section of the configuration file use your station id assite_id
, and password from account you created at step 1 aspassword
.