iobroker.openmeteo-notify 0.1.4 → 0.1.5

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.
package/README.de.md CHANGED
@@ -261,6 +261,10 @@ Dieser Adapter ist ein unabhängiges Community-Projekt und steht in keiner Verbi
261
261
 
262
262
  ## Changelog
263
263
 
264
+ ### 0.1.5 (2026-06-06)
265
+ * (ipod86) fix: Ungültige Objekt-Rollen durch gültige ioBroker-Rollen ersetzt (E1008)
266
+ * (ipod86) fix: @alcalzone/release-script auf >=5.2.1 aktualisiert (E0036)
267
+
264
268
  ### 0.1.4 (2026-05-31)
265
269
  * (ipod86) fix: Sturm-/Gewitter-/Frost-Benachrichtigungen werden jetzt in der ioBroker-Systemsprache gesendet
266
270
  * (ipod86) fix: i18n-Schlüssel in allen Sprachen synchronisiert (admin/i18n und src-admin/src/i18n)
package/README.md CHANGED
@@ -257,6 +257,10 @@ This adapter uses data from the following third-party services:
257
257
  This adapter is an independent community project and is not affiliated with or endorsed by any of the above services.
258
258
 
259
259
  ## Changelog
260
+ ### 0.1.5 (2026-06-06)
261
+ * (ipod86) fix: replace invalid object roles – use valid ioBroker role catalogue entries only (E1008)
262
+ * (ipod86) fix: update @alcalzone/release-script to >=5.2.1 (E0036)
263
+
260
264
  ### 0.1.4 (2026-05-31)
261
265
  * (ipod86) fix: translate storm/thunderstorm/frost notification texts to system language (was always German)
262
266
  * (ipod86) fix: sync i18n keys across all languages in admin/i18n and src-admin/src/i18n (W5604, W5605)
@@ -289,6 +293,8 @@ This adapter is an independent community project and is not affiliated with or e
289
293
  * (ipod86) Astronomy: added `solar_noon` and `solar_elevation_max` (computed via SunCalc)
290
294
  * (ipod86) Fix: day channel names no longer frozen to creation date
291
295
 
296
+ Older changelogs are available in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
297
+
292
298
  ## License
293
299
 
294
300
  MIT License
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "openmeteo-notify",
4
- "version": "0.1.4",
4
+ "version": "0.1.5",
5
5
  "news": {
6
+ "0.1.5": {
7
+ "en": "fix: replace invalid object roles with valid ioBroker catalogue roles (E1008)\nfix: update @alcalzone/release-script to >=5.2.1 (E0036)",
8
+ "de": "fix: Ungültige Objekt-Rollen durch gültige ioBroker-Rollen ersetzt (E1008)\nfix: @alcalzone/release-script auf >=5.2.1 aktualisiert (E0036)",
9
+ "ru": "исправление: замена недопустимых ролей объектов на допустимые роли каталога ioBroker (E1008)\nисправление: обновление @alcalzone/release-script до >=5.2.1 (E0036)",
10
+ "pt": "correção: substituir papéis de objetos inválidos por papéis válidos do catálogo ioBroker (E1008)\ncorreção: atualizar @alcalzone/release-script para >=5.2.1 (E0036)",
11
+ "nl": "fix: ongeldige objectrollen vervangen door geldige ioBroker-catalogusrollen (E1008)\nfix: @alcalzone/release-script bijwerken naar >=5.2.1 (E0036)",
12
+ "fr": "correction: remplacer les rôles d'objet invalides par des rôles valides du catalogue ioBroker (E1008)\ncorrection: mettre à jour @alcalzone/release-script vers >=5.2.1 (E0036)",
13
+ "it": "correzione: sostituire i ruoli degli oggetti non validi con ruoli validi del catalogo ioBroker (E1008)\ncorrezione: aggiornare @alcalzone/release-script a >=5.2.1 (E0036)",
14
+ "es": "corrección: reemplazar roles de objeto no válidos con roles válidos del catálogo ioBroker (E1008)\ncorrección: actualizar @alcalzone/release-script a >=5.2.1 (E0036)",
15
+ "pl": "fix: zastąpić nieprawidłowe role obiektów prawidłowymi rolami katalogu ioBroker (E1008)\nfix: zaktualizować @alcalzone/release-script do >=5.2.1 (E0036)",
16
+ "uk": "виправлення: замінити недійсні ролі об'єктів допустимими ролями каталогу ioBroker (E1008)\nвиправлення: оновити @alcalzone/release-script до >=5.2.1 (E0036)",
17
+ "zh-cn": "修复:用ioBroker目录中的有效角色替换无效的对象角色(E1008)\n修复:将@alcalzone/release-script更新至>=5.2.1(E0036)"
18
+ },
6
19
  "0.1.4": {
7
20
  "en": "fix: translate storm/thunderstorm/frost notification texts to system language (was always German)\nfix: sync i18n keys across all languages in admin/i18n and src-admin/src/i18n (W5604, W5605)\nfix: use this.delay() instead of plain setTimeout in retry logic (W5005)\nfix: engines.node >= 22, @tsconfig/node22, @types/node ^22, deploy node 24 (E0028, E3022)\nfix: add dependabot ignore block for @types/node major versions (E8917)\nfix: remove Node 20 from test matrix (W3024)\nfix: add tsconfig.json for proper type checking (S0087)\nfix: migrate i18n to short format (S5601)",
8
21
  "de": "fix: übersetzen Sturm/Thunderstorm/frost Benachrichtigungstexte auf Systemsprache (war immer Deutsch)\nfix: synchrone i18n Schlüssel in allen Sprachen in admin/i18n und src-admin/src/i18n (W5604, W5605)\nfix: verwenden Sie this.delay() anstelle von simple setTimeout in retry logic (W5005)\nfix: engines.node >= 22, @tsconfig/node22, @types/node ^22, Deploy node 24 (E0028, E3022)\nfix: hinzufügen abhängigabot ignorieren Block für @types/node große Versionen (E8917)\nfix: Node 20 aus der Testmatrix entfernen (W3024)\nfix: tsconfig.json zur ordnungsgemäßen Typprüfung hinzufügen (S0087)\nfix: migrieren i18n auf kurzes Format (S5601)",
package/main.js CHANGED
@@ -2878,7 +2878,7 @@ class Openmeteo extends utils.Adapter {
2878
2878
  await this.setDP(`${locId}.current.is_day`, cur.is_day === 1, {
2879
2879
  name: "Tag",
2880
2880
  type: "boolean",
2881
- role: "indicator.day",
2881
+ role: "indicator",
2882
2882
  });
2883
2883
  await this.setDP(`${locId}.current.rain`, cur.rain, {
2884
2884
  name: "Regen",
@@ -3098,7 +3098,9 @@ class Openmeteo extends utils.Adapter {
3098
3098
  const icon = ICONS[d.weathercode[i]] || "🌡️";
3099
3099
  const desc = descriptions[d.weathercode[i]] || "?";
3100
3100
  const prefix = `${locId}.day${i}`;
3101
- const fc = `.forecast.${i}`;
3101
+ // ioBroker role catalogue only defines forecast suffixes .forecast.0 and .forecast.1
3102
+ // For days 2+ we fall back to the base role (no forecast suffix)
3103
+ const fc = i <= 1 ? `.forecast.${i}` : "";
3102
3104
  const tempMax = Math.round(d.temperature_2m_max[i] * 10) / 10;
3103
3105
  const tempMin = Math.round(d.temperature_2m_min[i] * 10) / 10;
3104
3106
  const tempMean = Math.round(d.temperature_2m_mean[i] * 10) / 10;
@@ -3125,7 +3127,8 @@ class Openmeteo extends utils.Adapter {
3125
3127
  await this.setDP(`${prefix}.icon_url`, this._weatherIconUrl(d.weathercode[i], iconSet, true), {
3126
3128
  name: "Icon URL",
3127
3129
  type: "string",
3128
- role: `weather.icon${fc}`,
3130
+ // weather.icon.forecast.1 is the only numbered forecast variant in the catalogue
3131
+ role: i === 1 ? "weather.icon.forecast.1" : "weather.icon",
3129
3132
  });
3130
3133
  await this.setDP(`${prefix}.description`, desc, {
3131
3134
  name: "Beschreibung",
@@ -3207,7 +3210,8 @@ class Openmeteo extends utils.Adapter {
3207
3210
  name: "Niederschlagswahrsch.",
3208
3211
  type: "number",
3209
3212
  unit: "%",
3210
- role: `value.precipitation.forecast.${i}`,
3213
+ // value.precipitation.forecast.0 / .1 are valid; for days 2+ use the base role
3214
+ role: i <= 1 ? `value.precipitation.forecast.${i}` : "value.precipitation.chance",
3211
3215
  });
3212
3216
  await this.setDP(`${prefix}.windspeed`, d.windspeed_10m_max[i], {
3213
3217
  name: "Wind Max",
@@ -3467,7 +3471,8 @@ class Openmeteo extends utils.Adapter {
3467
3471
  name: "Luftfeuchtigkeit Mittel",
3468
3472
  type: "number",
3469
3473
  unit: "%",
3470
- role: `value.humidity${fc}`,
3474
+ // No numbered humidity forecast roles exist in the ioBroker catalogue
3475
+ role: "value.humidity",
3471
3476
  });
3472
3477
  await this.setDP(`${prefix}.pressure_mean`, Math.round(d.pressure_msl_mean[i] * 10) / 10, {
3473
3478
  name: "Luftdruck Mittel",
@@ -3718,7 +3723,7 @@ class Openmeteo extends utils.Adapter {
3718
3723
  await this.setDP(`${hPath}.is_day`, hData.is_day, {
3719
3724
  name: "Tag",
3720
3725
  type: "boolean",
3721
- role: "indicator.day",
3726
+ role: "indicator",
3722
3727
  });
3723
3728
  await this.setDP(`${hPath}.is_thunderstorm`, [95, 96, 99].includes(hData.weathercode), {
3724
3729
  name: "Gewitter",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.openmeteo-notify",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Weather forecast and official weather warnings via Open-Meteo, DWD and MeteoAlarm",
5
5
  "author": {
6
6
  "name": "ipod86",
@@ -28,7 +28,7 @@
28
28
  "suncalc": "^1.9.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@alcalzone/release-script": "^5.2.0",
31
+ "@alcalzone/release-script": "^5.2.1",
32
32
  "@alcalzone/release-script-plugin-iobroker": "^5.2.0",
33
33
  "@alcalzone/release-script-plugin-license": "^5.2.0",
34
34
  "@alcalzone/release-script-plugin-manual-review": "^5.2.0",