jeroentvb / wind-notification

Get an IFTTT notification when there's wind coming

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wind-notifier

Get an IFTTT notification when there's wind coming. The notification includes average windspeed, spot and winddirection.

The application scrapes the forecast for the following 3 days from windguru.cz and sends the forecast to the maker webhooks service on ifttt, which can send a notification to your phone if connected to the notifications channel. Or you can connect it to something else.

Disclaimer

This application uses a scraper to scrape windguru.cz. This is not allowed by the website, so use this application at you own risk.

Table of contents

Installation

Run the following commands in terminal.

git clone https://github.com/jeroentvb/wind-notifier.git
cd wind-notifier
npm install
touch .env

Setup

.env file

Next, create a file named .env and add the following line.

MAKER_KEY=
MAKER_KEY

Get your key for the maker channel here. Paste your key in the .env file after MAKER_KEY=.

app-config.json

An example config file is located in app-config.json.

spots

Spot info is contained in the spots array. Each spot is represented by an object.

name

The name of the spot. This name will be used in the notification.

Example: Tarifa

spotNumber

The windguru number of a spot, which is used to get the forecastdata. Get the spot number from the url of the forecast for a spot.

Example: this is the url for the spot tarifa https://www.windguru.cz/43. 43 is the spot number.

modelNumber

The number windguru uses to identify a forecast model.
You can get these using the inspector in your browser. Or use 0 for the first model, 1 for the second, 2 for the third, e.t.c.
Make sure the selected model has a forecast for 3 days. Otherwise the application may not work.

Example: If I want to use the ICON model for tarifa, the modelnumber would be 4.

directionMin & directionMax

Used to calculate which spot is best with a certain winddirection. The forecast of the best spot matching the winddirection will be used for the notification.

These numbers are degrees. The winddirection of a spot is calculated from directionMin to directionMax. If the winddirection (in degrees) is within those values, it will be selected as the best spot for that winddirection.
A spots min and max direction and degrees can pass 360 degrees.

Example 1: directionMin: 180, directionMax: 315

Example 2: directionMin: 315, directionMax: 23

windThreshold

Minimum windspeed (in kts) for at least 3 hours to trigger a notification.
If this value is left empty, the minimum will be set at 14 kts.

Example: 14

IFTTT applet

You also need to connect the ifttt maker channel to an applet in order to do something with the notification.
It doesn't really matter what service you attatch to it, as long as you set the maker event name to wind-update.

CRON

Since this isn't a server but more of a script that should be run once to send a notification, you need to set up some sort of cron job to run this application at the desired time.

About

Get an IFTTT notification when there's wind coming

License:GNU General Public License v3.0


Languages

Language:JavaScript 100.0%