Skip to content

Repository files navigation

Logo

ioBroker.brightsky

NPM version Downloads Number of Installations Current version in stable repository

NPM

Tests: Test and Release

brightsky adapter for ioBroker

What is the Bright Sky API:

The Bright Sky API is a free, public API that provides weather data from the German Weather Service (DWD). It was developed to simplify access to this data, as the original DWD data is often in difficult-to-interpret formats. Bright Sky converts this data into an easy-to-use JSON format and makes it accessible via an API.

Here is a more detailed explanation:

Goal: The Bright Sky API aims to make weather data from the German Weather Service (DWD) easily accessible to developers and other interested parties.

Data source: The data comes from the DWD and includes weather observations from stations and weather forecasts, such as the MOSMIX models.

Format: The Bright Sky API provides the data in JSON format, which facilitates integration into applications and websites.

Access: The API is public and can be used without an API key, keeping the barrier to entry low.

Open source: The project is open source, meaning the source code is publicly available and can be further developed by the community.

Advantages: The Bright Sky API offers an easy way to access weather data that would otherwise be difficult to handle and is free of charge, making it an attractive option for many projects.


Which data can be used compared to other adapters?

The current weather data is updated cyclically twice an hour by the DWD. The weather data from the nearest DWD (German Weather Service) weather station is taken into account. If weather values ​​are not available, they are automatically filled in using the second-most distant, third-most distant, etc. weather station as a fallback. The fallback data for the corresponding weather data can be found in the adapter.

In addition to the high quality of the data, the solar and solar data are particularly interesting:

image

Since the values ​​from the data point brightsky.0.current.solar_60, for example, are given in kWh/m² and are already expressed as energy per 1h, the value multiplied by 1000 can also be expressed in W/m².

Example of global radiation (W/m²) image


Adapter:

Installation:

Unlike many other adapters, no account is required.

The geocoordinates for the position can be imported either directly from the browser or from ioBroker. are image

image

The object structure:

The data is as follows Provided: image

  • current - the current weather (see also: https://brightsky.dev/docs/#/operations/getCurrentWeather )
  • daily - the current weather forecast for the next configurable number of days (see forecastDays config, default 7 days)
    • daily.XX.hourly - optional nested hourly data under the respective day (controlled by hourlyForecastDays; only present for the first N days; 0 = disabled)
    • daily.XX.day / daily.XX.night - aggregated day/night summaries per day
  • hourly - flat list of hourly forecasts for the next N hours (see hours config; independent of the nested daily.XX.hourly feature; see also: https://brightsky.dev/docs/#/operations/getWeather )
  • radar - precipitation radar forecast for the next 2 hours in 5-minute intervals with values in mm per 5 minutes. Includes maximum values across grid cells and cumulative sums across all grid areas (see also: https://brightsky.dev/docs/#/operations/getRadar )

Changelog

1.2.1 (2026-08-10)

  • (ticaki) Fixed: radar max_precipitation_forecast.*_sum cumulative values were inflated because precipitation was summed across whole grid columns and scaled with radarDistance; the cumulative forecast now accumulates each grid cell over time and reports the maximum single location
  • (ticaki) Changed: radar precipitation forecasts now report null instead of -1 when no radar data is available
  • (ticaki) Fixed: temporary API failures are retried automatically, so short Bright Sky outages no longer leave the data stale
  • (ticaki) Changed: temporary API problems (e.g. 500 Internal Server Error) are logged as warnings instead of errors with a stack trace
  • (ticaki) Changed: more precise sunrise/sunset times and solar yield estimate (suncalc 2.x)
  • (ticaki) Fixed: days without sunrise or sunset (polar day/night) are handled correctly

1.2.0 (2026-06-02)

  • (ticaki) Added conditionUI (translated condition text) to current and hourly.NN, matching the existing daily.NN.conditionUI #110
  • (ticaki) Added a config option to choose the language for weather texts independent of the ioBroker system language #110
  • (ticaki) Requires Node.js >= 22 now; repository checker fixes (i18n, docs, tooling)
  • (ticaki) Fixed: daily.NN.day aggregations stayed null/zero when position was not a valid latitude,longitude; the adapter now logs a clear error instead of producing empty data

1.1.0 (2026-03-23)

  • (ticaki) Fixed: DWD station ID was incorrectly logged as WMO station ID fixes #91
  • (cavernerg) Added nested hourly forecast data under daily.XX.hourly.YY (0 = disabled)
  • (cavernerg) Added configurable number of forecast days (forecastDays, default 7)
  • (cavernerg) Admin UI restructured into labeled sections (Location, Forecast, Current Weather, Radar)

1.0.1 (2026-02-20)

  • (ticaki) sunrise and sunset fixed

1.0.0 (2026-01-10)

  • (ticaki) fixed: states/timezone/translation
  • (ticaki) Customisable update interval for Daily (expert)
  • (ticaki) BREAKING: remove forHomoran states

About

Retrieve data from Bright Sky

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages