Alarm wenn Eingang länger als X Sekungen aktiv

Hallo, ja ich habe unter dem Script Vakuum Störung das Ereignis welches (wie im Screenshot zu sehen ist) alle 10 sekungen ausgeführt werden soll. Also den ScriptTimer (meine ich damit)

Das kann ich einschalten/aktivieren dann geht der Alarm einmal und das Ereignis wird dannach scheinbar wieder beendet.

Hab jetzt mal dazu noch ein Ereignis mit auslösung alle 10 Sekungen gemacht, aber dann kommt der Alarm alle 10 sekunden ohne dass dieser überhaupt ansteht.

Das Ereignis musst du nicht selber erstellen, dieses wird vom Script erstellt.
Daher lösche das Ereignis und führe das Script manuell aus, dann wird dieses erstellt…
Und wenn du keine Variable zur Anzeige des Alarms verwendest, lösche Zeile 20.
Ansonsten erstelle ein Bool und trage dort die richtige ID ein…

Das war nicht gemeint… Der sogenannte Scripttimer wird durch das Script erstellt und verändert.

Aber du brauchst noch ein Ereignis was bei Änderungen deiner Quellvariable 22421 das Script startet.
Michael

Habe jetzt mal ein Script für dich geschustert, welches das Ereignis und den ScriptTimer erstellt.
Wenn die EIngangsvariable false ist, wird nach 10sec Alarm ausgelöst.
Sobald die Eingangsvariable true ist, wird der Alarm abgestellt.
Es wird ein Ereignis, ein Scripttimer und eine Bool mit dem Alarmstatus angelegt. nachdem du dieses Script manuell ausgeführt hast.
Sollte so auf deine Konstellation passen

<?php

$variableID = 22421; // Ersetzen Sie dies durch die tatsächliche ID Ihrer Eingangsvariablen
$alarmVariableName = "AlarmVariable"; // Name der Alarmvariablen
$parentID = $_IPS['SELF']; // Das Skript selbst als Elternobjekt

// Alarmvariable prüfen und erstellen, falls nicht vorhanden
$alarmVariableID = @IPS_GetObjectIDByIdent($alarmVariableName, $parentID);
if ($alarmVariableID === false) {
    // Alarmvariable erstellen
    $alarmVariableID = IPS_CreateVariable(0); // 0 bedeutet Boolean
    IPS_SetName($alarmVariableID, $alarmVariableName);
    IPS_SetIdent($alarmVariableID, $alarmVariableName);
    IPS_SetParent($alarmVariableID, $parentID); // Unterhalb des Skripts erstellen
}

// Wert der Eingangsvariablen abrufen
$variableValue = GetValue($variableID);

// Überprüfen, ob die Variable aktiv ist
if ($variableValue == 0) {
    // Variable ist aktiv, starten oder zurücksetzen Sie den Timer
    IPS_SetScriptTimer($_IPS['SELF'], 10);
} else {
    // Variable ist inaktiv, setzen Sie den Timer zurück und Alarmvariable zurücksetzen
    IPS_SetScriptTimer($_IPS['SELF'], 0);
    SetValue($alarmVariableID, false); // Alarmvariable zurücksetzen
}

// Timer-Ereignis verarbeiten
if ($_IPS['SENDER'] == 'TimerEvent') {
    // Timer-Ereignis ausgelöst, die Variable ist seit 10 Sekunden aktiv
    WFC_AudioNotification(18430, 'Gong!', 49578); // Alarm auslösen
    IPS_SetScriptTimer($_IPS['SELF'], 0); // Timer zurücksetzen
    SetValue($alarmVariableID, true); // Alarmvariable setzen
}

// Ereignis erstellen, falls nicht vorhanden
$eventID = @IPS_GetEventIDByName("Ereignis für Variable $variableID", $_IPS['SELF']);
if ($eventID === false) {
    $eventID = IPS_CreateEvent(0); // 0 bedeutet Ausgelöstes Ereignis
    IPS_SetEventTrigger($eventID, 1, $variableID); // 1 bedeutet bei Änderung
    IPS_SetParent($eventID, $_IPS['SELF']);
    IPS_SetName($eventID, "Ereignis für Variable $variableID");
    IPS_SetEventActive($eventID, true);
}

Hallo MB-Stern, vielen lieben Dank jetzt sieht es sehr gut aus…
Du hast uns sehr geholfen, das ist für unseren Hochwasserschutz. Da wir aktuell ja wieder enorme Probleme haben in Schwaben…

Ich teste es jetzt noch etwas aber es schaut sehr gut aus.

Vielen Dank, Thomas

Hallo zusammen, wollte mich nochmal bedanken, es klappt jetzt richtig gut und die Hochwassermeldung kommt korrekt.

Darf ich nochmal fragen, gibt es eine Möglichkeit die Meldung auch auf dem Handy zu erhalten als Push Nachricht, SMS, WhatsApp oder Anruf?

Vielen Dank, Thomas