All Projects → dmcinnes → MMM-forecast-io

dmcinnes / MMM-forecast-io

Licence: other
Forecast.io Module for MagicMirror

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to MMM-forecast-io

Jupiter
🌞 The Swift Weather Framework
Stars: ✭ 14 (-75.86%)
Mutual labels:  weather, forecast, darksky
MMM-OpenmapWeather
This module loads current weather as images on Magic Mirror
Stars: ✭ 18 (-68.97%)
Mutual labels:  magicmirror, magic-mirror-modules, magicmirror2
WallberryTheme
Bringing the WallberryTheme to MagicMirror²
Stars: ✭ 94 (+62.07%)
Mutual labels:  magicmirror, darksky, magicmirror2
MMM-MotionDetector
This is a motion detector module for MagicMirror
Stars: ✭ 32 (-44.83%)
Mutual labels:  magicmirror, magic-mirror-modules, magicmirror2
MMM-mvgmunich
MagicMirror² Module to monitor public transport (U-bahn, tram, bus, S-Bahn) in Munich
Stars: ✭ 21 (-63.79%)
Mutual labels:  magicmirror, magic-mirror-modules, magicmirror2
darksky
Forecast.io API wrapper in Go (Golang)
Stars: ✭ 74 (+27.59%)
Mutual labels:  weather, forecast, darksky
darksky-influxdb
Logs weather information from darksky.io to InfluxDB
Stars: ✭ 22 (-62.07%)
Mutual labels:  weather, darksky
darksky2influxdb
Stores wheather forcecast data from darkskyapi into a influxdb database
Stars: ✭ 21 (-63.79%)
Mutual labels:  weather, forecast
Temps
Simple menubar application based on Electron with actual weather information and forecast.
Stars: ✭ 553 (+853.45%)
Mutual labels:  weather, forecast
mpxday
mpxday是基于mpx开发的天气预报微信小程序
Stars: ✭ 3 (-94.83%)
Mutual labels:  weather, forecast
DarkSkyKit
DarkSky.net API client written in Swift.
Stars: ✭ 33 (-43.1%)
Mutual labels:  weather, darksky
Wego
weather app for the terminal
Stars: ✭ 6,918 (+11827.59%)
Mutual labels:  weather, forecast
Weather
A module for obtaining weather information
Stars: ✭ 54 (-6.9%)
Mutual labels:  weather, forecast
weather-milliseconds
Experiment to render a forecast as fast as possible
Stars: ✭ 24 (-58.62%)
Mutual labels:  weather, forecast
weatherBot
⛈ A Twitter bot for weather
Stars: ✭ 20 (-65.52%)
Mutual labels:  weather, darksky
epaper-clock-and-more
e-paper clock + weather + AQI + traffic delays - using Waveshare 2.7inch & 4.2inch eink displays running on Raspberry Pi
Stars: ✭ 34 (-41.38%)
Mutual labels:  weather, darksky
Node Forecastio
A node.js client for Forecast.io API
Stars: ✭ 32 (-44.83%)
Mutual labels:  weather, forecast
Darksky
Python API wrapper for the DarkSky (async&sync)
Stars: ✭ 81 (+39.66%)
Mutual labels:  weather, forecast
Dark Sky Api
PHP Library for the Dark Sky API.
Stars: ✭ 70 (+20.69%)
Mutual labels:  weather, forecast
Darkskylib
Python wrapper for the Dark Sky API
Stars: ✭ 112 (+93.1%)
Mutual labels:  weather, forecast

MMM-Forecast-IO

This an extension for MagicMirror that adds localized weather using the Dark Sky API (originally Forecast.io) -- the same service that powers the Dark Sky App.

This module makes use of the geolocation API to determine the location of the mirror. This can be turned off by setting latitude and longitude in the module's config (see Configuration options below).

Unless running headless in a browser, Geolocation requires setting the GOOGLE_API_KEY environment variable.

screenshot

Using the module

To use this module, add it to the modules array in the config/config.js file:

modules: [
  {
    module: 'MMM-forecast-io',
    position: 'top_right',  // This can be any of the regions.
    config: {
      // See 'Configuration options' for more information.
      apiKey: 'abcde12345abcde12345abcde12345ab', // Dark Sky API key.
      // Only required if geolocation doesn't work:
      latitude:   16.77532,
      longitude: -3.008265
    }
  }
]

Configuration options

Option Description
apiKey The Dark Sky API key, which can be obtained by creating an Dark Sky API account.

This value is REQUIRED
units What units to use. Specified by config.js

Possible values: config.units = Specified by config.js, default = Kelvin, metric = Celsius, imperial =Fahrenheit
Default value: config.units
language The language of the weather text.

Possible values: en, nl, ru, etc ...
Default value: uses value of config.language
updateInterval How often does the content needs to be fetched? (Milliseconds)

Forecast.io enforces a 1,000/day request limit, so if you run your mirror constantly, anything below 90,000 (every 1.5 minutes) may require payment information or be blocked.

Possible values: 1000 - 86400000
Default value: 300000 (5 minutes)
animationSpeed Speed of the update animation. (Milliseconds)

Possible values:0 - 5000
Default value: 2000 (2 seconds)
initialLoadDelay The initial delay before loading. If you have multiple modules that use the same API key, you might want to delay one of the requests. (Milliseconds)

Possible values: 1000 - 5000
Default value: 0
retryDelay The delay before retrying after a request failure. (Milliseconds)

Possible values: 1000 - 60000
Default value: 2500
latitude The latitude location in decimal. Set this (and longitude) as the location for the forecast. If this is not set, the module will attempt to approximate using browser geolocation.

Example value: 16.77532
Default value: null
longitude The longitude location in decimal. Set this (and latitude) as the location for the forecast. If this is not set, the module will attempt to approximate using browser geolocation.

Example value: -3.008265
Default value: null
showTextSummary Toggles display of text summary.

Default value: true
showCurrentWeather Toggles display of current weather.

Default value: true
showIndoorTemperature If you have another module that emits the INDOOR_TEMPERATURE notification, the indoor temperature will be displayed.

Default value: false
showWind Toggles display of wind conditions

Default value: true
apiBase The Dark Sky API base URL.

Default value: 'https://api.darksky.net/forecast'
showForecast Toggles display of the seven-day weather forecast.

Default value: true
showFeelsLike Toggles display of the local "feels like" temperature. Feels like is the ambient air temperature, adjusted for relative humidity and wind speed to determine how weather conditions feel to bare skin.

Default value: false
fadeForecast Toggles fading of last 2 forecast rows.

Default value: false
maxDaysForecast Limit how many days of weather forecast. Useful values 1-7

Default value: 7
showSunriseSunset Toggles display of sunrise and sunset times

Default value: true
enablePrecipitationGraph Toggles display of the precipitation graph.

Default value: true
alwaysShowPrecipitationGraph Force the precipition graph to always show, and not just when it's raining.

Default value: false
precipitationFillColor Choose the color of the precipitation graph. Will accept hex value or color names of Javascript-friendly colors. See this page for a list of colors. "dodgerblue" appears to best mimic the Dark Sky app.

Default value: white
precipitationGraphWidth Width of the precipitation graph element in pixels. Scales height to match.

Default value: 400
forecastTableFontSize Sets CSS font style for forecast table. Possible values: 'xsmall', 'small', 'medium', 'large', 'xlarge'

Default value: 'medium'
precipitationProbabilityThreshold Probability threshold at which rain is rendered onto the precipitation graph.
See the Darksky.net API documentation for more details.

Default value: 0.1
showDailyPrecipitationChance Toggles display of the precipitation probability for each day.

Default value: true
iconTable The conversion table to convert the weather conditions to weather-icons.

Default value:
iconTable: {
      'clear-day':           'wi-day-sunny',
      'clear-night':         'wi-night-clear',
      'rain':                'wi-rain',
      'snow':                'wi-snow',
      'sleet':               'wi-rain-mix',
      'wind':                'wi-cloudy-gusts',
      'fog':                 'wi-fog',
      'cloudy':              'wi-cloudy',
      'partly-cloudy-day':   'wi-day-cloudy',
      'partly-cloudy-night': 'wi-night-cloudy',
      'hail':                'wi-hail',
      'thunderstorm':        'wi-thunderstorm',
      'tornado':             'wi-tornado'
    }
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].