DWD-Unwetterwarnscript v1.31.r00
Moderator: Co-Administratoren
-
- Beiträge: 120
- Registriert: 15.04.2015, 11:39
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Gerät wird glaub ich nicht benötigt, Titel aber schon.
In der neuesten Pushover-zPNP-Version (zPNS-Po443.hsc) ist noch immer die Rede von Titel und Gerät.
EDIT: Falls Du Regionen mit Warnungen brauchst, habe ich zum testen in der Variable "Wetterwarnung_kreis" noch so Regionen wie: 903452002 Aurich;108315000 Freiburg;109180000 Garmisch;915085002 Harz;108317000 Ortenau;109187000 Rosenheim
Da ist meist eine Region dabei, die eine Warnung hat. Einfach die Kreisvariable umstellen auf den gewünschten Kreis. Dies mache ich z.B. mit meiner App im Mobiltelefon.
In der neuesten Pushover-zPNP-Version (zPNS-Po443.hsc) ist noch immer die Rede von Titel und Gerät.
EDIT: Falls Du Regionen mit Warnungen brauchst, habe ich zum testen in der Variable "Wetterwarnung_kreis" noch so Regionen wie: 903452002 Aurich;108315000 Freiburg;109180000 Garmisch;915085002 Harz;108317000 Ortenau;109187000 Rosenheim
Da ist meist eine Region dabei, die eine Warnung hat. Einfach die Kreisvariable umstellen auf den gewünschten Kreis. Dies mache ich z.B. mit meiner App im Mobiltelefon.
DWD-Unwetterwarnscript v1.32.b03 (keine Weiterentwicklung mehr, unsupported) (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis (keine Weiterentwicklung mehr, unsupported)
RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)
RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)
-
- Beiträge: 18
- Registriert: 27.12.2020, 13:38
- System: CCU
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
So es läuft endlich. Es war so wie fast immer, ein dämlicher Syntax Fehler in den neuen Variablen. Den hab ich bestimmt 100x überlesen. Asche über mein Haupt
- Schuki91
- Beiträge: 18
- Registriert: 05.12.2021, 20:01
- System: CCU
- Wohnort: Baden-Württemberg
- Hat sich bedankt: 14 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Hallo,
tolles Skript, dass auch funktioniert bei mir. Ich würde mir wünschen, dass es noch ein Skript gibt mit dem ich ein Push per Telegram machen kann. Leider bin ich zu schlecht beim programmieren um sowas zu schaffen.
tolles Skript, dass auch funktioniert bei mir. Ich würde mir wünschen, dass es noch ein Skript gibt mit dem ich ein Push per Telegram machen kann. Leider bin ich zu schlecht beim programmieren um sowas zu schaffen.
RaspberryMatic in umgebauter CCU3 (externe Antenne + 32GB Speicherkarte + 64GB USB Stick)
-
- Beiträge: 576
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 29 Mal
- Danksagung erhalten: 133 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Hast es doch schon mal hinbekommen :
viewtopic.php?f=19&t=73197&p=710505&hil ... ge#p710505
Einfach auf die gewünschte Variable ändern.
Gruß
Harry
Harry
- Schuki91
- Beiträge: 18
- Registriert: 05.12.2021, 20:01
- System: CCU
- Wohnort: Baden-Württemberg
- Hat sich bedankt: 14 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Ja das stimmt. Gut recherchiert! Ich dachte das Skript Nummer 3 verarbeitet die Daten nochmals. Wenn das nicht so ist dann hab ich das wohl falsch verstanden.Tyfys hat geschrieben: ↑19.07.2022, 12:22
Hast es doch schon mal hinbekommen :
viewtopic.php?f=19&t=73197&p=710505&hil ... ge#p710505
Einfach auf die gewünschte Variable ändern.
Welche Variable kann ich mir denn schicken "Wetterwarnung_pushref"? Da steht in der Beschreibung "Text der alten Push-Unwetterwarnung zPNP", ich bin mir unsicher ob diese Variable dazu gedacht ist.
RaspberryMatic in umgebauter CCU3 (externe Antenne + 32GB Speicherkarte + 64GB USB Stick)
-
- Beiträge: 576
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 29 Mal
- Danksagung erhalten: 133 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Ich verwende dieses Programm-/Scriptpaket nicht.
Aber mir scheint, du brauchst noch das zPNP-Pushnachrichten Telegram-Skript davon:
am Ende das eigentliche Programm mit dem Skript zum Versenden der Nachricht auf mit diesen Statements
Ansonsten würde ich mich an den Variablen orientieren, die dort am Ende gesetzt werden.
Aber mir scheint, du brauchst noch das zPNP-Pushnachrichten Telegram-Skript davon:
Das Skript Nummer 3 füllt nur die entsprechenden Variablen und ruft dannTharanis hat geschrieben: ↑17.02.2018, 13:51Ich habe das Script so aufgebaut, dass es mit zPNP-Pushnachrichten, speziell Pushover läuft.
am Ende das eigentliche Programm mit dem Skript zum Versenden der Nachricht auf mit diesen Statements
Code: Alles auswählen
dom.GetObject(wwPushprg).ProgramExecute();
Gruß
Harry
Harry
-
- Beiträge: 120
- Registriert: 15.04.2015, 11:39
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: DWD-Unwetterwarnscript v1.32.Beta 03
Schon wieder ist eine Menge Zeit vergangen... Ich wurde per PN von Schuki91 darauf aufmerksam gemacht, dass State und Stateshort nicht mehr richtig ausgelesen wurden. Dafür vielen Dank!
Ich veröffentliche nun hier die bei mir bereits getestete Beta-Version 1.32.b03. Die Änderungen sind in allen drei Programmteilen nur kleiner Natur, weshalb es wieder nur einen kleinen Versionsschritt gibt. Allerdings funktioniert das Script bei mir auch mit Telegram zusammen (zPNS-Tg445.hsc), die Title-Zeile von Pushover gibt es dort zwar nicht, aber dafür sind im Pushscript nun Hervorhebungen vorgenommen für eine leichtere Lesbarkeit.
Features sind:
DWD-Unwetterwarnscript v1.32.b03 vom 25.07.2022:
-es können nun Warnmeldungen 4-6 aktiviert/deaktiviert werden, dies sollte in allen drei Scripten gleich eingestellt werden!
-State und Stateshort werden nun wieder korrekt erkannt. Durch eine Json-Umstellung beim DWD war dies noetig
DWD-Unwetterpushscript v1.32.b03 vom 25.07.2022:
-Durch die Aufteilung von frueher zu langen Nachrichten auf mehrere Push-Nachrichten in zPNP gibt es zwei Neuerungen:
--die automatische Instructionen-Grenze ist wieder rausgeflogen (aus Version 1.21), manuell kann es aber weiterhin deaktiviert werden es können nun Warnmeldungen 4-6 aktiviert werden, dies sollte in allen drei Scripten gleich eingestellt werden!
-Grundsaetzlich ist das Pushscript nun auch mit Telegram getestet (zPNS-Tg445.hsc), auch wenn ich es selber nicht (dauerhaft) einsetze. Auch deshalb:
-Die Variable Push.Dienst ist im Push-Script hinzugekommen, dies kann eine Rolle bei mehreren eingesetzten Pushdiensten spielen:
--steht die Variable ausserhalb dieses Scripts auf alle Pushdienste und hier soll es anders sein, kann dies bei svPushService anders eingestellt werden. Der Wert wird sich gemerkt und später zurückgesetzt
DWD-Variablenscript v1.32.b03 vom 25.07.2022:
-Warnmeldung 4 bis 6 laessen sich nun ein- und ausschalten
Hier nun die Betaversionen:
Hier nur als Code, die Zeilen der Anleitung auf der ersten Seite müssten alle noch gelten.
DWD-Variablenscript v1.32.b03:
DWD-Unwetterwarnscript v1.32.b03:
DWD-Unwetterpushscript v1.32.b05:
Zurück in der Alpha-Phase, erst wenn es bei mir läuft gibt es hier wieder die Beta-Version oder höher.
Ich würde mich über Rückmeldungen und Tests freuen. Danke schonmal!
Noch ein kleiner Hinweis: Auch die letzte Release-Version funktioniert noch gut. Einziger erkennbarer Fehler der mir bekannt darin ist, ist das state und stateShort-Feld.
EDIT 31.07.2022: Das Pushscript hat nun eine größere Beta-Versionsnummer. Als Änderung ist nun eine Abfrage eingebaut, die prüft ob wwPushtitle existiert. Die Systemvariable muss also nicht mehr vorhanden sein, was bei alleiniger Telegram-Nutzung eine Variable spart.
EDIT 07.08.2022: Push-Dienst zurücksetzen korrigiert
EDIT 08.08.2022: Push-Script hier im Beta-Posting wieder entfernt, muss erst bei mir wieder fehlerfrei laufen...
Ich veröffentliche nun hier die bei mir bereits getestete Beta-Version 1.32.b03. Die Änderungen sind in allen drei Programmteilen nur kleiner Natur, weshalb es wieder nur einen kleinen Versionsschritt gibt. Allerdings funktioniert das Script bei mir auch mit Telegram zusammen (zPNS-Tg445.hsc), die Title-Zeile von Pushover gibt es dort zwar nicht, aber dafür sind im Pushscript nun Hervorhebungen vorgenommen für eine leichtere Lesbarkeit.
Features sind:
DWD-Unwetterwarnscript v1.32.b03 vom 25.07.2022:
-es können nun Warnmeldungen 4-6 aktiviert/deaktiviert werden, dies sollte in allen drei Scripten gleich eingestellt werden!
-State und Stateshort werden nun wieder korrekt erkannt. Durch eine Json-Umstellung beim DWD war dies noetig
DWD-Unwetterpushscript v1.32.b03 vom 25.07.2022:
-Durch die Aufteilung von frueher zu langen Nachrichten auf mehrere Push-Nachrichten in zPNP gibt es zwei Neuerungen:
--die automatische Instructionen-Grenze ist wieder rausgeflogen (aus Version 1.21), manuell kann es aber weiterhin deaktiviert werden es können nun Warnmeldungen 4-6 aktiviert werden, dies sollte in allen drei Scripten gleich eingestellt werden!
-Grundsaetzlich ist das Pushscript nun auch mit Telegram getestet (zPNS-Tg445.hsc), auch wenn ich es selber nicht (dauerhaft) einsetze. Auch deshalb:
-Die Variable Push.Dienst ist im Push-Script hinzugekommen, dies kann eine Rolle bei mehreren eingesetzten Pushdiensten spielen:
--steht die Variable ausserhalb dieses Scripts auf alle Pushdienste und hier soll es anders sein, kann dies bei svPushService anders eingestellt werden. Der Wert wird sich gemerkt und später zurückgesetzt
DWD-Variablenscript v1.32.b03 vom 25.07.2022:
-Warnmeldung 4 bis 6 laessen sich nun ein- und ausschalten
Hier nun die Betaversionen:
Hier nur als Code, die Zeilen der Anleitung auf der ersten Seite müssten alle noch gelten.
DWD-Variablenscript v1.32.b03:
Code: Alles auswählen
! --- DWD-Variablenscript v1.32.b03 vom 25.07.2022 ---------------------------------------------------------------------------------------
! Variablenscript von Tharanis, aufbauend auf dem Variablenscript von Klana
! legt/loescht die benoetigten Variablen fuer das DWD-Unwetterwarnscript an
! Nutzung auf eigene Gefahr!
!------------------------------------------------------------------------------------------------------------------------------------------
!
! Ausfuehrung : einmalig! unter Script testen auf der Raspberrymatic/CCU3
!
! neue Features in v1.32.b03 (25.07.2022):
! Warnmeldung 4 bis 6 laessen sich nun ein- und ausschalten
!
! Folgende Variablen werden angelegt oder geloescht je nach dem Wert der Variable SV_Loeschen weiter unten:
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_aktiv Boolean
! Wetterwarnung_text Zeichenkette (fuer Ausgabe)
! Wetterwarnung_text2 Zeichenkette (fuer Ausgabe)
! Wetterwarnung_text3 Zeichenkette (fuer Ausgabe)
! Wetterwarnung_text4 Zeichenkette (fuer Ausgabe) (optional per Variable "warn4" weiter unten schaltbar)
! Wetterwarnung_text5 Zeichenkette (fuer Ausgabe) (optional per Variable "warn5" weiter unten schaltbar)
! Wetterwarnung_text6 Zeichenkette (fuer Ausgabe) (optional per Variable "warn6" weiter unten schaltbar)
! Wetterwarnung_anzahl Zahl
! Wetterwarnung_new Boolean (neue Meldung /alte Meldung)
! Wetterwarnung_kreis Werteliste mit verschiedenen Kreisnummern und Kreisbezeichnungen
! Wetterwarnung_start_backup Vergleich fuer Start der ersten Warnung
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_city Zeichenkette (Nummer zum Suchen)
! Wetterwarnung_regionName Zeichenkette
! Wetterwarnung_start Zeichenkette
! Wetterwarnung_end Zeichenkette
! Wetterwarnung_typ Werteliste mit: unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen
! Wetterwarnung_headline Zeichenkette
! Wetterwarnung_state Zeichenkette
! Wetterwarnung_stateShort Zeichenkette
! Wetterwarnung_level Zahl
! Wetterwarnung_event Zeichenkette
! Wetterwarnung_description Zeichenkette
! Wetterwarnung_instruction Zeichenkette
! Wetterwarnung_altitudeStart Zeichenkette
! Wetterwarnung_altitudeEnd Zeichenkette
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_start2 Zeichenkette
! Wetterwarnung_end2 Zeichenkette
! Wetterwarnung_typ2 Werteliste mit: unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen
! Wetterwarnung_headline2 Zeichenkette
! Wetterwarnung_level2 Zahl
! Wetterwarnung_event2 Zeichenkette
! Wetterwarnung_description2 Zeichenkette
! Wetterwarnung_instruction2 Zeichenkette
! Wetterwarnung_altitudeStart2 Zeichenkette
! Wetterwarnung_altitudeEnd2 Zeichenkette
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_event3 Zeichenkette
!-------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_pushref Zeichenkette
!-------------------------------------------------------------------------------------------------------------------------------------------
! Warnmeldungen 4-6 (Variable Wetterwarnung_text4,Wetterwarnung_text5,Wetterwarnung_text6) mit anlegen = true oder ignorieren = false
! ------------------------------------------------------------------------------------------------------------------------------------------
boolean warn4 = true;
boolean warn5 = false;
boolean warn6 = false;
!-------------------------------------------------------------------------------------------------------------------------------------------
! Wenn SV_Loeschen = false, dann werden die Systemvariablen angelegt
! Wenn SV_loeschen = true, dann werden die Systemvariablen geloescht!!
!-------------------------------------------------------------------------------------------------------------------------------------------
boolean SV_Loeschen = false;
!-------------------------------------------------------------------------------------------------------------------------------------------
! wenn debug = true, dann werden Meldungen per WriteLine ausgegeben
! dies ist Standardmaessig auf true
!-------------------------------------------------------------------------------------------------------------------------------------------
boolean debug = true;
!-------------------------------------------------------------------------------------------------------------------------------------------
if(debug)
{
if(SV_Loeschen) {WriteLine("Varibalen werden gelöscht!");}
else {WriteLine("Variablen werden angelegt...:");}
}
if(!SV_Loeschen)
{
! ---------------------------------------
! Boolean - Wetterwarnung_aktiv
! ---------------------------------------
string svName = "Wetterwarnung_aktiv";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtBinary);
svObj.ValueSubType(istBool);
svObj.ValueName0("Nein");
svObj.ValueName1("Ja");
svObj.State(false);
svObj.DPInfo("Zeigt an ob es eine aktive DWD-Meldung gibt.");
svObj.ValueUnit("");
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_aktiv wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Variable steht auf: "#svObj.State().ToString());}
if(debug) {WriteLine("-Variable-Status Name: "#svObj.ValueName());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_aktiv existiert schon.");}}
! ---------------------------------------
! Boolean - Wetterwarnung_new
! ---------------------------------------
string svName = "Wetterwarnung_new";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtBinary);
svObj.ValueSubType(istBool);
svObj.ValueName0("Alte Meldung");
svObj.ValueName1("Neue Meldung");
svObj.State(false);
svObj.DPInfo("Zeigt an ob es eine neue DWD-Meldung gibt.");
svObj.ValueUnit("");
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_new wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Variable steht auf: "#svObj.State().ToString());}
if(debug) {WriteLine("-Variable-Status Name: "#svObj.ValueName());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_new existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_text
! ---------------------------------------
string svName = "Wetterwarnung_text";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("selbst zusammengesetzter Ausgabetext");
svObj.ValueUnit("");
svObj.State("Keine Warnungen");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_text wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_text existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_city
! (Nummer der Region von DWD)
! ---------------------------------------
string svName = "Wetterwarnung_city";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Nummer der Region als String");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_city wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_city existiert schon.");}}
! ---------------------------------------
! Werteliste - Wetterwarnung_kreis
! ---------------------------------------
string svName = "Wetterwarnung_kreis";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("903452002 Aurich;111000000 Berlin;915085002 Harz;109180000 Garmisch");
svObj.State(1);
svObj.DPInfo("Auswahlmoeglichkeit Kreis der Wetterwarnung");
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_kreis wurde angelegt: Name: "#svObj);}
if(debug) {var valList = svObj.ValueList();}
if(debug) {var val = valList .StrValueByIndex(";",svObj.Value());}
if(debug) {WriteLine("-Eintrag: "#val);}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_typ existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_regionName
! ---------------------------------------
string svName = "Wetterwarnung_regionName";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Regionname im Klartext");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_regionName wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_regionName existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_start
! ---------------------------------------
string svName = "Wetterwarnung_start";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Start der Warnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_start wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_start existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_start_backup
! ---------------------------------------
string svName = "Wetterwarnung_start_backup";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Backup fuer Startvergleich");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_start_backup wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_start_backup existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_end
! ---------------------------------------
string svName = "Wetterwarnung_end";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Ende der Warnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_end wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_end existiert schon.");}}
! ---------------------------------------
! Zahl - Wetterwarnung_level
! ---------------------------------------
string svName = "Wetterwarnung_level";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Level der Warnung");
svObj.ValueUnit("");
svObj.ValueMin(0);
svObj.ValueMax(100);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_level wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_level existiert schon.");}}
! ---------------------------------------
! Werteliste - Wetterwarnung_typ
! ---------------------------------------
string svName = "Wetterwarnung_typ";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen");
svObj.State(1);
svObj.DPInfo("Typ der Warnung");
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_typ wurde angelegt: Name: "#svObj);}
if(debug) {var valList = svObj.ValueList();}
if(debug) {var val = valList .StrValueByIndex(";",svObj.Value());}
if(debug) {WriteLine("-Eintrag: "#val);}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_typ existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_state
! ---------------------------------------
string svName = "Wetterwarnung_state";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Bundesland im Langtext.");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_state wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_state existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_description
! ---------------------------------------
string svName = "Wetterwarnung_description";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("genauere Beschreibung der Warnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_description wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_description existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_event
! ---------------------------------------
string svName = "Wetterwarnung_event";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Event der Wetterwarnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_event wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_event existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_headline
! ---------------------------------------
string svName = "Wetterwarnung_headline";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Schlagzeile der Warnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_headline wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_headline existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_instruction
! ---------------------------------------
string svName = "Wetterwarnung_instruction";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Was ist im Warnungsfall zu tun?");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_instruction wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_instruction existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_stateShort
! ---------------------------------------
string svName = "Wetterwarnung_stateShort";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Bundesland in Kurzform z.B.NRW");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_stateShort wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_stateShort existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_altitudeStart
! ---------------------------------------
string svName = "Wetterwarnung_altitudeStart";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Hoehe Start");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_altitudeStart wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_altitudeStart existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_altitudeEnd
! ---------------------------------------
string svName = "Wetterwarnung_altitudeEnd";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Hoehe Ende");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_altitudeEnd wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_altitudeEnd existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_text2
! ---------------------------------------
string svName = "Wetterwarnung_text2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("selbst zusammengesetzter Ausgabetext2");
svObj.ValueUnit("");
svObj.State("Keine Warnungen");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_text2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_text2 existiert schon.");}}
! ---------------------------------------
! STRING - Wetterwarnung_text3
! ---------------------------------------
string svName = "Wetterwarnung_text3";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("selbst zusammengesetzter Ausgabetext3");
svObj.ValueUnit("");
svObj.State("Keine Warnungen");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_text3 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_text3 existiert schon.");}}
if(warn4){
! ---------------------------------------
! STRING - Wetterwarnung_text4
! ---------------------------------------
string svName = "Wetterwarnung_text4";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("selbst zusammengesetzter Ausgabetext4");
svObj.ValueUnit("");
svObj.State("Keine Warnungen");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_text4 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_text4 existiert schon.");}}}
if(warn5){
! ---------------------------------------
! STRING - Wetterwarnung_text5
! ---------------------------------------
string svName = "Wetterwarnung_text5";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("selbst zusammengesetzter Ausgabetext5");
svObj.ValueUnit("");
svObj.State("Keine Warnungen");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_text5 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_text5 existiert schon.");}}}
if(warn6){
! ---------------------------------------
! STRING - Wetterwarnung_text6
! ---------------------------------------
string svName = "Wetterwarnung_text6";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("selbst zusammengesetzter Ausgabetext6");
svObj.ValueUnit("");
svObj.State("Keine Warnungen");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_text6 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{if(debug) {WriteLine("Variable Wetterwarnung_text6 existiert schon.");}}}
! ---------------------------------------
! STRING - Wetterwarnung_pushref
! ---------------------------------------
string svName = "Wetterwarnung_pushref";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Text der alten Push-Unwetterwarnung zPNP");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_pushref wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_pushref existiert schon.");}
}
! ---------------------------------------
! Zahl - Wetterwarnung_anzahl
! ---------------------------------------
string svName = "Wetterwarnung_anzahl";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Anzahl der Warnungen");
svObj.ValueUnit("");
svObj.ValueMin(0);
svObj.ValueMax(100);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_anzahl wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_anzahl existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_start2
! ---------------------------------------
string svName = "Wetterwarnung_start2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Start der 2.Warnung in Sekunden");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_start2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_start2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_end2
! ---------------------------------------
string svName = "Wetterwarnung_end2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Ende der 2.Warnung in Sekunden");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_end2 wurde angelegt: Name: "#svObj);}
if (debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_end2 existiert schon.");}
}
! ---------------------------------------
! Zahl - Wetterwarnung_level2
! ---------------------------------------
string svName = "Wetterwarnung_level2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Level der 2.Warnung");
svObj.ValueUnit("");
svObj.ValueMin(0);
svObj.ValueMax(100);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_level2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_level2 existiert schon.");}
}
! ---------------------------------------
! Werteliste - Wetterwarnung_typ2
! ---------------------------------------
string svName = "Wetterwarnung_typ2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen");
svObj.State(1);
svObj.DPInfo("Typ der 2.Warnung");
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_typ2 wurde angelegt: Name: "#svObj);}
if(debug) {var valList = svObj.ValueList();}
if(debug) {var val = valList .StrValueByIndex(";",svObj.Value());}
if(debug) {WriteLine("-Eintrag: "#val);}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_typ2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_description2
! ---------------------------------------
string svName = "Wetterwarnung_description2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("genauere Beschreibung der 2.Warnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_description2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_description2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_event2
! ---------------------------------------
string svName = "Wetterwarnung_event2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Event der 2.Wetterwarnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_event2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_event2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_headline2
! ---------------------------------------
string svName = "Wetterwarnung_headline2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Schlagzeile der 2.Warnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_headline2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_headline2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_instruction2
! ---------------------------------------
string svName = "Wetterwarnung_instruction2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Was ist im 2.Warnungsfall zu tun?");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_instruction2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_instruction2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_altitudeStart2
! ---------------------------------------
string svName = "Wetterwarnung_altitudeStart2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Hoehe 2.Start");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_altitudeStart2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_altitudeStart2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_altitudeEnd2
! ---------------------------------------
string svName = "Wetterwarnung_altitudeEnd2";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Hoehe 2.Ende");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_altitudeEnd2 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_altitudeEnd2 existiert schon.");}
}
! ---------------------------------------
! STRING - Wetterwarnung_event3
! ---------------------------------------
string svName = "Wetterwarnung_event3";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Event der 3.Wetterwarnung");
svObj.ValueUnit("");
svObj.State("---");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
if(debug) {WriteLine("Variable Wetterwarnung_event3 wurde angelegt: Name: "#svObj);}
if(debug) {WriteLine("-Eintrag: "#svObj.Value().ToString());}
}
else
{
if(debug) {WriteLine("Variable Wetterwarnung_event3 existiert schon.");}
}
}
else
{
! ------------------------------------------------
! Loeschen Systemvariablen wenn SV_Loeschen == true
! ------------------------------------------------
object svObj = dom.GetObject("Wetterwarnung_aktiv");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_aktiv geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_new");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_new geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_text");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_text geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_city");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_city geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_regionName");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_regionName geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_start");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_start geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_end");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_end geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_level");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_level geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_typ");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_typ geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_state");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_state geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_description");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_description geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_event");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_event geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_headline");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_headline geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_instruction");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_instruction geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_stateShort");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_stateShort geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_altitudeStart");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_altitudeStart geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_altitudeEnd");
if(svObj) { dom.DeleteObject(svObj.ID()); if(debug) {WriteLine("Wetterwarnung_altitudeEnd geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_text2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_text2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_text3");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_text3 geloescht");}}
if(warn4){
object svObj = dom.GetObject("Wetterwarnung_text4");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_text4 geloescht");}}}
if(warn5){
object svObj = dom.GetObject("Wetterwarnung_text5");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_text5 geloescht");}}}
if(warn6){
object svObj = dom.GetObject("Wetterwarnung_text6");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_text6 geloescht");}}}
object svObj = dom.GetObject("Wetterwarnung_pushref");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_pushref geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_anzahl");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_anzahl geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_start2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_start2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_end2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_end2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_level2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_level2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_typ2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_typ2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_description2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_description2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_event2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_event2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_headline2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_headline2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_instruction2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_instruction2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_altitudeStart2");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_altitudeStart2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_altitudeEnd2");
if(svObj) { dom.DeleteObject(svObj.ID()); if(debug) {WriteLine("Wetterwarnung_altitudeEnd2 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_event3");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_event3 geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_kreis");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_kreis geloescht");}}
object svObj = dom.GetObject("Wetterwarnung_start_backup");
if(svObj) { dom.DeleteObject(svObj.ID());if(debug) {WriteLine("Wetterwarnung_start_backup geloescht");}}
}
Code: Alles auswählen
! --- DWD-Unwetterwarnscript v1.32.b03 vom 25.07.2022 ---------------------------------------------------------------------------------------
! Unwetterwarnscript von Tharanis, aufbauend auf dem DWD-Script von Grrzzz und Klana
! Vielen Dank an blackhole, Grrzzz, klana, kafetzke und viele ungezaehlte Helfer im Forum fuer die in anderen Unwetterscripten geleistete Arbeit
! -Fuer Funktion und/oder Richtigkeit der ausgelesenen Warnmeldungen des DWD kann keine Garantie/Gewaehr uebernommen werden-
! --Bitte im Zweifel immer die offiziellen DWD-Kanäle pruefen!!!--
!
! neue Features in v1.32.b03 (25.07.2022):
! -es können nun Warnmeldungen 4-6 aktiviert/deaktiviert werden, dies sollte in allen drei Scripten gleich eingestellt werden!
! -State und Stateshort werden nun wieder korrekt erkannt. Durch eine Json-Umstellung beim DWD war dies noetig
!
!-------------------------------------------------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------------------------------------------------
! Konfiguration
!-------------------------------------------------------------------------------------------------------------------------------------------
! Anzulegen fuer das Script DWD-Unwetterwarnscript sind die folgenden Systemvariablen, welche am Besten über das Einmalsscript angelegt
! werden sollten. Das Einmalscript unter Script testen einfuegen und einmalig ausführen.
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_aktiv Boolean
! Wetterwarnung_text Zeichenkette (fuer Ausgabe)
! Wetterwarnung_text2 Zeichenkette (fuer Ausgabe)
! Wetterwarnung_text3 Zeichenkette (fuer Ausgabe)
! Wetterwarnung_text4 Zeichenkette (fuer Ausgabe) (optional per Variable "warn4" weiter unten an- oder abschaltbar)
! Wetterwarnung_text5 Zeichenkette (fuer Ausgabe) (optional per Variable "warn5" weiter unten an- oder abschaltbar)
! Wetterwarnung_text6 Zeichenkette (fuer Ausgabe) (optional per Variable "warn6" weiter unten an- oder abschaltbar)
! Wetterwarnung_anzahl Zahl
! Wetterwarnung_new Boolean (neue Meldung /alte Meldung)
! Wetterwarnung_kreis Werteliste mit verschiedenen Kreisnummern und Kreisbezeichnungen
! Wetterwarnung_start_backup Vergleich fuer Start der ersten Warnung
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_city Zeichenkette (Nummer zum Suchen)
! Wetterwarnung_regionName Zeichenkette
! Wetterwarnung_start Zeichenkette
! Wetterwarnung_end Zeichenkette
! Wetterwarnung_typ Werteliste mit: unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen
! Wetterwarnung_headline Zeichenkette
! Wetterwarnung_state Zeichenkette
! Wetterwarnung_stateShort Zeichenkette
! Wetterwarnung_level Zahl
! Wetterwarnung_event Zeichenkette
! Wetterwarnung_description Zeichenkette
! Wetterwarnung_instruction Zeichenkette
! Wetterwarnung_altitudeStart Zeichenkette
! Wetterwarnung_altitudeEnd Zeichenkette
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_start2 Zeichenkette
! Wetterwarnung_end2 Zeichenkette
! Wetterwarnung_typ2 Werteliste mit: unbekannt;Gewitter;Wind/Sturm/Orkan;Stark- und Dauerregen;Schneefall/Schneeverwehungen;Nebel;Frost;Glaette/Glatteis;Tauwetter;Hitzewarnungen;UV-Warnungen;Kuestenwarnungen;Binnenseewarnungen
! Wetterwarnung_headline2 Zeichenkette
! Wetterwarnung_level2 Zahl
! Wetterwarnung_event2 Zeichenkette
! Wetterwarnung_description2 Zeichenkette
! Wetterwarnung_instruction2 Zeichenkette
! Wetterwarnung_altitudeStart2 Zeichenkette
! Wetterwarnung_altitudeEnd2 Zeichenkette
! ------------------------------------------------------------------------------------------------------------------------------------------
! Wetterwarnung_event3 Zeichenkette
!-------------------------------------------------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------------------------------------------------
! Debugging einschalten = true oder aussschalten = false
! z.B. zum Test unter "Script testen"
!-------------------------------------------------------------------------------------------------------------------------------------------
boolean debug = false;
! ------------------------------------------------------------------------------------------------------------------------------------------
! Virtuelles CUxD-Exec-Device hier angeben. CUXD und ein CUXD.exec (28) Gerät muss installiert sein.
! ------------------------------------------------------------------------------------------------------------------------------------------
string execdevice = "CUxD.CUX2801001:1";
! ------------------------------------------------------------------------------------------------------------------------------------------
! Die Region-ID aus der JSON Datei raussuchen, dazu diese Adresse im Browser eingeben:
! https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json
! Für Berlin z.B.: 111000000, 903452002 Aurich-Kueste - 915085002 Oberharz
! ------------------------------------------------------------------------------------------------------------------------------------------
string city = ""; ! Wenn die Werteliste "Wetterwarnung_Kreis" gefuellt wird, so wird diese nur vom Script verwendet, wenn city leer bleibt
! ------------------------------------------------------------------------------------------------------------------------------------------
! Warnmeldungen aktivieren = true oder deaktivieren = false
! Achtung: wenn true muessen die Variablen "Wetterwarnung_text4","Wetterwarnung_text5","Wetterwarnung_text6" auf der CCU vorhanden sein
! ------------------------------------------------------------------------------------------------------------------------------------------
boolean warn4 = true;
boolean warn5 = false;
boolean warn6 = false;
! ------------------------------------------------------------------------------------------------------------------------------------------
! Noetige CCU-Systemvariablen zuweisen
! In der CCU anzulegende Systemvariablen stehen nachfolgend in Anfuehrungszeichen,
! Am Besten mit dem "Einmalscript" automatisch anlegen lassen!
! -------------------------------------------------------------------------------------------------------------------------------------------
! DWD Felder
! -------------------------------------------------------------------------------------------------------------------------------------------
string wwCity = "Wetterwarnung_city";
string wwRegionName = "Wetterwarnung_regionName";
string wwState = "Wetterwarnung_state";
string wwStateShort = "Wetterwarnung_stateShort";
string wwStart = "Wetterwarnung_start";
string wwEnd = "Wetterwarnung_end";
string wwLevel = "Wetterwarnung_level";
string wwTyp = "Wetterwarnung_typ";
string wwDescription = "Wetterwarnung_description";
string wwEvent = "Wetterwarnung_event";
string wwHeadline = "Wetterwarnung_headline";
string wwInstruction = "Wetterwarnung_instruction";
string wwAltitudeStart = "Wetterwarnung_altitudeStart";
string wwAltitudeEnd = "Wetterwarnung_altitudeEnd";
! ------------------------------------------------------------------------------------------------------------------------------------------
! Eigene Felder
! ------------------------------------------------------------------------------------------------------------------------------------------
string wwText = "Wetterwarnung_text";
string wwText2 = "Wetterwarnung_text2";
string wwText3 = "Wetterwarnung_text3";
if(warn4){string wwText4 = "Wetterwarnung_text4";}
if(warn5){string wwText5 = "Wetterwarnung_text5";}
if(warn6){string wwText6 = "Wetterwarnung_text6";}
string wwAktiv = "Wetterwarnung_aktiv";
string wwAnzahl = "Wetterwarnung_anzahl";
string wwKreis = "Wetterwarnung_kreis";
string wwNew = "Wetterwarnung_new";
string wwStartbkp = "Wetterwarnung_start_backup";
string wwStart2 = "Wetterwarnung_start2";
string wwEnd2 = "Wetterwarnung_end2";
string wwLevel2 = "Wetterwarnung_level2";
string wwTyp2 = "Wetterwarnung_typ2";
string wwDescription2 = "Wetterwarnung_description2";
string wwEvent2 = "Wetterwarnung_event2";
string wwHeadline2 = "Wetterwarnung_headline2";
string wwInstruction2 = "Wetterwarnung_instruction2";
string wwAltitudeStart2 = "Wetterwarnung_altitudeStart2";
string wwAltitudeEnd2 = "Wetterwarnung_altitudeEnd2";
string wwEvent3 = "Wetterwarnung_event3";
!---------------------------------------------------------------------------------------------------------------------------------------------
! Wenn die Variable city weiter oben leer ist, wird der eingestellte Kreis von Wetterwarnung_Kreis als City definiert
!---------------------------------------------------------------------------------------------------------------------------------------------
if(!city)
{var kreis = dom.GetObject(wwKreis);var kreisV = kreis.Value();var kreisS = "";if (kreisV == ""){kreisS = web.webGetValueFromList(kreis.ValueList(), 0);}else {kreisS = web.webGetValueFromList(kreis.ValueList(), kreisV);}city = kreisS.Substr(0, 9);if(debug) {WriteLine("Kreis-Variable steht auf: "#kreisS);}if(debug) {WriteLine("City = Kreis-Variable gekuerzt: "#city);}}
else{if(debug) {WriteLine("City-Variable: "#city);}}
!---------------------------------------------------------------------------------------------------------------------------------------------
! Das wars an Konfiguration
! DWD-Warntabelle in 25k(+25k)-Abschnitten laden bis die Region gefunden wurde
!---------------------------------------------------------------------------------------------------------------------------------------------
string url = "https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json";
string downloader = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl";
integer rangefrom = 0;
integer rangeto = 25000;
integer loopcounter = 1;
integer find1 = 0;
boolean found = false;
string stdout = "";
string stdout2 = "";
string cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
string cut2 = "]";
var ret ;
string strRest = "";
!----------------------------------------------------------------------------------------------------------------------------------------------
! Los gehts...
!----------------------------------------------------------------------------------------------------------------------------------------------
if(debug){WriteLine("Befehlszeile - Inhalt von Variable cmd : "#cmd);}
if(debug){WriteLine("Erscheint unterhalb dieser Zeile keine Debug-Info mehr, so bitte CuXD-Einstellungen pruefen");}
ret= dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
if(debug){WriteLine("ret cmd_sets: "#ret);}
ret = dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
if(debug){WriteLine("ret cmd_query_ret: "#ret);}
stdout = dom.GetObject(execdevice # ".CMD_RETS").State();
if(debug) {WriteLine("stdout cmd_rets: " #stdout);}
if (debug){ var stdoutlength = stdout.Length();
WriteLine("Laenge von stdout: " # stdoutlength);}
if (stdout)
{
find1 = stdout.Find(city);
if (debug){WriteLine("find1: " # find1);}
if ((find1 >= 0) && (stdout.Length() >= 25000))
{
rangefrom = rangeto +1;
rangeto = rangeto + 25000;
cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
stdout = stdout + dom.GetObject(execdevice # ".CMD_RETS").State();
}
while ((find1 < 0) && (stdout.Length() >= 25000) && (loopcounter <= 30))
{
loopcounter = loopcounter + 1;
rangefrom = rangeto +1;
rangeto = rangeto + 25000;
if (debug){ WriteLine("Range-Suchbeginn: " # rangefrom);
WriteLine("Range-Suchende: " # rangeto);
WriteLine("find1: " # find1);}
cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
stdout = dom.GetObject(execdevice # ".CMD_RETS").State();
find1 = stdout.Find(city);
if ((find1 >= 0) && (stdout.Length() >= 25000))
{
rangefrom = rangefrom + 25000;
rangeto = rangeto + 25000;
if (debug){ WriteLine("Range-Suchbeginn: " # rangefrom);
WriteLine("Range-Suchende: " # rangeto);}
cmd = downloader # " --range " # rangefrom # "-" # rangeto # " " # url;
dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
dom.GetObject(execdevice # ".CMD_QUERY_RET").State(1);
stdout = stdout + dom.GetObject(execdevice # ".CMD_RETS").State();
}
}
if (debug){ WriteLine("Anzahl Downloads: " # loopcounter);
WriteLine("find1: " # find1);
WriteLine("stdout cmd_rets: " #stdout);
stdoutlength = stdout.Length();
WriteLine("Laenge von cmd_rets: " #stdoutlength);}
found = false;
if(stdout.Find(city)>=0) {found = true;}
}
if(city) {dom.GetObject(wwCity).State(city);}
!-----------------------------------------------------------------------------------------------------------------------------------------------
! Relevanter Bereich ausschneiden und zuweisen
!-----------------------------------------------------------------------------------------------------------------------------------------------
if(found) {
if(debug) {WriteLine("Suche nach City :"#city);}
! gesuchten Bereich komplett ausschneiden und mit ToLatin() umwandeln
stdout = stdout.Substr(stdout.Find(city));
stdout = stdout.Substr(0, stdout.Find(cut2)+1).ToLatin();
if(debug) {WriteLine("stdout nach Find(City): " #stdout);}
if (debug){ stdoutlength = stdout.Length();
WriteLine("Laenge von stdout: " # stdoutlength);}
var text = stdout;
! regionName (Klartext der gesuchten Region z.B. Rhein-Erft-Kreis)
stdout = stdout.Substr(stdout.Find("regionName")+13);
var regionName = stdout.Substr(0, stdout.Find(",")-1).Trim();
if(debug) {WriteLine("Name der Region: "#regionName);}
if(regionName) {if(dom.GetObject(wwRegionName).Value() != regionName){dom.GetObject(wwRegionName).State(regionName);}}
! state (Bundesland im Klartext z.B: Nordrhein-Westfalen)
stdout = text; ! stdout wird neu befuellt
stdout = stdout.Substr(stdout.Find("state")+8);
var state = stdout.Substr(0, stdout.Find(",")-1);
if(debug) {WriteLine("Bundesland: "#state);}
if(state) {if(dom.GetObject(wwState).Value() != state){dom.GetObject(wwState).State(state);}}
! stateShort (Abkuerzung Bundesland z.B: NRW)
stdout = text; ! stdout wird neu befuellt
stdout = stdout.Substr(stdout.Find("stateShort")+13);
var stateShort = stdout.Substr(0, stdout.Find(",")-1);
if(debug) {WriteLine("Abkuerzung Bundesland: "#stateShort);}
if(stateShort) {if(dom.GetObject(wwStateShort).Value() != stateShort){dom.GetObject(wwStateShort).State(stateShort);}}
}
!------------------------------------------------------------------------------------------------------------------------------------------------
! Warnungsanzahl auslesen
!------------------------------------------------------------------------------------------------------------------------------------------------
if(found)
{string cut1;
string find1;
integer anzahl = 0;
cut1 = "},{";
find1 = 1;
while (find1 > 0)
{
find1 = stdout.Find(cut1);
stdout = stdout.Substr(find1 + 6, 5000);
if(find1 > 0){anzahl = anzahl + 1;}
}
anzahl = anzahl + 1;}
else {anzahl = 0;}
if (anzahl != dom.GetObject(wwAnzahl).Value()){dom.GetObject(wwAnzahl).State(anzahl);}
!-------------------------------------------------------------------------------------------------------------------------------------------------
! Meldungen splitten und in Listen packen
!-------------------------------------------------------------------------------------------------------------------------------------------------
string startL; string endL; string levelL; string typL; string descriptL; string headlineL; string eventL; string instructionL; string altitudeStartL; string altitudeEndL; string text8;
if(found)
{
foreach(text8, text.Split("},{"))
{
! start (Uhrzeit ab der die DWD Meldung gültig ist in Sekunden)
var start = text8.Substr(text8.Find("start")+7);
if(start.Substr(0,4) == "null")
{start = start.Substr(0, start.Find(",")-0).Trim();}
else
{start = start.Substr(0, start.Find(",")-3).Trim();}
start = start # ";";
startL = startL # start;
if(debug) {WriteLine("Liste Start-Zeit: " #startL);}
! end (Uhrzeit bis zu der die DWD Meldung gültig ist in Sekunden)
var end = text8.Substr(text8.Find("end")+5);
if(end.Substr(0,4) == "null")
{end = end.Substr(0, end.Find(",")-0).Trim();}
else
{end = end.Substr(0, end.Find(",")-3).Trim();}
end = end # ";";
endL = endL # end;
if(debug) {WriteLine("Liste Ende-Zeit: " #endL);}
!In folgender Tabelle sind Warntypen mit ? markiert, die noch nicht in der Praxis getestet werden konnten!
!0 = Gewitter
!1 = Wind/Sturm/Orkan
!2 = Stark- und Dauerregen
!3 = Schneefall/Schneeverwehungen
!4 = Nebel ?
!5 = Frost
!6 = Glätte/Glatteis
!7 = Tauwetter (?)
!8 = Hitzewarnungen
!9 = UV-Warnungen (?)
!10 = Küstenwarnungen (?)
!11 = Binnenseewarnungen (?)
! type (siehe Liste oben)
var typ = text8.Substr(text8.Find("type")+6);
typ = typ.Substr(0, typ.Find(","));
typ = typ # ";";
typL = typL # typ;
if(debug) {WriteLine("Typ-Liste: "#typL);}
!Level - Vermutung 0 = Vorabwarnung, 1..10(?) tatsaechliche Warnungen, bislang beobachtet:
!2=Amtliche WARNUNG(gelb)
!3=Amtliche WARNUNG vor STARKEN irgendwas(Orange)
!4=Amtliche UNWETTERWARNUNG (rot)
!10=Amtliche WARNUNG vor HITZE
var level = text8.Substr(text8.Find("level")+7);
level = level.Substr(0, 1);
level = level # ";";
levelL = levelL # level;
if(debug) {WriteLine("Level-Liste: "#levelL);}
! description (nähere Beschreibung der Meldung im Klartext)
var descript = text8.Substr(text8.Find("description")+14);
descript = descript.Substr(0, descript.Find("\""));
descript = descript.UriEncode();
descript = descript.Replace("%5Cn", " ");
descript = descript.UriDecode();
descript = descript # ";";
descriptL = descriptL # descript;
if(debug) {WriteLine("Beschreibungs-Liste: "#descriptL);}
! instruction (Was sollte man tun im Klartext z.B. bleibt alle Zuhause ;-)
var instruction = text8.Substr(text8.Find("instruction")+14);
instruction = instruction.Substr(0, instruction.Find("\""));
instruction = instruction # ";";
instructionL = instructionL # instruction;
if(debug) {WriteLine("Instruction-Liste: "#instructionL);}
if(instruction) {dom.GetObject(wwInstruction).State(instruction);}
! event (Kurzform der Meldungsart z.B. Winböen)
var event = text8.Substr(text8.Find("event")+8);
event = event.Substr(0, event.Find("\""));
event = event # ";";
eventL = eventL # event;
if(debug) {WriteLine("Event-Liste: "#eventL);}
! headline (Ueberschrift der Meldung z.B. Amtliche WARNUNG vor WINDBÖEN)
var headline = text8.Substr(text8.Find("headline")+11);
headline = headline.Substr(0, headline.Find("\""));
headline = headline # ";";
headlineL = headlineL # headline;
if(debug) {WriteLine("Ueberschrift-Liste: "#headlineL);}
! altitude Start
var altitudeStart = text8.Substr(text8.Find("altitudeStart")+15);
altitudeStart = altitudeStart.Substr(0, altitudeStart.Find(","));
altitudeStart = altitudeStart # ";";
altitudeStartL = altitudeStartL # altitudeStart;
if(debug) {WriteLine("Hoehenstart-Liste: "#altitudeStartL);}
if(altitudeStart) {dom.GetObject(wwAltitudeStart).State(altitudeStart);}
! altitude End
var altitudeEnd = text8.Substr(text8.Find("altitudeEnd")+13);
altitudeEnd = altitudeEnd.Substr(0, altitudeEnd.Find(","));
altitudeEnd = altitudeEnd # ";";
altitudeEndL = altitudeEndL # altitudeEnd;
if(debug) {WriteLine("Hoehenende-Liste: "#altitudeEndL);}
if(altitudeEnd) {dom.GetObject(wwAltitudeEnd).State(altitudeEnd);}
}
}
!-------------------------------------------------------------------------------------------------------------------------------------------------
! Listenteile in Variable schreiben
!-------------------------------------------------------------------------------------------------------------------------------------------------
if(found)
{
var start1 = startL.StrValueByIndex(";", 0);
start = start1.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
if(dom.GetObject(wwStart).Value() != start){dom.GetObject(wwStart).State(start);}
var end1 = endL.StrValueByIndex(";", 0);
end = end1.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
if(dom.GetObject(wwEnd).Value() != end){dom.GetObject(wwEnd).State(end);}
level = levelL.StrValueByIndex(";", 0);
if(dom.GetObject(wwLevel).Value() != level){dom.GetObject(wwLevel).State(level);}
typ = (typL.StrValueByIndex(";", 0)).ToInteger()+1;
if(dom.GetObject(wwTyp).Value() != typ){dom.GetObject(wwTyp).State(typ);}
descript = descriptL.StrValueByIndex(";", 0);
descript = descript.Trim("\ n");
if(dom.GetObject(wwDescription).Value() != descript){dom.GetObject(wwDescription).State(descript);}
headline = headlineL.StrValueByIndex(";", 0);
if(dom.GetObject(wwHeadline).Value() != headline){dom.GetObject(wwHeadline).State(headline);}
event = eventL.StrValueByIndex(";", 0);
if(dom.GetObject(wwEvent).Value() != event){dom.GetObject(wwEvent).State(event);}
instruction = instructionL.StrValueByIndex(";", 0);
instruction = instruction.Trim("\ n");
if(dom.GetObject(wwInstruction).Value() != instruction){dom.GetObject(wwInstruction).State(instruction);}
altitudeStart = altitudeStartL.StrValueByIndex(";", 0);
if(dom.GetObject(wwAltitudeStart).Value() != altitudeStart){dom.GetObject(wwAltitudeStart).State(altitudeStart);}
altitudeEnd = altitudeEndL.StrValueByIndex(";", 0);
if(dom.GetObject(wwAltitudeEnd).Value() != altitudeEnd){dom.GetObject(wwAltitudeEnd).State(altitudeEnd);}
stdout = start # " bis " # end;
if(dom.GetObject(wwText).Value() != stdout){dom.GetObject(wwText).State(stdout);}
if (anzahl >= 2 )
{
start = startL.StrValueByIndex(";", 1);
start = start.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
if(dom.GetObject(wwStart2).Value() != start){dom.GetObject(wwStart2).State(start);}
end = endL.StrValueByIndex(";", 1);
end = end.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
if(dom.GetObject(wwEnd2).Value() != end){dom.GetObject(wwEnd2).State(end);}
level = levelL.StrValueByIndex(";", 1);
if(dom.GetObject(wwLevel2).Value() != level){dom.GetObject(wwLevel2).State(level);}
typ = (typL.StrValueByIndex(";", 1)).ToInteger()+1;
if(dom.GetObject(wwTyp2).Value() != typ){dom.GetObject(wwTyp2).State(typ);}
descript = descriptL.StrValueByIndex(";", 1);
if(dom.GetObject(wwDescription2).Value() != descript){dom.GetObject(wwDescription2).State(descript);}
headline = headlineL.StrValueByIndex(";", 1);
if(dom.GetObject(wwHeadline2).Value() != headline){dom.GetObject(wwHeadline2).State(headline);}
event = eventL.StrValueByIndex(";", 1);
if(dom.GetObject(wwEvent2).Value() != event){dom.GetObject(wwEvent2).State(event);}
instruction = instructionL.StrValueByIndex(";", 1);
if(dom.GetObject(wwInstruction2).Value() != instruction){dom.GetObject(wwInstruction2).State(instruction);}
altitudeStart = altitudeStartL.StrValueByIndex(";", 1);
if(dom.GetObject(wwAltitudeStart2).Value() != altitudeStart){dom.GetObject(wwAltitudeStart2).State(altitudeStart);}
altitudeEnd = altitudeEndL.StrValueByIndex(";", 1);
if(dom.GetObject(wwAltitudeEnd2).Value() != altitudeEnd){dom.GetObject(wwAltitudeEnd2).State(altitudeEnd);}
stdout = start # " bis " # end;
if(dom.GetObject(wwText2).Value() != stdout){dom.GetObject(wwText2).State(stdout);}
}
if (anzahl >= 3 )
{
start = startL.StrValueByIndex(";", 2);
start = start.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
end = endL.StrValueByIndex(";", 2);
end = end.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
descript = descriptL.StrValueByIndex(";", 2);
headline = headlineL.StrValueByIndex(";", 2);
event = eventL.StrValueByIndex(";", 2);
if(dom.GetObject(wwEvent3).Value() != event){dom.GetObject(wwEvent3).State(event);}
stdout = headline # " - " # descript # " - " # start # " bis " # end;
if(dom.GetObject(wwText3).Value() != stdout){dom.GetObject(wwText3).State(stdout);}
}
if(warn4){if (anzahl >= 4 )
{
start = startL.StrValueByIndex(";", 3);
start = start.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
end = endL.StrValueByIndex(";", 3);
end = end.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
descript = descriptL.StrValueByIndex(";", 3);
headline = headlineL.StrValueByIndex(";", 3);
stdout = headline # " - " # descript # " - " # start # " bis " # end;
if(dom.GetObject(wwText4).Value() != stdout){dom.GetObject(wwText4).State(stdout);}
}}
if(warn5){if (anzahl >= 5 )
{
start = startL.StrValueByIndex(";", 4);
start = start.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
end = endL.StrValueByIndex(";", 4);
end = end.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
descript = descriptL.StrValueByIndex(";", 4);
headline = headlineL.StrValueByIndex(";", 4);
stdout = headline # " - " # descript # " - " # start # " bis " # end;
if(dom.GetObject(wwText5).Value() != stdout){dom.GetObject(wwText5).State(stdout);}
}}
if(warn6){if (anzahl >= 6 )
{
start = startL.StrValueByIndex(";", 5);
start = start.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
end = endL.StrValueByIndex(";", 5);
end = end.ToInteger().ToTime().ToString("%d.%m.%Y %H:%MUhr");
descript = descriptL.StrValueByIndex(";", 5);
headline = headlineL.StrValueByIndex(";", 5);
stdout = headline # " - " # descript # " - " # start # " bis " # end;
if(dom.GetObject(wwText6).Value() != stdout){dom.GetObject(wwText6).State(stdout);}
}}
}
!-------------------------------------------------------------------------------------------------------------------------------------------------
! Ausloeser (erste Warnmeldung dient als Ausloeser)
!-------------------------------------------------------------------------------------------------------------------------------------------------
if(found)
{
integer time = system.Date("%F %X").ToTime().ToInteger();
var diff1 = time - start1.ToInteger();
var diff2 = time - end1.ToInteger();
if(debug) {WriteLine("diff1 :"#diff1);}
if(debug) {WriteLine("diff2 :"#diff2);}
if(diff1 >= 0 && diff2 <= 0)
{
if(debug) {WriteLine("Wetterwarnung auf true");}
if (dom.GetObject(wwAktiv).Value() == false)
{dom.GetObject(wwAktiv).State(true);}
}
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);}
}
}
}
!-------------------------------------------------------------------------------------------------------------------------------------------------
! Ausloeser Wetterwarnung_Start-Vergleich
!-------------------------------------------------------------------------------------------------------------------------------------------------
if (dom.GetObject(wwStart).Value() > dom.GetObject(wwStartbkp).Value())
{
if (dom.GetObject(wwNew).Value() == false)
{dom.GetObject(wwNew).State(true);}
else
{dom.GetObject(wwNew).State(false);
dom.GetObject(wwNew).State(true);}
dom.GetObject(wwStartbkp).State(dom.GetObject(wwStart).Value());
}
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);}
}
}
!-------------------------------------------------------------------------------------------------------------------------------------------------
! Allgemeiner Fallback
!-------------------------------------------------------------------------------------------------------------------------------------------------
if((dom.GetObject(wwInstruction).State()) == ""){dom.GetObject(wwInstruction).State("---");}
if((dom.GetObject(wwInstruction2).State()) == ""){dom.GetObject(wwInstruction2).State("---");}
if(!found)
{
if(debug) {WriteLine("Fallback: Keine Warnung gefunden - found :"#found);}
if (dom.GetObject(wwAktiv).State() == true){dom.GetObject(wwAktiv).State(false);}
if (dom.GetObject(wwNew).State() == true){dom.GetObject(wwNew).State(false);}
if(dom.GetObject(wwText).Value() == "Keine Warnungen"){if(debug) {WriteLine("wwText enthaelt Warnungen");}}else{dom.GetObject(wwText).State("Keine Warnungen");}
if(dom.GetObject(wwTyp).State() != dom.GetObject(wwTyp).State("0")){dom.GetObject(wwTyp).State(0);}
if(dom.GetObject(wwCity).Value() == "---"){if(debug) {WriteLine("wwCity gefuellt");}}else{dom.GetObject(wwCity).State("---");}
if(dom.GetObject(wwRegionName).Value() == "---"){if(debug) {WriteLine("wwRegionname gefuellt");}}else{dom.GetObject(wwRegionName).State("---");}
if(dom.GetObject(wwStart).Value() == "---"){}else{dom.GetObject(wwStart).State("---");}
if(dom.GetObject(wwStartbkp).Value() == "---"){}else{dom.GetObject(wwStartbkp).State("---");}
if(dom.GetObject(wwEnd).Value() == "---"){}else{dom.GetObject(wwEnd).State("---");}
if(dom.GetObject(wwLevel).State() != dom.GetObject(wwLevel).State("0")){dom.GetObject(wwLevel).State(0);}
if(dom.GetObject(wwState).Value() == "---"){}else{dom.GetObject(wwState).State("---");}
if(dom.GetObject(wwDescription).Value() == "---"){}else{dom.GetObject(wwDescription).State("---");}
if(dom.GetObject(wwEvent).Value() == "---"){}else{dom.GetObject(wwEvent).State("---");}
if(dom.GetObject(wwHeadline).Value() == "---"){}else{dom.GetObject(wwHeadline).State("---");}
if(dom.GetObject(wwInstruction).Value() == "---"){}else{dom.GetObject(wwInstruction).State("---");}
if(dom.GetObject(wwStateShort).Value() == "---"){}else{dom.GetObject(wwStateShort).State("---");}
if(dom.GetObject(wwAltitudeStart).Value() == "---"){}else{dom.GetObject(wwAltitudeStart).State("---");}
if(dom.GetObject(wwAltitudeEnd).Value() == "---"){}else{dom.GetObject(wwAltitudeEnd).State("---");}
}
if (anzahl <= 1 )
{
if(debug) {WriteLine("Fallback: Keine 2.Warnung gefunden - found :"#found);}
if(dom.GetObject(wwText2).Value() == "Keine Warnungen"){}else{dom.GetObject(wwText2).State("Keine Warnungen");}
if(dom.GetObject(wwTyp2).State() != dom.GetObject(wwTyp2).State("0")){dom.GetObject(wwTyp2).State(0);}
if(dom.GetObject(wwStart2).Value() == "---"){}else{dom.GetObject(wwStart2).State("---");}
if(dom.GetObject(wwEnd2).Value() == "---"){}else{dom.GetObject(wwEnd2).State("---");}
if(dom.GetObject(wwLevel2).State() != dom.GetObject(wwLevel2).State("0")){dom.GetObject(wwLevel2).State(0);}
if(dom.GetObject(wwDescription2).Value() == "---"){}else{dom.GetObject(wwDescription2).State("---");}
if(dom.GetObject(wwEvent2).Value() == "---"){}else{dom.GetObject(wwEvent2).State("---");}
if(dom.GetObject(wwHeadline2).Value() == "---"){}else{dom.GetObject(wwHeadline2).State("---");}
if(dom.GetObject(wwInstruction2).Value() == "---"){}else{dom.GetObject(wwInstruction2).State("---");}
if(dom.GetObject(wwAltitudeStart2).Value() == "---"){}else{dom.GetObject(wwAltitudeStart2).State("---");}
if(dom.GetObject(wwAltitudeEnd2).Value() == "---"){}else{dom.GetObject(wwAltitudeEnd2).State("---");}
}
if (anzahl <= 2 )
{
if(debug) {WriteLine("Fallback: Keine 3.Warnung oder höher gefunden - found :"#found);}
if(dom.GetObject(wwText3).Value() == "Keine Warnungen"){}else{dom.GetObject(wwText3).State("Keine Warnungen");}
if(dom.GetObject(wwEvent3).Value() == "---"){}else{dom.GetObject(wwEvent3).State("---");}
}
if(warn4){if (anzahl <= 3 )
{if(debug) {WriteLine("Fallback: Keine 4.Warnung oder höher gefunden - found :"#found);}
if(dom.GetObject(wwText4).Value() == "Keine Warnungen"){}else{dom.GetObject(wwText4).State("Keine Warnungen");}}
if(warn5){if (anzahl <= 4 )
{if(debug) {WriteLine("Fallback: Keine 5.Warnung oder höher gefunden - found :"#found);}
if(dom.GetObject(wwText5).Value() == "Keine Warnungen"){}else{dom.GetObject(wwText5).State("Keine Warnungen");}}
if(warn6){if (anzahl <= 5 )
{if(debug) {WriteLine("Fallback: Keine 6.Warnung oder höher gefunden - found :"#found);}
if(dom.GetObject(wwText6).Value() == "Keine Warnungen"){}else{dom.GetObject(wwText6).State("Keine Warnungen");}}}}}
Zurück in der Alpha-Phase, erst wenn es bei mir läuft gibt es hier wieder die Beta-Version oder höher.
Ich würde mich über Rückmeldungen und Tests freuen. Danke schonmal!
Noch ein kleiner Hinweis: Auch die letzte Release-Version funktioniert noch gut. Einziger erkennbarer Fehler der mir bekannt darin ist, ist das state und stateShort-Feld.
EDIT 31.07.2022: Das Pushscript hat nun eine größere Beta-Versionsnummer. Als Änderung ist nun eine Abfrage eingebaut, die prüft ob wwPushtitle existiert. Die Systemvariable muss also nicht mehr vorhanden sein, was bei alleiniger Telegram-Nutzung eine Variable spart.
EDIT 07.08.2022: Push-Dienst zurücksetzen korrigiert
EDIT 08.08.2022: Push-Script hier im Beta-Posting wieder entfernt, muss erst bei mir wieder fehlerfrei laufen...
DWD-Unwetterwarnscript v1.32.b03 (keine Weiterentwicklung mehr, unsupported) (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis (keine Weiterentwicklung mehr, unsupported)
RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)
RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)
-
- Beiträge: 120
- Registriert: 15.04.2015, 11:39
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 5 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Ich schaffe leider keine Weiterentwicklung mehr. Die Zeit dafür fehlt mir einfach um das Ganze zu Testen, zu Prüfen usw.
Ich selber habe das Script inzwischen bei mir deaktiviert. Wahrscheinlich läuft das alte Script noch immer... aber unsupportet.
Ich nutze inzwischen Homeassistant als Visualisierung und habe dort auch DWD eingebunden. Aber lasse Homematic die Warnungen noch immer per Soundschnipsel ansagen.
Ich selber habe das Script inzwischen bei mir deaktiviert. Wahrscheinlich läuft das alte Script noch immer... aber unsupportet.
Ich nutze inzwischen Homeassistant als Visualisierung und habe dort auch DWD eingebunden. Aber lasse Homematic die Warnungen noch immer per Soundschnipsel ansagen.
DWD-Unwetterwarnscript v1.32.b03 (keine Weiterentwicklung mehr, unsupported) (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis (keine Weiterentwicklung mehr, unsupported)
RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)
RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)
-
- Beiträge: 9750
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 706 Mal
- Danksagung erhalten: 1645 Mal
Re: DWD-Unwetterwarnscript v1.31.r00
Wird da ein JSON ausgegeben? Dann könnte man mein JSON Skript versuchen
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++