iobroker.openmeteo-notify 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.de.md +62 -35
  2. package/README.md +61 -41
  3. package/admin/assets/index-B8jhnaHs.js +678 -0
  4. package/admin/assets/index-BoNmTi0Q.js +666 -0
  5. package/admin/assets/index-Bq4HF1ci.js +668 -0
  6. package/admin/assets/index-Bv0Our8T.js +666 -0
  7. package/admin/assets/index-C-ufmHc3.js +666 -0
  8. package/admin/assets/index-C2_dfHkm.js +666 -0
  9. package/admin/assets/index-CFw4aN3v.js +666 -0
  10. package/admin/assets/index-CbNhhALU.js +678 -0
  11. package/admin/assets/index-CmGCLpxL.js +666 -0
  12. package/admin/assets/index-CpvIZgst.js +666 -0
  13. package/admin/assets/index-D1IMggyg.js +678 -0
  14. package/admin/assets/index-DJK-AJuq.js +678 -0
  15. package/admin/assets/index-DPqPUOBE.js +678 -0
  16. package/admin/assets/index-DTszOFRJ.js +686 -0
  17. package/admin/assets/index-DU16W8mZ.js +666 -0
  18. package/admin/assets/index-Dc4FEQQa.js +666 -0
  19. package/admin/assets/{index-D-sgbkP9.js → index-DtVZ7t0y.js} +1 -1
  20. package/admin/assets/index-fWaq9lzV.js +666 -0
  21. package/admin/i18n/de.json +17 -1
  22. package/admin/i18n/en.json +16 -1
  23. package/admin/i18n/es.json +17 -1
  24. package/admin/i18n/fr.json +17 -1
  25. package/admin/i18n/it.json +17 -1
  26. package/admin/i18n/nl.json +17 -1
  27. package/admin/i18n/pl.json +17 -1
  28. package/admin/i18n/pt.json +17 -1
  29. package/admin/i18n/ru.json +17 -1
  30. package/admin/i18n/uk.json +17 -1
  31. package/admin/i18n/zh-cn.json +17 -1
  32. package/admin/icons/custom/wmo_00.svg +4 -0
  33. package/admin/icons/custom/wmo_01.svg +10 -0
  34. package/admin/icons/custom/wmo_02.svg +11 -0
  35. package/admin/icons/custom/wmo_03.svg +10 -0
  36. package/admin/icons/custom/wmo_45.svg +9 -0
  37. package/admin/icons/custom/wmo_48.svg +10 -0
  38. package/admin/icons/custom/wmo_51.svg +13 -0
  39. package/admin/icons/custom/wmo_53.svg +16 -0
  40. package/admin/icons/custom/wmo_55.svg +17 -0
  41. package/admin/icons/custom/wmo_61.svg +10 -0
  42. package/admin/icons/custom/wmo_63.svg +11 -0
  43. package/admin/icons/custom/wmo_65.svg +12 -0
  44. package/admin/icons/custom/wmo_71.svg +16 -0
  45. package/admin/icons/custom/wmo_73.svg +17 -0
  46. package/admin/icons/custom/wmo_75.svg +18 -0
  47. package/admin/icons/custom/wmo_77.svg +12 -0
  48. package/admin/icons/custom/wmo_80.svg +10 -0
  49. package/admin/icons/custom/wmo_81.svg +11 -0
  50. package/admin/icons/custom/wmo_82.svg +11 -0
  51. package/admin/icons/custom/wmo_85.svg +14 -0
  52. package/admin/icons/custom/wmo_86.svg +15 -0
  53. package/admin/icons/custom/wmo_95.svg +18 -0
  54. package/admin/icons/custom/wmo_96.svg +12 -0
  55. package/admin/icons/custom/wmo_99.svg +12 -0
  56. package/admin/icons/wmo_svg/wmo_00.svg +4 -0
  57. package/admin/icons/wmo_svg/wmo_01.svg +10 -0
  58. package/admin/icons/wmo_svg/wmo_02.svg +11 -0
  59. package/admin/icons/wmo_svg/wmo_03.svg +10 -0
  60. package/admin/icons/wmo_svg/wmo_45.svg +9 -0
  61. package/admin/icons/wmo_svg/wmo_48.svg +10 -0
  62. package/admin/icons/wmo_svg/wmo_51.svg +13 -0
  63. package/admin/icons/wmo_svg/wmo_53.svg +16 -0
  64. package/admin/icons/wmo_svg/wmo_55.svg +17 -0
  65. package/admin/icons/wmo_svg/wmo_61.svg +10 -0
  66. package/admin/icons/wmo_svg/wmo_63.svg +11 -0
  67. package/admin/icons/wmo_svg/wmo_65.svg +12 -0
  68. package/admin/icons/wmo_svg/wmo_71.svg +16 -0
  69. package/admin/icons/wmo_svg/wmo_73.svg +17 -0
  70. package/admin/icons/wmo_svg/wmo_75.svg +18 -0
  71. package/admin/icons/wmo_svg/wmo_77.svg +12 -0
  72. package/admin/icons/wmo_svg/wmo_80.svg +10 -0
  73. package/admin/icons/wmo_svg/wmo_81.svg +11 -0
  74. package/admin/icons/wmo_svg/wmo_82.svg +11 -0
  75. package/admin/icons/wmo_svg/wmo_85.svg +14 -0
  76. package/admin/icons/wmo_svg/wmo_86.svg +15 -0
  77. package/admin/icons/wmo_svg/wmo_95.svg +18 -0
  78. package/admin/icons/wmo_svg/wmo_96.svg +12 -0
  79. package/admin/icons/wmo_svg/wmo_99.svg +12 -0
  80. package/admin/index_m.html +1 -1
  81. package/io-package.json +27 -12
  82. package/main.js +712 -108
  83. package/package.json +1 -1
  84. package/admin/icons/wmo/wmo_00.png +0 -0
  85. package/admin/icons/wmo/wmo_01.png +0 -0
  86. package/admin/icons/wmo/wmo_02.png +0 -0
  87. package/admin/icons/wmo/wmo_03.png +0 -0
  88. package/admin/icons/wmo/wmo_45.png +0 -0
  89. package/admin/icons/wmo/wmo_48.png +0 -0
  90. package/admin/icons/wmo/wmo_51.png +0 -0
  91. package/admin/icons/wmo/wmo_53.png +0 -0
  92. package/admin/icons/wmo/wmo_55.png +0 -0
  93. package/admin/icons/wmo/wmo_61.png +0 -0
  94. package/admin/icons/wmo/wmo_63.png +0 -0
  95. package/admin/icons/wmo/wmo_65.png +0 -0
  96. package/admin/icons/wmo/wmo_71.png +0 -0
  97. package/admin/icons/wmo/wmo_73.png +0 -0
  98. package/admin/icons/wmo/wmo_75.png +0 -0
  99. package/admin/icons/wmo/wmo_77.png +0 -0
  100. package/admin/icons/wmo/wmo_80.png +0 -0
  101. package/admin/icons/wmo/wmo_81.png +0 -0
  102. package/admin/icons/wmo/wmo_82.png +0 -0
  103. package/admin/icons/wmo/wmo_85.png +0 -0
  104. package/admin/icons/wmo/wmo_86.png +0 -0
  105. package/admin/icons/wmo/wmo_95.png +0 -0
  106. package/admin/icons/wmo/wmo_96.png +0 -0
  107. package/admin/icons/wmo/wmo_99.png +0 -0
package/README.de.md CHANGED
@@ -53,7 +53,8 @@ Der Adapter erzeugt natürlichsprachige Wetterzusammenfassungen (`current.summar
53
53
  |--------|----------|-------------|
54
54
  | **Luftqualität** | an | european_aqi, PM10, PM2.5, NO₂, CO, Staub, Ozon → `current.air_quality` / `hXX.air_quality` |
55
55
  | **Astronomie** | an | Sonnenauf/-untergang, Sonnenhöchststand, Mittagszeit, Mondphase, Mondauf/-untergang → `dayX.astronomy` / `hXX.astronomy` |
56
- | **Agrar / Solar** | aus | Solarstrahlung, CAPE, Bodentemperatur, Globalstrahlung → `*.agriculture` |
56
+ | **Solar & Klima** | aus | Solarstrahlung, CAPE, Bodentemperatur, Globalstrahlung → `*.agriculture` |
57
+ | **Komfortindizes** | aus | Hitzeindex, Windchill, Humidex, UV-Index → `*.comfort` |
57
58
  | **Pollen** | aus | Erle, Birke, Gräser, Beifuß, Olive, Ambrosia mit Textstufe → `dayX.pollen` / `hXX.pollen` |
58
59
  | **DWD-Warnungen** | aus | Offizielle Warnungen des Deutschen Wetterdienstes (nur Deutschland) → `standort.warnings.*` |
59
60
 
@@ -97,8 +98,10 @@ Adapter über die ioBroker-Admin-Oberfläche installieren (nach „openmeteo-not
97
98
  | Luftqualität – auch stündlich | Stündliche AQI/PM unter `hXX.air_quality` | aus |
98
99
  | Astronomie | Sonne & Mond aktivieren | an |
99
100
  | Astronomie – auch stündlich | Astronomiedaten pro Stundenslot | aus |
100
- | Agrar / Solar | Strahlung, CAPE, Bodentemperatur aktivieren | aus |
101
- | Agrar – auch stündlich | Stündliche Agrardaten | aus |
101
+ | Solar & Klima | Strahlung, CAPE, Bodentemperatur aktivieren | aus |
102
+ | Solar & Klima – auch stündlich | Stündliche Agrardaten | aus |
103
+ | Komfortindizes | Hitzeindex, Windchill, Humidex, UV-Index aktivieren | aus |
104
+ | Komfortindizes – auch stündlich | Stündliche Komfortdaten | aus |
102
105
  | Pollen | Pollendaten aktivieren (nur Europa) | aus |
103
106
  | Pollen – auch stündlich | Stündliche Pollen pro Typ | aus |
104
107
  | DWD-Warnungen | DWD-Daten aktivieren (nur Deutschland) | aus |
@@ -116,33 +119,41 @@ Der Adapter legt Datenpunkte unter `openmeteo-notify.<instanz>.<standort>` an.
116
119
  | Datenpunkt | Beschreibung | Einheit |
117
120
  |-----------|--------------|---------|
118
121
  | `temperature` | Aktuelle Temperatur | °C/°F |
119
- | `feels_like` | Gefühlte Temperatur | °C/°F |
120
- | `weathercode` | WMO-Wettercode | |
121
- | `description` | Wetterbeschreibung | |
122
+ | `feels_like` | Gefühlte Temperatur – kombiniert Hitze, Luftfeuchte und Wind | °C/°F |
123
+ | `weathercode` | WMO-Wettercode (0 = klar, 95/99 = Gewitter) – vollständige Tabelle: [WMO 4677](https://open-meteo.com/en/docs#weathercode) | |
124
+ | `description` | Lesbare Wetterbeschreibung (11 Sprachen) | |
122
125
  | `icon` | Wetter-Emoji | |
123
- | `icon_url` | Wetter-Icon-URL | |
124
- | `precipitation` | Gesamtniederschlag | mm/inch |
125
- | `rain` | Regen | mm/inch |
126
- | `snowfall` | Schneefall | cm |
127
- | `snow_depth` | Schneehöhe | cm |
126
+ | `icon_url` | Wetter-Icon-URL (Icon-Set in den Einstellungen wählbar) | |
127
+ | `precipitation` | Gesamtniederschlag letzte Stunde | mm/inch |
128
+ | `rain` | Regen letzte Stunde | mm/inch |
129
+ | `snowfall` | Schneefall letzte Stunde | cm |
130
+ | `snow_depth` | Aktuelle Schneehöhe am Boden | cm |
128
131
  | `cloudcover` | Bewölkung | % |
129
132
  | `humidity` | Relative Luftfeuchtigkeit | % |
130
- | `dew_point` | Taupunkt | °C/°F |
131
- | `pressure` | Luftdruck (MSL) | hPa |
132
- | `visibility` | Sichtweite | m |
133
- | `is_day` | Tag/Nacht | boolean |
134
- | `windspeed` | Windgeschwindigkeit | km/h … |
135
- | `windgusts` | Windböen | km/h … |
136
- | `winddirection` | Windrichtung | ° |
137
- | `winddirection_text` | Windrichtungstext | N/NE/… |
138
- | `winddirection_icon` | Windrichtungs-Emoji | ⬆️↗️… |
133
+ | `dew_point` | Taupunkt – Temperatur, bei der die Luft gesättigt ist; nahe an der Lufttemperatur = hohe Luftfeuchte | °C/°F |
134
+ | `pressure` | Luftdruck auf Meereshöhe reduziert (MSL) | hPa |
135
+ | `visibility` | Horizontale Sichtweite | m |
136
+ | `is_day` | `true` zwischen Sonnenauf- und -untergang | boolean |
137
+ | `windspeed` | Windgeschwindigkeit (Einheit wählbar: km/h, m/s, mph, kn) | km/h … |
138
+ | `windgusts` | Maximale Windböengeschwindigkeit | km/h … |
139
+ | `winddirection` | Windrichtung (meteorologisch: Richtung, aus der der Wind kommt) | ° |
140
+ | `winddirection_text` | Himmelsrichtungstext | N/NE/… |
141
+ | `winddirection_icon` | Himmelsrichtungs-Emoji | ⬆️↗️… |
139
142
  | `winddirection_icon_url` | Windrichtungs-Pfeilicon-URL | |
140
- | `windbeaufort` | Windstärke Beaufort | 0–12 |
143
+ | `windbeaufort` | Windstärke nach Beaufort-Skala (0 = Stille, 8 = Sturm, 12 = Orkan) | 0–12 |
141
144
  | `windbeaufort_icon_url` | Beaufort-Icon-URL | |
142
145
  | `summary` | Natürlichsprachige Wetterzusammenfassung (11 Sprachen) | |
143
146
  | `air_quality.*` | AQI, PM10, PM2.5, NO₂, CO, Staub, Ozon *(wenn aktiviert)* | |
144
147
  | `pollen.*` | Aktuelle Pollen pro Typ *(wenn aktiviert)* | Körner/m³ |
145
- | `agriculture.*` | Solarstrahlung, CAPE, Bodentemperatur *(wenn aktiviert)* | |
148
+ | `agriculture.solar_radiation` | Kurzwellige Solarstrahlung am Boden *(wenn aktiviert)* | W/m² |
149
+ | `agriculture.cape` | CAPE – konvektive verfügbare potenzielle Energie: Energie für Gewitterentwicklung; > 500 J/kg = nennenswert, > 2000 J/kg = heftig *(wenn aktiviert)* | J/kg |
150
+ | `agriculture.soil_temp` | Bodentemperatur in 0 cm Tiefe *(wenn aktiviert)* | °C/°F |
151
+ | `comfort.heat_index` | Hitzeindex (Rothfusz) – wie heiß es sich durch Temperatur und Luftfeuchte anfühlt; nur sinnvoll ≥ 27 °C und ≥ 40 % rF, sonst `null` *(wenn aktiviert)* | °C/°F |
152
+ | `comfort.windchill` | Windchill (NWS) – wie kalt es sich durch Wind anfühlt; nur sinnvoll ≤ 10 °C und Wind > 4,8 km/h, sonst `null` *(wenn aktiviert)* | °C/°F |
153
+ | `comfort.humidex` | Humidex (kanadische Formel) – kombinierter Hitze-Feuchte-Index; ab 40 unangenehm, ab 46 gefährlich *(wenn aktiviert)* | °C/°F |
154
+ | `comfort.humidex_level` | Humidex-Unbehagen-Stufe: 1 = kein Unbehagen (<29) · 2 = leicht (29–34) · 3 = deutlich (35–39) · 4 = stark (40–45) · 5 = gefährlich (≥46) *(wenn aktiviert)* | 1–5 |
155
+ | `comfort.uv_index` | UV-Index (0–11+) – Intensität der UV-Strahlung am Boden *(wenn aktiviert)* | |
156
+ | `comfort.uv_level` | UV-Schutzstufe (WHO-Skala): `low` (0–2, kein Schutz nötig) · `moderate` (3–5, Sonnenschutz) · `high` (6–7) · `very_high` (8–10) · `extreme` (≥11) *(wenn aktiviert)* | |
146
157
 
147
158
  ### Tagesvorhersage (`day1` … `day16`)
148
159
 
@@ -160,23 +171,34 @@ Der Adapter legt Datenpunkte unter `openmeteo-notify.<instanz>.<standort>` an.
160
171
  | `windspeed` / `windgusts` | Windgeschwindigkeit / Böen max |
161
172
  | `winddirection` / `_text` / `_icon` / `_icon_url` | Windrichtung |
162
173
  | `windbeaufort` / `windbeaufort_icon_url` | Beaufort-Skala |
163
- | `uv_index` / `uv_index_clear_sky` | UV-Index max / UV-Index bei wolkenlosem Himmel | |
164
- | `sunshine_hours` / `daylight_hours` | Sonnenschein- / Tageslichtdauer | h |
165
- | `cloud_cover_max` | Bewölkung max | % |
174
+ | `uv_index` | Tagesmaximum UV-Index *(mit Wolkeneinfluss)* | |
175
+ | `uv_index_clear_sky` | Tagesmaximum UV-Index bei vollständig wolkenlosem Himmel – zeigt das UV-Potenzial unabhängig von Wolken | |
176
+ | `sunshine_hours` | Stunden mit direkter Sonneneinstrahlung | h |
177
+ | `daylight_hours` | Gesamtstunden zwischen Sonnenauf- und -untergang | h |
178
+ | `cloud_cover_max` | Maximale Bewölkung des Tages | % |
166
179
  | `temp_mean` / `feels_like_mean` | Tagesmitteltemperatur / gefühlte Temperatur | °C/°F |
167
- | `precipitation_hours` | Stunden mit Niederschlag | h |
168
- | `showers` | Konvektiver Niederschlag | mm/inch |
169
- | `snowfall_height_min` | Niedrigste Schneefallgrenze bei Niederschlag | m |
180
+ | `precipitation_hours` | Anzahl der Stunden mit messbarem Niederschlag | h |
181
+ | `showers` | Konvektiver (schauertypischer) Niederschlag – kurz und intensiv; getrennt von kontinuierlichem `rain` | mm/inch |
182
+ | `snowfall_height_min` | Niedrigste Schneefallgrenze am Tag (0 m = Schnee bis ins Tal) | m ü. M. |
183
+ | `freezing_level_height_min` | Niedrigste Höhe der 0-°C-Isothermen am Tag | m ü. M. |
170
184
  | `dew_point_mean` / `humidity_mean` / `pressure_mean` | Tages-Mittelwerte | |
171
185
  | `summary_day` / `summary_night` | Tages- / Nacht-Wetterzusammenfassung (11 Sprachen) | |
172
186
  | `has_storm` / `has_thunderstorm` | Sturm- / Gewitterwarnung für den Tag | boolean |
173
187
  | `air_quality.european_aqi_max` … `ozone_max` | Tagesmax. AQI, PM10, PM2.5, NO₂, CO, Staub, Ozon *(wenn aktiviert)* | |
174
188
  | `astronomy.sunrise` / `astronomy.sunset` | Sonnenauf/-untergang *(wenn aktiviert)* | |
175
- | `astronomy.solar_noon` / `astronomy.solar_elevation_max` | Sonnenmittag / max. Sonnenhöhenwinkel *(wenn aktiviert)* | / ° |
176
- | `astronomy.moon_phase_val` / `_text` / `_icon_url` | Mondphase *(wenn aktiviert)* | |
189
+ | `astronomy.solar_noon` | Zeitpunkt der höchsten Sonnenposition *(wenn aktiviert)* | |
190
+ | `astronomy.solar_elevation_max` | Sonnenwinkel über dem Horizont zum Sonnenmittag – 90° = senkrecht, 0° = Horizont *(wenn aktiviert)* | ° |
191
+ | `astronomy.moon_phase_val` | Mondphase als Zahl: 0 = Neumond · 0,25 = erstes Viertel · 0,5 = Vollmond · 0,75 = letztes Viertel *(wenn aktiviert)* | 0–1 |
192
+ | `astronomy.moon_phase_text` / `_icon_url` | Mondphase als Text / Icon *(wenn aktiviert)* | |
177
193
  | `astronomy.moonrise` / `astronomy.moonset` | Mondauf/-untergang *(wenn aktiviert)* | |
178
- | `agriculture.solar_radiation_sum` / `.evapotranspiration` | Solar / Evapotranspiration *(wenn aktiviert)* | |
179
- | `pollen.alder` `pollen.ragweed` | Tagesmax. Pollen + Textstufe *(wenn aktiviert, Tag 1–4)* | |
194
+ | `agriculture.solar_radiation_sum` | Gesamte Solarstrahlung des Tages *(wenn aktiviert)* | MJ/m² |
195
+ | `agriculture.evapotranspiration` | FAO-56-Referenz-Evapotranspiration (ET₀) wie viel Wasser Pflanzen und Boden abgeben; für Bewässerungsplanung *(wenn aktiviert)* | mm |
196
+ | `agriculture.lifted_index_min` | Tagesminimum Lifted Index – atmosphärische Stabilität: negativ = instabil/Gewitterrisiko, stark negativ (< −6) = heftiges Gewitterrisiko *(wenn aktiviert)* | K |
197
+ | `comfort.heat_index_max` | Tagesmaximum Hitzeindex *(wenn aktiviert)* | °C/°F |
198
+ | `comfort.windchill_min` | Tagesminimum Windchill *(wenn aktiviert)* | °C/°F |
199
+ | `comfort.humidex_max` / `.humidex_level` | Maximum Humidex / Unbehagen-Stufe (1–5, siehe Abschnitt Aktuell) *(wenn aktiviert)* | |
200
+ | `comfort.uv_index_max` / `.uv_level` | Maximum UV-Index / Stufe (siehe Abschnitt Aktuell) *(wenn aktiviert)* | |
201
+ | `pollen.alder` … `pollen.ragweed` | Tagesmax. Pollen + Textstufe (Keine/Niedrig/Mittel/Hoch) *(wenn aktiviert, Tag 1–4)* | Körner/m³ |
180
202
 
181
203
  ### Stundenwerte (`day1.hourly.h00` … `h23`)
182
204
 
@@ -188,7 +210,8 @@ Optional pro Stunde (wenn Gruppe aktiviert + „auch stündlich"):
188
210
  |-------|-------------|
189
211
  | `hXX.air_quality` | european_aqi, PM10, PM2.5, NO₂, CO, Staub, Ozon |
190
212
  | `hXX.astronomy` | Sonnenauf/-untergang, Mondphase (val/text/icon), Mondauf/-untergang |
191
- | `hXX.agriculture` | Solarstrahlung, CAPE, Bodentemperatur, Globalstrahlung |
213
+ | `hXX.agriculture` | solar_radiation (W/m²), CAPE (J/kg), soil_temp (°C/°F), irradiance = Globalstrahlung auf geneigter Fläche (W/m²), lifted_index (K) |
214
+ | `hXX.comfort` | heat_index, windchill, humidex, humidex_level, uv_index, uv_level |
192
215
  | `hXX.pollen` | Erle … Ambrosia + Textstufe (Keine/Niedrig/Mittel/Hoch) |
193
216
 
194
217
  ### Amtliche Warnungen (`warnings`)
@@ -198,7 +221,7 @@ Optional pro Stunde (wenn Gruppe aktiviert + „auch stündlich"):
198
221
  | `warnings.source` | Warnquelle: `"DWD"` oder `"MeteoAlarm"` |
199
222
  | `warnings.active` | Mindestens eine aktive Warnung |
200
223
  | `warnings.count` | Anzahl aktiver Warnungen |
201
- | `warnings.max_level` | Höchste Warnstufe (14) |
224
+ | `warnings.max_level` | Höchste Warnstufe: 1 = Gering · 2 = Mäßig · 3 = Schwer · 4 = Extrem |
202
225
  | `warnings.max_level_text` | Warnstufe als Text |
203
226
  | `warnings.warning_N.active` | Warnslot N aktiv |
204
227
  | `warnings.warning_N.event` | Ereignistyp |
@@ -233,7 +256,11 @@ Dieser Adapter verwendet die Open-Meteo API. Der Name und das Logo von Open-Mete
233
256
  ## Changelog
234
257
 
235
258
  ### **WORK IN PROGRESS**
236
- * (ipod86) Fix: detaillierte API-Fehlermeldung bei HTTP-4xx-Antworten im Log
259
+ * (ipod86) Eigenes SVG-Icon-Set mit Nacht-Icons und Base64-Einbettung im Widget-HTML
260
+ * (ipod86) WMO OGC SVG-Icons mit themenabhängiger Farbinvertierung
261
+ * (ipod86) Widget: responsives Layout via CSS Container Queries, konfigurierbare Breite, eigenes Farbschema, MDI-SVG-Icons
262
+ * (ipod86) Komfort-Indizes: Hitzeindex, Windchill, Humidex, UV-Index (optional, auch stündlich)
263
+ * (ipod86) Einstellungen: Inline-Validierung, Speichern bei ungültiger Konfiguration gesperrt
237
264
 
238
265
  ### 0.1.1 (2026-04-19)
239
266
  * (ipod86) Adapter umbenannt zu ioBroker.openmeteo-notify
package/README.md CHANGED
@@ -54,6 +54,7 @@ The adapter generates natural-language weather summaries (`current.summary`, `da
54
54
  | **Air Quality** | on | european_aqi, PM10, PM2.5, NO₂, CO, dust, ozone → `current.air_quality` / `hXX.air_quality` |
55
55
  | **Astronomy** | on | sunrise, sunset, solar noon, max sun elevation, moon phase, moonrise, moonset → `dayX.astronomy` / `hXX.astronomy` |
56
56
  | **Agriculture / Solar** | off | solar radiation, CAPE, soil temperature, irradiance → `*.agriculture` |
57
+ | **Comfort Indices** | off | heat index, windchill, humidex, UV index → `*.comfort` |
57
58
  | **Pollen** | off | alder, birch, grass, mugwort, olive, ragweed with level text → `dayX.pollen` / `hXX.pollen` |
58
59
  | **DWD warnings** | off | Official warnings from Deutscher Wetterdienst (Germany only) → `location.warnings.*` |
59
60
 
@@ -99,6 +100,8 @@ Install via the ioBroker Admin interface (search for "openmeteo-notify").
99
100
  | Astronomy – also hourly | Echo astronomy data per hourly slot | off |
100
101
  | Agriculture / Solar | Enable radiation, CAPE, soil temp | off |
101
102
  | Agriculture – also hourly | Hourly agricultural data | off |
103
+ | Comfort Indices | Enable heat index, windchill, humidex, UV index | off |
104
+ | Comfort – also hourly | Hourly comfort data | off |
102
105
  | Pollen | Enable pollen data (Europe only) | off |
103
106
  | Pollen – also hourly | Hourly pollen per type | off |
104
107
  | DWD weather warnings | Enable DWD data (Germany only) | off |
@@ -116,32 +119,40 @@ The adapter creates data points under `openmeteo-notify.<instance>.<location>`.
116
119
  | Data point | Description | Unit |
117
120
  |-----------|-------------|------|
118
121
  | `temperature` | Current temperature | °C/°F |
119
- | `feels_like` | Feels-like temperature | °C/°F |
120
- | `weathercode` | WMO weather code | |
121
- | `description` | Weather description | |
122
+ | `feels_like` | Apparent temperature – combines heat, humidity, wind | °C/°F |
123
+ | `weathercode` | WMO weather code (0 = clear sky, 95/99 = thunderstorm) – full table: [WMO 4677](https://open-meteo.com/en/docs#weathercode) | |
124
+ | `description` | Human-readable weather description (11 languages) | |
122
125
  | `icon` | Weather emoji | |
123
- | `icon_url` | Weather icon URL | |
124
- | `precipitation` | Total precipitation | mm/inch |
125
- | `rain` | Rain amount | mm/inch |
126
- | `snowfall` | Snowfall | cm |
127
- | `snow_depth` | Snow depth | cm |
126
+ | `icon_url` | Weather icon URL (icon set selectable in settings) | |
127
+ | `precipitation` | Total precipitation last hour | mm/inch |
128
+ | `rain` | Rain amount last hour | mm/inch |
129
+ | `snowfall` | Snowfall last hour | cm |
130
+ | `snow_depth` | Current snow depth on the ground | cm |
128
131
  | `cloudcover` | Cloud cover | % |
129
132
  | `humidity` | Relative humidity | % |
130
- | `dew_point` | Dew point | °C/°F |
131
- | `pressure` | Atmospheric pressure (MSL) | hPa |
132
- | `visibility` | Visibility | m |
133
- | `is_day` | Daylight indicator | boolean |
134
- | `windspeed` | Wind speed | km/h … |
135
- | `windgusts` | Wind gusts | km/h … |
136
- | `winddirection` | Wind direction | ° |
137
- | `winddirection_text` | Wind direction text | N/NE/… |
138
- | `winddirection_icon` | Wind direction emoji | ⬆️↗️… |
133
+ | `dew_point` | Dew point – temperature at which air becomes saturated; close to air temp = high humidity | °C/°F |
134
+ | `pressure` | Atmospheric pressure reduced to mean sea level (MSL) | hPa |
135
+ | `visibility` | Horizontal visibility | m |
136
+ | `is_day` | `true` between sunrise and sunset | boolean |
137
+ | `windspeed` | Wind speed (unit selectable: km/h, m/s, mph, kn) | km/h … |
138
+ | `windgusts` | Maximum wind gust speed | km/h … |
139
+ | `winddirection` | Wind direction (meteorological: direction the wind comes from) | ° |
140
+ | `winddirection_text` | Cardinal direction text | N/NE/… |
141
+ | `winddirection_icon` | Cardinal direction emoji | ⬆️↗️… |
139
142
  | `winddirection_icon_url` | Wind direction arrow icon URL | |
140
- | `windbeaufort` | Wind strength Beaufort | 0–12 |
143
+ | `windbeaufort` | Wind strength on Beaufort scale (0 = calm, 8 = gale, 12 = hurricane) | 0–12 |
141
144
  | `windbeaufort_icon_url` | Beaufort icon URL | |
142
145
  | `air_quality.*` | AQI, PM10, PM2.5, NO₂, CO, dust, ozone *(if enabled)* | |
143
146
  | `pollen.*` | Current pollen per type *(if enabled)* | Grains/m³ |
144
- | `agriculture.*` | Solar radiation, CAPE, soil temperature *(if enabled)* | |
147
+ | `agriculture.solar_radiation` | Shortwave solar radiation at ground level *(if enabled)* | W/m² |
148
+ | `agriculture.cape` | CAPE – Convective Available Potential Energy: energy available for thunderstorm development; > 500 J/kg = notable risk, > 2000 J/kg = severe *(if enabled)* | J/kg |
149
+ | `agriculture.soil_temp` | Soil temperature at 0 cm depth *(if enabled)* | °C/°F |
150
+ | `comfort.heat_index` | Heat index (Rothfusz) – how hot it feels combining temperature and humidity; only meaningful ≥ 27 °C and ≥ 40 % RH, `null` otherwise *(if enabled)* | °C/°F |
151
+ | `comfort.windchill` | Wind 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 |
152
+ | `comfort.humidex` | Humidex (Canadian formula) – combined heat+humidity discomfort index; values above 40 are uncomfortable, above 46 dangerous *(if enabled)* | °C/°F |
153
+ | `comfort.humidex_level` | Humidex discomfort level: 1 = none (<29) · 2 = slight (29–34) · 3 = noticeable (35–39) · 4 = intense (40–45) · 5 = dangerous (≥46) *(if enabled)* | 1–5 |
154
+ | `comfort.uv_index` | UV index (0–11+) – intensity of UV radiation at ground level *(if enabled)* | |
155
+ | `comfort.uv_level` | UV protection level (WHO scale): `low` (0–2, no protection) · `moderate` (3–5, sunscreen) · `high` (6–7) · `very_high` (8–10) · `extreme` (≥11) *(if enabled)* | |
145
156
 
146
157
  ### Daily forecast (`day1` … `day16`)
147
158
 
@@ -159,21 +170,32 @@ The adapter creates data points under `openmeteo-notify.<instance>.<location>`.
159
170
  | `windspeed` / `windgusts` | Wind speed / gusts max |
160
171
  | `winddirection` / `_text` / `_icon` / `_icon_url` | Wind direction |
161
172
  | `windbeaufort` / `windbeaufort_icon_url` | Beaufort scale |
162
- | `uv_index` / `uv_index_clear_sky` | UV index max / UV index under clear sky | |
163
- | `sunshine_hours` / `daylight_hours` | Sunshine / daylight duration | h |
164
- | `cloud_cover_max` | Max cloud cover | % |
173
+ | `uv_index` | Daily max UV index *(accounting for cloud cover)* | |
174
+ | `uv_index_clear_sky` | Daily max UV index assuming completely clear sky – useful to see potential UV regardless of clouds | |
175
+ | `sunshine_hours` | Hours of actual sunshine (direct radiation) | h |
176
+ | `daylight_hours` | Total hours between sunrise and sunset | h |
177
+ | `cloud_cover_max` | Maximum cloud cover during the day | % |
165
178
  | `temp_mean` / `feels_like_mean` | Daily mean temperature / feels-like | °C/°F |
166
- | `precipitation_hours` | Hours with precipitation | h |
167
- | `showers` | Convective precipitation sum | mm/inch |
168
- | `snowfall_height_min` | Minimum snowfall level during precipitation | m |
179
+ | `precipitation_hours` | Number of hours with measurable precipitation | h |
180
+ | `showers` | Convective (shower-type) precipitation short, intense; distinct from continuous `rain` | mm/inch |
181
+ | `snowfall_height_min` | Lowest altitude during the day at which snow falls (0 m = snow to valley floor) | m a.s.l. |
182
+ | `freezing_level_height_min` | Lowest altitude of the 0 °C isotherm during the day | m a.s.l. |
169
183
  | `dew_point_mean` / `humidity_mean` / `pressure_mean` | Daily mean values | |
170
184
  | `air_quality.european_aqi_max` … `ozone_max` | Daily max AQI, PM10, PM2.5, NO₂, CO, dust, ozone *(if enabled)* | |
171
185
  | `astronomy.sunrise` / `astronomy.sunset` | Sunrise / sunset *(if enabled)* | |
172
- | `astronomy.solar_noon` / `astronomy.solar_elevation_max` | Solar noon time / max sun elevation angle *(if enabled)* | / ° |
173
- | `astronomy.moon_phase_val` / `_text` / `_icon_url` | Moon phase *(if enabled)* | |
186
+ | `astronomy.solar_noon` | Time of highest sun position *(if enabled)* | |
187
+ | `astronomy.solar_elevation_max` | Sun angle above the horizon at solar noon – 90° = directly overhead, 0° = horizon *(if enabled)* | ° |
188
+ | `astronomy.moon_phase_val` | Moon phase as number: 0 = new moon · 0.25 = first quarter · 0.5 = full moon · 0.75 = last quarter *(if enabled)* | 0–1 |
189
+ | `astronomy.moon_phase_text` / `_icon_url` | Moon phase as text / icon *(if enabled)* | |
174
190
  | `astronomy.moonrise` / `astronomy.moonset` | Moon rise / set *(if enabled)* | |
175
- | `agriculture.solar_radiation_sum` / `.evapotranspiration` | Solar / evapotranspiration *(if enabled)* | |
176
- | `pollen.alder` `pollen.ragweed` | Daily max pollen + level text *(if enabled, day1–4)* | |
191
+ | `agriculture.solar_radiation_sum` | Total solar radiation received during the day | MJ/m² |
192
+ | `agriculture.evapotranspiration` | FAO-56 reference evapotranspiration (ET₀) how much water plants and soil release; used for irrigation planning | mm |
193
+ | `agriculture.lifted_index_min` | Daily minimum Lifted Index – atmospheric stability: negative = unstable/storm risk, strongly negative (< −6) = severe thunderstorm risk *(if enabled)* | K |
194
+ | `comfort.heat_index_max` | Max heat index of the day *(if enabled)* | °C/°F |
195
+ | `comfort.windchill_min` | Min wind chill of the day *(if enabled)* | °C/°F |
196
+ | `comfort.humidex_max` / `.humidex_level` | Max humidex / discomfort level (1–5, see current section) *(if enabled)* | |
197
+ | `comfort.uv_index_max` / `.uv_level` | Max UV index / level (see current section) *(if enabled)* | |
198
+ | `pollen.alder` … `pollen.ragweed` | Daily max pollen concentration + level text (None/Low/Medium/High) *(if enabled, day1–4 only)* | Grains/m³ |
177
199
 
178
200
  ### Hourly values (`day1.hourly.h00` … `h23`)
179
201
 
@@ -185,7 +207,8 @@ Optional per hour (if enabled + "also hourly"):
185
207
  |---------|-------------|
186
208
  | `hXX.air_quality` | european_aqi, PM10, PM2.5, NO₂, CO, dust, ozone |
187
209
  | `hXX.astronomy` | sunrise, sunset, moon_phase_val/text/icon_url, moonrise, moonset |
188
- | `hXX.agriculture` | solar_radiation, CAPE, soil_temp, irradiance |
210
+ | `hXX.agriculture` | solar_radiation (W/m²), CAPE (J/kg), soil_temp (°C/°F), irradiance = global tilted irradiance on a flat surface (W/m²), lifted_index (K) |
211
+ | `hXX.comfort` | heat_index, windchill, humidex, humidex_level, uv_index, uv_level |
189
212
  | `hXX.pollen` | alder … ragweed + level text (Keine/Niedrig/Mittel/Hoch) |
190
213
 
191
214
  ### Official warnings (`warnings`)
@@ -195,7 +218,7 @@ Optional per hour (if enabled + "also hourly"):
195
218
  | `warnings.source` | Warning service: `"DWD"` or `"MeteoAlarm"` |
196
219
  | `warnings.active` | At least one active warning |
197
220
  | `warnings.count` | Number of active warnings |
198
- | `warnings.max_level` | Highest severity level (14) |
221
+ | `warnings.max_level` | Highest severity level: 1 = Minor · 2 = Moderate · 3 = Severe · 4 = Extreme |
199
222
  | `warnings.max_level_text` | Severity text |
200
223
  | `warnings.warning_N.active` | Warning slot N active |
201
224
  | `warnings.warning_N.event` | Event type |
@@ -228,6 +251,13 @@ Optional per hour (if enabled + "also hourly"):
228
251
  This adapter uses the Open-Meteo API. The Open-Meteo name and logo are property of their respective owners. This adapter is an independent community project and is not affiliated with or endorsed by Open-Meteo.
229
252
 
230
253
  ## Changelog
254
+ ### 0.1.3 (2026-04-25)
255
+ * (ipod86) Custom SVG icon set with night icon support and Base64 embedding in widget HTML
256
+ * (ipod86) WMO OGC SVG icon set with theme-aware color inversion
257
+ * (ipod86) Widget: responsive layout via CSS container queries, configurable width, custom color theme, MDI SVG icons
258
+ * (ipod86) Comfort indices: heat index, windchill, humidex, UV index (optional, hourly option)
259
+ * (ipod86) Settings: inline validation, save blocked on invalid config
260
+
231
261
  ### 0.1.2 (2026-04-19)
232
262
  * (ipod86) Fix: log detailed API error reason for HTTP 4xx responses
233
263
 
@@ -246,16 +276,6 @@ This adapter uses the Open-Meteo API. The Open-Meteo name and logo are property
246
276
  ### 0.0.46 (2026-04-08)
247
277
  * (ipod86) add CHANGELOG_OLD.md; add release-script
248
278
 
249
- ### 0.0.45
250
- * Weather warnings (storm/thunderstorm) via ioBroker notification system
251
- * Configurable Beaufort threshold for storm warnings (Bft 1–12, default Bft 8)
252
- * Daily `has_storm` / `has_thunderstorm` datapoints per location
253
- * Hourly `is_storm` / `is_thunderstorm` datapoints (when hourly data enabled)
254
- * Storm detection based on wind gusts (`windgusts_10m`)
255
- * Warning message includes from/to time; day offset shown when event spans midnight
256
- * Warnings use raw API data — no minimum `hourlyDays` setting required
257
- * i18n translations for all new settings in 11 languages
258
-
259
279
  ## License
260
280
 
261
281
  MIT License