NEWS
Unwetterwarnung für Österreich bzw. Europa ?
-
@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); } }); } });
-
@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?
-
@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. -
@Nashra
Hast du mal eine andere ID dazu gefügt zum testen........ -
@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.
-
@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.
-
Juhu i am not alone
Irgendwie werde ich das Gefühl nicht los, das Die überhaupt keine Daten mehr zur Verfügung stellen -
@Nashra
Das kann sein............ -
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...
-
eher weil kein unwetter naht.
-
@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
UWZ
-
@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
-
Vielleicht ist das vorübergehend oder sie haben die API eingestellt.......
No Money - No API -
@sigi234 sagte in Unwetterwarnung für Österreich bzw. Europa ?:
Vielleicht ist das vorübergehend oder sie haben die API eingestellt.......
No Money - No APIDies könnte durchaus sein, versuche mal etwas in Erfahrung zu bringen was da los ist.
-
So die Anfrage ist raus, mal sehen ob und mit was die Antworten.
-
@Nashra
Ich glaube mit einer Zahlungsaufforderung! -
@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.
-
@Nashra
Tja, früher was es bei uns auch kostenlos, bis das kam: -
Tja das kam vorhin als Antwort
-
@Nashra sagte in Unwetterwarnung für Österreich bzw. Europa ?:
Tja das kam vorhin als Antwort
Ja, dann bleib ich beim DWD