Giter Club home page Giter Club logo

darksky2influxdb's Introduction

darksky2influxdb

Stores weather forcecast data from Dark Sky Api into a influxdb database.
Powered by Dark Sky

This information can by used to display forecast data with grafana.

Tip: This blogpost describes the installation and setup for a personal weather chart using influxdb and grafana and step-by-step.

Preview

Getting Started

Clone repository git clone https://github.com/SvenSommer/darksky2influxdb

Prerequisites

Node and npm

Node and npm are required. See https://docs.npmjs.com/getting-started/installing-node. Test your version by

node -v
npm -v

Get the latest npm version with npm install npm@latest -g

Dark Sky API Key

Get your https://darksky.net/dev/register here.
Please note that only the first 1000 API requests you make every day are free of charge.

Influxdb

Please follow the official installation documentation https://docs.influxdata.com/influxdb/v1.2/introduction/installation/

Grafana

If you want to visualise the data in a chart I can hardly reccomend grafana.
You can find my dashboard for import in grafana\Weather - Forecast-Dashboard.json.

Installing

  1. Enter cloned directory: cd darksky2influxdb and install dependencies npm install
  2. Configure config/default.yml file

Here is an example of default.yml

general:
  debug: true
  cron: '*/15 * * * *'
darksky:
  key: abcdefghiklmnopqrstuvwxyz1234567
  units: auto
  longitude: -123.41670367098749
  latitude: 47.20296790272209
influxdb:
  host: 192.168.188.2
  database: weather
  username: darkskyimport_user
  password: supersecretpassword!?
Option Description
debug Enables Debug mode and provides additional informations

Type: booleon
Possible values: true,false
cron Programm is repating itself in a given period

Type: string
Possible values: '*/15 * * * *' - every 15 minutes,
'' - running only once
darksky - key get your darksky key here https://darksky.net/dev/register

Type: string
Possible values: abcdefghiklmnopqrstuvwxyz1234567
darksky - units Return weather conditions in the requested units. See https://darksky.net/dev/docs/forecast

Type: string
Possible values: auto,ca,uk2,us,si
darksky - longitude and latitude Coordinates of forecast location (in decimal degrees).

Type: float
Possible values: latitude: 47.20296790272209 and longitude:-123.41670367098749
influxdb - host Server your influxdb is running

Type: string
Possible values: localhost , 192.168.188.2
influxdb - database Name of your Database the forecast data is stored.

Type: string
Possible values: weather , forecast
influxdb - username User with writing privileges on the database
influxdb - password Password of user with writing privileges on the database

Running the Import

Start the import with node importForecast.js If you have given a valid cron interval in the configfile the programm will repeat the import automaticly.

Tested

This is coded and tested on a RaspberryPi 3

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • This code is originally based on ErwinSteffens project darksky-influxdb. Many thanks to him!

darksky2influxdb's People

Contributors

blurblah avatar svensommer avatar wmp avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.