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.6k 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.
  • 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
                  • Chris_71C Chris_71

                    @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 Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #258

                    @Chris_71
                    Hast du unter .config. in der Objektansicht Nina auf true?
                    Was passiert wenn du unter "command." auf einen der Buttons klickst?

                    Beim ersten Test ist das zwar nervig, aber nur das Starten des Scripts löst keine Nachrichten aus, das Script muß laufen während die Warnung eintrifft. Sonst würde es jedesmal Nachrichten hageln, wenn das Script gestartet wird.

                    Davon unabhängig. uLandkreis ist der Name deines Landkreises nicht die Zahl. z.B. Kreis Bitburg... dann schreibe da 'Bitburg' rein. Das ist aber optional.

                    EDIT: Eigentlich sollte beim Modus umschalten Nachrichten Versand werden. Muß das nochmal testen.

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    1 Antwort Letzte Antwort
                    0
                    • crunchipC Abwesend
                      crunchipC Abwesend
                      crunchip
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #259

                      Ich checks grad nicht mehr, endlich heut mal ne Wetterwarnung im DWD, bekomme aber gar keine Meldung, auch manuell kommt nix
                      extra nochmal das script von git geladen, aber da kommt einfach nichts

                      umgestiegen von Proxmox auf Unraid

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

                        Stand etwas im log bei der manuellen Auslösung? Benutzt du Telegramm und email?
                        EDIT: Bei mir läuft es, nur UWZ Meldungen gibt es bei mir so gut wie nie.

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

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

                          @ticaki
                          Unter .config. steht nina auf true - hab alle 3 (UWZ,DWD und Nina) auf true
                          Selbst wenn die Warnhinweise bei nina aktualisiert werden wird keine Warnung per Pushover oder Alexa ausgegeben.
                          Über den Button .commands.alexa oder .pushover wird nur der Hinweis das alle Warnmeldungen aufgehoben sind, da es im Moment keine Meldungen bei DWD oder UWZ gibt, übermittelt .

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

                            @Chris_71
                            Vorweg: hab gerade das Github Script bei mir installiert, neu eingerichtet und es geht.

                            ich hab die Punkte unten angepasst.

                            uPushdienst+= PUSHOVER;          // Auskommentieren zum aktivieren
                            uPushdienst+= ALEXA;             // Auskommentieren zum aktivieren. Einstellungen nicht vergessen
                            var uGemeinde
                            var uLandkreis
                            var idAlexaSerial
                            

                            Und Nina auf true gestellt.

                            ARGH... mist... das steht bestimmt nicht in der Anleitung.
                            Du mußt im Nina-Adapter bei rawJson ein Häckchen machen.

                            EDIT: Ja stand nicht in der Anleitung... Sorry, habs ergänzt.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

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

                              @ticaki
                              Geht - lag an dem Häkchen rawJson
                              Eine von 2 Meldungen kam schon mal an
                              Danke

                              Edit:
                              Fehler bei der 2ten Meldung, hier ist wohl der Text für Pushover zu lang

                              eeea472d-b5a4-46bd-a2d8-67180767445d-grafik.png

                              T 2 Antworten Letzte Antwort
                              0
                              • T ticaki

                                Stand etwas im log bei der manuellen Auslösung? Benutzt du Telegramm und email?
                                EDIT: Bei mir läuft es, nur UWZ Meldungen gibt es bei mir so gut wie nie.

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

                                @ticaki ist mir nichts aufgefallen, kam dann aber auch drüber hinweg, da was dazwischen kam.
                                Ich habe zur Zeit telegram, iogo, alexa und sayit aktiv, kam aber nirgends etwas.
                                Wetterwarnung ist inzwischen wieder weg....muss ich mal in Ruhe schauen und nochmal das log kontrollieren

                                umgestiegen von Proxmox auf Unraid

                                1 Antwort Letzte Antwort
                                0
                                • Chris_71C Chris_71

                                  @ticaki
                                  Geht - lag an dem Häkchen rawJson
                                  Eine von 2 Meldungen kam schon mal an
                                  Danke

                                  Edit:
                                  Fehler bei der 2ten Meldung, hier ist wohl der Text für Pushover zu lang

                                  eeea472d-b5a4-46bd-a2d8-67180767445d-grafik.png

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

                                  @Chris_71
                                  Das hatte ich noch nicht. Die url ist länger als 512 Zeichen... Kannst du mir mal deine AGS geben? Gerne auch als PN.

                                  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
                                    #266

                                    0.97.3

                                    • pushover prüft ob url kleiner als 512 Zeichen

                                    @crunchip
                                    Tue das :)

                                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                    Spenden

                                    crunchipC 1 Antwort Letzte Antwort
                                    0
                                    • T ticaki

                                      0.97.3

                                      • pushover prüft ob url kleiner als 512 Zeichen

                                      @crunchip
                                      Tue das :)

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

                                      @ticaki habe diese Meldungen

                                      2020-03-26 15:54:15.913 - info: javascript.0 (6984) script.js.Ansagen.DWD-Wetter-Pushmeldung: Keine erlaubten Versandmöglichkeiten im manuellen Modus gefunden!
                                      

                                      umgestiegen von Proxmox auf Unraid

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • crunchipC crunchip

                                        @ticaki habe diese Meldungen

                                        2020-03-26 15:54:15.913 - info: javascript.0 (6984) script.js.Ansagen.DWD-Wetter-Pushmeldung: Keine erlaubten Versandmöglichkeiten im manuellen Modus gefunden!
                                        
                                        T Nicht stören
                                        T Nicht stören
                                        ticaki
                                        schrieb am zuletzt editiert von
                                        #268

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

                                        @ticaki habe diese Meldungen

                                        2020-03-26 15:54:15.913 - info: javascript.0 (6984) script.js.Ansagen.DWD-Wetter-Pushmeldung: Keine erlaubten Versandmöglichkeiten im manuellen Modus gefunden!
                                        

                                        Darauf hab ich gehofft. Schau mal nach ob du unter

                                        javascript.0.wetterwarnung.config.manuell.dwd
                                        

                                        alles relevante auf false hast

                                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                        Spenden

                                        crunchipC 1 Antwort Letzte Antwort
                                        0
                                        • T ticaki

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

                                          @ticaki habe diese Meldungen

                                          2020-03-26 15:54:15.913 - info: javascript.0 (6984) script.js.Ansagen.DWD-Wetter-Pushmeldung: Keine erlaubten Versandmöglichkeiten im manuellen Modus gefunden!
                                          

                                          Darauf hab ich gehofft. Schau mal nach ob du unter

                                          javascript.0.wetterwarnung.config.manuell.dwd
                                          

                                          alles relevante auf false hast

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

                                          @ticaki a18336c0-6949-4993-bb24-17caaef268d9-image.png

                                          umgestiegen von Proxmox auf Unraid

                                          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

                                          880

                                          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