Zum Inhalt

Wetterdaten abfragen

Die Dokumentation über die einzelnen zurückgelieferten Daten sowie die Beschreibung des API-Endpunktes finden sich auf der Smarthome Wetter API Seite.

Paketabhängigkeit

Je nach Art des gebuchten Paketes stehen unterschiedliche Daten zur Verfügung. Die Daten sind in der API-Dokumentation entsprechend gekennzeichnet.

HomeMatic

Kein Homematic IP Access Point

Der Dienst kann nur mit einer Homematic Zentrale verwendet werden. Der Homematic IP Acces Point wird nicht unterstützt.

Die nachfolgende Tabelle zeigt die Verfügbarkeit der Skripte in Abhängigkeit des gebuchten Paketes.

Skript Lite Photovoltaik Pro
Abfragen des aktuellen Wetters (gemittelt)
Abfrage der Wettervorhersage (gemittelt)
Aktuelle Prognose zu PV Werten
Vorhersage von PV Werten
Premium Vorhersage von PV Werten

Das entsprechende Skript kann in ein Programm eingefügt werden, welches im Zeitintervall die Daten abruft.

Schlüssel Beschreibung
temp Temperatur
uv UV-Index
press Luftdruck
clouds Wolkenbedeckung
solarrad Sonnenstrahlung
windspd Windgeschwindigkeit
dewpt Taupunkt
ghi Globale horizontale Strahlung
dhi Globale diffuse Strahlung
aqi Luftqualitätsindex
vis Sichtweite
rh Feuchtigkeit
ci Wolkenindex
easyKw Vorhergesage kW
pro1 Winkel 1
pro2 Winkel 2
pro3 Winkel 3
pro4 Winkel 4
pro5 Winkel 5
pro6 Winkel 6
pro7 Winkel 7
pro8 Winkel 8
pro9 Winkel 9

In diesem Skript werden Systemvariablen erstellt und die gemittelten Daten des aktuellen Wetters eingetragen. Das Präfix kann selbst bestimmt werden. Dieser dient zur Übersicht, da zwei Skripte für zwei unterschiedliche Orte laufen können. So kann besser zwischen den Variablen unterschieden werden. Das Präfix kann dann zum Beispiel mit einem Ort versehen werden. In unserem Beispiel lautet dieser: SHW_.

string apiKey = "Hier den API-Key eintragen";
string prefix = "SHW_";
var url = "https://www.smarthome-wetter.de/public/api/weatherMid/" # apiKey;
string output;
string svName;
object svObj;
object svObjects;

string stderr;
var weatherMidData = system.Exec("wget --quiet --method GET --header 'content-type: text/xml' --header 'cache-control: no-cache' --output-document - " # url, &output, &stderr);

integer temp = output.StrValueByIndex(":",2).StrValueByIndex(",",0);
integer press = output.StrValueByIndex(":",3).StrValueByIndex(",",0);
integer cloud = output.StrValueByIndex(":",4).StrValueByIndex(",",0);
integer solar = output.StrValueByIndex(":",5).StrValueByIndex(",",0);
integer wind = output.StrValueByIndex(":",6).StrValueByIndex(",",0);
integer uv = output.StrValueByIndex(":",7).StrValueByIndex(",",0);
integer winddir = output.StrValueByIndex(":",8).StrValueByIndex(",",0);
integer dewpt = output.StrValueByIndex(":",9).StrValueByIndex(",",0);
integer ghi = output.StrValueByIndex(":",10).StrValueByIndex(",",0);
integer dhi = output.StrValueByIndex(":",11).StrValueByIndex(",",0);
integer aqi = output.StrValueByIndex(":",12).StrValueByIndex(",",0);
integer vis = output.StrValueByIndex(":",13).StrValueByIndex(",",0);
integer rh = output.StrValueByIndex(":",14).StrValueByIndex("}",0);

WriteLine("Temp: " + temp);
WriteLine("Press: " + press);
WriteLine("Cloud: " + cloud);
WriteLine("Solar: " + solar);
WriteLine("Wind: " + wind);
WriteLine("UV: " + uv);
WriteLine("WindDir: " + winddir);
WriteLine("Dewpt: " + dewpt);
WriteLine("GHI: " + ghi);
WriteLine("DHI: " + dhi);
WriteLine("AQI: " + aqi);
WriteLine("VIS: " + vis);
WriteLine("RH: " + rh);

svName = "temp_Temperatur";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Temperatur in Grad");
    svObj.ValueUnit("°C");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(temp);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "temp_Temperatur").State(temp);

svName = "press_Luftdruck";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Luftdruck in hPa");
    svObj.ValueUnit("hPa");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(press);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "press_Luftdruck").State(press);

svName = "cloud_Bewoelkungsgrad";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewoelungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(cloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "cloud_Bewoelkungsgrad").State(cloud);

svName = "solar_Sonnenstrahlung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(solar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "solar_Sonnenstrahlung").State(solar);

svName = "wind_Windgeschwindigkeit";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Windgeschwindigkeit in km/h");
    svObj.ValueUnit("km/h");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(wind);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "wind_Windgeschwindigkeit").State(wind);

svName = "uv_UV-Index";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("UV-Index");
    svObj.ValueUnit("UV-Index");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(uv);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "uv_UV-Index").State(uv);

svName = "winddir_Windrichtung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Windrichtung in °");
    svObj.ValueUnit("°");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(winddir);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "winddir_Windrichtung").State(winddir);

svName = "dewpt_Taupunkt";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Taupunkt in °C");
    svObj.ValueUnit("°C");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(dewpt);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "dewpt_Taupunkt").State(dewpt);

svName = "ghi_GlobaleStrahlung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Globale Strahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(ghi);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "ghi_GlobaleStrahlung").State(ghi);

svName = "dhi_Diffuse_Globale_Horizontalstrahlung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Diffuse Globale Strahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(dhi);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "dhi_Diffuse_Globale_Horizontalstrahlung").State(dhi);

svName = "aqi_Luftqualitätsindex";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Luftqualitätsindex");
    svObj.ValueUnit("Luftqualitätsindex");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(aqi);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "aqi_Luftqualitätsindex").State(aqi);

svName = "vis_Sichtweite";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sichtweite in km");
    svObj.ValueUnit("km");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(vis);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "vis_Sichtweite").State(vis);

svName = "rh_Relative_Luftfeuchtigkeit";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Relative Luftfeuchtigkeit in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(rh);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "rh_Relative_Luftfeuchtigkeit").State(rh);

In diesem Skript werden Systemvariablen erstellt und die gemittelten Daten der aktuellen Wettervorhersage eingetragen. Das Präfix kann selbst bestimmt werden. Dieser dient zur Übersicht, da zwei Skripte für zwei unterschiedliche Orte laufen können. So kann besser zwischen den Variablen unterschieden werden. Das Präfix kann dann zum Beispiel mit einem Ort versehen werden. In unserem Beispiel lautet dieser: SHW_.

string apiKey = "Hier den API-Key eintragen";
string prefix = "SHW_";
var url = "https://www.smarthome-wetter.de/public/api/forecastMid/" # apiKey;
string output;
string temp;
string stderr;
var weatherMidData = system.Exec("wget --quiet --method GET --header 'content-type: text/xml' --header 'cache-control: no-cache' --output-document - " # url, &output, &stderr);
output = output.Substr(0,13339);

integer temp = output.StrValueByIndex(":", 5).StrValueByIndex(",", 0);
integer press = output.StrValueByIndex(":", 6).StrValueByIndex(",", 0);
integer cloud = output.StrValueByIndex(":", 7).StrValueByIndex(",", 0);
integer solar = output.StrValueByIndex(":", 8).StrValueByIndex(",", 0);
integer wind = output.StrValueByIndex(":", 9).StrValueByIndex(",", 0);
integer uv = output.StrValueByIndex(":", 10).StrValueByIndex(",", 0);
integer winddir = output.StrValueByIndex(":", 11).StrValueByIndex(",", 0);
integer dewpt= output.StrValueByIndex(":", 12).StrValueByIndex(",", 0);
integer ghi = output.StrValueByIndex(":", 13).StrValueByIndex(",", 0);
integer dhi = output.StrValueByIndex(":", 14).StrValueByIndex(",", 0);
integer aqi = output.StrValueByIndex(":", 15).StrValueByIndex(",", 0);
integer vis = output.StrValueByIndex(":", 16).StrValueByIndex(",", 0);
integer rh = output.StrValueByIndex(":", 17).StrValueByIndex("}", 0);

WriteLine("Temp: " + temp);
WriteLine("Press: " + press);
WriteLine("Cloud: " + cloud);
WriteLine("Solar: " + solar);
WriteLine("Wind: " + wind);
WriteLine("UV: " + uv);
WriteLine("Winddir: " + winddir);
WriteLine("Dewpt: " + dewpt);
WriteLine("GHI: " + ghi);
WriteLine("DHI: " + dhi);
WriteLine("AQI: " + aqi);
WriteLine("VIS: " + vis);
WriteLine("RH: " + rh);

string  svName = "temp_Temperatur";
svName = prefix # svName ;
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("Temperatur in Grad");
    svObj.ValueUnit("°C");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(temp);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}

dom.GetObject(prefix # "temp_Temperatur").State(temp);

string  svName = "press_Luftdruck";
svName = prefix # svName ;
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("Luftdruck in hPa");
    svObj.ValueUnit("hPa");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(press);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "press_Luftdruck").State(press);

string  svName = "cloud_Bewoelkungsgrad";
svName = prefix # svName ;
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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(cloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "cloud_Bewoelkungsgrad").State(cloud);

string  svName = "solar_Sonnenstrahlung";
svName = prefix # svName ;
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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(solar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "solar_Sonnenstrahlung").State(solar);

string  svName = "wind_Windgeschwindigkeit";
svName = prefix # svName ;
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("Windgeschwindigkeit in km/h");
    svObj.ValueUnit("km/h");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(wind);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "wind_Windgeschwindigkeit").State(wind);

string  svName = "uv_UV-Index";
svName = prefix # svName ;
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("UV-Index");
    svObj.ValueUnit("UV-Index");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(uv);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "uv_UV-Index").State(uv);

string  svName = "winddir_Windrichtung";
svName = prefix # svName ;
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("Windrichtung in °");
    svObj.ValueUnit("°");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(winddir);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "winddir_Windrichtung").State(winddir);

string  svName = "dewpt_Taupunkt";
svName = prefix # svName ;
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("Taupunkt in °C");
    svObj.ValueUnit("°C");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(dewpt);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "dewpt_Taupunkt").State(dewpt);

string  svName = "ghi_GlobaleStrahlung";
svName = prefix # svName ;
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("Globale Strahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(ghi);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "ghi_GlobaleStrahlung").State(ghi);

string  svName = "dhi_Diffuse_Globale_Horizontalstrahlung";
svName = prefix # svName ;
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("Diffuse Globale Strahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(dhi);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "dhi_Diffuse_Globale_Horizontalstrahlung").State(dhi);

string  svName = "aqi_Luftqualitätsindex";
svName = prefix # svName ;
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("Luftqualitätsindex");
    svObj.ValueUnit("Luftqualitätsindex");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(aqi);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "aqi_Luftqualitätsindex").State(aqi);

string  svName = "vis_Sichtweite";
svName = prefix # svName ;
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("Sichtweite in km");
    svObj.ValueUnit("km");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(vis);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "vis_Sichtweite").State(vis);

string  svName = "rh_Relative_Luftfeuchtigkeit";
svName = prefix # svName ;
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("Relative Luftfeuchtigkeit in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(rh);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "rh_Relative_Luftfeuchtigkeit").State(rh);

In diesem Skript werden Systemvariablen erstellt und die Daten der aktuellen Photovoltaik Prognose eingetragen. Das Präfix kann selbst bestimmt werden. Dieser dient zur Übersicht, da zwei Skripte für zwei unterschiedliche Orte laufen können. So kann besser zwischen den Variablen unterschieden werden. Das Präfix kann dann zum Beispiel mit einem Ort versehen werden. In unserem Beispiel lautet dieser: SHW_.

string apiKey = "Hier den API-Key eintragen";
string prefix = "SHW_";
var url = "https://www.smarthome-wetter.de/public/api/pv/" # apiKey;
string output;
string stderr;
string svName;
object svObj;
object svObjects;
var weatherMidData = system.Exec("wget --quiet --method GET --header 'content-type: text/xml' --header 'cache-control: no-cache' --output-document - " # url, &output, &stderr);

integer solar = output.StrValueByIndex(":",2).StrValueByIndex(",",0);
integer ci = output.StrValueByIndex(":",3).StrValueByIndex(",",0);
integer kw = output.StrValueByIndex(":", 4).StrValueByIndex("}",0);


WriteLine("Solar: " + solar);
WriteLine("CI: " + ci);
WriteLine("KW: " + kw);

svName = "solar_Sonnenstrahlung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(solar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "solar_Sonnenstrahlung").State(solar);

svName = "ci_Wolkenindex";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Cloud Index");
    svObj.ValueUnit("Cloud Index");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(ci);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "ci_Wolkenindex").State(ci);

svName = "kw_Berechnete_KW_Leistung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Berechnete KW-Leistung");
    svObj.ValueUnit("kw");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(kw);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "kw_Berechnete_KW_Leistung").State(kw);

WriteLine("Done");

In diesem Skript werden Systemvariablen erstellt und die Daten der aktuellen Vorhersage von PV Werten eingetragen. Das Präfix kann selbst bestimmt werden. Dieser dient zur Übersicht, da zwei Skripte für zwei unterschiedliche Orte laufen können. So kann besser zwischen den Variablen unterschieden werden. Das Präfix kann dann zum Beispiel mit einem Ort versehen werden. In unserem Beispiel lautet dieser: SHW_.

string apiKey = "Hier den API-Key eintragen";
var url = "https://www.smarthome-wetter.de/public/api/pvForecast/" # apiKey;
string output;
string stderr;
string  svName;
object svObj;
object svObjects;
string prefix = "SHW_";
var weatherMidData = system.Exec("wget --quiet --method GET --header 'content-type: text/xml' --header 'cache-control: no-cache' --output-document - " # url, &output, &stderr);

integer todayEveningSolar= output.StrValueByIndex(":",3).StrValueByIndex(",",0);
integer todayEveningCloud= output.StrValueByIndex(":",4).StrValueByIndex(",",0);
integer todayEveningEasyKW= output.StrValueByIndex(":",5).StrValueByIndex(",",0);
integer todayEveningPV0= output.StrValueByIndex(":",6).StrValueByIndex(",",0);
integer todayEveningPV1= output.StrValueByIndex(":",7).StrValueByIndex(",",0);
integer todayEveningPV2= output.StrValueByIndex(":",8).StrValueByIndex(",",0);
integer todayEveningPV3= output.StrValueByIndex(":",9).StrValueByIndex("}",0);

integer todayNightSolar = output.StrValueByIndex(":",11).StrValueByIndex(",",0);
integer todayNightCloud = output.StrValueByIndex(":",12).StrValueByIndex(",",0);
integer todayNightEasyKW = output.StrValueByIndex(":",13).StrValueByIndex(",",0);
integer todayNightPV0 = output.StrValueByIndex(":",14).StrValueByIndex(",",0);
integer todayNightPV1 = output.StrValueByIndex(":",15).StrValueByIndex(",",0);
integer todayNightPV2 = output.StrValueByIndex(":",16).StrValueByIndex(",",0);
integer todayNightPV3 = output.StrValueByIndex(":",17).StrValueByIndex("}",0);

integer tomorrowMorningSolar = output.StrValueByIndex(":",19).StrValueByIndex(",",0);
integer tomorrowMorningCloud = output.StrValueByIndex(":",20).StrValueByIndex(",",0);
integer tomorrowMorningEasyKW = output.StrValueByIndex(":",21).StrValueByIndex(",",0);
integer tomorrowMorningPV0 = output.StrValueByIndex(":",22).StrValueByIndex(",",0);
integer tomorrowMorningPV1 = output.StrValueByIndex(":",23).StrValueByIndex(",",0);
integer tomorrowMorningPV2 = output.StrValueByIndex(":",24).StrValueByIndex(",",0);
integer tomorrowMorningPV3 = output.StrValueByIndex(":",25).StrValueByIndex("}",0);

integer tomorrowNoonSolar = output.StrValueByIndex(":",27).StrValueByIndex(",",0);
integer tomorrowNoonCloud = output.StrValueByIndex(":",28).StrValueByIndex(",",0);
integer tomorrowNoonEasyKW = output.StrValueByIndex(":",29).StrValueByIndex(",",0);
integer tomorrowNoonPV0 = output.StrValueByIndex(":",30).StrValueByIndex(",",0);
integer tomorrowNoonPV1 = output.StrValueByIndex(":",31).StrValueByIndex(",",0);
integer tomorrowNoonPV2 = output.StrValueByIndex(":",32).StrValueByIndex(",",0);
integer tomorrowNoonPV3 = output.StrValueByIndex(":",33).StrValueByIndex("}",0);

integer tomorrowEveningSolar = output.StrValueByIndex(":",35).StrValueByIndex(",",0);
integer tomorrowEveningCloud = output.StrValueByIndex(":",36).StrValueByIndex(",",0);
integer tomorrowEveningEasyKW = output.StrValueByIndex(":",37).StrValueByIndex(",",0);
integer tomorrowEveningPV0 = output.StrValueByIndex(":",38).StrValueByIndex(",",0);
integer tomorrowEveningPV1 = output.StrValueByIndex(":",39).StrValueByIndex(",",0);
integer tomorrowEveningPV2 = output.StrValueByIndex(":",40).StrValueByIndex(",",0);
integer tomorrowEveningPV3 = output.StrValueByIndex(":",41).StrValueByIndex("}",0);

integer tomorrowNightSolar = output.StrValueByIndex(":",43).StrValueByIndex(",",0);
integer tomorrowNightCloud = output.StrValueByIndex(":",44).StrValueByIndex(",",0);
integer tomorrowNightEasyKW = output.StrValueByIndex(":",45).StrValueByIndex(",",0);
integer tomorrowNightPV0 = output.StrValueByIndex(":",46).StrValueByIndex(",",0);
integer tomorrowNightPV1 = output.StrValueByIndex(":",47).StrValueByIndex(",",0);
integer tomorrowNightPV2 = output.StrValueByIndex(":",48).StrValueByIndex(",",0);
integer tomorrowNightPV3 = output.StrValueByIndex(":",49).StrValueByIndex("}",0);

WriteLine("");
WriteLine("TodayEveningSolar: " + todayEveningSolar);
WriteLine("TodayEveningCloud: " + todayEveningCloud);
WriteLine("TodayEveningEasyKW: " + todayEveningEasyKW);
WriteLine("TodayEveningPV0: " + todayEveningPV0);
WriteLine("TodayEveningPV1: " + todayEveningPV1);
WriteLine("TodayEveningPV2: " + todayEveningPV2);
WriteLine("TodayEveningPV3: " + todayEveningPV3);
WriteLine("");
WriteLine("TodayNightSolar: " + todayNightSolar);
WriteLine("TodayNightCloud: " + todayNightCloud);
WriteLine("TodayNightEasyKW: " + todayNightEasyKW);
WriteLine("TodayNightPV0: " + todayNightPV0);
WriteLine("TodayNightPV1: " + todayNightPV1);
WriteLine("TodayNightPV2: " + todayNightPV2);
WriteLine("TodayNightPV3: " + todayNightPV3);
WriteLine("");
WriteLine("TomorrowMorningSolar: "+ tomorrowMorningSolar);
WriteLine("TomorrowMorningCloud: " + tomorrowMorningCloud);
WriteLine("TomorrowMorningEasyKW: " + tomorrowMorningEasyKW);
WriteLine("TomorrowMorningPV0: " + tomorrowMorningPV0);
WriteLine("TomorrowMorningPV1: " + tomorrowMorningPV1);
WriteLine("TomorrowMorningPV2: " + tomorrowMorningPV2);
WriteLine("TomorrowMorningPV3: " + tomorrowMorningPV3);
WriteLine("");
WriteLine("TomorrowNoonSolar: "+ tomorrowNoonSolar);
WriteLine("TomorrowNoonCloud: "+ tomorrowNoonCloud);
WriteLine("TomorrowNoonEasyKW: "+ tomorrowNoonEasyKW);
WriteLine("TomorrowNoonPV0: " + tomorrowNoonPV0);
WriteLine("TomorrowNoonPV1: " + tomorrowNoonPV1);
WriteLine("TomorrowNoonPV2: " + tomorrowNoonPV2);
WriteLine("TomorrowNoonPV3: " + tomorrowNoonPV3);  
WriteLine("");
WriteLine("TomorrowEveningSolar: "+ tomorrowEveningSolar);
WriteLine("TomorrowEveningCloud: " + tomorrowEveningCloud);
WriteLine("TomorrowEveningEasyKW: " + tomorrowEveningEasyKW);
WriteLine("TomorrowEveningPV0: " + tomorrowEveningPV0);
WriteLine("TomorrowEveningPV1: " + tomorrowEveningPV1);
WriteLine("TomorrowEveningPV2: " + tomorrowEveningPV2);
WriteLine("TomorrowEveningPV3: " + tomorrowEveningPV3);
WriteLine("");
WriteLine("TomorrowNightSolar: " + tomorrowNightSolar);
WriteLine("TomorrowNightCloud: " + tomorrowNightCloud);
WriteLine("TomorrowNightEasyKW: " + tomorrowNightEasyKW);
WriteLine("TomorrowNightPV0: " + tomorrowNightPV0);
WriteLine("TomorrowNightPV1: " + tomorrowNightPV1);
WriteLine("TomorrowNightPV2: " + tomorrowNightPV2);
WriteLine("TomorrowNightPV3: " + tomorrowNightPV3);

svName = "Sonnenstrahlung_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningSolar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Sonnenstrahlung_Heute_Abend").State(todayEveningSolar);


svName = "Bewoelkungsgrad_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningCloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Bewoelkungsgrad_Heute_Abend").State(todayEveningCloud);

svName = "EasyKW_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningEasyKW);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "EasyKW_Heute_Abend").State(todayEveningEasyKW);

svName = "PV0_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningPV0);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV0_Heute_Abend").State(todayEveningPV0);

svName = "PV1_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningPV1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV1_Heute_Abend").State(todayEveningPV1);

svName = "PV2_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningPV2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV2_Heute_Abend").State(todayEveningPV2);

svName = "PV3_Heute_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayEveningPV3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV3_Heute_Abend").State(todayEveningPV3);

svName = "Sonnenstrahlung_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightSolar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Sonnenstrahlung_Heute_Nacht").State(todayNightSolar);

svName = "Bewoelkungsgrad_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightCloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Bewoelkungsgrad_Heute_Nacht").State(todayNightCloud);

svName = "EasyKW_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightEasyKW);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "EasyKW_Heute_Nacht").State(todayNightEasyKW);

svName = "PV0_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightPV0);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV0_Heute_Nacht").State(todayNightPV0);

svName = "PV1_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightPV1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV1_Heute_Nacht").State(todayNightPV1);

svName = "PV2_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightPV2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV2_Heute_Nacht").State(todayNightPV2);

svName = "PV3_Heute_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(todayNightPV3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV3_Heute_Nacht").State(todayNightPV3);

svName = "Sonnenstrahlung_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningSolar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Sonnenstrahlung_Morgen_Frueh").State(tomorrowMorningSolar);

svName = "Bewoelkungsgrad_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningCloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Bewoelkungsgrad_Morgen_Frueh").State(tomorrowMorningCloud);

svName = "EasyKW_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningEasyKW);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "EasyKW_Morgen_Frueh").State(tomorrowMorningEasyKW);

svName = "PV0_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningPV0);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV0_Morgen_Frueh").State(tomorrowMorningPV0);

svName = "PV1_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningPV1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV1_Morgen_Frueh").State(tomorrowMorningPV1);

svName = "PV2_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningPV2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV2_Morgen_Frueh").State(tomorrowMorningPV2);

svName = "PV3_Morgen_Frueh";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowMorningPV3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV3_Morgen_Frueh").State(tomorrowMorningPV3);

svName = "Sonnenstrahlung_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonSolar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Sonnenstrahlung_Morgen_Mittag").State(tomorrowNoonSolar);

svName = "Bewoelkungsgrad_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonCloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Bewoelkungsgrad_Morgen_Mittag").State(tomorrowNoonCloud);

svName = "EasyKW_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonEasyKW);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "EasyKW_Morgen_Mittag").State(tomorrowNoonEasyKW);

svName = "PV0_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonPV0);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV0_Morgen_Mittag").State(tomorrowNoonPV0);

svName = "PV1_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonPV1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV1_Morgen_Mittag").State(tomorrowNoonPV1);

svName = "PV2_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonPV2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV2_Morgen_Mittag").State(tomorrowNoonPV2);

svName = "PV3_Morgen_Mittag";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNoonPV3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV3_Morgen_Mittag").State(tomorrowNoonPV3);

svName = "Sonnenstrahlung_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningSolar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Sonnenstrahlung_Morgen_Abend").State(tomorrowEveningSolar);

svName = "Bewoelkungsgrad_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningCloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Bewoelkungsgrad_Morgen_Abend").State(tomorrowEveningCloud);

svName = "EasyKW_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningEasyKW);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "EasyKW_Morgen_Abend").State(tomorrowEveningEasyKW);

svName = "PV0_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningPV0);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV0_Morgen_Abend").State(tomorrowEveningPV0);

svName = "PV1_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningPV1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV1_Morgen_Abend").State(tomorrowEveningPV1);

svName = "PV2_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningPV2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV2_Morgen_Abend").State(tomorrowEveningPV2);

svName = "PV3_Morgen_Abend";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowEveningPV3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV3_Morgen_Abend").State(tomorrowEveningPV3);

svName = "Sonnenstrahlung_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightSolar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Sonnenstrahlung_Morgen_Nacht").State(tomorrowNightSolar);

svName = "Bewoelkungsgrad_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Bewölungsgrad in Prozent");
    svObj.ValueUnit("%");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightCloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "Bewoelkungsgrad_Morgen_Nacht").State(tomorrowNightCloud);

svName = "EasyKW_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightEasyKW);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "EasyKW_Morgen_Nacht").State(tomorrowNightEasyKW);

svName = "PV0_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightPV0);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV0_Morgen_Nacht").State(tomorrowNightPV0);

svName = "PV1_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightPV1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV1_Morgen_Nacht").State(tomorrowNightPV1);

svName = "PV2_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightPV2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV2_Morgen_Nacht").State(tomorrowNightPV2);

svName = "PV3_Morgen_Nacht";
svName = prefix # svName;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("");
    svObj.ValueUnit("");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(tomorrowNightPV3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(prefix # "PV3_Morgen_Nacht").State(tomorrowNightPV3);
string apiKey = "Smarthome-Wetter API Key";
string prefix = "SHW_";
integer mode = 1; 
string output;
string svName;
object svObj;
object svObjects;
string stderr;
var url = "https://www.smarthome-wetter.de/public/api/pvPremiumForecast/" # apiKey;
system.Exec("wget --quiet --method GET --header 'content-type: text/xml' --header 'cache-control: no-cache' --output-document - " # url, &output, &stderr);

! Verfügbare Modi 
!Modus 1: Aktuelle Vorhersage
!Modus 2: 3 Stunden Vorhersage
!Modus 3: 6 Stunden Vorhersage
! Der Modus kann oben verändert werden.

if(mode == 1){
WriteLine("Akutelle Daten von Modus: 1");

integer solar = output.StrValueByIndex(":",5).StrValueByIndex(",",0);
integer cloud = output.StrValueByIndex(":",6).StrValueByIndex(",",0);
integer easyKw = output.StrValueByIndex(":",7).StrValueByIndex(",",0);
integer pro1 = output.StrValueByIndex(":",9).StrValueByIndex(",",0);
integer pro2 = output.StrValueByIndex(":",10).StrValueByIndex(",",0);
integer pro3 = output.StrValueByIndex(":",11).StrValueByIndex(",",0);
integer pro4 = output.StrValueByIndex(":",12).StrValueByIndex(",",0);
integer pro5 = output.StrValueByIndex(":",13).StrValueByIndex(",",0);
integer pro6 = output.StrValueByIndex(":",14).StrValueByIndex(",",0);
integer pro7 = output.StrValueByIndex(":",15).StrValueByIndex(",",0);
integer pro8 = output.StrValueByIndex(":",16).StrValueByIndex(",",0);
integer pro9 = output.StrValueByIndex(":",17).StrValueByIndex("}",0);
}


if(mode == 2){
WriteLine("Akutelle Daten von Modus: 2");
integer solar = output.StrValueByIndex(":",53).StrValueByIndex(",",0);
integer cloud = output.StrValueByIndex(":",54).StrValueByIndex(",",0);
integer easyKw = output.StrValueByIndex(":",55).StrValueByIndex(",",0);
integer pro1 = output.StrValueByIndex(":",57).StrValueByIndex(",",0);
integer pro2 = output.StrValueByIndex(":",58).StrValueByIndex(",",0);
integer pro3 = output.StrValueByIndex(":",59).StrValueByIndex(",",0);
integer pro4 = output.StrValueByIndex(":",60).StrValueByIndex(",",0);
integer pro5 = output.StrValueByIndex(":",61).StrValueByIndex(",",0);
integer pro6 = output.StrValueByIndex(":",62).StrValueByIndex(",",0);
integer pro7 = output.StrValueByIndex(":",63).StrValueByIndex(",",0);
integer pro8 = output.StrValueByIndex(":",64).StrValueByIndex(",",0);
integer pro9 = output.StrValueByIndex(":",65).StrValueByIndex("}",0);
}

if(mode == 3){
WriteLine("Akutelle Daten von Modus: 3");
integer solar = output.StrValueByIndex(":",101).StrValueByIndex(",",0);
integer cloud = output.StrValueByIndex(":",102).StrValueByIndex(",",0);
integer easyKw = output.StrValueByIndex(":",103).StrValueByIndex(",",0);
integer pro1 = output.StrValueByIndex(":",105).StrValueByIndex(",",0);
integer pro2 = output.StrValueByIndex(":",106).StrValueByIndex(",",0);
integer pro3 = output.StrValueByIndex(":",107).StrValueByIndex(",",0);
integer pro4 = output.StrValueByIndex(":",108).StrValueByIndex(",",0);
integer pro5 = output.StrValueByIndex(":",109).StrValueByIndex(",",0);
integer pro6 = output.StrValueByIndex(":",110).StrValueByIndex(",",0);
integer pro7 = output.StrValueByIndex(":",111).StrValueByIndex(",",0);
integer pro8 = output.StrValueByIndex(":",112).StrValueByIndex(",",0);
integer pro9 = output.StrValueByIndex(":",113).StrValueByIndex("}",0);
}

vName = "Sonnenstrahlung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);
if (!svObj){   
    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("Sonnenstrahlung in W/m²");
    svObj.ValueUnit("W/m²");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(solar);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(solar);

svName = "Bewölkung";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("Bewölkungsindex in Okta");
    svObj.ValueUnit("Okta");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(cloud);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(cloud);

svName = "EASY kW";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(easyKw);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(easyKw);

svName = "EASY kW - Winkel 1";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 1");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro1);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro1);

svName = "EASY kW - Winkel 2";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 2");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro2);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro2);

svName = "EASY kW - Winkel 3";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 3");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro3);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro3);

svName = "EASY kW - Winkel 4";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 4");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro4);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro4);

svName = "EASY kW - Winkel 5";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 5");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro5);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro5);

svName = "EASY kW - Winkel 6";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 6");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro6);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro6);

svName = "EASY kW - Winkel 7";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 7");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro7);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro7);


svName = "EASY kW - Winkel 8";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 8");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro8);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro8);

svName = "EASY kW - Winkel 9";
svName = prefix # svName ;
svObj  = dom.GetObject(svName);

if (!svObj){   
    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("EASY kW Vorhersage - Winkel 9");
    svObj.ValueUnit("kW");
    svObj.ValueMin(-100);
    svObj.ValueMax(100);
    svObj.DPArchive(false);
    svObj.State(pro9);
    svObj.Internal(false);
    svObj.Visible(true);
    dom.RTUpdate(false);
}
dom.GetObject(svName).State(pro9);

WriteLine("Solar: " + solar);
WriteLine("Cloud: " + cloud);
WriteLine("EasyKW: " + easyKw);
WriteLine("Pro1: " + pro1);
WriteLine("Pro2: " + pro2);
WriteLine("Pro3: " + pro3);
WriteLine("Pro4: " + pro4);
WriteLine("Pro5: " + pro5);
WriteLine("Pro6: " + pro6);
WriteLine("Pro7: " + pro7);
WriteLine("Pro8: " + pro8);
WriteLine("Pro9: " + pro9);

Systemvariablen löschen

Damit die erstellten Systemvariablen nicht immer per Hand gelöscht werden müssen, haben wir ein Skript zum Löschen der Systemvariablen zur Verfügung gestellt. Das entsprechende Skript muss einmalig ausgeführt werden, um alle von dem Skript erstellten Systemvariablen zu löschen.

!Hier den Prefix für die Variablen eintragen, die gelöscht werden sollen.
string prefix = "SHW_";
string svName;
object svObj;

svName = "temp_Temperatur";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "press_Luftdruck";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "cloud_Bewoelkungsgrad";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "solar_Sonnenstrahlung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "wind_Windgeschwindigkeit";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "uv_UV-Index";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "winddir_Windrichtung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "dewpt_Taupunkt";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "ghi_GlobaleStrahlung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "dhi_Diffuse_Globale_Horizontalstrahlung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "aqi_Luftqualitätsindex";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "vis_Sichtweite";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "rh_Relative_Luftfeuchtigkeit";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

WriteLine("Done");
!Hier den Prefix für die Variablen eintragen, die gelöscht werden sollen.
string prefix = "SHW_";

string svName = "temp_Temperatur";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "press_Luftdruck";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "cloud_Bewoelkungsgrad";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "solar_Sonnenstrahlung";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "wind_Windgeschwindigkeit";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "uv_UV-Index";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "winddir_Windrichtung";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "dewpt_Taupunkt";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "ghi_GlobaleStrahlung";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "dhi_Diffuse_Globale_Horizontalstrahlung";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "aqi_Luftqualitätsindex";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "vis_Sichtweite";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

string svName = "rh_Relative_Luftfeuchtigkeit";
svName = prefix # svName;
object svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

WriteLine("Done");
!Hier den Prefix für die Variablen eintragen, die gelöscht werden sollen.
string prefix = "SHW_";
string svName;
object svObj;

svName = "solar_Sonnenstrahlung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "ci_Wolkenindex";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "kw_Berechnete_KW_Leistung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

WriteLine("Done");
!Hier den Prefix für die Variablen eintragen, die gelöscht werden sollen.
string prefix = "SHW_";
string svName;
object svObj;

svName = "Sonnenstrahlung_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EasyKW_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV0_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV1_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV2_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV3_Heute_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Sonnenstrahlung_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EasyKW_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV0_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV1_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV2_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV3_Heute_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Sonnenstrahlung_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EasyKW_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV0_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV1_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV2_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV3_Morgen_Frueh";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Sonnenstrahlung_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EasyKW_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV0_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV1_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV2_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV3_Morgen_Mittag";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Sonnenstrahlung_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EasyKW_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV0_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV1_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV2_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV3_Morgen_Abend";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Sonnenstrahlung_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Bewoelkungsgrad_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EasyKW_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV0_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV1_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV2_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "PV3_Morgen_Nacht";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

WriteLine("Done");
!Hier den Prefix für die Variablen eintragen, die gelöscht werden sollen.
string prefix = "SHW_";
string svName;
object svObj;

svName = "Bewölkung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 1";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 2";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 3";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 4";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 5";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 6";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 7";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 8";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "EASY kW - Winkel 9";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

svName = "Sonnenstrahlung";
svName = prefix # svName;
svObj = dom.GetObject(svName);
dom.DeleteObject(svObj.ID());

WriteLine("Done");

smartha home

In der smartha home wird zur Visualisierung der Daten das Smarthome Wetter Gerät aus dem Modul Miscellaneous verwendet.

Smarthome Wetter - smartha home

smartha home - Smarthome Wetter Gerät anlegen

Smarthome Wetter - smartha home

smartha home - Smarthome Wetter Gerät anzeigen