NEWS
Ulanzi T001 / AWTRIX Unwetterwarnung
-
Hallo zusammen,
inspiriert von dem Light Weather Script und der daraus entstanden Aufnahme in den Adapter Adapter awtrix-light habe ich folgende Erweiterung erstellt:Dieses Skript verarbeitet Unwetterwarnungen des DWD und stellt sie auf AWTRIX Light dar. Es setzt Warnstufen um, zeigt passende Icons und Farben an und steuert die Sichtbarkeit der Warnmeldungen.
🔹 Funktionen des Skripts:
✔ Automatische Aktivierung der Unwetter-Apps, je nach Anzahl der Warnungen
✔ Dynamische Anpassung des Icons, passend zur Warnart (z. B. Gewitter, Sturm, Schnee)
✔ Änderung der Text- und Hintergrundfarbe, basierend auf der Warnstufe
✔ Verarbeitung von mehreren Warnmeldungen (bis zu drei gleichzeitig)Beispiel 1:

Beispiel 2:

📝 Der Code im Überblick:
// Hilfsfunktion für Sichtbarkeit function setWarningVisibility(value) { setState('awtrix-light.0.apps.unwettera.visible', value >= 1); setState('awtrix-light.0.apps.unwetterb.visible', value >= 2); setState('awtrix-light.0.apps.unwetterc.visible', value >= 3); } /// Hilfsfunktion für Icons function setWarningIcon(app, type) { const icons = { 0: '49299', // Thunderstorm 1: '3363', // Wind/Storm 2: '49300', // Rain 3: '2289', // Snow 4: '17055', // Fog 5: '55543', // Frost 6: '24231', // Ice 7: '22866', // Thawing 8: '55544', // Heat default: '16754' }; setState(`awtrix-light.0.apps.${app}.icon`, icons[type] || icons.default); } // Hilfsfunktion für Farben function setWarningColor(app, level) { const colors = { 0: { text: '#ffff00', bg: '#000000' }, 1: { text: '#ffff00', bg: '#000000' }, 2: { text: '#ffff00', bg: '#000000' }, 3: { text: '#ff0000', bg: '#000000' }, 4: { text: '#ffffff', bg: '#ff0000' }, default: { text: '#ffffff', bg: '#000000' } }; const color = colors[level] || colors.default; setState(`awtrix-light.0.apps.${app}.textColor`, color.text); setState(`awtrix-light.0.apps.${app}.backgroundColor`, color.bg); } // Sichtbarkeit aktualisieren on({ id: 'dwd.0.numberOfWarnings', change: 'ne' }, (obj) => { setWarningVisibility(obj.state?.val ?? 0); }); // Warnungsdetails für alle drei Apps setzen ['unwettera', 'unwetterb', 'unwetterc'].forEach((app, index) => { on({ id: `dwd.0.warning${index}.type`, change: 'any' }, (obj) => { setWarningIcon(app, obj.state?.val ?? 0); }); on({ id: `dwd.0.warning${index}.text`, change: 'any' }, (obj) => { setState(`awtrix-light.0.apps.${app}.text`, obj.state?.val || ''); }); on({ id: `dwd.0.warning${index}.level`, change: 'any' }, (obj) => { setWarningColor(app, obj.state?.val ?? 0); }); });🛠 Voraussetzungen:
🔹Awtrix Light Adapter
🔹DWD Adapter
🔹Folgende Icons auf dem Gerät installiert:
🔹Es müssen 3 Experten-Apps angelegt sein:
unwettera
unwetterb
unwetterc
Da ich weder Progammierer noch Softwareentwickler bin, geht bei der Kritik milde mit mir um.
Um Verbesserungsvorschläge oder Ideen bin ich dankbar. -
Hallo zusammen,
inspiriert von dem Light Weather Script und der daraus entstanden Aufnahme in den Adapter Adapter awtrix-light habe ich folgende Erweiterung erstellt:Dieses Skript verarbeitet Unwetterwarnungen des DWD und stellt sie auf AWTRIX Light dar. Es setzt Warnstufen um, zeigt passende Icons und Farben an und steuert die Sichtbarkeit der Warnmeldungen.
🔹 Funktionen des Skripts:
✔ Automatische Aktivierung der Unwetter-Apps, je nach Anzahl der Warnungen
✔ Dynamische Anpassung des Icons, passend zur Warnart (z. B. Gewitter, Sturm, Schnee)
✔ Änderung der Text- und Hintergrundfarbe, basierend auf der Warnstufe
✔ Verarbeitung von mehreren Warnmeldungen (bis zu drei gleichzeitig)Beispiel 1:

Beispiel 2:

📝 Der Code im Überblick:
// Hilfsfunktion für Sichtbarkeit function setWarningVisibility(value) { setState('awtrix-light.0.apps.unwettera.visible', value >= 1); setState('awtrix-light.0.apps.unwetterb.visible', value >= 2); setState('awtrix-light.0.apps.unwetterc.visible', value >= 3); } /// Hilfsfunktion für Icons function setWarningIcon(app, type) { const icons = { 0: '49299', // Thunderstorm 1: '3363', // Wind/Storm 2: '49300', // Rain 3: '2289', // Snow 4: '17055', // Fog 5: '55543', // Frost 6: '24231', // Ice 7: '22866', // Thawing 8: '55544', // Heat default: '16754' }; setState(`awtrix-light.0.apps.${app}.icon`, icons[type] || icons.default); } // Hilfsfunktion für Farben function setWarningColor(app, level) { const colors = { 0: { text: '#ffff00', bg: '#000000' }, 1: { text: '#ffff00', bg: '#000000' }, 2: { text: '#ffff00', bg: '#000000' }, 3: { text: '#ff0000', bg: '#000000' }, 4: { text: '#ffffff', bg: '#ff0000' }, default: { text: '#ffffff', bg: '#000000' } }; const color = colors[level] || colors.default; setState(`awtrix-light.0.apps.${app}.textColor`, color.text); setState(`awtrix-light.0.apps.${app}.backgroundColor`, color.bg); } // Sichtbarkeit aktualisieren on({ id: 'dwd.0.numberOfWarnings', change: 'ne' }, (obj) => { setWarningVisibility(obj.state?.val ?? 0); }); // Warnungsdetails für alle drei Apps setzen ['unwettera', 'unwetterb', 'unwetterc'].forEach((app, index) => { on({ id: `dwd.0.warning${index}.type`, change: 'any' }, (obj) => { setWarningIcon(app, obj.state?.val ?? 0); }); on({ id: `dwd.0.warning${index}.text`, change: 'any' }, (obj) => { setState(`awtrix-light.0.apps.${app}.text`, obj.state?.val || ''); }); on({ id: `dwd.0.warning${index}.level`, change: 'any' }, (obj) => { setWarningColor(app, obj.state?.val ?? 0); }); });🛠 Voraussetzungen:
🔹Awtrix Light Adapter
🔹DWD Adapter
🔹Folgende Icons auf dem Gerät installiert:
🔹Es müssen 3 Experten-Apps angelegt sein:
unwettera
unwetterb
unwetterc
Da ich weder Progammierer noch Softwareentwickler bin, geht bei der Kritik milde mit mir um.
Um Verbesserungsvorschläge oder Ideen bin ich dankbar. -
solltest vielleicht noch dazu schreiben dass man dafür die experten apps anlegen muss

-
Mmmh, ich habe das soweit gleich eingerichtet.
Bei mir sind die Seiten nur Schwarz wenn diese erscheinen.
Wonach könnte ich schauen?
Awtrix 0.98
awitrix-light 1.4.1
DWD 2.8.5
Gruß Thorsten -
Mmmh, ich habe das soweit gleich eingerichtet.
Bei mir sind die Seiten nur Schwarz wenn diese erscheinen.
Wonach könnte ich schauen?
Awtrix 0.98
awitrix-light 1.4.1
DWD 2.8.5
Gruß Thorsten@chefkochts Sind in deinem Gebiet derzeit Warnungen aktiv? Wenn ja, dann könntest du prüfen,ob die DWD Instanz auch Nummer 0 ist und ob die Datenpunkte dwd.0.warning.text und dwd.0.warning.type vorhanden sind.
-
@chefkochts Sind in deinem Gebiet derzeit Warnungen aktiv? Wenn ja, dann könntest du prüfen,ob die DWD Instanz auch Nummer 0 ist und ob die Datenpunkte dwd.0.warning.text und dwd.0.warning.type vorhanden sind.
@fetzz Das passt alles soweit.
Ich habe im DWD aktuell warning Nebel, warning1 Frost, warning2 Glätte.
Bei Nebel bleibt es wieder schwarz.
Die anderen beide zeigt er an. -
@fetzz Das passt alles soweit.
Ich habe im DWD aktuell warning Nebel, warning1 Frost, warning2 Glätte.
Bei Nebel bleibt es wieder schwarz.
Die anderen beide zeigt er an.@chefkochts
Dann muss es irgendwo hier liegen:// Hilfsfunktion für Farben function setWarningColor(app, level) { const colors = { 0: { text: '#ffff00', bg: '#000000' }, 1: { text: '#ffff00', bg: '#000000' }, 2: { text: '#ffff00', bg: '#000000' }, 3: { text: '#ff0000', bg: '#000000' }, 4: { text: '#ffffff', bg: '#ff0000' }, default: { text: '#ffffff', bg: '#000000' } }; const color = colors[level] || colors.default; setState(`awtrix-light.0.apps.${app}.textColor`, color.text); setState(`awtrix-light.0.apps.${app}.backgroundColor`, color.bg);Das die Zuordnung des Level der Warnung nicht passt, aber dann sollte der default-Wert genommen werden.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden