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.
    • bergjet
      bergjet @sigi234 last edited by

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

      @bergjet
      Nein

      Und sonst gibt es auch keine Möglichkeit Unwetterwarnungen für Österreich
      im ioBroker abzubilden?

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

        Was ich nicht verstehe ist, dass für einige Warnzellen-ID's Ergebnisse geliefert werden.
        z.b.
        'UWZAT00945'--> Bad Ischl sieht vollständig aus, für andere nur eine einzelne Zeile UWZAT00891 --> Grieskirchen da fehlt definitv was

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

          Aha, bekomme wieder Daten rein................UWZ

          Zur Sicherheit bastle ich mir eine View mit UWZ+DWD............☺

          Screenshot (2294).png

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

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

            Aha, bekomme wieder Daten rein................UWZ

            Das gibt es doch nicht.....bekomme auch wieder Daten. Soll mal einer verstehen 😨
            Aber auch nur für heute, die anderen Tage sind leer.

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

              Habe heute mal geguckt, das UWZ-Skript zeigt heute mal wieder nichts an, wobei das gleiche ja über den Radar2 Adapter abgefragt wird, hier kommt die Meldung rein.

              Nashra 1 Reply Last reply Reply Quote 0
              • jackblackson
                jackblackson last edited by

                Ich hab vor einigen Tagen diesen Request erstellt. Weiß noch nicht ob ich das selber hinbekomme, den Adapter zu erstellen - wär da Interesse? Grad für Leute aus österreich. Die Daten sind sehr gut

                https://github.com/ioBroker/AdapterRequests/issues/209

                jack-blackson created this issue in ioBroker/AdapterRequests

                closed Meteolarm - Weather Alarm for Europe #209

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

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

                  Habe heute mal geguckt, das UWZ-Skript zeigt heute mal wieder nichts an, wobei das gleiche ja über den Radar2 Adapter abgefragt wird, hier kommt die Meldung rein.

                  Hier läuft das UWZ-Skript einwandfrei, Gewitterwarnung usw. für heute Abend wird angezeigt.
                  Selbst DWD hat es hinbekommen das es mal früh genug angezeigt wird 😂

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

                    @Nashra als die Uhrzeit ihre 0:00 erreicht hat, kam nun die Wetterwarnung vom Skript.
                    Die eigentlich heute nachmittag kommen hätte sollen, irgendwas stimmt doch da nicht.

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

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

                      @Nashra als die Uhrzeit ihre 0:00 erreicht hat, kam nun die Wetterwarnung vom Skript.
                      Die eigentlich heute nachmittag kommen hätte sollen, irgendwas stimmt doch da nicht.

                      Dann gab es davor um 0:00 Uhr bei dir noch keine Warnung. Ändere doch den Cron
                      z.B. in stündlich ab, dann ist es aktueller.

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

                        @Nashra der cron steht auf 10 min
                        die Wetterwarnung war um 16:00 Uhr gestern, DWD hat es gemeldet, im Radar Adapter hab ich UWZ an, da wurde es auch um 16:00Uhr angezeigt, nur eben das UWZ-Skript kam erst mit den Daten direkt nach 0:00Uhr.

                        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 ?:

                          die Wetterwarnung war um 16:00 Uhr gestern, DWD

                          Der DWD hat es für Österreich gemeldet?

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

                            @sigi234 nein, DE-Bayern

                            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 ?:

                              @sigi234 nein, DE-Bayern

                              Also bei mir wird alles korrekt angezeigt.......

                              Screenshot (3418).png

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

                                            Support us

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

                                            742
                                            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