You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Micke Nordin f5e9f96f1e Merge branch 'master' of https://github.com/mickenordin/weather 1 year ago
LICENSE Initial commit 1 year ago
README.md Add crontab example 1 year ago
aggregateweather.py Fix dates 1 year ago
check_rainfall.sh Add nagios plugin 1 year ago
getweather.py Add human readable station name 1 year ago
grafana_dashboard.json Add cumulative graph 1 year ago
requirements.txt Collection of data and aggregation to mysql works 1 year ago
weather.ini Add grafana dashboard 1 year ago
weather.sql Add human readable station name 1 year ago

README.md

weather

Some pythonscripts that get weather data from SMHI and calculates evapotranspiration. Create a user to run scripts:

useradd -s /usr/sbin/nologin -r -M -d /opt/weather weather

Clone repo:

git clone https://github.com/mickenordin/weather.git /opt/weather

Chown:

chown -R weather:weather /opt/weather

Create mysql database:

mysql -e "CREATE DATABASE weather"
mysql -e "CREATE USER 'weather'@'localhost' IDENTIFIED BY 'password'"
mysql -e "GRANT ALL PRIVILEGES ON weather.* TO 'weather'@'localhost'"
mysql weather < /opt/weather/weather.sql

Install requirements:

sudo -u  weather pip3 install -r /opt/weather/requirements.txt

Configure and run:

vim /opt/weather/weather.ini
/opt/weather/getweather.py
/opt/weather/aggregateweather.py

Example crontab entry for weather user:

# m h  dom mon dow   command
15 * * * * /opt/weather/getweather.py
30 * * * * /opt/weather/getweather.py --station 97280
45 2,14 * * * /opt/weather/aggregateweather.py
45 3,15 * * * /opt/weather/aggregateweather.py --station 97280