Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

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

Scheduled Pinned Locked Moved JavaScript
1.5k Posts 53 Posters 592.6k Views 52 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Megawaldi

    @ticaki
    Hier mal zum testen: Habs auf Intervall geändert 😉

    const axios = require('axios'); 
    
    var debuglevel = 1;
    var debugchannel = 'info';
    
    var channelId = "0_userdata.0.UWZ";
    
    var intervalMinutes = 5; 
    var forceInitStates = false;
    var numOfWarnings = 5;
    
    var url='http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=XXXAREAXXX';
    
    
    /********************* Hier die Warnzellen-Id's eintragen *****************************/
    var warncellid = ['UWZDE53879'];
    /**************************************************************************************/
    
    createStates(numOfWarnings);
    
    setInterval(work,intervalMinutes * 60 * 1000);
    work();
    
    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: 'object'});
             createState(areaChannelId+".warning."+i+".begin","",forceInitStates,{type: 'string'});
             createState(areaChannelId+".warning."+i+".end","",forceInitStates,{type: 'string'});
             createState(areaChannelId+".warning."+i+".severity",0,forceInitStates,{min:0, max:10, type: 'number'});
             createState(areaChannelId+".warning."+i+".type",0,forceInitStates,{min:0, max:11, type: 'number',states:{0:"n/a",1:"unbekannt",2:"Sturm/Orkan",3:"Schneefall",4:"Starkregen",5:"Extremfrost",6:"Waldbrandgefahr",7:"Gewitter",8:"Glätte",9:"Hitze",10:"Glatteisregen",11:"Bodenfrost"}});
             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){
       if(warnName != undefined){
           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;
       } else {
           return 0;
       }
    }
    
    function getUWZUrgency (warnName){
       if(warnName != undefined){
           var result = 0;
           
           var alert = warnName.split("_");
           if (alert[1] == "forewarn") {
               result = 1;
           }
           else {
               result = 2; // immediate;
           }
           return result;
       } else {
           return 0;
       }
    }
    
    function getLevelColor(uwzLevel,levelName) {
       if(levelName != undefined){
           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;
           }
       } else {
           return 0;
       }
    }
    
    function createHTMLShort(theData,uwzColor,uwzUrgency,shortText){
       if(theData.type != undefined){
           var html = '<div style="background: #'+uwzColor.toString(16)+'" border:"10px">';
           html += '<h3>';
           if (uwzUrgency==1) html+="Vorwarnung vor "; else html+="Warnung vor ";
           html += UWZTypesArray[theData.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>'+shortText+'</p>';
           html += "</div>";
           return html;
       } else {
           return '';
       }
    }
    
    function createHTMLLong(theData,uwzColor,uwzUrgency,longText){
       if(theData.type != undefined){
           var html = '<div style="background: #'+uwzColor.toString(16)+'" border:"10px">';
           html += '<h3>';
           if (uwzUrgency==1) html+="Vorwarnung vor "; else html+="Warnung vor ";
           html += UWZTypesArray[theData.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>'+longText+'</p>';
           html += "</div>";
           return html;
       } else {
           return '';
       }
    }
    
    async function writeResultEntry(_warnObj,_i,_area) {
       let areaChannelId=channelId+"."+_area+".warning."+_i;
       
       var warnObjSting = JSON.stringify(_warnObj)|| '{}';
       var warnObj = JSON.parse(warnObjSting);
       
       var object = _warnObj != undefined ? _warnObj : Object({});
       var begin = _warnObj != undefined ? formatDate(new Date(warnObj.dtgStart*1000),"DD.MM.YYYY hh:mm") : "";
       var end = _warnObj != undefined ? formatDate(new Date(warnObj.dtgEnd*1000),"DD.MM.YYYY hh:mm") : "";
       var longText = _warnObj != undefined ? warnObj.payload.translationsLongText.DE : "";
       var shortText = _warnObj != undefined ? warnObj.payload.translationsShortText.DE : ""; 
       var severity = warnObj.severity || 0;
       var type = warnObj.type || 0;
       var uwzLevel = _warnObj != undefined ? getUWZLevel(warnObj.payload.levelName) : getUWZLevel(undefined);
       var uwzUrgency = _warnObj != undefined ? getUWZUrgency(warnObj.payload.levelName) : getUWZUrgency(undefined);
       var uwzColor = _warnObj != undefined ? getLevelColor(uwzLevel,warnObj.payload.levelName):  getLevelColor(uwzLevel,undefined) ;
       var htmlShort = createHTMLShort(warnObj,uwzColor,uwzUrgency,shortText);
       var htmlLong  = createHTMLLong(warnObj,uwzColor,uwzUrgency,longText);
    
       var oldObject = (await getStateAsync(areaChannelId+".object")).val;
    
       if(JSON.stringify(object) != JSON.stringify(oldObject)){
           setState(areaChannelId+".LongText",longText);
           setState(areaChannelId+".ShortText",shortText);
           setState(areaChannelId+".object",object);
           setState(areaChannelId+".begin",begin)
           setState(areaChannelId+".end",end);
           setState(areaChannelId+".severity",severity);
           setState(areaChannelId+".type",type);
           setState(areaChannelId+".uwzLevel",uwzLevel);
           setState(areaChannelId+".uwzColor",uwzColor);
           setState(areaChannelId+".HTMLShort",htmlShort);
           setState(areaChannelId+".HTMLLong",htmlLong);
       } else {
           dwmlog('Datensatz '+_i+' ist schon vorhanden',4);
       }
       
    }
    
    function processData(area, thedata) {
       if (!thedata) {
           return;
       }
    
       var jsonResults= [];
       if (thedata.results.length>0) {
           for (let i=0; i<thedata.results.length; i++) {
               jsonResults.push(thedata.results[i]);
           }
       }
    
       jsonResults.sort(function(a,b){
           var asort = a.severity;
           var bsort = b.severity;
           return bsort-asort;
       });
    
       dwmlog(JSON.stringify(jsonResults),2);
       for (let i=0; i<numOfWarnings; i++) {
           if (i<jsonResults.length) {
               //console.log(i+' -> mit Result'); 
               writeResultEntry(jsonResults[i],i,area);
           } else {
               //console.log(i+' -> ohne Result'); 
               writeResultEntry(undefined,i,area);
           }
       }
    }
    
    function getAreaFromURI(uri) {
     var searchstr = "&areaID=";
     var n = uri.search(searchstr);
     var result = uri.slice(n+searchstr.length,uri.length);
     return result;
    }
    
    async function work() {
       for (var i=0; i<warncellid.length; i++) {
           await axios.get(url.replace("XXXAREAXXX",warncellid[i]))
           .then(results => {
               dwmlog("AREA: "+warncellid[i],4);
               dwmlog("UWZ Body: " + JSON.stringify(results.data),4);
               dwmlog("Status: " + results.status,4);
               if (results.status == 200) {
                   processData(getAreaFromURI(results.config.url),results.data);
               } else {
                   dwmlog('Keine Daten empfangen',1);
               }
           })
           .catch(error => {
               if (error.response.status == 404){
                   dwmlog(error.message, 1);
               } else {
                   dwmlog(error.response.data, 1);
                   dwmlog(error.response.status, 1);
                   dwmlog(error.response.headers, 1);
               }
           })            
       }
    }
    
    function dwmlog( message, level, channel) {
     if (channel === undefined) {
         channel = debugchannel;
     }
     if (level === undefined)
     {
         level = debuglevel;
     }
     if ( debuglevel >= level ) {
         log (message, channel );
     }
    }
    

    const axios = require('axios');
    
    var debuglevel = 1;
    var debugchannel = 'info';
    
    var channelId = '0_userdata.0.DWD.'+instance+'.warning';
    
    var intervalMinutes = 5;
    var forceInitStates = false;
    var numOfWarnings = 5;
    
    var url='https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json';
    
    /********************* Hier die Warnzellen-Id's eintragen *****************************/
    const warncellid = ['105366000'];
    const land = 'nrw';
    /**************************************************************************************/
    
    createStates(numOfWarnings);
    
    setInterval(work,intervalMinutes * 60 * 1000);
    work();
    
    
    
    function createStates(anz){
       for (let i=0; i<anz; i++) {
               if(i==0){
                   var baseChannelId = channelId;
               } else {
                   var baseChannelId = channelId+i;
               } 
               createState(baseChannelId+".begin","",forceInitStates,{name: "Warning begin",type: "number",role: "value.time",read: true,write: true});
               createState(baseChannelId+".description","",forceInitStates,{name: "Warning description",type: "string",role: "weather.state",read: true,write: true});
               createState(baseChannelId+".end","",forceInitStates,{name: "Warning end",type: "number",role: "value.time",read: true,write: true});
               createState(baseChannelId+".headline","",forceInitStates,{name: "Warning description",type: "string",role: "weather.state",read: true,write: true});
               createState(baseChannelId+".level",0,forceInitStates,{name: "Warning level",type: "number",role: "value.warning",read: true,write: true,states: {1: "Preliminary info",2: "Minor",3: "Moderate",4: "Severe",5: "Extreme"}});
               createState(baseChannelId+".map","",forceInitStates,{name: "Link to chart",type: "string",role: "weather.chart.url",read: true,write: true});
               createState(baseChannelId+".object","",forceInitStates,{name: "JSON object with warning",type: "object",role: "weather.json",read: true,write: true});
               createState(baseChannelId+".severity",0,forceInitStates,{name: "Warning severity",type: "number",role: "value.severity",read: true,write: true,states: {0: "None",1: "Minor",2: "Moderate",3: "Severe",4: "Extreme",9: "Heat Warning",11: "No Warning",19: "UV Warning",49: "Strong Heat",50: "Extreme Heat"}});
               createState(baseChannelId+".text","",forceInitStates,{name: "Warning text",type: "string",role: "weather.title.short",read: true,write: true});
               createState(baseChannelId+".type",0,forceInitStates,{name: "Warning type",type: "number",role: "weather.type",read: true,write: true,states: {0: "Thunderstorm",1: "Wind/Storm",2: "Rain",3: "Snow",4: "Fog",5: "Frost",6: "Ice",7: "Thawing",8: "Heat",9: "UV warning"}});  
       }
     
    }
    
    async function writeResultEntry(_warnObj,_i) {
       
       if(_i==0){
           var baseChannelId = channelId;
       } else {
           var baseChannelId = channelId+_i;
       }
        
       const maps = ['gewitter', 'sturm', 'regen', 'schnee', 'nebel', 'frost', 'glatteis', 'tauwetter', 'hitze', 'uv'];
       var warnObj = _warnObj || '{}';
       
       warnObj = JSON.parse(warnObj);
       var begin=warnObj.start || Number("");
       var description=warnObj.description || '';
       var end=warnObj.end || Number("");
       var headline=warnObj.headline || '';
       var level = warnObj.level === undefined || warnObj.level === null ? null : parseInt(warnObj.level, 10);
       var object = warnObj;
       var severity = warnObj.level > 1 ? warnObj.level - 1 : 0;
       var text=warnObj.event || '';
       var type = warnObj.type  === undefined || warnObj.type  === null ? null : parseInt(warnObj.type, 10);
       if (warnObj.type !== undefined && warnObj.type !== null) {
           var map = 'https://www.dwd.de/DWD/warnungen/warnapp_gemeinden/json/warnungen_gemeinde_map_'+land+'_'+maps[warnObj.type]+'.png';
       } else {
           var map ='';
       }
       
       var oldObject = (await getStateAsync(baseChannelId+".object")).val;
    
       if(JSON.stringify(object) != JSON.stringify(oldObject)){
           setState(baseChannelId+".begin",begin);
           setState(baseChannelId+".description",description);
           setState(baseChannelId+".end",end);
           setState(baseChannelId+".headline",headline);
           setState(baseChannelId+".level",Number(level));
           setState(baseChannelId+".map",map);
           setState(baseChannelId+".object",object);
           setState(baseChannelId+".severity",severity);
           setState(baseChannelId+".text",text);
           setState(baseChannelId+".type",Number(type));
       } else {
           dwmlog('Datensatz '+_i+' ist schon vorhanden',4);
       }
    }
    
    function processData(area, thedata) {
       if (!thedata) {
           return;
       }
       var jsonString = String(thedata);
       var newString = jsonString.replace('warnWetter.loadWarnings(','');
       newString = newString.replace(');','');
       var newJSON = JSON.parse(newString);
       
       var jsonResults = [];
       if (newJSON.warnings.hasOwnProperty(area)) {
           var anz = newJSON.warnings[area].length;
           for(var i=0;i<anz;i++){
               jsonResults.push(JSON.stringify(newJSON.warnings[area][i]));
           }
       } 
    
       dwmlog(JSON.stringify(jsonResults),2);
       for (let i=0; i<numOfWarnings; i++) {
           if (i<jsonResults.length) {
               //console.log(i+' -> mit Result'); 
               writeResultEntry(jsonResults[i],i);
           } else {
               //console.log(i+' -> ohne Result'); 
               writeResultEntry(undefined,i);
           }
       }
       
    }
      
    async function work() {
       for (var i=0; i<warncellid.length; i++) {
           await axios.get(url)
           .then(results => {
               dwmlog("AREA: "+warncellid[i],4);
               dwmlog("UWZ Body: " + JSON.stringify(results.data),4);
               dwmlog("Status: " + results.status,4);
               if (results.status == 200) {
                   processData(+warncellid[i],results.data);
               } else {
                   dwmlog('Keine Daten empfangen',1);
               }
           })
           .catch(error => {
               if (error.response.status == 404){
                   dwmlog(error.message, 1);
               } else {
                   dwmlog(error.response.data, 1);
                   dwmlog(error.response.status, 1);
                   dwmlog(error.response.headers, 1);
               }
           })            
       }
    }
    
    function dwmlog( message, level, channel) {
       if (channel === undefined) {
           channel = debugchannel;
       }
       if (level === undefined) {
           level = debuglevel;
       }
       if ( debuglevel >= level ) {
           log (message, channel );
       }
    }
    

    T Do not disturb
    T Do not disturb
    ticaki
    wrote on last edited by
    #696

    @megawaldi
    Das DWD Script schaue ich mir an, aber das UWZ ist im Grunde das selbe wie meines.

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    M 1 Reply Last reply
    0
    • T ticaki

      @megawaldi
      Das DWD Script schaue ich mir an, aber das UWZ ist im Grunde das selbe wie meines.

      M Offline
      M Offline
      Megawaldi
      wrote on last edited by
      #697

      @ticaki
      Ja klar, deins war ja die Vorlage.
      Ich hab das umwandeln in ein Object vor dem schreiben rausgenommen. Denke das wird etwas RAM sparen und performanter sein.
      Dann schreibe ich nur in die Datenpunkte, bei einer tatsächlichen Änderung. Das müsste IO einsparen, was bei speicherkarten nicht dumm ist.

      T 1 Reply Last reply
      0
      • M Megawaldi

        @ticaki
        Ja klar, deins war ja die Vorlage.
        Ich hab das umwandeln in ein Object vor dem schreiben rausgenommen. Denke das wird etwas RAM sparen und performanter sein.
        Dann schreibe ich nur in die Datenpunkte, bei einer tatsächlichen Änderung. Das müsste IO einsparen, was bei speicherkarten nicht dumm ist.

        T Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by ticaki
        #698

        @megawaldi
        Gute Idee, werde es mir nächstes Wochenende ansehen. Hab dieses keine Zeit. :)

        EDIT: Hab ich die Erlaubnis das in mein großes Skript einzubauen?

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        M 1 Reply Last reply
        0
        • T ticaki

          @megawaldi
          Gute Idee, werde es mir nächstes Wochenende ansehen. Hab dieses keine Zeit. :)

          EDIT: Hab ich die Erlaubnis das in mein großes Skript einzubauen?

          M Offline
          M Offline
          Megawaldi
          wrote on last edited by
          #699

          @ticaki
          Klar. Gib dann mal ne Rückmeldung

          T 2 Replies Last reply
          0
          • M Megawaldi

            @ticaki
            Klar. Gib dann mal ne Rückmeldung

            T Do not disturb
            T Do not disturb
            ticaki
            wrote on last edited by
            #700

            @megawaldi
            Edit gelesen?

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            M 1 Reply Last reply
            0
            • T ticaki

              @megawaldi
              Edit gelesen?

              M Offline
              M Offline
              Megawaldi
              wrote on last edited by
              #701

              @ticaki
              Klar mach nur, ein großes Script das alles macht hab ich mir auch schon überlegt. Würde auch das mit den doppelten Datenpunkten in den einzelnen Scripten und dann nochmal in deinem Script lösen.
              War mir nur zu stressig das selber umzusetzen ;-)

              1 Reply Last reply
              0
              • T Do not disturb
                T Do not disturb
                ticaki
                wrote on last edited by ticaki
                #702

                Hab an dem DWD Standalone Skript etwas gewerkelt, könnt ihr ja mal testen. Die Warnungen beim Erstellen der States werde ich wohl auch noch verstehen und demnächst beheben können.

                DWD Adapterersatz Beta

                EDIT war noch ein Fehler drin, hab ihn ohne Anmerkung behoben

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                1 Reply Last reply
                0
                • T Do not disturb
                  T Do not disturb
                  ticaki
                  wrote on last edited by ticaki
                  #703

                  Hallo,

                  ich hab die Serveranfragen an DWD und UWZ ins Skript integriert. Der DWD schein soweit gut zu laufen, UWZ hab ich leider keine Warnungen zu. So das ich nicht weiß, ob da nicht noch ein paar Fehler drin sind. Falls es jemand testen will, findet man es hier.

                  https://github.com/ticaki/DWD-UWZ-NINA-Pushwarnungen-iobroker/blob/master/dwd_uwz_nina_script_with_DWDUWZ_inside_ALPHA.js

                  Neue Konfigurationsmöglichkeiten:

                  // Standalone Datenquelle
                  /* nur Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */
                  var dwdWarncellId = ''; // Deaktivieren mit ''
                  var dwdBundesland = ''; // 3 Buchstaben
                  
                  // UWZ - Landeskennung - Postleitzahl UWZDE12345
                  var uwzWarncellId = ''; // Deaktivieren mit ''
                  
                  

                  Wenn WarncellID nicht '' ist wird die entsprechende interne Abfrage aktivert und z.B. dwd.0 nicht mehr beobachtet.

                  • Kein Netzwerk geht schon mal... dämlicher router :)

                  EDIT:

                  Version Alpha 2

                  • Standalone hatte keinen automatischen Nachrichtenversand
                  • UWZ: die Aktivierung des standalone Parts hat die andere Methode nicht deaktiviert.
                  • Log ergänzt

                  EDIT2:
                  hab gerade async await kapiert, muß das Skript noch darauf überprüfen.

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  1 Reply Last reply
                  0
                  • T Do not disturb
                    T Do not disturb
                    ticaki
                    wrote on last edited by ticaki
                    #704

                    Hallo,

                    Alpha 3 ist online neue Funktionen:

                    • Eine zusätzliche Datenquelle für DWD so das Warnungen für die Gemeinde und nicht mehr für den ganzen Landkreis abgefragt werden können.
                    • Der Modus ist automatisch. man muß die Warncell nachschlagen und das Skript sucht in beiden Datenquellen nach der ID. Bei Fund schaltet es die andere Datenquelle ab.
                    • bei Gemeinden funktionieren die Alert States noch nicht und Höhenangaben habe natürlich keine Auswirkungen mehr. Gibt nicht viele Gemeinden die ihre Höhe ändern :)

                    Warncell-ID kann hier nachgeschlagen werden: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    sigi234S 1 Reply Last reply
                    0
                    • T ticaki

                      Hallo,

                      Alpha 3 ist online neue Funktionen:

                      • Eine zusätzliche Datenquelle für DWD so das Warnungen für die Gemeinde und nicht mehr für den ganzen Landkreis abgefragt werden können.
                      • Der Modus ist automatisch. man muß die Warncell nachschlagen und das Skript sucht in beiden Datenquellen nach der ID. Bei Fund schaltet es die andere Datenquelle ab.
                      • bei Gemeinden funktionieren die Alert States noch nicht und Höhenangaben habe natürlich keine Auswirkungen mehr. Gibt nicht viele Gemeinden die ihre Höhe ändern :)

                      Warncell-ID kann hier nachgeschlagen werden: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      wrote on last edited by
                      #705

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

                      Alpha 3 ist online neue Funktionen:

                      23:14:50.964	info	javascript.0 (7748) Stop script script.js.Sigi.UWZ_DWD_NINA9
                      23:14:51.089	info	javascript.0 (7748) Start javascript script.js.Sigi.UWZ_DWD_NINA9
                      23:14:51.096	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: registered 0 subscriptions and 0 schedules
                      23:14:51.097	error	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: ReferenceError: DWD2 is not defined
                      23:14:51.097	error	javascript.0 (7748) at script.js.Sigi.UWZ_DWD_NINA9:418:24
                      23:14:51.097	error	javascript.0 (7748) at script.js.Sigi.UWZ_DWD_NINA9:2845:3
                      

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

                      T 1 Reply Last reply
                      0
                      • sigi234S sigi234

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

                        Alpha 3 ist online neue Funktionen:

                        23:14:50.964	info	javascript.0 (7748) Stop script script.js.Sigi.UWZ_DWD_NINA9
                        23:14:51.089	info	javascript.0 (7748) Start javascript script.js.Sigi.UWZ_DWD_NINA9
                        23:14:51.096	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: registered 0 subscriptions and 0 schedules
                        23:14:51.097	error	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: ReferenceError: DWD2 is not defined
                        23:14:51.097	error	javascript.0 (7748) at script.js.Sigi.UWZ_DWD_NINA9:418:24
                        23:14:51.097	error	javascript.0 (7748) at script.js.Sigi.UWZ_DWD_NINA9:2845:3
                        
                        T Do not disturb
                        T Do not disturb
                        ticaki
                        wrote on last edited by ticaki
                        #706

                        @sigi234

                        Recht hast du:

                        in zeile 116 muß

                        const DWD2 = 8; // only for request
                        

                        eingefügt werden, das sieht dann so aus:

                        const DWD = 1;
                        const UWZ = 2;
                        const NINA = 4;
                        const DWD2 = 8; // only for request
                        

                        hatte ich vergessen.

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        sigi234S 1 Reply Last reply
                        0
                        • T ticaki

                          @sigi234

                          Recht hast du:

                          in zeile 116 muß

                          const DWD2 = 8; // only for request
                          

                          eingefügt werden, das sieht dann so aus:

                          const DWD = 1;
                          const UWZ = 2;
                          const NINA = 4;
                          const DWD2 = 8; // only for request
                          

                          hatte ich vergessen.

                          sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          wrote on last edited by sigi234
                          #707

                          @ticaki

                          Sieht schon besser aus.

                          
                          javascript.0
                          2021-11-05 23:35:59.418	info	script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                          
                          javascript.0
                          2021-11-05 23:35:59.136	info	script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                          
                          javascript.0
                          2021-11-05 23:35:59.073	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:8153.694522928418
                          
                          javascript.0
                          2021-11-05 23:35:59.069	info	Start javascript script.js.Sigi.UWZ_DWD_NINA9
                          
                          javascript.0
                          2021-11-05 23:35:58.513	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:7213.070693352865
                          
                          javascript.0
                          2021-11-05 23:35:58.513	info	Stop script script.js.Sigi.UWZ_DWD_NINA9
                          
                          javascript.0
                          2021-11-05 23:35:58.423	info	script.js.Sigi.UWZ_DWD_NINA9: Neustart durch Skripts wird ausgeführt!
                          
                          javascript.0
                          2021-11-05 23:35:58.134	info	script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                          
                          javascript.0
                          2021-11-05 23:35:57.840	info	script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                          
                          javascript.0
                          2021-11-05 23:35:57.677	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:7213.070693352865
                          
                          javascript.0
                          2021-11-05 23:35:57.669	info	Start javascript script.js.Sigi.UWZ_DWD_NINA9
                          
                          javascript.0
                          2021-11-05 23:35:55.671	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:4056.6884127745693
                          
                          javascript.0
                          2021-11-05 23:35:55.670	info	Stop script script.js.Sigi.UWZ_DWD_NINA9
                          
                          javascript.0
                          2021-11-05 23:35:55.313	warn	at processImmediate (internal/timers.js:463:21)
                          
                          javascript.0
                          2021-11-05 23:35:55.313	warn	at Immediate._onImmediate (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1967:33)
                          
                          javascript.0
                          2021-11-05 23:35:55.312	warn	State "javascript.0.wetterwarnung.data.uwz.warning4.object" not found
                          
                          javascript.0
                          2021-11-05 23:35:55.310	warn	at processImmediate (internal/timers.js:463:21)
                          
                          javascript.0
                          2021-11-05 23:35:55.310	warn	at Immediate._onImmediate (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1967:33)
                          
                          javascript.0
                          2021-11-05 23:35:55.298	warn	State "javascript.0.wetterwarnung.data.dwd.warning4.object" not found
                          
                          javascript.0
                          2021-11-05 23:35:55.005	info	script.js.Sigi.UWZ_DWD_NINA9: Neustart durch Skripts wird ausgeführt!
                          
                          javascript.0
                          2021-11-05 23:35:54.783	info	script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                          
                          javascript.0
                          2021-11-05 23:35:54.412	info	script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                          
                          javascript.0
                          2021-11-05 23:35:53.687	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:4056.6884127745693
                          
                          javascript.0
                          2021-11-05 23:35:53.646	info	Start javascript script.js.Sigi.UWZ_DWD_NINA9
                          
                          javascript.0
                          2021-11-05 23:35:53.593	info	Stop script script.js.Sigi.UWZ_DWD_NINA9
                          
                          1. Skriptstart:
                          23:38:28.014	info	javascript.0 (7748) Stop script script.js.Sigi.UWZ_DWD_NINA9
                          23:38:28.015	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:8153.694522928418
                          23:38:28.126	info	javascript.0 (7748) Start javascript script.js.Sigi.UWZ_DWD_NINA9
                          23:38:28.138	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:5654.143748022449
                          23:38:28.481	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                          23:38:29.420	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                          

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

                          T 1 Reply Last reply
                          0
                          • sigi234S sigi234

                            @ticaki

                            Sieht schon besser aus.

                            
                            javascript.0
                            2021-11-05 23:35:59.418	info	script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                            
                            javascript.0
                            2021-11-05 23:35:59.136	info	script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                            
                            javascript.0
                            2021-11-05 23:35:59.073	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:8153.694522928418
                            
                            javascript.0
                            2021-11-05 23:35:59.069	info	Start javascript script.js.Sigi.UWZ_DWD_NINA9
                            
                            javascript.0
                            2021-11-05 23:35:58.513	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:7213.070693352865
                            
                            javascript.0
                            2021-11-05 23:35:58.513	info	Stop script script.js.Sigi.UWZ_DWD_NINA9
                            
                            javascript.0
                            2021-11-05 23:35:58.423	info	script.js.Sigi.UWZ_DWD_NINA9: Neustart durch Skripts wird ausgeführt!
                            
                            javascript.0
                            2021-11-05 23:35:58.134	info	script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                            
                            javascript.0
                            2021-11-05 23:35:57.840	info	script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                            
                            javascript.0
                            2021-11-05 23:35:57.677	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:7213.070693352865
                            
                            javascript.0
                            2021-11-05 23:35:57.669	info	Start javascript script.js.Sigi.UWZ_DWD_NINA9
                            
                            javascript.0
                            2021-11-05 23:35:55.671	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:4056.6884127745693
                            
                            javascript.0
                            2021-11-05 23:35:55.670	info	Stop script script.js.Sigi.UWZ_DWD_NINA9
                            
                            javascript.0
                            2021-11-05 23:35:55.313	warn	at processImmediate (internal/timers.js:463:21)
                            
                            javascript.0
                            2021-11-05 23:35:55.313	warn	at Immediate._onImmediate (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1967:33)
                            
                            javascript.0
                            2021-11-05 23:35:55.312	warn	State "javascript.0.wetterwarnung.data.uwz.warning4.object" not found
                            
                            javascript.0
                            2021-11-05 23:35:55.310	warn	at processImmediate (internal/timers.js:463:21)
                            
                            javascript.0
                            2021-11-05 23:35:55.310	warn	at Immediate._onImmediate (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1967:33)
                            
                            javascript.0
                            2021-11-05 23:35:55.298	warn	State "javascript.0.wetterwarnung.data.dwd.warning4.object" not found
                            
                            javascript.0
                            2021-11-05 23:35:55.005	info	script.js.Sigi.UWZ_DWD_NINA9: Neustart durch Skripts wird ausgeführt!
                            
                            javascript.0
                            2021-11-05 23:35:54.783	info	script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                            
                            javascript.0
                            2021-11-05 23:35:54.412	info	script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                            
                            javascript.0
                            2021-11-05 23:35:53.687	info	script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:4056.6884127745693
                            
                            javascript.0
                            2021-11-05 23:35:53.646	info	Start javascript script.js.Sigi.UWZ_DWD_NINA9
                            
                            javascript.0
                            2021-11-05 23:35:53.593	info	Stop script script.js.Sigi.UWZ_DWD_NINA9
                            
                            1. Skriptstart:
                            23:38:28.014	info	javascript.0 (7748) Stop script script.js.Sigi.UWZ_DWD_NINA9
                            23:38:28.015	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:8153.694522928418
                            23:38:28.126	info	javascript.0 (7748) Start javascript script.js.Sigi.UWZ_DWD_NINA9
                            23:38:28.138	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:5654.143748022449
                            23:38:28.481	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST
                            23:38:29.420	info	javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
                            
                            T Do not disturb
                            T Do not disturb
                            ticaki
                            wrote on last edited by
                            #708

                            @sigi234

                            Ich werde das demnächst auf async umstellen, aktuell dauert das beenden des Skript so lange das es noch zeit hat Fehler wegen States auszulösen.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            1 Reply Last reply
                            0
                            • T Do not disturb
                              T Do not disturb
                              ticaki
                              wrote on last edited by
                              #709

                              Alpha 4
                              -CreateStateAsync() eingefügt
                              -AlertStates sollten gehen.

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              sigi234S 1 Reply Last reply
                              0
                              • T ticaki

                                Alpha 4
                                -CreateStateAsync() eingefügt
                                -AlertStates sollten gehen.

                                sigi234S Online
                                sigi234S Online
                                sigi234
                                Forum Testing Most Active
                                wrote on last edited by
                                #710

                                @ticaki
                                Ganzes Skript ändern, oder ab 123456?

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

                                T 1 Reply Last reply
                                0
                                • sigi234S sigi234

                                  @ticaki
                                  Ganzes Skript ändern, oder ab 123456?

                                  T Do not disturb
                                  T Do not disturb
                                  ticaki
                                  wrote on last edited by
                                  #711

                                  @sigi234 12345

                                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                  Spenden

                                  Thomas BraunT 1 Reply Last reply
                                  0
                                  • T ticaki

                                    @sigi234 12345

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    wrote on last edited by
                                    #712

                                    @ticaki

                                    Was soll ich denn hier machen:

                                    2021-11-06 21:41:02.990  - error: javascript.0 (1880) script.js.common.dwd_uwz_nina_warnungen: Alexa - Serial HIER_SERIENNUMMER ist fehlerhaft. Überpüfen! Object ID:alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
                                    

                                    Ich find da keinen Fehler. Die HIER_SERIENNUMMER ist jedenfalls richtig.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    T 1 Reply Last reply
                                    0
                                    • Thomas BraunT Thomas Braun

                                      @ticaki

                                      Was soll ich denn hier machen:

                                      2021-11-06 21:41:02.990  - error: javascript.0 (1880) script.js.common.dwd_uwz_nina_warnungen: Alexa - Serial HIER_SERIENNUMMER ist fehlerhaft. Überpüfen! Object ID:alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
                                      

                                      Ich find da keinen Fehler. Die HIER_SERIENNUMMER ist jedenfalls richtig.

                                      T Do not disturb
                                      T Do not disturb
                                      ticaki
                                      wrote on last edited by ticaki
                                      #713

                                      @thomas-braun sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                      alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement

                                      Die Fehlermeldung bedeutet das er den State

                                      alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
                                      

                                      nicht finden kann. gibts vielleicht kein announcement unter der id oder ist dein Alexa nicht alexa2.0 ?

                                      Am einfachsten kopierst du den State aus der Fehlermeldung in der Objekte-Ansicht oben in das Suchfeld für States.

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      Thomas BraunT 2 Replies Last reply
                                      0
                                      • T ticaki

                                        @thomas-braun sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                        alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement

                                        Die Fehlermeldung bedeutet das er den State

                                        alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
                                        

                                        nicht finden kann. gibts vielleicht kein announcement unter der id oder ist dein Alexa nicht alexa2.0 ?

                                        Am einfachsten kopierst du den State aus der Fehlermeldung in der Objekte-Ansicht oben in das Suchfeld für States.

                                        Thomas BraunT Online
                                        Thomas BraunT Online
                                        Thomas Braun
                                        Most Active
                                        wrote on last edited by Thomas Braun
                                        #714

                                        @ticaki

                                        Aus dem Log:

                                        javascript.0 (1880) script.js.common.dwd_uwz_nina_warnungen: Alexa - Serial G090LF1072420LXG ist fehlerhaft. Überpüfen! Object ID:
                                        alexa2.0.Echo-Devices.G090LF1272420LXG.Commands.announcement
                                        

                                        Aus der Objekt-Übersicht:

                                        alexa2.0.Echo-Devices.G090LF1272420LXG.Commands.announcement
                                        

                                        Stimmt für mich...

                                        Linux-Werkzeugkasten:
                                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                        NodeJS Fixer Skript:
                                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                        1 Reply Last reply
                                        0
                                        • T ticaki

                                          @thomas-braun sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                          alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement

                                          Die Fehlermeldung bedeutet das er den State

                                          alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
                                          

                                          nicht finden kann. gibts vielleicht kein announcement unter der id oder ist dein Alexa nicht alexa2.0 ?

                                          Am einfachsten kopierst du den State aus der Fehlermeldung in der Objekte-Ansicht oben in das Suchfeld für States.

                                          Thomas BraunT Online
                                          Thomas BraunT Online
                                          Thomas Braun
                                          Most Active
                                          wrote on last edited by Thomas Braun
                                          #715

                                          @ticaki

                                          Ich habe jetzt nur noch ein Echo-Device drin, zuvor zwei. Jetzt wird der zwar nicht mehr angemeckert, aber dafür wird das skript nun im Sekundentakt neugestartet.

                                          [Edit: Typo gehabt, läuft jetzt]

                                          Linux-Werkzeugkasten:
                                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                          NodeJS Fixer Skript:
                                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          422

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe