ich möchte meine Garten Bewässerung automatisieren und habe deshalb eine Ventilbox mit 4 Ventilen welche ich jeweils 1 Stunde aktivieren will und dann das nächste und so weiter.
Zusätzlich habe ich einen Schalter/Variable um den Prozess zu aktivieren/deaktivieren.
Leider funktioniert es nicht und ich weiß nicht was ich falsch mache.
Damit schaltet man keine Variablen.
Schalten geht mit RequestAction.
Außerdem sind von deinen 4 ID im Array nur das erste eine Variable und der Rest sind Instanzen.
Michael
Vielen Dank für die schnelle Antwort, ich bin leider nicht so der Profi. Wäre es so denn richtig?
<?php
// Konfiguration der Variablen-IDs
$hauptschalterID = 48823; // ID des Hauptschalters
$ausgaenge = [
56798, // Ausgang 1
18417, // Ausgang 2
46413, // Ausgang 3
59650 // Ausgang 4
];
// Prüfen ob Hauptschalter aktiviert ist
if (!GetValueBoolean($hauptschalterID)) {
// Hauptschalter ist AUS → alle Ausgänge ausschalten und Timer stoppen
foreach ($ausgaenge as $id) {
RequestAction($id, false);
}
IPS_SetScriptTimer($_IPS['SELF'], 0);
IPS_LogMessage("Schaltsteuerung", "Hauptschalter ist aus. Alle Ausgänge wurden deaktiviert.");
return;
}
// Lade aktuellen Schritt aus einer Script-eigenen Property oder Variable
$stepID = IPS_GetObjectIDByIdent("SchaltStep", $_IPS['SELF']);
$step = GetValueInteger($stepID);
// Wenn der aktuelle Schritt > 0 ist, schalte den vorherigen Ausgang ab
if ($step > 0) {
RequestAction($ausgaenge[$step - 1], false);
}
// Wenn Schritt < 4, aktiviere nächsten Ausgang und erhöhe Schri