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: Funktionen des Skripts:
  Automatische Aktivierung der Unwetter-Apps, je nach Anzahl der Warnungen Automatische Aktivierung der Unwetter-Apps, je nach Anzahl der Warnungen
  Dynamische Anpassung des Icons, passend zur Warnart (z. B. Gewitter, Sturm, Schnee) Dynamische Anpassung des Icons, passend zur Warnart (z. B. Gewitter, Sturm, Schnee)
  Änderung der Text- und Hintergrundfarbe, basierend auf der Warnstufe Änderung der Text- und Hintergrundfarbe, basierend auf der Warnstufe
  Verarbeitung von mehreren Warnmeldungen (bis zu drei gleichzeitig) Verarbeitung von mehreren Warnmeldungen (bis zu drei gleichzeitig)Beispiel 1: 
  Beispiel 2: 
   Der Code im Überblick: 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: Voraussetzungen:
  Awtrix Light Adapter Awtrix Light Adapter
  DWD Adapter DWD Adapter
  Folgende Icons auf dem Gerät installiert: Folgende Icons auf dem Gerät installiert:
  Es müssen 3 Experten-Apps angelegt sein: 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 
  
- 
					
					
					
					
 @arteck Danke, ich habe es ergänzt! 
- 
					
					
					
					
 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. 
- 
					
					
					
					
 @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. 
 
		
	 
		
	
