Hallo,
ich habe ein Problem mit einem Button der ein Script schalten soll - was soweit funktioniert, z.B. Wenn ich den Button „Warmwasser“ einschalte oder ausschalte, dann wird mit dem folgenden Script geschaltet:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
if ($_IPS['VALUE']) {
// Aktionen für An
SetValueInteger(21984, 2);
IPS_Sleep(5000);
SetValueInteger(21984, 1);
SetValueBoolean(11786,false);
}
else {
// Aktionen für Aus
SetValueInteger(21984, 1);
SetValueBoolean(11786,false);
}
Nun, aber die Herausforderung:
Wenn eingeschaltet wurde, soll automatisch nach 30 Minuten wieder ausgeschaltet werden, beim Test mit IPS_Sleep funktioniert es z.B. mit 5 Sekunden, dies soll jedoch nicht bei längeren Unterbrechungen als 30 Sekunden verwendet werden. Deshalb habe ich es mit dem Timerevent versucht (z.B. Test 1 Minute) - aber das funktioniert nicht und ich bekomme ein rotes Ausrufezeichen vor dem Script. Ich habe versucht einfach ein TimerEvent Script in die „An“ Schleife des bestehenden Scriptes zu packen - was wahrscheinlich nicht funktioniert.
Ich habe folgendes Verwendet:
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
if ($_IPS['VALUE']) {
if($_IPS[‚SENDER‘] == „TimerEvent“)
{
//Aus Befehl
SetValueInteger(21984, 1);
SetValueBoolean(11786,false);
//Timer ausschalten
IPS_SetScriptTimer($_IPS['SELF'], 0);
} else {
//An Befehl
SetValueInteger(21984, 2);
//Timer anschalten
IPS_SetScriptTimer($_IPS['SELF'], 1);
}
}
else {
// Aktionen für Aus
SetValueInteger(21984, 1);
SetValueBoolean(11786,false);
//Timer ausschalten
IPS_SetScriptTimer($_IPS['SELF'], 0);
}
Könnt ihr mit bitte weiterhelfen bei dem Problem? Habe ich gar einen komplett falschen Denkansatz?
Danke für eure Unterstützung .