Skip to content

Latest commit

 

History

History

weather

Weather Module

This module is aimed to be the replacement for the current currentweather and weatherforcast modules. The module will be configurable to be used as a current weather view, or to show the forecast. This way the module can be used twice to fullfil both purposes.

The biggest cange is the use of weather providers. This way we are not bound to one API source. And users can choose which API they want to use as their source.

The module is in a very early stage, and needs a lot of work. It's API isn't set in stone, so keep that in mind when you want to contribute.

Example

Current Weather Screenshot Weather Forecast Screenshot

Usage

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

modules: [
	{
		module: "weather",
		position: "top_right",
		config: {
			// See 'Configuration options' for more information.
			type: 'current'
		}
	}
]

Configuration options

The following properties can be configured:

General options

Option Description
weatherProvider Which weather provider should be used.

Possible values: openweathermap and darksky
Default value: openweathermap
type Which type of weather data should be displayed.

Possible values: current and forecast
Default value: current
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
roundTemp Round temperature value to nearest integer.

Possible values: true (round to integer) or false (display exact value with decimal point)
Default value: false
degreeLabel Show the degree label for your chosen units (Metric = C, Imperial = F, Kelvins = K).

Possible values: true or false
Default value: false
updateInterval How often does the content needs to be fetched? (Milliseconds)

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

Possible values:0 - 5000
Default value: 1000 (1 second)
timeFormat Use 12 or 24 hour format.

Possible values: 12 or 24
Default value: uses value of config.timeFormat
showPeriod Show the period (am/pm) with 12 hour format

Possible values: true or false
Default value: true
showPeriodUpper Show the period (AM/PM) with 12 hour format as uppercase

Possible values: true or false
Default value: false
lang The language of the days.

Possible values: en, nl, ru, etc ...
Default value: uses value of config.language
decimalSymbol The decimal symbol to use.

Possible values: ., , or any other symbol.
Default value: .
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
appendLocationNameToHeader If set to true, the returned location name will be appended to the header of the module, if the header is enabled. This is mainly intresting when using calender based weather.

Default value: true
calendarClass The class for the calender module to base the event based weather information on.

Default value: 'calendar'

Current weather options

Option Description
onlyTemp Show only current Temperature and weather icon without windspeed, sunset, sunrise time and feels like.

Possible values: true or false
Default value: false
useBeaufort Pick between using the Beaufort scale for wind speed or using the default units.

Possible values: true or false
Default value: true
showWindDirection Show the wind direction next to the wind speed.

Possible values: true or false
Default value: true
showWindDirectionAsArrow Show the wind direction as an arrow instead of abbreviation

Possible values: true or false
Default value: false
showHumidity Show the current humidity

Possible values: true or false
Default value: false
showIndoorTemperature If you have another module that emits the INDOOR_TEMPERATURE notification, the indoor temperature will be displayed
Default value: false
showIndoorHumidity If you have another module that emits the INDOOR_HUMIDITY notification, the indoor humidity will be displayed
Default value: false
showFeelsLike Shows the Feels like temperature weather.

Possible values:true or false
Default value: true

Weather forecast options

Option Description
tableClass The class for the forecast table.

Default value: 'small'
colored If set to true, the min and max temperature are color coded.

Default value: false
showRainAmount Show the amount of rain in the forecast

Possible values: true or false
Default value: true

Openweathermap options

Option Description
apiVersion The OpenWeatherMap API version to use.

Default value: 2.5
apiBase The OpenWeatherMap base URL.

Default value: 'http://api.openweathermap.org/data/'
weatherEndpoint The OpenWeatherMap API endPoint.

Possible values: /weather or /forecast/daily
Default value: '/weather'
locationID Location ID from OpenWeatherMap This will override anything you put in location.
Leave blank if you want to use location.
Example: 1234567
Default value: false

Note: When the location and locationID are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used.
location The location used for weather information.

Example: 'Amsterdam,Netherlands'
Default value: false

Note: When the location and locationID are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used.
apiKey The OpenWeatherMap API key, which can be obtained by creating an OpenWeatherMap account.

This value is REQUIRED

Darksky options

Option Description
apiBase The DarkSky base URL. The darksky api has disabled cors, therefore a proxy is required.

Possible value: 'https://cors-anywhere.herokuapp.com/https://api.darksky.net'
This value is REQUIRED
weatherEndpoint The DarkSky API endPoint.

Possible values: /forecast
This value is REQUIRED
apiKey The DarkSky API key, which can be obtained by creating an DarkSky account.

This value is REQUIRED
lat The geo coordinate latitude.

This value is REQUIRED
lon The geo coordinate longitude.

This value is REQUIRED

API Provider Development

If you want to add another API provider checkout the Guide.