OpenMeteo Notify

Weather forecast and official weather warnings via Open-Meteo, DWD and MeteoAlarm

Current Release
0.2.0
Developer
ipod86
License
MIT

ioBroker adapter for Open-Meteo weather forecasts

This adapter retrieves weather forecast data from the free Open-Meteo API and makes it available as ioBroker data points. No API key is required. It sends individual notifications for configurable weather events (storms, thunderstorms, official warnings) and provides multiple independently configurable HTML widgets per location.

Highlights

Weather notifications via ioBroker notification manager

The adapter sends individual notifications for configurable weather events — storm warnings, thunderstorm alerts, and official warnings from national meteorological services (DWD for Germany, MeteoAlarm for Europe). All notification targets (Telegram, email, Pushover, …) are configured centrally via the ioBroker notification manager — no per-adapter setup required.

Configurable HTML widget

The adapter generates a ready-to-use HTML data point (widget) that can be embedded directly in VIS, vis-2 or any ioBroker dashboard — no external tools or manual CSS needed. Theme (light/dark), background transparency, card transparency, font size and card color are all configurable directly in the adapter settings.

Animated weather wallpaper / screensaver

The adapter generates a self-contained, animated weather wallpaper per location — a full-screen canvas animation (rain, snow, fog, lightning, sun glare, stars) driven by the real current weather instead of manual controls, ideal as a wall-mounted tablet screensaver or a VIS/dashboard background.

  • Real weather-driven effects — wind direction/speed drive rain and fog drift, precipitation amount scales particle intensity, sun and moon position (and moon phase) follow real astronomical data (SunCalc) for the configured location
  • Official warnings banner — active DWD/MeteoAlarm warnings are shown as a configurable text banner, colliding overlay elements automatically move out of the way
  • Own background photo per location — seeded with a default photo, replaceable at any time via Admin → Files, named after the location
  • Self-updating without a REST API — fetches a small companion JSON file from the same folder, no full page reload needed
  • Optional location carousel — browse between multiple configured locations with left/right arrows
  • Independent live-update interval — refresh just the current conditions and the wallpaper (0/5/10/15/30 min), separate from the main forecast update interval
  • Configurable via a dedicated admin "Wallpaper" tab (position, colors, font sizes, clock, warnings) with a live preview that simulates common screen resolutions
  • Reachable directly as a URL per web instance (current.wallpaper_url_<instance>) — no VIS binding required

Full-text address search

Locations do not have to be entered as raw coordinates. The settings UI offers a free-text address search — just type a city, address or region and the coordinates are resolved automatically. An OpenStreetMap preview is shown for each location. Multiple locations can be configured in parallel.

Up to 16 days forecast

Depending on the selected weather model, daily forecasts for up to 16 days are available — significantly more than the typical 5–7 days of most adapters.

Weather summary texts

The adapter generates natural-language weather summaries (current.summary, dayX.summary_day, dayX.summary_night) in 11 languages, using DWD-standard thresholds for temperature, wind and precipitation, including CAPE-based thunderstorm risk.

Features

  • Free & no API key – Open-Meteo is a free, open-source weather API
  • Multiple locations – configure as many locations as you like, each with address search and map preview
  • System location fallback – uses ioBroker system coordinates if no location is configured
  • Configurable forecast range – up to 16 days daily, up to 16 days hourly
  • Configurable update interval – 60 min, 120 min, or daily at 01:00
  • Units – temperature (°C / °F), wind speed (km/h, m/s, mph, kn), precipitation (mm / inch)
  • 5 weather icon sets with live preview in settings:
    • Meteocons by Bas Milius – static PNG (default)
    • Meteocons by Bas Milius – animated SVG
    • amCharts Weather Icons – animated SVG (rain/snow/thunder: no day/night variant)
    • amCharts Weather Icons – static SVG (rain/snow/thunder: no day/night variant)
    • WMO OGC meteorological symbols – PNG
  • Day/night icons – Meteocons and amCharts clear/cloudy icons switch to night variants based on is_day
  • Wind direction – degrees, compass text (N/NE/E/…), arrow emoji (⬆️↗️…), SVG arrow icon
  • Wind strength – Beaufort scale (0–12) with Meteocons Beaufort icons
  • info.lastUpdate – timestamp of last successful update

Optional data groups (individually switchable, each with "also hourly" option)

GroupDefaultData points
Air Qualityoneuropean_aqi, PM10, PM2.5, NO₂, CO, dust, ozone → current.air_quality / hXX.air_quality
Astronomyonsunrise, sunset, solar noon, max sun elevation, moon phase, moonrise, moonset → dayX.astronomy / hXX.astronomy
Agriculture / Solaroffsolar radiation, CAPE, soil temperature, irradiance → *.agriculture
Comfort Indicesoffheat index, windchill, humidex, UV index → *.comfort
Pollenoffalder, birch, grass, mugwort, olive, ragweed with level text → dayX.pollen / hXX.pollen
DWD warningsoffOfficial warnings from Deutscher Wetterdienst (Germany only) → location.warnings.*

When a group is disabled, its data point channels are automatically deleted on the next update.

Official weather warnings

The adapter integrates official weather warnings from national meteorological services. Enable with the "Official weather warnings" toggle. The service is selected automatically based on the location coordinates:

CountryServiceCoverage
Germany (DE)DWD – Deutscher WetterdienstAll warning types, 4 severity levels
EU countriesMeteoAlarmAll warning types, polygon-based matching
OtherNot available (use calculated Open-Meteo warnings)

Warnings are stored under location.warnings.* regardless of the source. A warnings.source data point shows "DWD" or "MeteoAlarm".

Installation

Install via the ioBroker Admin interface (search for "openmeteo-notify").

Configuration

SettingDescriptionDefault
LocationsName + free-text address search or coordinates; OSM map previewioBroker system location
Forecast daysDaily forecast range (1–16)7
Hourly daysDays with hourly data (0–16)3
Temperature unit°C or °F°C
Wind speed unitkm/h, m/s, mph, knkm/h
Precipitation unitmm or inchmm
Icon setWeather icon set with live previewMeteocons static
Update interval60 min / 120 min / daily at 01:0060 min
Widget themeLight or dark theme for the HTML widgetlight
Widget bg opacityBackground transparency of the HTML widget100%
Widget card opacityCard transparency of the HTML widget100%
Widget font sizeFont size in the HTML widget14px
Widget card colorCard background color#ffffff
Compact viewUse compact layout in the HTML widgetoff
Air QualityEnable AQI + particulate matteron
Air Quality – also hourlyHourly AQI/PM under hXX.air_qualityoff
AstronomyEnable sun & moon dataon
Astronomy – also hourlyEcho astronomy data per hourly slotoff
Agriculture / SolarEnable radiation, CAPE, soil tempoff
Agriculture – also hourlyHourly agricultural dataoff
Comfort IndicesEnable heat index, windchill, humidex, UV indexoff
Comfort – also hourlyHourly comfort dataoff
PollenEnable pollen data (Europe only)off
Pollen – also hourlyHourly pollen per typeoff
DWD weather warningsEnable DWD data (Germany only)off
Official warnings as notificationSend official warnings (DE: DWD, EU: MeteoAlarm) via ioBroker notification systemoff
Storm warningCalculated from Open-Meteo forecast, worldwideoff
Thunderstorm warningCalculated from Open-Meteo forecast, worldwideoff
Lead time (hours)How many hours in advance to send storm/thunderstorm warnings2

Data points

The adapter creates data points under openmeteo-notify.<instance>.<location>.

Current weather (current)

Data pointDescriptionUnit
temperatureCurrent temperature°C/°F
feels_likeApparent temperature – combines heat, humidity, wind°C/°F
weathercodeWMO weather code (0 = clear sky, 95/99 = thunderstorm) – full table: WMO 4677
descriptionHuman-readable weather description (11 languages)
iconWeather emoji
icon_urlWeather icon URL (icon set selectable in settings)
precipitationTotal precipitation last hourmm/inch
rainRain amount last hourmm/inch
snowfallSnowfall last hourcm
snow_depthCurrent snow depth on the groundcm
cloudcoverCloud cover%
humidityRelative humidity%
dew_pointDew point – temperature at which air becomes saturated; close to air temp = high humidity°C/°F
pressureAtmospheric pressure reduced to mean sea level (MSL)hPa
visibilityHorizontal visibilitym
is_daytrue between sunrise and sunsetboolean
windspeedWind speed (unit selectable: km/h, m/s, mph, kn)km/h …
windgustsMaximum wind gust speedkm/h …
winddirectionWind direction (meteorological: direction the wind comes from)°
winddirection_textCardinal direction textN/NE/…
winddirection_iconCardinal direction emoji⬆️↗️…
winddirection_icon_urlWind direction arrow icon URL
windbeaufortWind strength on Beaufort scale (0 = calm, 8 = gale, 12 = hurricane)0–12
windbeaufort_icon_urlBeaufort icon URL
air_quality.*AQI, PM10, PM2.5, NO₂, CO, dust, ozone (if enabled)
pollen.*Current pollen per type (if enabled)Grains/m³
agriculture.solar_radiationShortwave solar radiation at ground level (if enabled)W/m²
agriculture.capeCAPE – Convective Available Potential Energy: energy available for thunderstorm development; > 500 J/kg = notable risk, > 2000 J/kg = severe (if enabled)J/kg
agriculture.soil_tempSoil temperature at 0 cm depth (if enabled)°C/°F
comfort.heat_indexHeat index (Rothfusz) – how hot it feels combining temperature and humidity; only meaningful ≥ 27 °C and ≥ 40 % RH, null otherwise (if enabled)°C/°F
comfort.windchillWind chill (NWS) – how cold it feels due to wind; only meaningful ≤ 10 °C and wind > 4.8 km/h, null otherwise (if enabled)°C/°F
comfort.humidexHumidex (Canadian formula) – combined heat+humidity discomfort index; values above 40 are uncomfortable, above 46 dangerous (if enabled)°C/°F
comfort.humidex_levelHumidex discomfort level: 1 = none (<29) · 2 = slight (29–34) · 3 = noticeable (35–39) · 4 = intense (40–45) · 5 = dangerous (≥46) (if enabled)1–5
comfort.uv_indexUV index (0–11+) – intensity of UV radiation at ground level (if enabled)
comfort.uv_levelUV protection level (WHO scale): low (0–2, no protection) · moderate (3–5, sunscreen) · high (6–7) · very_high (8–10) · extreme (≥11) (if enabled)

Daily forecast (day1day16)

Data pointDescription
date / weekdayDate / day of week
icon / icon_urlWeather icon (day/night variant)
descriptionWeather description
temp_max / temp_minTemperature max/min
feels_like_max / feels_like_minFeels-like max/min
weathercodeWMO weather code
precipitationPrecipitation sum
rain / snowfallRain / snowfall sum
rain_probabilityPrecipitation probability
windspeed / windgustsWind speed / gusts max
winddirection / _text / _icon / _icon_urlWind direction
windbeaufort / windbeaufort_icon_urlBeaufort scale
uv_indexDaily max UV index (accounting for cloud cover)
uv_index_clear_skyDaily max UV index assuming completely clear sky – useful to see potential UV regardless of clouds
sunshine_hoursHours of actual sunshine (direct radiation)
daylight_hoursTotal hours between sunrise and sunset
cloud_cover_maxMaximum cloud cover during the day
temp_mean / feels_like_meanDaily mean temperature / feels-like
precipitation_hoursNumber of hours with measurable precipitation
showersConvective (shower-type) precipitation – short, intense; distinct from continuous rain
snowfall_height_minLowest altitude during the day at which snow falls (0 m = snow to valley floor)
freezing_level_height_minLowest altitude of the 0 °C isotherm during the day
dew_point_mean / humidity_mean / pressure_meanDaily mean values
air_quality.european_aqi_maxozone_maxDaily max AQI, PM10, PM2.5, NO₂, CO, dust, ozone (if enabled)
astronomy.sunrise / astronomy.sunsetSunrise / sunset (if enabled)
astronomy.solar_noonTime of highest sun position (if enabled)
astronomy.solar_elevation_maxSun angle above the horizon at solar noon – 90° = directly overhead, 0° = horizon (if enabled)
astronomy.moon_phase_valMoon phase as number: 0 = new moon · 0.25 = first quarter · 0.5 = full moon · 0.75 = last quarter (if enabled)
astronomy.moon_phase_text / _icon_urlMoon phase as text / icon (if enabled)
astronomy.moonrise / astronomy.moonsetMoon rise / set (if enabled)
agriculture.solar_radiation_sumTotal solar radiation received during the day
agriculture.evapotranspirationFAO-56 reference evapotranspiration (ET₀) – how much water plants and soil release; used for irrigation planning
agriculture.lifted_index_minDaily minimum Lifted Index – atmospheric stability: negative = unstable/storm risk, strongly negative (< −6) = severe thunderstorm risk (if enabled)
comfort.heat_index_maxMax heat index of the day (if enabled)
comfort.windchill_minMin wind chill of the day (if enabled)
comfort.humidex_max / .humidex_levelMax humidex / discomfort level (1–5, see current section) (if enabled)
comfort.uv_index_max / .uv_levelMax UV index / level (see current section) (if enabled)
pollen.alderpollen.ragweedDaily max pollen concentration + level text (None/Low/Medium/High) (if enabled, day1–4 only)

Hourly values (day1.hourly.h00h23)

Temperature, feels-like, precipitation, rain, snowfall, snow depth, snowfall height, rain probability, cloud cover, humidity, dew point, pressure, visibility, is_day, wind speed, wind direction (text/emoji/icon), Beaufort, UV index, freezing level height, weather code, icon/icon_url, description.

Optional per hour (if enabled + "also hourly"):

ChannelData points
hXX.air_qualityeuropean_aqi, PM10, PM2.5, NO₂, CO, dust, ozone
hXX.astronomysunrise, sunset, moon_phase_val/text/icon_url, moonrise, moonset
hXX.agriculturesolar_radiation (W/m²), CAPE (J/kg), soil_temp (°C/°F), irradiance = global tilted irradiance on a flat surface (W/m²), lifted_index (K)
hXX.comfortheat_index, windchill, humidex, humidex_level, uv_index, uv_level
hXX.pollenalder … ragweed + level text (Keine/Niedrig/Mittel/Hoch)

Official warnings (warnings)

Data pointDescription
warnings.sourceWarning service: "DWD" or "MeteoAlarm"
warnings.activeAt least one active warning
warnings.countNumber of active warnings
warnings.max_levelHighest severity level: 1 = Minor · 2 = Moderate · 3 = Severe · 4 = Extreme
warnings.max_level_textSeverity text
warnings.warning_N.activeWarning slot N active
warnings.warning_N.eventEvent type
warnings.warning_N.level / .level_textSeverity
warnings.warning_N.headlineWarning headline
warnings.warning_N.descriptionWarning description
warnings.warning_N.start / .endValidity period

(Only created when "Official weather warnings" is enabled and a supported country is detected.)

Summary & widget

Data pointDescription
current.summaryNatural-language weather summary for current conditions (11 languages)
dayX.summary_dayDaytime weather summary for the forecast day (11 languages)
dayX.summary_nightNight-time weather summary for the forecast day (11 languages)
weather_shortShort text overview of all forecast days
widgetReady-to-use HTML snippet for VIS / vis-2 / dashboards (configurable appearance)
info.lastUpdateTimestamp of last successful update

Icon credits

Disclaimer

This adapter uses data from the following third-party services:

  • Open-Meteo – weather forecast data. Open-Meteo name and logo are property of their respective owners.
  • DWD (Deutscher Wetterdienst) – official weather warnings for Germany. DWD name and data are property of the Deutscher Wetterdienst.
  • MeteoAlarm – official weather warnings for European countries. MeteoAlarm name and data are property of their respective owners.

This adapter is an independent community project and is not affiliated with or endorsed by any of the above services.

Changelog

0.2.0 (2026-09-08)

  • (ipod86) feat: add animated, per-location WMO weather wallpaper (canvas rain/snow/fog/lightning/sun/moon animation), self-updating via a companion JSON file (no REST API needed), with a dedicated admin config tab, an optional location carousel, an independent live-update interval and an official warning banner
  • (ipod86) feat: wallpaper sun/moon position and moon phase follow real astronomical data (SunCalc); rain/fog intensity and wind drift follow real weather data
  • (ipod86) feat: add day/night split for precipitation/thunderstorm probability, wind, rain and snowfall amount
  • (ipod86) fix: treat overlapping DWD warning time-shifts as an update instead of lift+new

0.1.16 (2026-08-17)

  • (ipod86) fix: variable shadowing in fetchDwdWarnings caused every DWD official warning request to fail with "Cannot access 'raw' before initialization", silently freezing the affected warning states
  • (ipod86) fix: guard the official warning update against a single hung request permanently stalling the recurring schedule

0.1.15 (2026-07-19)

  • (ipod86) fix: sanitize widget.id through normalizeId before use as ioBroker object ID path

0.1.14 (2026-07-16)

  • (ipod86) fix: persist warning dedup state across adapter restarts to prevent duplicate notifications on restart
  • (ipod86) fix: deduplicate DWD warnings from combined warnings+vorabInformation API arrays (same event rounded to minute)

0.1.13 (2026-07-15)

  • (ipod86) fix: add random jitter to daily and interval update scheduling to spread cloud load
  • (ipod86) fix: validate warnIntervalMinutes — reset to 15 if < 1
  • (ipod86) fix: remove orphaned i18n keys (iconPreviewAnimated, iconPreviewBasmilius, iconPreviewWmo, openmeteo adapter settings) from all 11 language files
  • (ipod86) fix: warnIntervalMinutes default in admin WarningsPanel corrected to 15
  • (ipod86) chore: bump @mui/material and @mui/icons-material to 9.x, TypeScript to 7.x, Vite to 8.1, suncalc to 2.0

Older changelogs are available in CHANGELOG_OLD.md.

License

MIT License

Copyright (c) 2026 ipod86

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.