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. JavaScript
  5. [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill lĂ€uft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • MonatsrĂŒckblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

Geplant Angeheftet Gesperrt Verschoben JavaScript
1.5k BeitrÀge 53 Kommentatoren 573.3k Aufrufe 52 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.
  • D drapo

    @ticaki jetzt ist es klar. Danke Dir fĂŒr die gute Arbeit. Da frag ich mich nur wie die Leute vor mir das zum Laufen gebracht haben.

    T Nicht stören
    T Nicht stören
    ticaki
    schrieb am zuletzt editiert von ticaki
    #238

    @drapo
    Das Script ist seit 5 Tagen mit dieser Anleitung verfĂŒgbar, die Vorversion hatte eine Moduseinstellung im Script. Und die Tester haben ja den Umbau mitbekommen. :)

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    1 Antwort Letzte Antwort
    0
    • T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von
      #239

      Fehler im Script:
      V0.96.3

      • 0.96.3 Aufgehoben Meldung fĂŒr einzelne Mitteilung wurde verschickt, wenn keine weitere nicht ignorierte Warnung vorhanden war. (Behoben) Allgemein gehaltene Entwarnung wird gesendet.
      • 0.96.3 Scriptfehler bei ausfiltert von DatensĂ€tzen (DWD UWZ) Betrifft minlevel und Höhenangaben.

      Jetzt kommen wieder Warnungen rein, da werde ich wohl auch die letzten Fehler finden.

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      1 Antwort Letzte Antwort
      0
      • T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von ticaki
        #240

        V0.97.0

        • Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK
        • Verbesserung: UWZ/DWD Nachrichten enthalten jetzt Symbole an dem man den Typ mit einem Blick erkennt
        • .alert wurde angepasst. Die Datenpunkte begin und end sind jetzt value.time, da value.datetime nicht mehr erwĂŒnscht ist. (vorher Zeichenkette, jetzt Nummer)
        • .alert verbessert.
        warningTypesString[DWD] = [
            ['Gewitter','⚡'],
            ['Sturm', 'đŸŒȘ'],
            ['Regen', '🌧'],
            ['Schnee', '🌹'],
            ['Nebel', '🌁'],
            ['Frost', '🌡'],
            ['Glatteis', '❄'],
            ['Tauwetter', '⛄'],
            ['Hitzewarnungen', 'đŸ”„'],
            ['UV_Warnungen', '🔆']/*,
            ['Kuestenwarnungen', ''],
            ['Binnenseewarnungen', '']*/
        ];
        
        warningTypesString[UWZ] = [
            ['n_a', ''],
            ['unbekannt', ''],
            ['Sturm-Orkan', 'đŸŒȘ'],
            ['Schneefall', '🌹'],
            ['Starkregen', '🌧'],
            ['Extremfrost', '🌡'],
            ['Waldbrandgefahr', 'đŸ”„'],
            ['Gewitter', '⚡'],
            ['GlĂ€tte', '❄'],
            ['Hitze', '🔆'],
            ['Glatteisregen', '❄'],
            ['Bodenfrost', '🌡']
        ];
        

        todo:

        • das Ausfiltern von aufgehoben Meldungen beim "VerlĂ€ngern" einer Warnung, will noch nicht so.
        • Anscheinend hat DWD auch Verbindungsprobleme. Umbau auf das selbe System wie Nina - also löschen erst nach 90 Minuten oder wenns abgelaufen ist.

        EDIT 2. Punkt zur todo hinzugefĂŒgt

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        D T 3 Antworten Letzte Antwort
        1
        • T ticaki

          V0.97.0

          • Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK
          • Verbesserung: UWZ/DWD Nachrichten enthalten jetzt Symbole an dem man den Typ mit einem Blick erkennt
          • .alert wurde angepasst. Die Datenpunkte begin und end sind jetzt value.time, da value.datetime nicht mehr erwĂŒnscht ist. (vorher Zeichenkette, jetzt Nummer)
          • .alert verbessert.
          warningTypesString[DWD] = [
              ['Gewitter','⚡'],
              ['Sturm', 'đŸŒȘ'],
              ['Regen', '🌧'],
              ['Schnee', '🌹'],
              ['Nebel', '🌁'],
              ['Frost', '🌡'],
              ['Glatteis', '❄'],
              ['Tauwetter', '⛄'],
              ['Hitzewarnungen', 'đŸ”„'],
              ['UV_Warnungen', '🔆']/*,
              ['Kuestenwarnungen', ''],
              ['Binnenseewarnungen', '']*/
          ];
          
          warningTypesString[UWZ] = [
              ['n_a', ''],
              ['unbekannt', ''],
              ['Sturm-Orkan', 'đŸŒȘ'],
              ['Schneefall', '🌹'],
              ['Starkregen', '🌧'],
              ['Extremfrost', '🌡'],
              ['Waldbrandgefahr', 'đŸ”„'],
              ['Gewitter', '⚡'],
              ['GlĂ€tte', '❄'],
              ['Hitze', '🔆'],
              ['Glatteisregen', '❄'],
              ['Bodenfrost', '🌡']
          ];
          

          todo:

          • das Ausfiltern von aufgehoben Meldungen beim "VerlĂ€ngern" einer Warnung, will noch nicht so.
          • Anscheinend hat DWD auch Verbindungsprobleme. Umbau auf das selbe System wie Nina - also löschen erst nach 90 Minuten oder wenns abgelaufen ist.

          EDIT 2. Punkt zur todo hinzugefĂŒgt

          D Online
          D Online
          drapo
          schrieb am zuletzt editiert von
          #241

          @ticaki was meinst du mit ansonsten KK?
          Kann ich immer noch die config im script stehen lassen und danach den ganzen code austauschen?

          T 1 Antwort Letzte Antwort
          0
          • D drapo

            @ticaki was meinst du mit ansonsten KK?
            Kann ich immer noch die config im script stehen lassen und danach den ganzen code austauschen?

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von ticaki
            #242

            @drapo
            KK = Keine KonfigurationsÀnderung :)

            Heißt kannst ab 123456 alles kopieren und einfĂŒgen, nur unter der Objektansicht, im Datenzweig dieses Scriptes mußt du .alert löschen, da sich das geĂ€ndert hat. Sry dafĂŒr.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            D 1 Antwort Letzte Antwort
            0
            • T ticaki

              @drapo
              KK = Keine KonfigurationsÀnderung :)

              Heißt kannst ab 123456 alles kopieren und einfĂŒgen, nur unter der Objektansicht, im Datenzweig dieses Scriptes mußt du .alert löschen, da sich das geĂ€ndert hat. Sry dafĂŒr.

              D Online
              D Online
              drapo
              schrieb am zuletzt editiert von
              #243

              @ticaki alles klar. Habs aktualisiert. Warte dann mal auf ein paar Meldungen :-) Danke Dir

              1 Antwort Letzte Antwort
              0
              • T ticaki

                V0.97.0

                • Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK
                • Verbesserung: UWZ/DWD Nachrichten enthalten jetzt Symbole an dem man den Typ mit einem Blick erkennt
                • .alert wurde angepasst. Die Datenpunkte begin und end sind jetzt value.time, da value.datetime nicht mehr erwĂŒnscht ist. (vorher Zeichenkette, jetzt Nummer)
                • .alert verbessert.
                warningTypesString[DWD] = [
                    ['Gewitter','⚡'],
                    ['Sturm', 'đŸŒȘ'],
                    ['Regen', '🌧'],
                    ['Schnee', '🌹'],
                    ['Nebel', '🌁'],
                    ['Frost', '🌡'],
                    ['Glatteis', '❄'],
                    ['Tauwetter', '⛄'],
                    ['Hitzewarnungen', 'đŸ”„'],
                    ['UV_Warnungen', '🔆']/*,
                    ['Kuestenwarnungen', ''],
                    ['Binnenseewarnungen', '']*/
                ];
                
                warningTypesString[UWZ] = [
                    ['n_a', ''],
                    ['unbekannt', ''],
                    ['Sturm-Orkan', 'đŸŒȘ'],
                    ['Schneefall', '🌹'],
                    ['Starkregen', '🌧'],
                    ['Extremfrost', '🌡'],
                    ['Waldbrandgefahr', 'đŸ”„'],
                    ['Gewitter', '⚡'],
                    ['GlĂ€tte', '❄'],
                    ['Hitze', '🔆'],
                    ['Glatteisregen', '❄'],
                    ['Bodenfrost', '🌡']
                ];
                

                todo:

                • das Ausfiltern von aufgehoben Meldungen beim "VerlĂ€ngern" einer Warnung, will noch nicht so.
                • Anscheinend hat DWD auch Verbindungsprobleme. Umbau auf das selbe System wie Nina - also löschen erst nach 90 Minuten oder wenns abgelaufen ist.

                EDIT 2. Punkt zur todo hinzugefĂŒgt

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von ticaki
                #244

                @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                todo:

                • das Ausfiltern von aufgehoben Meldungen beim "VerlĂ€ngern" einer Warnung, will noch nicht so.

                gefunden. Habs in 1 Zeile zusammengefasst.

                V0.97.1

                • 0.97.1 Fehler in WarnungsverlĂ€ngerung behoben.
                //vorher
                966          if (i != -1) warnDatabase.new.splice(a--, 1);
                //nachher
                966          if (i != -1) { warnDatabase.new.splice(i, 1); if (i < a) t = --a; }        
                

                Vielleicht ist damit auch der andere ToDo Punkt erledigt. Mal sehen.

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                crunchipC 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                  todo:

                  • das Ausfiltern von aufgehoben Meldungen beim "VerlĂ€ngern" einer Warnung, will noch nicht so.

                  gefunden. Habs in 1 Zeile zusammengefasst.

                  V0.97.1

                  • 0.97.1 Fehler in WarnungsverlĂ€ngerung behoben.
                  //vorher
                  966          if (i != -1) warnDatabase.new.splice(a--, 1);
                  //nachher
                  966          if (i != -1) { warnDatabase.new.splice(i, 1); if (i < a) t = --a; }        
                  

                  Vielleicht ist damit auch der andere ToDo Punkt erledigt. Mal sehen.

                  crunchipC Abwesend
                  crunchipC Abwesend
                  crunchip
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von crunchip
                  #245

                  @ticaki nur so als Hinweis...wenn man das script kopiert hat und in iobroker einfĂŒgt, stimmen die Zeilennummern nicht ĂŒberein. Da sind im oberen Teil zwischen den Beschreibungen hin und wieder, bzw mehr oder weniger die Leerzeilen unterschiedlich, somit gibt es einen Versatz.
                  Die besagte Zeile finde ich z.b. bei mir bei 960.

                  umgestiegen von Proxmox auf Unraid

                  T 1 Antwort Letzte Antwort
                  0
                  • crunchipC crunchip

                    @ticaki nur so als Hinweis...wenn man das script kopiert hat und in iobroker einfĂŒgt, stimmen die Zeilennummern nicht ĂŒberein. Da sind im oberen Teil zwischen den Beschreibungen hin und wieder, bzw mehr oder weniger die Leerzeilen unterschiedlich, somit gibt es einen Versatz.
                    Die besagte Zeile finde ich z.b. bei mir bei 960.

                    T Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #246

                    @crunchip
                    Jo, ich weiß aber nicht wie ich sonst die Kurzfassung machen soll :) Leider ist die Korrektur noch nicht ausreichend.

                    vielleicht so:

                    suche zusÀtzlich noch nach:

                    ca. 970

                    if (a == t && isWarnIgnored(w)) {
                    

                    und ersetzte die Zeile mit folgenden Zeilen:

                    }
                        for (let a = 0; a < warnDatabase.new.length; a++) {
                            let w = warnDatabase.new[a];
                            if ( isWarnIgnored(w)) {
                    

                    Die Korrektur oben hat zwar den Fehler behoben, aber dann konnte es sich bei den ignorierten Warnungen verzÀhlen. Ob das aber jemand ausser mir nutzt ist fraglich :)

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    crunchipC 1 Antwort Letzte Antwort
                    0
                    • T ticaki

                      @crunchip
                      Jo, ich weiß aber nicht wie ich sonst die Kurzfassung machen soll :) Leider ist die Korrektur noch nicht ausreichend.

                      vielleicht so:

                      suche zusÀtzlich noch nach:

                      ca. 970

                      if (a == t && isWarnIgnored(w)) {
                      

                      und ersetzte die Zeile mit folgenden Zeilen:

                      }
                          for (let a = 0; a < warnDatabase.new.length; a++) {
                              let w = warnDatabase.new[a];
                              if ( isWarnIgnored(w)) {
                      

                      Die Korrektur oben hat zwar den Fehler behoben, aber dann konnte es sich bei den ignorierten Warnungen verzÀhlen. Ob das aber jemand ausser mir nutzt ist fraglich :)

                      crunchipC Abwesend
                      crunchipC Abwesend
                      crunchip
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #247

                      @ticaki momentan ist es eh recht mau mit Wetterwarnungen, fĂ€llt also gar nicht auf 😉

                      umgestiegen von Proxmox auf Unraid

                      T 1 Antwort Letzte Antwort
                      0
                      • crunchipC crunchip

                        @ticaki momentan ist es eh recht mau mit Wetterwarnungen, fĂ€llt also gar nicht auf 😉

                        T Nicht stören
                        T Nicht stören
                        ticaki
                        schrieb am zuletzt editiert von ticaki
                        #248

                        @crunchip Bei mir stĂŒrmt es ganz schön, deshalb kommen jetzt auch Korrekturen :)

                        Zum Script:

                        const uFilterDuplicate = false;
                        

                        stellt das bitte auf false. funktioniert nach den ganzen umarbeiten nicht mehr. Zumindest nicht fĂŒr Nina, hat bei mir Nina Warnungen ohne Datum verworfen und nur 1 von denen drin gelassen. Sind aktuell 3 Warnungen wegen Corona vorhanden.

                        Ich denke ich werfe das raus. Das wofĂŒr es gedacht war, hab ich woanders schon funktionierend :)

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        crunchipC 1 Antwort Letzte Antwort
                        0
                        • T ticaki

                          @crunchip Bei mir stĂŒrmt es ganz schön, deshalb kommen jetzt auch Korrekturen :)

                          Zum Script:

                          const uFilterDuplicate = false;
                          

                          stellt das bitte auf false. funktioniert nach den ganzen umarbeiten nicht mehr. Zumindest nicht fĂŒr Nina, hat bei mir Nina Warnungen ohne Datum verworfen und nur 1 von denen drin gelassen. Sind aktuell 3 Warnungen wegen Corona vorhanden.

                          Ich denke ich werfe das raus. Das wofĂŒr es gedacht war, hab ich woanders schon funktionierend :)

                          crunchipC Abwesend
                          crunchipC Abwesend
                          crunchip
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #249

                          @ticaki erledigt
                          Nina hab ich, wie gesagt , nicht in Verwendung, ist mir zuviel Action im Objektbaum:grin:

                          umgestiegen von Proxmox auf Unraid

                          T 1 Antwort Letzte Antwort
                          0
                          • crunchipC crunchip

                            @ticaki erledigt
                            Nina hab ich, wie gesagt , nicht in Verwendung, ist mir zuviel Action im Objektbaum:grin:

                            T Nicht stören
                            T Nicht stören
                            ticaki
                            schrieb am zuletzt editiert von ticaki
                            #250

                            @crunchip sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                            @ticaki erledigt
                            Nina hab ich, wie gesagt , nicht in Verwendung, ist mir zuviel Action im Objektbaum:grin:

                            Mir auch, aber ich schau/höre/lese so gut wie keine "Sack Reis ist in China umgefallen" Nachrichten und will wenigstens Bescheid wissen, wenn wir Krieg haben oder so g

                            EDIT: Version 97.2

                            • Funktion hinter uFilterDuplicate raus geworfen
                            • Sprachausgabe hat bei einzelnen Entwarnungen die Zeitschaltuhr missachtet.
                              V97.2.1
                              -Doppelte Symbole bei Entwarnungen (Telegram, pushover) entfernt

                            Das ist mir kein Posting und das letzte nicht mal ne 97.3 wert :)

                            • Variable umbenannt.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            1 Antwort Letzte Antwort
                            0
                            • T Nicht stören
                              T Nicht stören
                              ticaki
                              schrieb am zuletzt editiert von ticaki
                              #251

                              Update fĂŒr UWZ-Script von dwm

                              // Version 1.03
                              // Author: dwm
                              // Änderungen ticaki
                              // 1.01 debuglevel keine Ausgabe bei 1;
                              // 1.02 let und variable "Fehler" behoben (wurde als Syntaxfehler angezeigt)
                              // 1.03 logausgabe fehler bei keiner Verbindung behoben
                              // 1.03 schedule gegen setInterval() getauscht.
                              
                              var intervalMinutes = 5;
                              var debuglevel = 1;
                              var debugchannel = 'info';
                              
                              function dwmlog( message, level, channel) {
                                 if (typeof channel === 'undefined') {
                                     channel = debugchannel;
                                 }
                                 if ( typeof level === 'undefined')
                                 {
                                     level = debuglevel;
                                 }
                                 if ( debuglevel >= level ) {
                                     log (message, channel );
                                 }
                              }
                              
                              var AdapterId = "javascript."+instance;
                              var ChannelId = "UWZ";
                              
                              var forceInitStates = false;
                              var numOfWarnings = 7;
                              
                              var url='http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=XXXAREAXXX';
                              
                              
                              /********************* Hier die Warnzellen-Id's eintragen *****************************/
                              var warncellid = ['UWZDE55606'];
                              /**************************************************************************************/
                              
                              
                              var UWZTypesArray=["n/a","unbekannt","Sturm/Orkan","Schneefall","Starkregen","Extremfrost","Waldbrandgefahr","Gewitter","GlÀtte","Hitze","Glatteisregen","Bodenfrost"];
                              
                              function createStates(n){
                                 var AreaChannelId = null;
                              
                                 for (var j=0; j<warncellid.length; j++) {
                                     AreaChannelId=ChannelId+"."+warncellid[j];
                                     for (let i=0; i<n; i++) {
                                         createState(AreaChannelId+".warning."+i+".ShortText","",forceInitStates,{type: 'string'});
                                         createState(AreaChannelId+".warning."+i+".LongText","",forceInitStates,{type: 'string'});
                                         createState(AreaChannelId+".warning."+i+".object","",forceInitStates,{type: 'string'});
                                         createState(AreaChannelId+".warning."+i+".begin","",forceInitStates,{type: 'string'});
                                         createState(AreaChannelId+".warning."+i+".end","",forceInitStates,{type: 'string'});
                                         createState(AreaChannelId+".warning."+i+".severity",0,forceInitStates,{type: 'number'});
                                         createState(AreaChannelId+".warning."+i+".type",0,forceInitStates,{min:0, max:11, type: 'number',states:UWZTypesArray});
                                         createState(AreaChannelId+".warning."+i+".uwzLevel",0,forceInitStates,{min:0, max:5, type: 'number'});
                                         createState(AreaChannelId+".warning."+i+".uwzColor",0,forceInitStates,{type:'number'});
                                         createState(AreaChannelId+".warning."+i+".HTMLShort","",forceInitStates,{type: 'string'});
                                         createState(AreaChannelId+".warning."+i+".HTMLLong","",forceInitStates,{type: 'string'});
                                     }
                                 }
                              }
                              
                              function getUWZLevel (warnName){
                                 var result = -1; // -1 is an error!
                                 var alert = warnName.split("_");
                                 var colors = ["green","darkgreen","yellow","orange","red","violet"];
                              
                                 if (alert[0]=="notice") { result = 1; }
                                 else if (alert[1] == "forewarn") { result = 2; }
                                 else {
                                     result = colors.indexOf(alert[2]);
                                 }
                                 return result;
                              }
                              
                              function getUWZUrgency (warnName){
                                 var result = 0;
                              
                                 var alert = warnName.split("_");
                                 if (alert[1] == "forewarn") {
                                     result = 1;
                                 }
                                 else {
                                     result = 2; // immediate;
                                 }
                                 return result;
                              }
                              
                              function getLevelColor(uwzLevel) {
                                 var uwzColor = [
                                     0x00ff00, // 0 - GrĂŒn
                                     0x009b00, // 1 - DunkelgrĂŒn
                                     0xffff00, // 2 - Gelb Wetterwarnungen (Stufe 1)
                                     0xffb400, // 3 - Orange Warnungen vor markantem Wetter (Stufe 2)
                                     0xff0000, // 4 - Rot Unwetterwarnungen (Stufe 3)
                                     0xff00ff, // 5 - Violett Warnungen vor extremem Unwetter (Stufe 4)
                                 ];
                                 if (uwzLevel>=0 && uwzLevel<=5)
                                     return uwzColor[uwzLevel];
                                 else
                                     return 0;
                              }
                              
                              function createHTMLShort(w){
                                 var html = '<div style="background: #'+w.uwzColor.toString(16)+'" border:"10px">';
                              
                                 var theData = JSON.parse(w.object);
                              
                                 html += '<h3>';
                                 if (w.uwzUrgency==1) html+="Vorwarnung vor "; else html+="Warnung vor ";
                                 html += UWZTypesArray[w.type];
                                 html +="</h3>";
                                 html += "<p>Zeitraum von "+formatDate(new Date(theData.dtgStart*1000),"WW, DD. OO YYYY hh:mm")+" Uhr bis "+formatDate(new Date(theData.dtgEnd*1000),"WW, DD. OO YYYY hh:mm")+" Uhr </p>";
                                 html += '<p>'+w.ShortText+'</p>';
                                 html += "</div>";
                                 return html;
                              }
                              
                              function createHTMLLong(w){
                                 var html = '<div style="background: #'+w.uwzColor.toString(16)+'" border:"10px">';
                              
                                 var theData = JSON.parse(w.object);
                              
                                 html += '<h3>';
                                 if (w.uwzUrgency==1) html+="Vorwarnung vor "; else html+="Warnung vor ";
                                 html += UWZTypesArray[w.type];
                                 html +="</h3>";
                                 html += "<p>Zeitraum von "+formatDate(new Date(theData.dtgStart*1000),"WW, DD. OO YYYY hh:mm")+" Uhr bis "+formatDate(new Date(theData.dtgEnd*1000),"WW, DD. OO YYYY hh:mm")+" Uhr </p>";
                                 html += '<p>'+w.LongText+'</p>';
                                 html += "</div>";
                                 return html;
                              }
                              
                              function processResultEntry(w) {
                                 this.object = JSON.stringify(w);
                              
                                 this.begin=formatDate(new Date(w.dtgStart*1000),"DD.MM.YYYY hh:mm");
                                 this.end=formatDate(new Date(w.dtgEnd*1000),"DD.MM.YYYY hh:mm");
                              
                                 // dwmlog (formatDate(this.begin,"DD.MM.YYYY hh:mm"),4);
                                 // dwmlog (formatDate(this.end,"DD.MM.YYYY hh:mm"),4);
                              
                                 this.LongText = w.payload.translationsLongText.DE;
                                 this.ShortText = w.payload.translationsShortText.DE;
                              
                                 this.severity = w.severity;
                                 this.type = w.type;
                                 this.uwzLevel = getUWZLevel(w.payload.levelName);
                                 this.uwzUrgency = getUWZUrgency(w.payload.levelName);
                                 this.uwzColor = getLevelColor(this.uwzLevel);
                                 var x = this;
                                 this.HTMLShort = createHTMLShort(x);
                                 this.HTMLLong  = createHTMLLong(x);
                              }
                              
                              function processData(Area,data) {
                                 if (!data) {
                                    return;
                                 }
                                 var AreaChannelId=ChannelId+"."+Area;
                              
                                 var thedata = JSON.parse(data);
                                 var warnings= [];
                              
                                 if (thedata.results.length>0) {
                                     for (let i=0; i<thedata.results.length; i++) {
                                         warnings.push(new processResultEntry(thedata.results[i]));
                                     }
                                 }
                              
                                 warnings.sort(function(a,b){
                                     var asort = a.severity;
                                     var bsort = b.severity;
                              
                                     return bsort-asort;
                                 });
                              
                              
                                 dwmlog(JSON.stringify(warnings),2);
                              
                                 for (let i=0; i<numOfWarnings; i++) {
                                     if (i<warnings.length) {
                                         setState(AreaChannelId+".warning."+i+".LongText",warnings[i].LongText);
                                         setState(AreaChannelId+".warning."+i+".ShortText",warnings[i].ShortText);
                                         setState(AreaChannelId+".warning."+i+".object",warnings[i].object);
                                         setState(AreaChannelId+".warning."+i+".begin",warnings[i].begin);
                                         setState(AreaChannelId+".warning."+i+".end",warnings[i].end);
                                         setState(AreaChannelId+".warning."+i+".severity",warnings[i].severity);
                                         setState(AreaChannelId+".warning."+i+".type",warnings[i].type);
                                         setState(AreaChannelId+".warning."+i+".uwzLevel",warnings[i].uwzLevel);
                                         setState(AreaChannelId+".warning."+i+".uwzColor",warnings[i].uwzColor);
                                         setState(AreaChannelId+".warning."+i+".HTMLShort",warnings[i].HTMLShort);
                                         setState(AreaChannelId+".warning."+i+".HTMLLong",warnings[i].HTMLLong);
                                     } else {
                                         setState(AreaChannelId+".warning."+i+".LongText","");
                                         setState(AreaChannelId+".warning."+i+".ShortText","");
                                         setState(AreaChannelId+".warning."+i+".object","{}");
                                         setState(AreaChannelId+".warning."+i+".begin","");
                                         setState(AreaChannelId+".warning."+i+".end","");
                                         setState(AreaChannelId+".warning."+i+".severity",0);
                                         setState(AreaChannelId+".warning."+i+".type",0);
                                         setState(AreaChannelId+".warning."+i+".uwzLevel",0);
                                         setState(AreaChannelId+".warning."+i+".uwzColor",0);
                                         setState(AreaChannelId+".warning."+i+".HTMLShort","");
                                         setState(AreaChannelId+".warning."+i+".HTMLLong","");
                                   }
                                 }
                              }
                              
                              function getAreaFromURI(uri) {
                                 var searchstr = "&areaID=";
                                 var n = uri.search(searchstr);
                                 var result = uri.slice(n+searchstr.length,uri.length);
                                 return result;
                              }
                              
                              createStates(numOfWarnings);
                              // processData(jsond2);
                              
                              setInterval(function(){
                                 for (var i=0; i<warncellid.length; i++) {
                                         request({
                                             uri: url.replace("XXXAREAXXX",warncellid[i]),
                                             method: "GET",
                                             timeout: 10000,
                                             followRedirect: true,
                                             maxRedirects: 10
                                         }, function(error, response, body) {
                                             // dwmlog("UWZ Error" + error,2);
                                             // dwmlog("UWZ Response: " + JSON.stringify(response),4);
                                             dwmlog("UWZ Body: " + body,4);
                                             if (response !== undefined && typeof response === 'object' ) {
                                                 dwmlog("AREA: "+getAreaFromURI(response.request.uri.href),4);
                                                 if (response.statusCode == 200) {
                                                     processData(getAreaFromURI(response.request.uri.href),body);
                                                 }
                                             }
                                         });
                                 }
                              },intervalMinutes * 60 * 1000);
                              
                              

                              behoben:

                              • Hatte keine Internetverbindung und das Script ist mit Fehlern ausgestiegen (behoben)
                              • schedule gegen setInterval() getauscht. Zugriff von allen Nutzern des Script zu einer bestimmten Uhrzeit auf den Server kann einem DDoS Angriff gleich kommen. Mit setIntervall wird dieser Zugriff zeitlich variieren. Wird wohl kein wirkliches Problem sein, aber gehört sich so. Jetzt lĂ€uft das Script das erste mal nach Startzeit + intervalMinutes Minuten.

                              Und ich hatte schon vorher alle logausgaben abgeschaltet, wenn man welche will muß man debuglevel auf 4 oder 5 stellen.

                              Und grundsÀtzlich, man fragt einen Server der einem kostenlos Daten gibt nicht alle paar Sekunden ab.

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              sigi234S 1 Antwort Letzte Antwort
                              2
                              • T ticaki

                                Update fĂŒr UWZ-Script von dwm

                                // Version 1.03
                                // Author: dwm
                                // Änderungen ticaki
                                // 1.01 debuglevel keine Ausgabe bei 1;
                                // 1.02 let und variable "Fehler" behoben (wurde als Syntaxfehler angezeigt)
                                // 1.03 logausgabe fehler bei keiner Verbindung behoben
                                // 1.03 schedule gegen setInterval() getauscht.
                                
                                var intervalMinutes = 5;
                                var debuglevel = 1;
                                var debugchannel = 'info';
                                
                                function dwmlog( message, level, channel) {
                                   if (typeof channel === 'undefined') {
                                       channel = debugchannel;
                                   }
                                   if ( typeof level === 'undefined')
                                   {
                                       level = debuglevel;
                                   }
                                   if ( debuglevel >= level ) {
                                       log (message, channel );
                                   }
                                }
                                
                                var AdapterId = "javascript."+instance;
                                var ChannelId = "UWZ";
                                
                                var forceInitStates = false;
                                var numOfWarnings = 7;
                                
                                var url='http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=XXXAREAXXX';
                                
                                
                                /********************* Hier die Warnzellen-Id's eintragen *****************************/
                                var warncellid = ['UWZDE55606'];
                                /**************************************************************************************/
                                
                                
                                var UWZTypesArray=["n/a","unbekannt","Sturm/Orkan","Schneefall","Starkregen","Extremfrost","Waldbrandgefahr","Gewitter","GlÀtte","Hitze","Glatteisregen","Bodenfrost"];
                                
                                function createStates(n){
                                   var AreaChannelId = null;
                                
                                   for (var j=0; j<warncellid.length; j++) {
                                       AreaChannelId=ChannelId+"."+warncellid[j];
                                       for (let i=0; i<n; i++) {
                                           createState(AreaChannelId+".warning."+i+".ShortText","",forceInitStates,{type: 'string'});
                                           createState(AreaChannelId+".warning."+i+".LongText","",forceInitStates,{type: 'string'});
                                           createState(AreaChannelId+".warning."+i+".object","",forceInitStates,{type: 'string'});
                                           createState(AreaChannelId+".warning."+i+".begin","",forceInitStates,{type: 'string'});
                                           createState(AreaChannelId+".warning."+i+".end","",forceInitStates,{type: 'string'});
                                           createState(AreaChannelId+".warning."+i+".severity",0,forceInitStates,{type: 'number'});
                                           createState(AreaChannelId+".warning."+i+".type",0,forceInitStates,{min:0, max:11, type: 'number',states:UWZTypesArray});
                                           createState(AreaChannelId+".warning."+i+".uwzLevel",0,forceInitStates,{min:0, max:5, type: 'number'});
                                           createState(AreaChannelId+".warning."+i+".uwzColor",0,forceInitStates,{type:'number'});
                                           createState(AreaChannelId+".warning."+i+".HTMLShort","",forceInitStates,{type: 'string'});
                                           createState(AreaChannelId+".warning."+i+".HTMLLong","",forceInitStates,{type: 'string'});
                                       }
                                   }
                                }
                                
                                function getUWZLevel (warnName){
                                   var result = -1; // -1 is an error!
                                   var alert = warnName.split("_");
                                   var colors = ["green","darkgreen","yellow","orange","red","violet"];
                                
                                   if (alert[0]=="notice") { result = 1; }
                                   else if (alert[1] == "forewarn") { result = 2; }
                                   else {
                                       result = colors.indexOf(alert[2]);
                                   }
                                   return result;
                                }
                                
                                function getUWZUrgency (warnName){
                                   var result = 0;
                                
                                   var alert = warnName.split("_");
                                   if (alert[1] == "forewarn") {
                                       result = 1;
                                   }
                                   else {
                                       result = 2; // immediate;
                                   }
                                   return result;
                                }
                                
                                function getLevelColor(uwzLevel) {
                                   var uwzColor = [
                                       0x00ff00, // 0 - GrĂŒn
                                       0x009b00, // 1 - DunkelgrĂŒn
                                       0xffff00, // 2 - Gelb Wetterwarnungen (Stufe 1)
                                       0xffb400, // 3 - Orange Warnungen vor markantem Wetter (Stufe 2)
                                       0xff0000, // 4 - Rot Unwetterwarnungen (Stufe 3)
                                       0xff00ff, // 5 - Violett Warnungen vor extremem Unwetter (Stufe 4)
                                   ];
                                   if (uwzLevel>=0 && uwzLevel<=5)
                                       return uwzColor[uwzLevel];
                                   else
                                       return 0;
                                }
                                
                                function createHTMLShort(w){
                                   var html = '<div style="background: #'+w.uwzColor.toString(16)+'" border:"10px">';
                                
                                   var theData = JSON.parse(w.object);
                                
                                   html += '<h3>';
                                   if (w.uwzUrgency==1) html+="Vorwarnung vor "; else html+="Warnung vor ";
                                   html += UWZTypesArray[w.type];
                                   html +="</h3>";
                                   html += "<p>Zeitraum von "+formatDate(new Date(theData.dtgStart*1000),"WW, DD. OO YYYY hh:mm")+" Uhr bis "+formatDate(new Date(theData.dtgEnd*1000),"WW, DD. OO YYYY hh:mm")+" Uhr </p>";
                                   html += '<p>'+w.ShortText+'</p>';
                                   html += "</div>";
                                   return html;
                                }
                                
                                function createHTMLLong(w){
                                   var html = '<div style="background: #'+w.uwzColor.toString(16)+'" border:"10px">';
                                
                                   var theData = JSON.parse(w.object);
                                
                                   html += '<h3>';
                                   if (w.uwzUrgency==1) html+="Vorwarnung vor "; else html+="Warnung vor ";
                                   html += UWZTypesArray[w.type];
                                   html +="</h3>";
                                   html += "<p>Zeitraum von "+formatDate(new Date(theData.dtgStart*1000),"WW, DD. OO YYYY hh:mm")+" Uhr bis "+formatDate(new Date(theData.dtgEnd*1000),"WW, DD. OO YYYY hh:mm")+" Uhr </p>";
                                   html += '<p>'+w.LongText+'</p>';
                                   html += "</div>";
                                   return html;
                                }
                                
                                function processResultEntry(w) {
                                   this.object = JSON.stringify(w);
                                
                                   this.begin=formatDate(new Date(w.dtgStart*1000),"DD.MM.YYYY hh:mm");
                                   this.end=formatDate(new Date(w.dtgEnd*1000),"DD.MM.YYYY hh:mm");
                                
                                   // dwmlog (formatDate(this.begin,"DD.MM.YYYY hh:mm"),4);
                                   // dwmlog (formatDate(this.end,"DD.MM.YYYY hh:mm"),4);
                                
                                   this.LongText = w.payload.translationsLongText.DE;
                                   this.ShortText = w.payload.translationsShortText.DE;
                                
                                   this.severity = w.severity;
                                   this.type = w.type;
                                   this.uwzLevel = getUWZLevel(w.payload.levelName);
                                   this.uwzUrgency = getUWZUrgency(w.payload.levelName);
                                   this.uwzColor = getLevelColor(this.uwzLevel);
                                   var x = this;
                                   this.HTMLShort = createHTMLShort(x);
                                   this.HTMLLong  = createHTMLLong(x);
                                }
                                
                                function processData(Area,data) {
                                   if (!data) {
                                      return;
                                   }
                                   var AreaChannelId=ChannelId+"."+Area;
                                
                                   var thedata = JSON.parse(data);
                                   var warnings= [];
                                
                                   if (thedata.results.length>0) {
                                       for (let i=0; i<thedata.results.length; i++) {
                                           warnings.push(new processResultEntry(thedata.results[i]));
                                       }
                                   }
                                
                                   warnings.sort(function(a,b){
                                       var asort = a.severity;
                                       var bsort = b.severity;
                                
                                       return bsort-asort;
                                   });
                                
                                
                                   dwmlog(JSON.stringify(warnings),2);
                                
                                   for (let i=0; i<numOfWarnings; i++) {
                                       if (i<warnings.length) {
                                           setState(AreaChannelId+".warning."+i+".LongText",warnings[i].LongText);
                                           setState(AreaChannelId+".warning."+i+".ShortText",warnings[i].ShortText);
                                           setState(AreaChannelId+".warning."+i+".object",warnings[i].object);
                                           setState(AreaChannelId+".warning."+i+".begin",warnings[i].begin);
                                           setState(AreaChannelId+".warning."+i+".end",warnings[i].end);
                                           setState(AreaChannelId+".warning."+i+".severity",warnings[i].severity);
                                           setState(AreaChannelId+".warning."+i+".type",warnings[i].type);
                                           setState(AreaChannelId+".warning."+i+".uwzLevel",warnings[i].uwzLevel);
                                           setState(AreaChannelId+".warning."+i+".uwzColor",warnings[i].uwzColor);
                                           setState(AreaChannelId+".warning."+i+".HTMLShort",warnings[i].HTMLShort);
                                           setState(AreaChannelId+".warning."+i+".HTMLLong",warnings[i].HTMLLong);
                                       } else {
                                           setState(AreaChannelId+".warning."+i+".LongText","");
                                           setState(AreaChannelId+".warning."+i+".ShortText","");
                                           setState(AreaChannelId+".warning."+i+".object","{}");
                                           setState(AreaChannelId+".warning."+i+".begin","");
                                           setState(AreaChannelId+".warning."+i+".end","");
                                           setState(AreaChannelId+".warning."+i+".severity",0);
                                           setState(AreaChannelId+".warning."+i+".type",0);
                                           setState(AreaChannelId+".warning."+i+".uwzLevel",0);
                                           setState(AreaChannelId+".warning."+i+".uwzColor",0);
                                           setState(AreaChannelId+".warning."+i+".HTMLShort","");
                                           setState(AreaChannelId+".warning."+i+".HTMLLong","");
                                     }
                                   }
                                }
                                
                                function getAreaFromURI(uri) {
                                   var searchstr = "&areaID=";
                                   var n = uri.search(searchstr);
                                   var result = uri.slice(n+searchstr.length,uri.length);
                                   return result;
                                }
                                
                                createStates(numOfWarnings);
                                // processData(jsond2);
                                
                                setInterval(function(){
                                   for (var i=0; i<warncellid.length; i++) {
                                           request({
                                               uri: url.replace("XXXAREAXXX",warncellid[i]),
                                               method: "GET",
                                               timeout: 10000,
                                               followRedirect: true,
                                               maxRedirects: 10
                                           }, function(error, response, body) {
                                               // dwmlog("UWZ Error" + error,2);
                                               // dwmlog("UWZ Response: " + JSON.stringify(response),4);
                                               dwmlog("UWZ Body: " + body,4);
                                               if (response !== undefined && typeof response === 'object' ) {
                                                   dwmlog("AREA: "+getAreaFromURI(response.request.uri.href),4);
                                                   if (response.statusCode == 200) {
                                                       processData(getAreaFromURI(response.request.uri.href),body);
                                                   }
                                               }
                                           });
                                   }
                                },intervalMinutes * 60 * 1000);
                                
                                

                                behoben:

                                • Hatte keine Internetverbindung und das Script ist mit Fehlern ausgestiegen (behoben)
                                • schedule gegen setInterval() getauscht. Zugriff von allen Nutzern des Script zu einer bestimmten Uhrzeit auf den Server kann einem DDoS Angriff gleich kommen. Mit setIntervall wird dieser Zugriff zeitlich variieren. Wird wohl kein wirkliches Problem sein, aber gehört sich so. Jetzt lĂ€uft das Script das erste mal nach Startzeit + intervalMinutes Minuten.

                                Und ich hatte schon vorher alle logausgaben abgeschaltet, wenn man welche will muß man debuglevel auf 4 oder 5 stellen.

                                Und grundsÀtzlich, man fragt einen Server der einem kostenlos Daten gibt nicht alle paar Sekunden ab.

                                sigi234S Online
                                sigi234S Online
                                sigi234
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von sigi234
                                #252

                                @ticaki

                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.uwz.unbekannt.end" which expects a string. Please fix your code to use a string or change the state type to number. Th
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at processImmediate (timers.js:658:5)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at tryOnImmediate (timers.js:676:5)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at runCallback (timers.js:705:18)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4851:37)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:450:25)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1123:38)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at Object.onChangeDWD (script.js.Alexa.Ansage_UWZ10:1345:5)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at onChange (script.js.Alexa.Ansage_UWZ10:1360:9)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at addDatabaseData (script.js.Alexa.Ansage_UWZ10:1510:17)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at setAlertState (script.js.Alexa.Ansage_UWZ10:761:21)
                                javascript.0	2020-03-25 22:12:01.982	warn	(1664) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1426:20)
                                javascript.0	2020-03-25 22:12:01.981	warn	(1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.uwz.unbekannt.begin" which expects a string. Please fix your code to use a string or change the state type to number.
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at processImmediate (timers.js:658:5)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at tryOnImmediate (timers.js:676:5)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at runCallback (timers.js:705:18)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4851:37)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:450:25)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1123:38)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at Object.onChangeDWD (script.js.Alexa.Ansage_UWZ10:1345:5)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at onChange (script.js.Alexa.Ansage_UWZ10:1360:9)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at addDatabaseData (script.js.Alexa.Ansage_UWZ10:1510:17)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at setAlertState (script.js.Alexa.Ansage_UWZ10:762:21)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1426:20)
                                javascript.0	2020-03-25 22:12:01.974	warn	(1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.dwd.Sturm.end" which expects a string. Please fix your code to use a string or change the state type to number. This w
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at processImmediate (timers.js:658:5)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at tryOnImmediate (timers.js:676:5)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at runCallback (timers.js:705:18)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4851:37)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:450:25)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1123:38)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at Object.onChangeDWD (script.js.Alexa.Ansage_UWZ10:1345:5)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at onChange (script.js.Alexa.Ansage_UWZ10:1360:9)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at addDatabaseData (script.js.Alexa.Ansage_UWZ10:1510:17)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at setAlertState (script.js.Alexa.Ansage_UWZ10:761:21)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1426:20)
                                javascript.0	2020-03-25 22:12:01.973	warn	(1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.dwd.Sturm.begin" which expects a string. Please fix your code to use a string or change the state type to number. This
                                javascript.0	2020-03-25 22:12:01.971	info	(1664) script.js.Alexa.Ansage_UWZ10: Add DWD warning to database. headline: Amtliche WARNUNG vor WINDBÖEN
                                

                                Version 0.97.2.1

                                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Immer Daten sichern!

                                1 Antwort Letzte Antwort
                                0
                                • T ticaki

                                  V0.97.0

                                  • Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK
                                  • Verbesserung: UWZ/DWD Nachrichten enthalten jetzt Symbole an dem man den Typ mit einem Blick erkennt
                                  • .alert wurde angepasst. Die Datenpunkte begin und end sind jetzt value.time, da value.datetime nicht mehr erwĂŒnscht ist. (vorher Zeichenkette, jetzt Nummer)
                                  • .alert verbessert.
                                  warningTypesString[DWD] = [
                                      ['Gewitter','⚡'],
                                      ['Sturm', 'đŸŒȘ'],
                                      ['Regen', '🌧'],
                                      ['Schnee', '🌹'],
                                      ['Nebel', '🌁'],
                                      ['Frost', '🌡'],
                                      ['Glatteis', '❄'],
                                      ['Tauwetter', '⛄'],
                                      ['Hitzewarnungen', 'đŸ”„'],
                                      ['UV_Warnungen', '🔆']/*,
                                      ['Kuestenwarnungen', ''],
                                      ['Binnenseewarnungen', '']*/
                                  ];
                                  
                                  warningTypesString[UWZ] = [
                                      ['n_a', ''],
                                      ['unbekannt', ''],
                                      ['Sturm-Orkan', 'đŸŒȘ'],
                                      ['Schneefall', '🌹'],
                                      ['Starkregen', '🌧'],
                                      ['Extremfrost', '🌡'],
                                      ['Waldbrandgefahr', 'đŸ”„'],
                                      ['Gewitter', '⚡'],
                                      ['GlĂ€tte', '❄'],
                                      ['Hitze', '🔆'],
                                      ['Glatteisregen', '❄'],
                                      ['Bodenfrost', '🌡']
                                  ];
                                  

                                  todo:

                                  • das Ausfiltern von aufgehoben Meldungen beim "VerlĂ€ngern" einer Warnung, will noch nicht so.
                                  • Anscheinend hat DWD auch Verbindungsprobleme. Umbau auf das selbe System wie Nina - also löschen erst nach 90 Minuten oder wenns abgelaufen ist.

                                  EDIT 2. Punkt zur todo hinzugefĂŒgt

                                  T Nicht stören
                                  T Nicht stören
                                  ticaki
                                  schrieb am zuletzt editiert von ticaki
                                  #253

                                  @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                  V0.97.0

                                  • Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK

                                  @sigi234
                                  :) lösche den Datenzweig und starte das Script neu. EDIT: Nur die Punkte unter .alert. mĂŒssen gelöscht werden

                                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                  Spenden

                                  sigi234S 1 Antwort Letzte Antwort
                                  0
                                  • T ticaki

                                    @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                    V0.97.0

                                    • Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK

                                    @sigi234
                                    :) lösche den Datenzweig und starte das Script neu. EDIT: Nur die Punkte unter .alert. mĂŒssen gelöscht werden

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #254

                                    @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                    @sigi234
                                    :) lösche den Datenzweig und starte das Script neu. EDIT: Nur die Punkte unter .alert. mĂŒssen gelöscht werden

                                    Ok, hatte die neue Version kopiert und darauf anscheinend vergessen. Sollte das in der Neuen Version nicht weg sein?

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • sigi234S sigi234

                                      @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                      @sigi234
                                      :) lösche den Datenzweig und starte das Script neu. EDIT: Nur die Punkte unter .alert. mĂŒssen gelöscht werden

                                      Ok, hatte die neue Version kopiert und darauf anscheinend vergessen. Sollte das in der Neuen Version nicht weg sein?

                                      T Nicht stören
                                      T Nicht stören
                                      ticaki
                                      schrieb am zuletzt editiert von
                                      #255

                                      @sigi234
                                      Ich hoffe ich verstehe dich richtig:
                                      Ich hab die Datenart von begin und end unter .alert. geÀndert. Ist jetzt eine Nummer, vorher war es eine Zeichenkette. Das soll auch so bleiben, ein Datum als String in einen Datenpunkt schreiben ist "falsch" :)

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      sigi234S 1 Antwort Letzte Antwort
                                      0
                                      • T ticaki

                                        @sigi234
                                        Ich hoffe ich verstehe dich richtig:
                                        Ich hab die Datenart von begin und end unter .alert. geÀndert. Ist jetzt eine Nummer, vorher war es eine Zeichenkette. Das soll auch so bleiben, ein Datum als String in einen Datenpunkt schreiben ist "falsch" :)

                                        sigi234S Online
                                        sigi234S Online
                                        sigi234
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #256

                                        @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                        Ist jetzt eine Nummer, vorher war es eine Zeichenkette.

                                        Das stimmt.

                                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                        Immer Daten sichern!

                                        1 Antwort Letzte Antwort
                                        0
                                        • Chris_71C Offline
                                          Chris_71C Offline
                                          Chris_71
                                          schrieb am zuletzt editiert von
                                          #257

                                          @ticaki
                                          Irgendwie bekomme ich keine Nina-Warnungen (zB jetzt wegen Corona) angezeigt.
                                          Vielleicht habe ich ja auch nur die Variablen falsch befĂŒllt.

                                          var uGemeinde = 'Unna';
                                          var uLandkreis = '05978';

                                          T 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

                                          619

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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