Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Ulanzi T001 / AWTRIX Unwetterwarnung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    4
    1
    22

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

Ulanzi T001 / AWTRIX Unwetterwarnung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 3 Kommentatoren 522 Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    fetzz
    schrieb am zuletzt editiert von fetzz
    #1

    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:
    awtrix.gif

    Beispiel 2:
    awtrix(1).gif

    📝 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:


    49299 Thunderstorm
    3363 Wind/Storm
    49300 Rain
    17055 Fog
    55543 Frost
    24231 Ice
    22866 Thawing
    55544 Heat
    16754 default

    🔹Es müssen 3 Experten-Apps angelegt sein:
    unwettera
    unwetterb
    unwetterc


    Screenshot 2025-01-18 092520.jpg

    Da ich weder Progammierer noch Softwareentwickler bin, geht bei der Kritik milde mit mir um.
    Um Verbesserungsvorschläge oder Ideen bin ich dankbar.

    arteckA 1 Antwort Letzte Antwort
    1
    • F fetzz

      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:
      awtrix.gif

      Beispiel 2:
      awtrix(1).gif

      📝 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:


      49299 Thunderstorm
      3363 Wind/Storm
      49300 Rain
      17055 Fog
      55543 Frost
      24231 Ice
      22866 Thawing
      55544 Heat
      16754 default

      🔹Es müssen 3 Experten-Apps angelegt sein:
      unwettera
      unwetterb
      unwetterc


      Screenshot 2025-01-18 092520.jpg

      Da ich weder Progammierer noch Softwareentwickler bin, geht bei der Kritik milde mit mir um.
      Um Verbesserungsvorschläge oder Ideen bin ich dankbar.

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @fetzz

      solltest vielleicht noch dazu schreiben dass man dafür die experten apps anlegen muss
      b7a77a17-642a-4c83-80e0-18ee629bc9f5-grafik.png

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      F 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        @fetzz

        solltest vielleicht noch dazu schreiben dass man dafür die experten apps anlegen muss
        b7a77a17-642a-4c83-80e0-18ee629bc9f5-grafik.png

        F Offline
        F Offline
        fetzz
        schrieb am zuletzt editiert von
        #3

        @arteck Danke, ich habe es ergänzt!

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          ChefkochTS
          schrieb am zuletzt editiert von
          #4

          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

          F 1 Antwort Letzte Antwort
          0
          • C ChefkochTS

            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

            F Offline
            F Offline
            fetzz
            schrieb am zuletzt editiert von
            #5

            @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.

            C 1 Antwort Letzte Antwort
            0
            • F fetzz

              @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.

              C Offline
              C Offline
              ChefkochTS
              schrieb am zuletzt editiert von
              #6

              @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.

              F 1 Antwort Letzte Antwort
              0
              • C ChefkochTS

                @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.

                F Offline
                F Offline
                fetzz
                schrieb am zuletzt editiert von
                #7

                @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.

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                701

                Online

                32.5k

                Benutzer

                81.7k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe