Man muss hier unterscheiden. Vorwarnungen sind normale Warnungen, die aber in der Zukunft liegen.fischmir hat geschrieben:So, nach nun einiger Zeit mit Version "DWD-Unwetterwarnscript v1.30.b08" fällt mir auf, dass zu viele Meldungen verschickt werden.
Das 1. was ich nun herausgefunden habe, sind identische Meldungen - jedoch einmal als "DWD Wetter-Vorwarnung" und einmal als "DWD-Warnung".
Beispiele:
Aktuell haben wir 18Uhr
Wetterwarnung wird in der Json-Datei gefunden mit Start 19Uhr
-> Dann wird die Warnung rausgeschickt als Vorwarnung
Aktuell haben wir 19:05Uhr
gleiche Wetterwarnung wie wird in der Json-Datei gefunden mit Start 19Uhr
-> Warnung wird nochmal verschickt, diesmal ohne Kennzeichnung als Vorwarnung
Manchmal kommt es zusätzlich vor, dass der DWD fast identische Meldungen mit nur sehr kleinen Änderungen in kurzen Abständen rausjagt. Ich habe dieses Verhalten letzte Nacht auch beobachten können: ein und dieselbe Meldung wurde als Gewitterwarnung immer und immer wieder versendet. Was war der Grund? 1. Meldung Start 02:04Uhr, Ende 3:00Uhr 2.Meldung Start 02:44Uhr Ende 04:00 3.Meldung Start 3:26Uhr Ende 05:00 4.Meldung 03:58Uhr Ende 05:00 ...
Für das Script sind dies Berechtigterweise immer Änderungen, über Sinn und Unsinn kann man da streiten.
Ohne es getestet zu haben müssten die folgenden Zeilen gelöscht werden, bzw. als Test auskommentiert werden mit !fischmir hat geschrieben: #1 Gibt es eine Möglichkeit, Vorwarnungen zu unterdrücken?
Code: Alles auswählen
else
{
if(diff1 <= 0 && diff2 <= 0)
{
if(debug) {WriteLine("baldige Wetterwarnung auf true");}
if (dom.GetObject(wwNew).Value() == false)
{dom.GetObject(wwNew).State(true);}
}
else
{
if(debug) {WriteLine("Wetterwarnung auf false");}
if (dom.GetObject(wwAktiv).Value() == true)
{dom.GetObject(wwAktiv).State(false);}
}
}
}
Code: Alles auswählen
else
{
if (dom.GetObject(wwNew).Value() == true)
{
if(diff1 <= 0 && diff2 <= 0)
{if(debug) {WriteLine("Wetterwarnung_New steht bereits auf True, ist aber Vorwarnung");}}
else
{dom.GetObject(wwNew).State(false);}
}
}
Diese Steuerungszeichen \n habe ich bis gestern nie wahrgenommen. Das ist irgendwie neu und taucht aber (bislang) nur bei den Hitzewarnungen auf. Diese \n-Zeichen sind bereits vom DWD in der JSON-Datei mit eingebaut und werden weder vom Warnscript noch vom Push-Script eingebaut und haben somit auch nichts mit dem Messanger zu tun.fischmir hat geschrieben: #2 Ich kann den Zeilenumbruch per /n in meinen Meldungen bei Telegram tatscählich sehen. Wie kann das unterbunden werden? So sieht eine Meldung bei mir zB so aus:Sonst gefällt mir die ASrbeit sehr gut - bis auf den Eindruck, dass zu viele Meldungen verschickt werden, denn zum Test habe ich mir auch mal die DWD-APP geladen um beide vergleichen zu können. Wenn ich mehr herausgefunden habe, melde ich mich nochmal.DWD-Warnung : Anzahl: 1 - von 28.05.2018 11:00Uhr bis 29.05.2018 19:00Uhr Amtliche WARNUNG vor HITZE - Details: Am Montag wird eine starke Wärmebelastung erwartet.\nAm Dienstag wird eine starke Wärmebelastung erwartet.\n - Heute ist der 2. Tag der Warnsituation in Folge.\n
Viele Grüße,
Christian
Ich werde das mal beobachten und mir dazu Gedanken machen. Wenn der DWD dabei bliebe müsste man die Zeichen ausschneiden...
Übrigens mal am Rande: Der DWD veröffentlicht ab und zu unter dem Begriff "vorabInformation" noch weitere Vorwarnungen. Diese werden (momentan) vom Script noch nicht erfasst. Ich hätte zur Zeit auch keine Idee wie dies abgegriffen werden kann, da das Script vom Konstrukt her einmal nach dem Vorkommen der gesuchten City als Nummerncode sucht und dann bis zum Endezeichen dies ausschneidet. Manchmal viel später taucht dann die City als Nummerncode nochmal als "vorabInformation" auf, was das Script aber nicht mehr mitbekommen kann.
Einzige Idee wäre aufwändig mit noch mehr Rechenzeit den Block "vorabInformation" auszuschneiden und quasi mit einem weiteren Script abzuarbeiten, aber das würde heftig werden
Noch ein 2. Übrigens am Rande als Kommentar an die Codeprofis: Ich bin nur Script-Amateur und habe Spaß am Scripten, wenn also jemand Spaß hat den Code zu verbessern oder Ideen beisteuern möchte zu den Problemen oben, gerne anwhispern.