npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

iobroker.brightsky

v1.2.1

Published

Retrieve data from Bright Sky

Readme

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:

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²)


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

The object structure:

The data is as follows Provided:

  • 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