From 935b0c31aa49e6ceb8176d5859c27de1e96cc18b Mon Sep 17 00:00:00 2001
From: i-xul <121262594+i-xul@users.noreply.github.com>
Date: Wed, 23 Sep 2026 21:56:59 +0300
Subject: [PATCH 1/2] docs(weather): add FMI weather provider
---
modules/weather.md | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/modules/weather.md b/modules/weather.md
index 64212b43..061c4498 100755
--- a/modules/weather.md
+++ b/modules/weather.md
@@ -85,8 +85,8 @@ The following properties can be configured:
| Option | Description |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `weatherProvider` | Which weather provider should be used.
**Possible values:** `openweathermap` , `pirateweather` , `weathergov`, `ukmetofficedatahub`, `weatherbit`, `envcanada`, `openmeteo`, `weatherflow`, `SMHI`, `weatherapi`, `buienradar` or `yr`
**Default value:** `openweathermap` |
-| `type` | Which type of weather data should be displayed.
**Possible values:** `current` , `hourly` , `daily` , or `forecast`
**Default value:** `current`
**Note:** The `daily` type is another name for the `forecast` type, and the two are interchangeable.
The `hourly` type is currently only implemented for these provider:
- **Environment Canada** (`envcanada`)
- **Openmeteo**
- **OpenWeatherMap** (`openweathermap`), and only when `/onecall` is used as the specified endpoint. Latitude and longitude [(see below)](/modules/weather#openweathermap-options) are **required** for `hourly`. The locationID and location options are ignored when the OpenWeatherMap One Call API is used and you will get wrong weather information.
- **Weather.gov** (`weathergov`)
- **Yr** (`yr`)
- **Buienradar** (`buienradar`) |
+| `weatherProvider` | Which weather provider should be used.
**Possible values:** `fmi` , `openweathermap` , `pirateweather` , `weathergov`, `ukmetofficedatahub`, `weatherbit`, `envcanada`, `openmeteo`, `weatherflow`, `SMHI`, `weatherapi`, `buienradar` or `yr`
**Default value:** `openweathermap` |
+| `type` | Which type of weather data should be displayed.
**Possible values:** `current` , `hourly` , `daily` , or `forecast`
**Default value:** `current`
**Note:** The `daily` type is another name for the `forecast` type, and the two are interchangeable.
The `hourly` type is currently only implemented for these provider:
- **Finnish Meteorological Institute** (`fmi`)
- **Environment Canada** (`envcanada`)
- **Openmeteo**
- **OpenWeatherMap** (`openweathermap`), and only when `/onecall` is used as the specified endpoint. Latitude and longitude [(see below)](/modules/weather#openweathermap-options) are **required** for `hourly`. The locationID and location options are ignored when the OpenWeatherMap One Call API is used and you will get wrong weather information.
- **Weather.gov** (`weathergov`)
- **Yr** (`yr`)
- **Buienradar** (`buienradar`) |
| `units` | What units to use. Specified by config.js
**Possible values:** `config.units` = Specified by config.js, `metric` = Celsius, `imperial` = Fahrenheit
**Default value:** `config.units` |
| `tempUnits` | What units to use for temperature. If not specified, the module uses the `units` value from `config.js`.
**Possible values:** `config.units` = Specified by config.js, `metric` = Celsius, `imperial` = Fahrenheit
**Default value:** `config.units` |
| `windUnits` | What units to use for wind speed. If not specified, the module uses the `units` value from `config.js`.
**Possible values:** `config.units` = Specified by config.js, `mps` or `metric` = metres per second, `kmh` = kilometers per hour, `mph` or `imperial` = miles per hour, `beaufort` = use beaufort scale, `knots` = show wind in knots
**Default value:** `units` |
@@ -220,6 +220,17 @@ retrieve more than 5 days you must subscribe to the OpenWeatherMap API.
| `lat` | The geo coordinate latitude.
This value is **REQUIRED** |
| `lon` | The geo coordinate longitude.
This value is **REQUIRED** |
+### Finnish Meteorological Institute (`fmi`) options
+
+The FMI weather provider uses open weather data from the Finnish Meteorological
+Institute and does not require an API key. Latitude and longitude are required
+for selecting the weather location.
+
+| Option | Description |
+| ------ | ------------------------------------------------------------------------------------------------------------------ |
+| `lat` | The latitude coordinate for the desired location.
**Example:** `60.1699`
This value is **REQUIRED** |
+| `lon` | The longitude coordinate for the desired location.
**Example:** `24.9384`
This value is **REQUIRED** |
+
### SMHI options
| Option | Description |
From 0674e2221220a072f30deb98d4ad7bf641ef7225 Mon Sep 17 00:00:00 2001
From: i-xul <121262594+i-xul@users.noreply.github.com>
Date: Wed, 23 Sep 2026 22:18:48 +0300
Subject: [PATCH 2/2] docs(weather): fix formatting
---
modules/weather.md | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/modules/weather.md b/modules/weather.md
index 061c4498..2ca7d19f 100755
--- a/modules/weather.md
+++ b/modules/weather.md
@@ -83,30 +83,30 @@ The following properties can be configured:
### General options
-| Option | Description |
-| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `weatherProvider` | Which weather provider should be used.
**Possible values:** `fmi` , `openweathermap` , `pirateweather` , `weathergov`, `ukmetofficedatahub`, `weatherbit`, `envcanada`, `openmeteo`, `weatherflow`, `SMHI`, `weatherapi`, `buienradar` or `yr`
**Default value:** `openweathermap` |
+| Option | Description |
+| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `weatherProvider` | Which weather provider should be used.
**Possible values:** `fmi` , `openweathermap` , `pirateweather` , `weathergov`, `ukmetofficedatahub`, `weatherbit`, `envcanada`, `openmeteo`, `weatherflow`, `SMHI`, `weatherapi`, `buienradar` or `yr`
**Default value:** `openweathermap` |
| `type` | Which type of weather data should be displayed.
**Possible values:** `current` , `hourly` , `daily` , or `forecast`
**Default value:** `current`
**Note:** The `daily` type is another name for the `forecast` type, and the two are interchangeable.
The `hourly` type is currently only implemented for these provider:
- **Finnish Meteorological Institute** (`fmi`)
- **Environment Canada** (`envcanada`)
- **Openmeteo**
- **OpenWeatherMap** (`openweathermap`), and only when `/onecall` is used as the specified endpoint. Latitude and longitude [(see below)](/modules/weather#openweathermap-options) are **required** for `hourly`. The locationID and location options are ignored when the OpenWeatherMap One Call API is used and you will get wrong weather information.
- **Weather.gov** (`weathergov`)
- **Yr** (`yr`)
- **Buienradar** (`buienradar`) |
-| `units` | What units to use. Specified by config.js
**Possible values:** `config.units` = Specified by config.js, `metric` = Celsius, `imperial` = Fahrenheit
**Default value:** `config.units` |
-| `tempUnits` | What units to use for temperature. If not specified, the module uses the `units` value from `config.js`.
**Possible values:** `config.units` = Specified by config.js, `metric` = Celsius, `imperial` = Fahrenheit
**Default value:** `config.units` |
-| `windUnits` | What units to use for wind speed. If not specified, the module uses the `units` value from `config.js`.
**Possible values:** `config.units` = Specified by config.js, `mps` or `metric` = metres per second, `kmh` = kilometers per hour, `mph` or `imperial` = miles per hour, `beaufort` = use beaufort scale, `knots` = show wind in knots
**Default value:** `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).
**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` |
-| `showPrecipitationAmount` | Show the amount of rain/snow.
Not supported by all providers, and some providers do not support all `type`s. Supported providers are `buienradar`, `envcanada`, `openmeteo`, `openweathermap`, `smhi`, `weatherbit` and `yr`.
**Possible values:** `true` or `false`
**Default value:** `false` |
-| `showPrecipitationProbability` | Show the probability of rain/snow.
Not supported by all providers, and some providers do not support all `type`s. Supported providers are `buienradar`, `envcanada`, `openmeteo`, `openweathermap`, `ukmetofficedatahub`, `weatherbit`, `weatherflow`, `weathergov` and `yr`.
**Possible values:** `true` or `false`
**Default value:** `false` |
-| `showUVIndex` | Show the UV Index.
Not supported by all providers. Implemented provider is `openmeteo` but others could have support.
**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 interesting 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'` |
-| `themeDir` | Defines the location of the 3 `*.njk` and the `weather.css` file. You can use an own dir containing these files to override the default ones. Directory must be specified relative to the `weather` directory.
**Possible values:** relative path
**Default value:** `./` |
-| `themeCustomScripts` | Defines additional script file names located in the `themeDir`. Only needed it your weather theme needs own additional scripts.
**Possible values:** array of filenames
**Default value:** `[]` |
+| `units` | What units to use. Specified by config.js
**Possible values:** `config.units` = Specified by config.js, `metric` = Celsius, `imperial` = Fahrenheit
**Default value:** `config.units` |
+| `tempUnits` | What units to use for temperature. If not specified, the module uses the `units` value from `config.js`.
**Possible values:** `config.units` = Specified by config.js, `metric` = Celsius, `imperial` = Fahrenheit
**Default value:** `config.units` |
+| `windUnits` | What units to use for wind speed. If not specified, the module uses the `units` value from `config.js`.
**Possible values:** `config.units` = Specified by config.js, `mps` or `metric` = metres per second, `kmh` = kilometers per hour, `mph` or `imperial` = miles per hour, `beaufort` = use beaufort scale, `knots` = show wind in knots
**Default value:** `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).
**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` |
+| `showPrecipitationAmount` | Show the amount of rain/snow.
Not supported by all providers, and some providers do not support all `type`s. Supported providers are `buienradar`, `envcanada`, `openmeteo`, `openweathermap`, `smhi`, `weatherbit` and `yr`.
**Possible values:** `true` or `false`
**Default value:** `false` |
+| `showPrecipitationProbability` | Show the probability of rain/snow.
Not supported by all providers, and some providers do not support all `type`s. Supported providers are `buienradar`, `envcanada`, `openmeteo`, `openweathermap`, `ukmetofficedatahub`, `weatherbit`, `weatherflow`, `weathergov` and `yr`.
**Possible values:** `true` or `false`
**Default value:** `false` |
+| `showUVIndex` | Show the UV Index.
Not supported by all providers. Implemented provider is `openmeteo` but others could have support.
**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 interesting 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'` |
+| `themeDir` | Defines the location of the 3 `*.njk` and the `weather.css` file. You can use an own dir containing these files to override the default ones. Directory must be specified relative to the `weather` directory.
**Possible values:** relative path
**Default value:** `./` |
+| `themeCustomScripts` | Defines additional script file names located in the `themeDir`. Only needed it your weather theme needs own additional scripts.
**Possible values:** array of filenames
**Default value:** `[]` |
#### Current weather options