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.
    • jackblackson
      jackblackson last edited by

      @dwm Meinst du du könntest das Script für die UWZ bitte nochmal posten? Hier scheint das Forum das Format verhaut zu haben.

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

        Seit einiger Zeit wird mir vom UWZ-Script nichts mehr angezeigt. DWD und andere geben Unwetterwarnungen raus
        aber hier bei mir tut sich gar nichts. Hat das sonst noch jemand hier.

        sigi234 Negalein 2 Replies Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @jackblackson last edited by

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

          @dwm Meinst du du könntest das Script für die UWZ bitte nochmal posten? Hier scheint das Forum das Format verhaut zu haben.

          hier ist es!

          var debuglevel = 4;
          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 = 3;
          
          var url='http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=getWarning&language=de&areaID=XXXAREAXXX';
          
          
          /********************* Hier die Warnzellen-Id's eintragen *****************************/
          var warncellid = ['UWZAT00928'];
          /**************************************************************************************/
          
          
          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 ("3 * * * *", 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);
                          }
                      });    
              }
          });
          
          
          1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @Nashra last edited by

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

            Seit einiger Zeit wird mir vom UWZ-Script nichts mehr angezeigt. DWD und andere geben Unwetterwarnungen raus
            aber hier bei mir tut sich gar nichts. Hat das sonst noch jemand hier.

            Warnzellen-Id im Skript Richtig?

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

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

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

              Seit einiger Zeit wird mir vom UWZ-Script nichts mehr angezeigt. DWD und andere geben Unwetterwarnungen raus
              aber hier bei mir tut sich gar nichts. Hat das sonst noch jemand hier.

              Warnzellen-Id im Skript Richtig?

              Ja alles korrekt, hat ja auch vor einigen Wochen mal Warnungen angezeigt.
              Momentan geht hier richtig was ab mit Wind uns so und die anderen zeigen es ja auch an,
              aber leider nicht nicht das Script obwohl alle 15 Minuten aktualisiert wird.

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

                @Nashra
                Hast du mal eine andere ID dazu gefügt zum testen........

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

                  @Nashra
                  Hast du mal eine andere ID dazu gefügt zum testen........

                  Ja mehrere, aber es kommen keine Daten, seltsam 😕

                  Nachtrag: Datenpunkte sind alle vorhanden.

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

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

                    Seit einiger Zeit wird mir vom UWZ-Script nichts mehr angezeigt. DWD und andere geben Unwetterwarnungen raus
                    aber hier bei mir tut sich gar nichts. Hat das sonst noch jemand hier.

                    Ja, ist bei mir auch so!

                    DWD zeigt eine Warnung an.
                    UWZ-Script zeigt nichts an.

                    Aber DWD verhunzt das Datum.
                    objects - ioBroker (3).png objects - ioBroker (2).png

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

                      Juhu i am not alone 😂
                      Irgendwie werde ich das Gefühl nicht los, das Die überhaupt keine Daten mehr zur Verfügung stellen 🤔

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

                        @Nashra
                        Das kann sein............

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

                          Hm, habe jetzt einfach mal im Browser die URL eingegeben mit der ID und das wird angezeigt:

                          {"results":[],"generator":"PHPjf"}
                          

                          Das war es dann wohl...

                          1 Reply Last reply Reply Quote 0
                          • M
                            muckel last edited by

                            eher weil kein unwetter naht. 😉

                            Negalein Nashra 2 Replies Last reply Reply Quote 0
                            • Negalein
                              Negalein Global Moderator @muckel last edited by Negalein

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

                              eher weil kein unwetter naht. 😉

                              Dann vergleich mal das UWZ-Script mit dem DWD-Adapter!

                              Hier bei mir liefert das Script nichts, aber DWD gibt eine Warnung raus.

                              DWD
                              objects - ioBroker (2).png

                              UWZ
                              objects - ioBroker (3).png

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

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

                                eher weil kein unwetter naht. 😉

                                Habe 10 Orte getestet wo Unwetter gemeldet werden, aber in den Datenpunkten wird nichts eingetragen 😉

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

                                  @Nashra

                                  Vielleicht ist das vorübergehend oder sie haben die API eingestellt.......☹
                                  No Money - No API

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

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

                                    @Nashra

                                    Vielleicht ist das vorübergehend oder sie haben die API eingestellt.......☹
                                    No Money - No API

                                    Dies könnte durchaus sein, versuche mal etwas in Erfahrung zu bringen was da los ist.

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

                                      So die Anfrage ist raus, mal sehen ob und mit was die Antworten.

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

                                        @Nashra
                                        Ich glaube mit einer Zahlungsaufforderung! 😏

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

                                          @Nashra
                                          Ich glaube mit einer Zahlungsaufforderung! 😏

                                          Das wäre der Hit aber noch steht bei denen...

                                          Die Unwetterzentrale ist für jeden online frei zugänglich. Firmen, Behörden, Feuerwehren etc. bieten wir
                                          darüber hinaus spezielle Abonnements mit Zugang zu den Leistungen im geschlossenen Online-Benutzerbereich
                                          der Unwetterzentrale an. Die Abonnements umfassen den Zugriff auf alle ausführlichen Warntexte sowie
                                          weiterführende (Un-)Wetterinformationen. Je nach Abonnement ist ein proaktiver Versand der Warnungen
                                          eingeschlossen.
                                          
                                          sigi234 1 Reply Last reply Reply Quote 0
                                          • sigi234
                                            sigi234 Forum Testing Most Active @Nashra last edited by

                                            @Nashra
                                            Tja, früher was es bei uns auch kostenlos, bis das kam:

                                            Screenshot (2278).png

                                            1 Reply 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

                                            952
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            123
                                            15783
                                            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