Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      ticaki Developer @drapo last edited by ticaki

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

      1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • T
          ticaki Developer last edited by 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 T 3 Replies Last reply Reply Quote 1
          • D
            drapo @ticaki last edited by

            @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 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @drapo last edited by 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 1 Reply Last reply Reply Quote 0
              • D
                drapo @ticaki last edited by

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

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @ticaki last edited by 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.

                  crunchip 1 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @ticaki last edited by 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 1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer @crunchip last edited by 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 🙂

                      crunchip 1 Reply Last reply Reply Quote 0
                      • crunchip
                        crunchip Forum Testing Most Active @ticaki last edited by

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

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ticaki Developer @crunchip last edited by 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 🙂

                          crunchip 1 Reply Last reply Reply Quote 0
                          • crunchip
                            crunchip Forum Testing Most Active @ticaki last edited by

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

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              ticaki Developer @crunchip last edited by ticaki

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

                              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.
                              1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer last edited by 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.

                                sigi234 1 Reply Last reply Reply Quote 2
                                • sigi234
                                  sigi234 Forum Testing Most Active @ticaki last edited by sigi234

                                  @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

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer @ticaki last edited by 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

                                    sigi234 1 Reply Last reply Reply Quote 0
                                    • sigi234
                                      sigi234 Forum Testing Most Active @ticaki last edited by

                                      @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 1 Reply Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @sigi234 last edited by

                                        @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" 🙂

                                        sigi234 1 Reply Last reply Reply Quote 0
                                        • sigi234
                                          sigi234 Forum Testing Most Active @ticaki last edited by

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

                                          Ist jetzt eine Nummer, vorher war es eine Zeichenkette.

                                          Das stimmt.

                                          1 Reply Last reply Reply Quote 0
                                          • Chris_71
                                            Chris_71 last edited by

                                            @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 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            667
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            53
                                            1521
                                            466114
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo