Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Unwetterwarnung für Österreich bzw. Europa ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Unwetterwarnung für Österreich bzw. Europa ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • crunchip
      crunchip Forum Testing Most Active @sigi234 last edited by

      @sigi234 das log

      2019-06-11 00:00:00.532 - info: javascript.0 script.js.Visualisierung.Wetterwarnung_UWZ: [{"object":"{\"center\":\"UWZ\",\"areaID\":\"UWZDE07356\",\"dtgEnd\":1560240000,\"areaType\":\"UWZCODE\",\"dtgStart\":1560175200,\"payload\":{\"translationsLongText\":{\"DE\":\"Ab Montagmittag ist das Risiko für einzelne kräftige Gewitter mit Starkregen mit über 25 l/m² in einer Stunde, mittlerem Hagel mit bis zu 4 cm Hagelkorngröße und Sturmböen sowie schweren Sturmböen bis 100 km/h erhöht, örtlich sind auch größerer Hagel und heftiger Platzregen denkbar. Dienstagvormittag lassen die Gewitter nach bzw. es werden voraussichtlich keine Warnkriterien mehr erreicht.\"},\"id\":\"15601382347003.1\",\"creation\":1560138547000,\"uwzLevel\":9,\"translationsShortText\":{\"DE\":\"Teils kräftige Gewitter mit Starkregen, Hagel und Sturmböen möglich\"},\"fileName\":\"meteogroup_warn_15601382347003_20190610034803_1560240000_1560138547.xml\",\"levelName\":\"alert_forewarn_violet\",\"shortText\":\"\",\"longText\":\"From Monday noon the risk of thunderstorms with heavy rain, hail and violent gusts rises significantly. Tuesday forenoon thunderstorms decrease.\",\"altMin\":-10,\"altMax\":9000},\"severity\":9,\"type\":7}","begin":"10.06.2019 16:00","end":"11.06.2019 10:00","LongText":"Ab Montagmittag ist das Risiko für einzelne kräftige Gewitter mit Starkregen mit über 25 l/m² in einer Stunde, mittlerem Hagel mit bis zu 4 cm Hagelkorngröße und Sturmböen sowie schweren Sturmböen bis 100 km/h erhöht, örtlich sind auch größerer Hagel und heftiger Platzregen denkbar. Dienstagvormittag lassen die Gewitter nach bzw. es werden voraussichtlich keine Warnkriterien mehr erreicht.","ShortText":"Teils kräftige Gewitter mit Starkregen, Hagel und Sturmböen möglich","severity":9,"type":7,"uwzLevel":2,"uwzUrgency":1,"uwzColor":16776960,"HTMLShort":"
      Vorwarnung vor Gewitter
      Zeitraum von Montag, 10. Juni 2019 16:00 Uhr bis Dienstag, 11. Juni 2019 10:00 Uhr
      
      Teils kräftige Gewitter mit Starkregen, Hagel und Sturmböen möglich
      
      ","HTMLLong":"
      Vorwarnung vor Gewitter
      Zeitraum von Montag, 10. Juni 2019 16:00 Uhr bis Dienstag, 11. Juni 2019 10:00 Uhr
      
      Ab Montagmittag ist das Risiko für einzelne kräftige Gewitter mit Starkregen mit über 25 l/m² in einer Stunde, mittlerem Hagel mit bis zu 4 cm Hagelkorngröße und Sturmböen sowie schweren Sturmböen bis 100 km/h erhöht, örtlich sind auch größerer Hagel und heftiger Platzregen denkbar. Dienstagvormittag lassen die Gewitter nach bzw. es werden voraussichtlich keine Warnkriterien mehr erreicht.
      
      crunchip 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @crunchip last edited by

        @crunchip was mir dabei auch noch auffällt, die Warnzellen-ID,
        das ist gar nicht meine, die im log erscheint.

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

          @crunchip sagte in Unwetterwarnung für Österreich bzw. Europa ?:

          @crunchip was mir dabei auch noch auffällt, die Warnzellen-ID,
          das ist gar nicht meine, die im log erscheint.

          Diese? UWZDE07356

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

            @sigi234 ja

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

              @crunchip sagte in Unwetterwarnung für Österreich bzw. Europa ?:

              @sigi234 ja

              Wie schaut dein Skript bis Zeile 30 aus?

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

                @sigi234
                das ganze sieht so aus

                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 = ['UWZDE96178'];
                /**************************************************************************************/
                
                
                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 (var 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 (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));
                    
                    for (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);
                
                var request = require('request');
                schedule ("* /10* * * *", 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("AREA: "+getAreaFromURI(response.request.uri.href),4);
                                dwmlog("UWZ Body: " + body,4);
                                if (response.statusCode == 200) {
                                    processData(getAreaFromURI(response.request.uri.href),body);
                                }
                            });    
                    }
                });
                
                sigi234 1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @crunchip last edited by sigi234

                  @crunchip sagte in Unwetterwarnung für Österreich bzw. Europa ?:

                  UWZDE96178

                  Die hast du aber eingetragen, hier muss deine Aktuelle ID rein!

                  Hier meine:

                  /********************* Hier die Warnzellen-Id's eintragen *****************************/
                  var warncellid = ['UWZATxxx10', 'UWZATxxx85'];
                  /**************************************************************************************/
                  
                  crunchip 2 Replies Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @sigi234 last edited by

                    @sigi234 das ist meine!!
                    und im log erscheint
                    UWZDE07356

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

                      @sigi234 steht doch in Zeile 27

                      sigi234 2 Replies Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @crunchip last edited by

                        @crunchip sagte in Unwetterwarnung für Österreich bzw. Europa ?:

                        @sigi234 steht doch in Zeile 27

                        Nein das steht:

                        var warncellid = ['UWZDE96178'];

                        Negalein 1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator @sigi234 last edited by

                          @sigi234 sagte in Unwetterwarnung für Österreich bzw. Europa ?:

                          Nein das steht:

                          var warncellid = ['UWZDE96178'];

                          Das ist seine!
                          Im Log steht aber eine andere!

                          sigi234 1 Reply Last reply Reply Quote 0
                          • Negalein
                            Negalein Global Moderator last edited by

                            Log: UWZDE07356
                            Script: UWZDE96178

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

                              @Negalein sagte in Unwetterwarnung für Österreich bzw. Europa ?:

                              Das ist seine!
                              Im Log steht aber eine andere!

                              JA, jetzt hab ich es gecheckt, der Log ist falsch.......

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

                                @Negalein du hast es verstanden😀

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

                                  @sigi234 richtig,der ist falsch und deshalb wahrscheinlich auch ein Problem, das die Meldung erst um 0:00Uhr kam

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

                                    @crunchip

                                    Hm.......welche Objekte legt er an?

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

                                      @sigi234 663f7eab-1fb6-4ba5-aaa1-dfc0db4cbbde-image.png
                                      die Warnung ist Gültig bis 10:00Uhr, steht aber immer noch drin
                                      angezeigt wird
                                      letzter Zeitstempel 2019-06-11 00:59
                                      letzte Änderung 2019-06-11 00:00..02

                                      1 Reply Last reply Reply Quote 0
                                      • Nashra
                                        Nashra Most Active Forum Testing last edited by

                                        Hm, ist mir gar nicht aufgefallen. Im Log bei mir steht auch was anderes

                                        2019-06-11 17:00:00.269 - info: javascript.0 script.js.Meine_Geräte.Unwetter: [{"object":"{\"center\":\"UWZ\",\"areaID\":\"UWZAT01417\",
                                        

                                        aber trotzdem wird dir richtige UWZDE47xxx angelegt bzw. die Daten geholt.

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

                                          @Nashra ja angelegt ist es bei mir auch richtig und die Meldung stimmt auch, nur halt paar Stunden zu spät.
                                          so wie jetzt auch wieder, DWD meldet, Radar2 meldet auch nur UWZ-Skript kommt wieder nix.

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

                                            @crunchip

                                            Wer ist der Skriptersteller?

                                            crunchip D 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            652
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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