Skip to main content

Webapps for recording and displaying weather data

Project description

For the moment, only cron.py works.
The rest of this README file is not relevant.
Please look into cron.py for explanations.
Wait next releases to have full description.

In one word :

Install this software (For fedora)
$ sudo dnf install python3-pip
$ sudo dnf install mariadb-devel
$ sudo dnf install gcc
$ sudo dnf install redhat-rpm-config
$ pip install wdwapp

Download development.ini file from : https://static.frkb.fr/wdwapp

Adapt this file for your need.

Create a database (empty) for this app.
In phpMyAdmin for exemple you can do :
CREATE USER ‘wdwapp’@’localhost’ IDENTIFIED BY ‘my secret password’;
GRANT USAGE ON . TO ‘wdwapp’@’localhost’ REQUIRE NONE WITH
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0
MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS wdwapp;GRANT ALL
PRIVILEGES ON wdwapp.* TO ‘wdwapp’@’localhost’;

Create tables :
$ wdwapp_initialize_db development.ini

Put in a cron job this command :
$ wdwapp_cron /path/to/development.ini

Because by default data is saved every 15 minutes, it is a good idea to call
the cron job 3 minutes after. This mean every hour at 3, 18, 33 and 48 minute.
To do tis with con insert this line in the crontab :
3,18,33,48 * * * * wdwapp_cron /path/to/development.ini

Start web server :
$ gunicorn –paste development.ini

DO NOT USE the rest of this file =============================================

Getting Started

  • Change directory into your newly created project:

    cd meteoweb
  • Create a Python virtual environment:

    python3 -m venv env
  • Upgrade packaging tools:

    env/bin/pip install --upgrade pip setuptools
  • Install the project in editable mode with its testing requirements:

    env/bin/pip install -e ".[testing]"
  • Run your project’s tests:

    env/bin/pytest
  • Download ini files:

    wget http://static.frkb.fr/wdwapp/development.ini
    wget http://static.frkb.fr/wdwapp/production.ini
  • Adapt domaines entry in [app:main] section from ini file

    see on https://api.ovh.com/ how to obtain keys. Or go directly to https://api.ovh.com/createToken/index.cgi

  • Run your project:

    env/bin/pserve development.ini
    or
    env/bin/pserve production.ini
  • Acces your project:

    http://localhost:6543

  • Retrieve weather data using a cron job.

    Get the URL http://localhost:6543/cron every 15 minutes.
    The best way is to add the following line in a crontab :

    */15 * * * * wget -q -O /dev/null http://dev.local:6543/cron

    Replace dev.local:6543 with your domain if you have one.
    The interval used to call this service determine the data interval.

Change log

  • 0.1.4 2021/10/18

    • Use of route_path instead of route_url to keep http or https scheme.

    • Use of current year in copyright.

    • Show last change and nbr of changes over battery icon.

    • Show last-seen over time icon.

    • Add Possibility to connect to weather data server with password.

    • Group battery and timing indicator in one indicator column.

    • Update Bootstrap from 3.3 to 5.1

    • Replaced indicators icons with bootstart icons https://icons.getbootstrap.com

    • Add arrow in detail view to navigate between locations.

    • Add click to change battery on battery icon with confirmation.

    • In case if locations no more in session (e.g. if cookies are cleared) refresh there list.

  • 0.1.3 2021/10/16

    • Change display order in overview.

    • Correction of URL to https.

    • Correction of reStructuredText syntax errors.

    • Add alembic versions files.

    • Add alembic database update script.

  • 0.1.0 2021/10/15

    • Add two year digit in date of detail.

    • Add battery life data (last change, number of change).

    • Add display of battery level as a icon.

    • Add display of accuracy of data. If data is up to date as a icon.

    • Add new config value “ in .ini file.

  • 0.0.8 2018/02/28

    • use of gunicorn as web-server.

    • Data base update. Suppress unique index on sensor id in location. Please run V007to008.sql available on http://static.frkb.fr/wdwapp

    • Detect and send alarms only every wd.interval.

    Corrections :

    • When new sensor is detected save first data received.

    • Internal Server Error after lost MySql connection due to interactive timeout. Resolved by adding pool_pre_ping=True to create_engine.

  • 0.0.7 2017/12/28

    • Data base update. Add rank and grah color to location. Please run V006to007.sql available on http://static.frkb.fr/wdwapp

    • Secure humidity reading. Cannot be below 1 or upper 100.

    • Added detail view of last 24h data for a location.

  • 0.0.6 2017/12/26

    • Beginning with the webserver. A first page with last datas is available (in french sorry).

    • Data base update. Add long description to server. Please run V004to005.sql available on http://static.frkb.fr/wdwapp

    • Removed tests.

  • 0.0.4 2017/12/25

    • Remove return value.

    • Change logging system to manage different levels (debug, error, warning, etc.). In this way, for example, warnings can be send by mail from cron. This implies mail option from log() have been removed.

    • Suppress of backup file. Replaced by sensor_data table. This table is indexed with sensor ID and timestamp so it is easier to re-process data for a new sensor (re-process part need to be written).

  • 0.0.3 2017/12/22

    • Rounding results to avoid truncate warning during database update.

    • Avoid to insert already existing weather data.

  • 0.0.1 2017/12/21

    First version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wdwapp-0.1.4.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

wdwapp-0.1.4-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file wdwapp-0.1.4.tar.gz.

File metadata

  • Download URL: wdwapp-0.1.4.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for wdwapp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a196cb8c5d265b90e145f224bcfa36ba9c70221294cd964afe59ff95a1abf058
MD5 776655a0dbca18b5e5ff6ac26bd40ffb
BLAKE2b-256 a8152d9ffbd1355699e20dc02a0b5a4c1dae5f711ca2a7dcee3626e0f2a6f897

See more details on using hashes here.

File details

Details for the file wdwapp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: wdwapp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for wdwapp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fa1d8d87e2441098089d5adf1c439fc4af2be8b8d007f0279c5020b557bf92d7
MD5 b2fce5c6f043fa9d4ce3caae59eaa581
BLAKE2b-256 29c30afdd90cc329f18fcd8992c84dfcb7bcfb70e03124b74abe07da1e5b957c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page