Skip to content

Bindings for Davis Vantage Pro and Pro2 weather stations, upload of weather data (e.g. wunderground.com, pwsweather.com), and meteorological calculation/conversion functions.

License

Notifications You must be signed in to change notification settings

cmcginty/PyWeather

Repository files navigation

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.

Wind Chill Factor Calculation

PyWeather now includes a feature to calculate the wind chill factor based on temperature and wind speed. This provides users with additional information about how cold it feels outside, which is particularly useful in cold weather conditions.

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).
  6. 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.
  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.
  2. Go to your dashboard and create a station.
  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.

Wind Chill Factor Calculation

The wind chill factor is calculated based on temperature and wind speed. This feature is integrated into the weather report functionality, providing users with additional information about how cold it feels outside. The calculation is only defined for temperatures at or below 10°C (50°F) and wind speeds above 4.8 km/h (3 mph).

Example usage in the script:

''' temperature = 5 # in Celsius wind_speed = 15 # in km/h wind_chill = calculate_wind_chill(temperature, wind_speed) print(f"The wind chill factor is: {wind_chill}°C") '''

This updated documentation reflects the new functionality added to PyWeather, including the wind chill factor calculation, and provides clear instructions on how to use the new feature.

About

Bindings for Davis Vantage Pro and Pro2 weather stations, upload of weather data (e.g. wunderground.com, pwsweather.com), and meteorological calculation/conversion functions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published