ich bin erst seit ca. 2 Monaten mit Homematic in unserer Mietwohnung unterwegs um schon mal für unseren anstehenden Hausbau und die geplante Heimautomatisierung zu üben und zu lernen.
Es hat etwas länger gedauert hinzubekommen, dass die aktuelle Temperatur und die Luftfeuchtigkeit in Systemvariablen übergeben werden, aber mit dem Forum und den Dokus zur Script Programmierung habe ich es letztlich geschafft.
Jetzt habe ich folgendes Thema:
Ich möchte wenn sich sowohl Temperatur als auch Luftfeuchtigkeit geändert haben einen Text versenden der folgendermaßen aussehen soll:
"Die aktuelle Termoeratur beträgt " + Wert der Termperaturvariablen +". Die aktuelle Luftfeuchtigkeit beträgt " + Wert der Luftfeuchtigkeitsvariablen
Ich versende diesen Text anschließend mit dem Telegram Messenger, aber der kommt nur damit klar, wenn ich einen Textbaustein mit einem Variablenwert verknüpfe.
Ich möchte danach aber einen weiteren Textbaustein und einen weiteren Variablenwert anhängen, und das bekomme ich nicht hin.
Folgendes Script habe ich dazu geschrieben bisher:
Code: Alles auswählen
! Die Systemvariablen Temperatur Wohnzimmer und Luftfeuchtigkeit Wohnzimmer werden zugeordnet und je nach Änderung sollen Nachrichten per Telegram versendet werden mit den aktuellen Werten.
var sys_temp_wohn=dom.GetObject("Temperatur Wohnzimmer");
var sys_hum_wohn=dom.GetObject("Luftfeuchtigkeit Wohnzimmer");
var Nachricht=dom.GetObject("Telegram");
! Aktuelle Temperatur und Luftfeuchtigkeit im Wohnzimmer wird aus dem Temperatur- und Luftfeuchtemesser gelesen
var temp_wohn=dom.GetObject("HmIP-STHD xxxxxxxxxxxxx:1").DPByHssDP("ACTUAL_TEMPERATURE").Value();
var hum_wohn=dom.GetObject("HmIP-STHD xxxxxxxxxxxxx:1").DPByHssDP("HUMIDITY").Value();
! Die Systemvariablen bekommen den Wert der aktuellen Temperatur und Luftfeuchtigkeit falls diese anders sind als die gespeicherten Werte.
! In der Schleife ist das Thema Luftfeuchtigkeit zweimal eingebaut, weil im Falle dass die Temperatur nicht unterschiedlich wäre, sonst nichts passieren würde bei der Luftfeuchtigkeit.
if(sys_temp_wohn.State()!=temp_wohn)
{
sys_temp_wohn.State(temp_wohn);
if(sys_hum_wohn.State()!=hum_wohn);
{
sys_hum_wohn.State(hum_wohn);
Nachricht.State("Die Temperatur im Wohnzimmer beträgt " # sys_temp_wohn.Value());
Nachricht.State("Die Luftfeuchtigkeit im Wohnzimmer beträgt " # sys_hum_wohn.Value());
}
else
{
Nachricht.State("Die Luftfeuchtigkeit ist gleich geblieben. Die neue Temperatur im Wohnzimmer beträgt " # sys_temp_wohn.Value());
}
}
else
{
if(sys_hum_wohn.State()!=hum_wohn)
{
sys_hum_wohn.State(hum_wohn);
Nachricht.State("Die Temperatur ist gleich geblieben. Die neue Luftfeuchtigkeit im Wohnzimmer beträgt " # sys_hum_wohn.Value());
}
else
{
Nachricht.State("Die Temperatur und Luftfeuchtigkeit sind gleich geblieben.");
}
}
Kann mir jemand dabei helfen?
Wenn noch Infos dafür notwendig sind, dann bitte einfach melden.
Danke schon mal und Gruß
Dominic
P.S.: Ich hatte dazu im Forum schon mal gesucht, aber bisher nichts helfendes gefunden.