Hi,
ich habe mir erlaubt, das Skript noch etwas an meine Bedürfnisse anzupassen. Ich hoffe die Adaption ist für die Ur-Skript-Entwickler OK?
Das Skript läuft soweit einwandfrei, es gibt KEINE FEHLERMELDUNGEN mehr im Log.
Die Fehlermeldung wurde durch den Abschnitt "Windbedingungen" verursacht, könnte also auch im Originalskript Fehler verursachen.
Es wird ab sofort automatisch geprüft, ob die jeweilige Variable auch existert und nur dann geändert, bzw. auch dann nur, wenn der Wert sich verändert hat.
Beseht an den neuen Funktionen Interesse?
Letzte Baustelle: Ich verwende zwingend CUxD. SystemExec ist nicht durchgängig implementiert.
Code: Alles auswählen
!*************************************************
!** Wetter_heute_Skript **
!*************************************************
!13.05.2018
! - Fehler bereinigt, so dass Systemvariablen nur bei Änderung beschrieben werden
!12.05.2018 Modifiziert von Tobias78,
! - es werden keine negativen Nierderschlagmengen ausgegeben => korrigiert zu 0
! - es werden nur vorhandene Systemvariablen beschrieben, die die nicht gewünscht sind oder leer bleiben: nicht erstellen oder einfach löschen
! - Makro überprüft automatisch, welche Variablen vorhanden sind
! - Weitergeben der Parameter an Homeputer (optional), wenn sich diese ändern (kann über "false" ausgeschaltet werden)
! - hierzu in Homeputer Makro mit dem Namen "ANZ_SYS_WETTER_HEUTE" anlegen, oder URL in Zeile 46 ändern
! - in Homeputer im Makro ANZ_SYS_WETTER_HEUTE gleiche Variablen mit gleichem Typ anlegen, wie auf der CCU. Umlaute in HP ändern. Also ü => ue
! - hierfür ist die Zusatzsoftware CL-Web-Server erforderlich
! - Systemvariable nur ändern, wenn sich der Wert ändert. So kann auf Variablenänderung getriggert werden.
! - Debug-Modus integriert, schaltbar über Variable "Debug"
! - Makro benötigt auf einem Rasperry3 ca. 12-15 Sekunden. Auf der CCU ggf. länger, also GEDULT BEIM TESTEN!
! - ICON-URL in ICON_URL umbenannt, das "-" gibt nur Probleme
!*************************************************
!Stand 02.03.2018 http://homematic-forum.de/forum/viewtopic.php?f=31&t=17209
!zuerst folgende Systemvariablen anlegen
!Achtung: Schreibweise mit Drag&Drop (nur die anlegen, die gebraucht werden!)
!W_Station Zeichenkette
!W_Aktualisierung Zeichenkette
!W_Bedingungen Zeichenkette
!W_Temperatur Zahl °C
!W_Luftfeuchte Zahl %
!W_Windbedingungen Zeichenkette [dies könnte noch Probleme machen. Ich nutze es nicht!]
!W_Windrichtung Zeichenkette
!W_Windrichtg Zahl °
!W_Windgeschwindigkeit Zahl km/h
!W_Windboeen Zahl km/h
!W_Luftdruck Zahl mb
!W_Luftdrucktrend Zeichenkette
!W_Taupunkt Zahl °C
!W_UV Zeichenkette
!W_Icon Zeichenkette
!W_Icon_url Zeichenkette
!W_Solar Zahl W/m2
!W_GefühlteLufttemp Zahl °C
!W_Windkühle Zahl °C
!W_Regenmenge Zahl mm
!W_Regenmenge1h Zahl mm
!-------------------------------------------------------------------------------------------------------------------------------------------
! Debugging einschalten = true oder aussschalten = false
! z.B. zum Test unter "Script testen"
!boolean debug =true;
boolean debug =false;
! ------------------------------------------------------------------------------------------------------------------------------------------
! Senden an Homeputer einschalten = "URL=" oder aussschalten = false
! CL-Web-Server und Homeputer CL müssen auf der CCU installiert sein, wenn die Funktion genutzt wird
! Achtung: Homeputer-Makro-Name muss in Großbuchstaben geschrieben werden, "=" am Ende nicht vergessen!
! Beispielurl = "http://192.168.0.3/addons/contronics/CLWebI.ccc?SETVARBYNAME&ANZ_SYS_WETTER_HEUTE=";
!
var homeputer_url = "http://192.168.0.3/addons/contronics/CLWebI.ccc?SETVARBYNAME&ANZ_SYS_WETTER_HEUTE";
!var homeputer_url = "false";
! ------------------------------------------------------------------------------------------------------------------------------------------
!var url = "http://api.wunderground.com/api/<xxxxxxxxxxxx>/conditions/lang:DL/q/Germany/<City>.xml";
var url = "http://api.wunderground.com/api/xxxxxxxxxxxxx/conditions/lang:DL/q/Germany/EDVE.xml";
! ------------------------------------------------------------------------------------------------------------------------------------------
!hier ist die Abfrage mit CUxD
!Achtung, CUxD wird auch weiter unten noch verwendet, um die Variablen an Homeputer zu übertragen
dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801002:1.CMD_QUERY_RET").State(1);
string W_xml = dom.GetObject("CUxD.CUX2801002:1.CMD_RETS").State();
!hier ist die Abfrage mit system.Exec
!string stdout;
!string stderr;
!system.Exec("wget -q -O - '"#url#"'", &stdout, &stderr);
!if(debug){WriteLine("Komplett : "#stdout);}
!WriteLine(stdout);
!string W_xml = stdout;
! ------------------------------------------------------------------------------------------------------------------------------------------
! Ab hier ist keine manuelle Einstellung mehr nötig
! ------------------------------------------------------------------------------------------------------------------------------------------
!Beim XML-File den ueberfluessigen Header entfernen
integer laenge = W_xml.Length();
integer wort_position = W_xml.Find("display_location");
W_xml = W_xml.Substr(wort_position, (laenge - wort_position));
!if(debug){WriteLine("W_xml ohne Header : "#W_xml);}
!Daten mit Suchworten aus XML-File ausfiltern:
!string word = "full";
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Station");
if (oVar) {
string word = "city";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Station : "#daten);}
if (dom.GetObject("W_Station") <> 0){
if (dom.GetObject("W_Station").Value() <> daten) {
if(debug){WriteLine("W_Station geändert");}
dom.GetObject("W_Station").State(daten);}
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_STATION="#daten#"'");
if(debug) {WriteLine("spezialurl : "#spezialurl);}
dom.GetObject("CUxD.CUX2801002:2.CMD_SETS").State("wget -q -O /dev/null '"#homeputer_url# ".W_STATION=" #daten# "'");
dom.GetObject("CUxD.CUX2801002:2.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Aktualisierung");
if (oVar) {
string word = "observation_time_rfc822";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
!daten = daten.Substr(0, (word_position -2));
daten = daten.Substr(0, (word_position -11));
if(debug){WriteLine("W_Aktualisierung : "#daten);}
if (dom.GetObject('W_Aktualisierung').Value() <> daten) {
dom.GetObject("W_Aktualisierung").State(daten);
if (homeputer_url <> "false"){
!Hier werden leider ein paar UTF Konvertierungsfehler mit übergeben. Baustelle für später
dom.GetObject("CUxD.CUX2801002:3.CMD_SETS").State("wget -q -O /dev/null '"#homeputer_url# ".W_AKTUALISIERUNG="#daten# "'");
dom.GetObject("CUxD.CUX2801002:3.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Bedingungen");
if (oVar) {
string word = "weather";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Bedingungen : "#daten);}
if (dom.GetObject("W_Bedingungen").Value() <> daten) {
dom.GetObject("W_Bedingungen").State(daten);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_BEDINGUNGEN="#daten#"'");
dom.GetObject("CUxD.CUX2801002:4.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:4.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Temperatur");
if (oVar) {
string word = "temp_c";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Temperatur : "#daten);}
real zahl = daten.ToFloat();
if (dom.GetObject("W_Temperatur").Value() <> zahl) {
dom.GetObject("W_Temperatur").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_TEMPERATUR="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:5.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:5.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Luftfeuchte");
if (oVar) {
string word = "relative_humidity";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Luftfeuchte : "#daten);}
integer zahl = daten.ToFloat();
if (dom.GetObject("W_Luftfeuchte").Value() <> zahl) {
dom.GetObject("W_Luftfeuchte").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_LUFTFEUCHTE="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:6.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:6.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Windbedingungen");
if (oVar) {
string word = "wind_string";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if (debug){WriteLine("W_Windbedingungen : "#daten);}
if (dom.GetObject("W_Windbedingungen").Value() <> daten) {
dom.GetObject("W_Windbedingungen").State(daten);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_WINDBEDINGUNGEN="#daten#"'");
dom.GetObject("CUxD.CUX2801002:7.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:7.CMD_RUNS").State(1);
}}}
!HIER MUSS DER FEHLER ZWISCHEN SEIN!
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Windrichtung");
if (oVar) {
string word = "wind_dir";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("wind_dir : "#daten);}
word_laenge =daten.Length();
string anfangsbuchstabe = daten.Substr(0,1);
! Umlaute korrigieren
! N # Nord ***
if (anfangsbuchstabe == "N")
{ if (daten == "Nordwest") {daten = "Nord-West" ;} }
! S # Süd ***
if (anfangsbuchstabe == "S") {
! 4 # Süd
if (word_laenge == 4) {daten = "Süd";}
if (word_laenge == 8) {daten = "Süd-West";}
! 12 # Süd-Südost
if (word_laenge == 12) {daten = "Süd-Süd-Ost" ;}
! 13
if (word_laenge == 13) {daten = "Süd-Süd-West" ;} }
! W # Westen
if (anfangsbuchstabe == "W") {
! 13 # West-Südwest
if (word_laenge == 13) {daten = "West-Süd-West" ;} }
! O # Osten
if (anfangsbuchstabe == "O") {
! 11 # Ost-Südost
if (word_laenge == 11) {daten = "Ost-Süd-Ost" ;} }
if (dom.GetObject("W_Windrichtung").Value() <> daten) {
dom.GetObject("W_Windrichtung").State(daten);
if(debug){WriteLine("W_Windrichtung : "#daten);}
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_WINDRICHTUNG="#daten#"'");
dom.GetObject("CUxD.CUX2801002:8.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:8.CMD_RUNS").State(1);
}}}
!HIER MUSS DER FEHLER ZWISCHEN (oben) SEIN!
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Windrichtg");
if (oVar) {
string word = "wind_degrees";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
if(debug){WriteLine("W_Windrichtg : "#daten);}
if (dom.GetObject("W_Windrichtg").Value() <> zahl) {
dom.GetObject("W_Windrichtg").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_WINDRICHTG="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:9.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:9.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Windgeschwindigkeit");
if (oVar) {
string word = "wind_kph";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Windgeschwindigkeit : "#daten);}
integer zahl = daten.ToFloat();
if (dom.GetObject("W_Windgeschwindigkeit").Value() <> zahl) {
dom.GetObject("W_Windgeschwindigkeit").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_WINDGESCHWINDIGKEIT="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:10.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:10.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Windboeen");
if (oVar) {
string word = "wind_gust_kph";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Windboeen : "#daten);}
integer zahl = daten.ToFloat();
if (dom.GetObject("W_Windboeen").Value() <> zahl) {
dom.GetObject("W_Windboeen").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_WINDBOEEN="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:11.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:11.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Luftdruck");
if (oVar) {
string word = "pressure_mb";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Luftdruck : "#daten);}
integer zahl = daten.ToFloat();
if (dom.GetObject("W_Luftdruck").Value() <> zahl) {
dom.GetObject("W_Luftdruck").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_LUFTDRUCK="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:12.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:12.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Luftdrucktrend");
if (oVar) {
string word = "pressure_trend";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Luftdrucktrend : "#daten);}
if (dom.GetObject("W_Luftdrucktrend").Value() <> daten) {
dom.GetObject("W_Luftdrucktrend").State(daten);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_LUFTDRUCKTREND="#daten#"'");
dom.GetObject("CUxD.CUX2801002:13.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:13.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Taupunkt");
if (oVar) {
string word = "dewpoint_c";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
if(debug){WriteLine("W_Taupunkt : "#zahl);}
if (dom.GetObject("W_Taupunkt").Value() <> zahl) {
dom.GetObject("W_Taupunkt").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_TAUPUNKT="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:14.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:14.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_UV");
if (oVar) {
string word = "UV";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_UV_daten : "#daten);}
real zahl = daten.ToFloat();
if (zahl < 0) {zahl = 0;}
if(debug){WriteLine("W_UV : "#zahl);}
if (dom.GetObject("W_UV").Value() <> zahl) {
dom.GetObject("W_UV").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_UV="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:15.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:15.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Icon");
if (oVar) {
string word = "icon";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge + 1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position-2));
if(debug){WriteLine("W_Icon : "#daten);}
string daten2 = daten;
if (dom.GetObject("W_Icon").Value() <> daten) {
dom.GetObject("W_Icon").State(daten);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_ICON="#daten#"'");
dom.GetObject("CUxD.CUX2801002:16.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:16.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Icon_url");
if (oVar) {
string word = "icon_url";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge + 1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position-2));
daten = "</div><img src=\"" + daten + "\" alt=\"" + daten2 + "\">";
if(debug){WriteLine("W_Icon_url : "#daten);}
if (dom.GetObject("W_Icon_url").Value() <> daten) {
dom.GetObject("W_Icon_url").State(daten);
!Wird nicht an HP übertragen, da dies über die Schnittstelle Fehler verursacht
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_ICON_URL="#daten#"'");
dom.GetObject("CUxD.CUX2801002:2.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:2.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Solar");
if (oVar) {
string word = "solarradiation";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
integer zahl = daten.ToFloat();
if(debug){WriteLine("W_Solar : "#daten);}
if (dom.GetObject("W_Solar").Value() <> zahl) {
dom.GetObject("W_Solar").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_SOLAR="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:3.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:3.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_GefühlteLufttemp");
if (oVar) {
string word = "feelslike_c";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
if(debug){WriteLine("W_GefühlteLufttemp : "#daten);}
if (dom.GetObject("W_GefühlteLufttemp").Value() <> zahl) {
dom.GetObject("W_GefühlteLufttemp").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_GEFUEHLTELUFTTEMP="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:4.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:4.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Windkühle");
if (oVar) {
string word = "windchill_c";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Windkühle : "#daten);}
real zahl = daten.ToFloat();
if (dom.GetObject("W_Windkühle").Value() <> zahl) {
dom.GetObject("W_Windkühle").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_WINDKUEHLE="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:5.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:5.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Regenmenge");
if (oVar) {
string word = "precip_today_metric";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
if(debug){WriteLine("W_Regenmenge : "#daten);}
real zahl = daten.ToFloat();
if (zahl < 0) {zahl = 0;}
if (dom.GetObject("W_Regenmenge").Value() <> zahl) {
dom.GetObject("W_Regenmenge").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_REGENMENGE="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:6.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:6.CMD_RUNS").State(1);
}}}
object oVar= dom.GetObject (ID_SYSTEM_VARIABLES).Get ("W_Regenmenge1h");
if (oVar) {
string word = "precip_1hr_metric";
integer word_laenge = word.Length();
integer word_position = W_xml.Find(word);
string daten = W_xml.Substr((word_position + word_laenge +1), 100);
integer word_position = daten.Find(word);
daten = daten.Substr(0, (word_position -2));
real zahl = daten.ToFloat();
if (zahl < 0) {zahl = 0;}
if(debug){WriteLine("W_Regenmenge1h : "#zahl);}
if (dom.GetObject("W_Regenmenge1h").Value() <> zahl) {
dom.GetObject("W_Regenmenge1h").State(zahl);
if (homeputer_url <> "false"){
var spezialurl = ("wget -q -O /dev/null '"#homeputer_url#".W_REGENMENGE1h="#zahl#"'");
dom.GetObject("CUxD.CUX2801002:7.CMD_SETS").State(spezialurl);
dom.GetObject("CUxD.CUX2801002:7.CMD_RUNS").State(1);
}}}
Gruß, Tobias.
P.S.: Skript am 12.05. 09:00 aktualisiert
P.S.: Skript am 12.05. 14:00 aktualisiert
P.S.: Skript am 13.05. 10:30 aktualisiert