SmartHome-Wetter

Was ist SmartHome-Wetter?

Unser SmartHome-Wetter Service ist eine entwickelte Schnittstelle der EASY SmartHome GmbH. Der Dienst liefert präzise Wetterdaten für die smarte Steuerung Ihres Zuhauses. Neben der Optimierung des Stromverbrauchs, können die Wetterdaten auch für Steuerungsaufgaben innerhalb Ihres SmartHomes genutzt werden. So können Sie anhand der Strahlungs- und Bewölkungsdaten Ihre Beschattung steuern. Schützen Sie Ihr Zuhause im Sommer vor Hitze. In der dunklen Jahreszeit nutzen Sie einfach die Kraft der Sonne, um Ihren Raum zu erwärmen. Ist in den nächsten Tagen oder Stunden kein Regen zu erwarten? Starten Sie Ihre Gartenbewässerung oder lassen Sie Ihren Mähroboter seinen Dienst tun. Das alles geschieht mithilfe von Systemvariablen und API-Abfragen auf der CCU.

Wichtig: Der Dienst kann nur mit einer CCU verwendet werden. Der Homemaitc IP Acces Point wird nicht unterstützt.

SmartHome-Wetter Account erstellen

Damit der SmartHome-Wetter Dienst genutzt werden kann, wird ein Account auf unserer Website benötigt. Dieser wird für den API-Key benötigt und später in ein Skript einfügt. Mit diesem stellen wir fest, was für ein Paket gebucht wurde und für welchen Ort die aktuelle Wettervorhersage bestimmt ist. Die verschiedenen Skripte erstellen dann Systemvariablen mit verschiedenen Wetterdaten. Diese können dann wiederum in Programme eingebunden werden und Rollläden oder andere Geräte steuern.


API-Key herausfinden

Bei jeder Bestellung ist ein API-Key für das jeweilige Paket enthalten, denn dieser wird später für unser Skript benötigt. Der API-Key kann auf unserer SmartHome-Wetter-Website im Reiter „Übersicht“ eingesehen werden. Link zur Übersicht

APIKey

Skript für die unterschiedlichen Pakete auswählen

Es gibt für jedes Paket bestimmte Skripte, die verwendet werden können. Sollte das falsche Skript für ein Paket verwendet werden, wird unser Dienst nicht funktionieren.


Mit der Lite Version können folgende Skripte verwendet werden:
Abfragen des aktuellen Wetters (gemittelt)
Abfrage der Wettervorhersage (gemittelt)

Mit der Photovoltaik Version können folgende Skripte verwenden werden:
Abfragen des aktuellen Wetters (gemittelt)
Abfrage der Wettervorhersage (gemittelt)
Aktuelle Prognose zu PV Werten
Vorhersage von PV Werten

Mit der Pro Version können folgende Skripte verwenden werden:
Abfragen des aktuellen Wetters (gemittelt)
Abfrage der Wettervorhersage (gemittelt)
Aktuelle Prognose zu PV Werten
Vorhersage von PV Werten
Premium Vorhersage von PV Werten

Zeitgesteuertes Programm erstellen

Erstellen Sie ein neues Programm auf Ihrer Zentrale unter "Programme und Verknüpfungen" > "Programme & Zentralenverknüpfung" > "Neu", vergeben Sie einen sinnvollen Namen, wählen Sie in der WENN-Bedingung die Zeitsteuerung aus. Im Zeitmodul selbst kann dann ein Zeitintervall ausgewählt werden. Fügen Sie in der DANN-Aktivität das untenstehende Skript vollständig ein und führen dann das Programm in Ihrer Zentrale einmalig aus. Anschließend werden Systemvariablen mit den entsprechenden Werten erstellt und nach dem eingestelltem Intervall aktualisiert.

Link zur Dokumentation

Die API Dokumenation kann hier gefunden werden.

Abfragen des aktuellen Wetter (gemittelt)

Hier 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_
Das Skript kann über folgenden Link einfacher kopiert werden: Link

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);

Aktuelle Prognosse zu PV Werten

Hier 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_
Das Skript kann über folgenden Link einfacher kopiert werden: Link

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");

Abfrage der Wettervorhersage (gemittelt)

Hier 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_
Das Skript kann über folgenden Link einfacher kopiert werden: Link

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);

Vorhersage von PV Werten

Hier 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_. Das Skript kann über folgenden Link einfacher kopiert werden: Link

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);

Premium Vorhersage von PV Werten

Hier werden Systemvariablen erstellt und die Daten der Premium 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_

Löschen der erstellten Systemvariablen via Skript für das abfragen des aktuellen Wetter

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. Dieses Skript muss einmalig ausgeführt werden, um alle von uns erstellten Systemvariablen zu löschen.
Das Skript kann über folgenden Link einfacher kopiert werden: Link

!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");

Löschen der erstellten Systemvariablen via Skript für das abfragen der aktuellen Wettervorhersage

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. Dieses Skript muss einmalig ausgeführt werden, um alle von uns erstellten Systemvariablen zu löschen.
Das Skript kann über folgenden Link einfacher kopiert werden: Link

!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");

Löschen der erstellten Systemvariablen via Skript für das abfragen von aktuellen PV Werten

Damit die erstellten Systemvariablen nicht immer per Hand gelöscht werden müssen, haben wir Ihnen ein Skript zur Verfügung gestellt. Dieses muss nur einmal ausgeführt werden. Danach werden alle von uns erstellten Systemvariablen gelöscht. Das Skript kann über folgenden Link einfacher kopiert werden: Link

!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");

Löschen der erstellten Systemvariablen via Skript für das abfragen der Vorhersage für PV Werte

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. Dieses Skript muss einmalig ausgeführt werden, um alle von uns erstellten Systemvariablen zu löschen.
Das Skript kann über folgenden Link einfacher kopiert werden: Link

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");