Script auf bestimmten Wert ausführen

Was ich mir wünschen würde, wäre eine erweiterte Funktion in der V2 unter den eventbezogenen Aktionen.

Hier wäre es toll, wenn man für die Auslösung einer Aktion einzeln einstellen könnte was beim Wechsel von „True“ nach „False“ und von „False“ nach „True“ passieren soll und nicht nur „on variable change“

Beispiel: Wenn die Variable „Daylight“ von „True“ nach „False“ wechselt, ist es klar, dass „on variable change“ die Lampen, die mit diesem Script gesteuert werden sollen, einschaltet. Aber dieses kann auch beim wechseln von „False“ nach „True“ passieren, da dies ja auch ein Wechsel ist.

Lege ich aber dem Script „Alles AUS“, welches ich zum ausschalten aller Lampen nutzen möchte, ebenfalls ein „on variable change“ an, dann kann ich bis dato eben nicht spezifizieren, von welchem Zustand der Variable zu welchem dieses Script ausgeführt werden soll.

Hier wäre eine Möglichkeit der klaren Zustandsbeschreibung zur Auslösung der Aktion echt super und würde die Steuerung der Scripte mit „on variable change“ wirklich elementar erweitern.

@ Paresy : Wäre das möglich ?

Gruss
B71

… öh ja nee doch so vielleicht: :confused:

Ne ne doch nicht - ja, wir machen da etwas …

Im Moment fehlt da noch der passende Name z.B. „Re-Trigger“ oder so …

MST

…;):smiley:

Ich meinte: Auslösung z.B. nur bei Änderung der Variable von Wert A–>B oder B–>A und nicht bei beiden.

Danke für die Antwort.

B71

also immer wenn A kommt und nie bei B. Oder Umgekehrt…

Trigger onValue - gibts schon laaaange :wink:

Toni

Du kannst im OnChange Trigger Skript ja herausfinden, wohin gewechselt wurde.


if($IPS_VALUE)
{

 //Wechsel False -> True
IPS_RunScript("Lampe AN");

} else {

 //Wechsel True -> False
 IPS_RunScript("Lampe AUS");

}

paresy

…ich meinte das aber via Auswahlfeld der Event Optionen, wie von @steiner oben eingehängt…und nicht als manuellen PHP Eingriff.

B71

… keine Angst :rolleyes:

völlig PHP-frei - so richtig mit „Häkchen“ und so …

MST

DAS ist 2.0 … :smiley:

@Toni: nichts was „alte Hasen“ wirklich brauchen :wink:

…was für JungOhrHasen…:wink: noch ohne Fell und Fuchsbisse…

Genau das brauche ich (ohne PHP) auch. Siehe:

Es gibt in IPS2 nun folgende Option: [b]„Nachfolgende Ereignisse ausführen“.

[/b]Wenn die Options ausgeschaltet ist, startet IPS das Ereigniss nur bei einem „Flakenwechsel“. Beispiel:

Bei bestimmten Wert (TRUE): Ereignis startet nur beim Wechsel von FALSE auf TRUE. Erneute Aktualisierungen der Wertes auf TRUE werden nicht berücksichtigt.

Bei Wertunterschreitung (25): Ereignis startet nur wenn Wert vorher <=25 war und jetzt >25 ist. Falls der Wert beim Nächsten mal wieder überschritten wird, wird das Ereignis nicht ausgeführt! Erst wenn der Wert vorher wieder <=25 war, wird das Ereignis wieder ausgeführt.

paresy

Hallo paresy,

das ist einfach nur klasse.

Jetzt lässt sich eine Anwesenheitssteuerung über das Sunrise/Sundown Script nach einer Zeit x wieder über ein „alles aus script“ definitiv beenden.

Gruss
B71

Hallo,
ist es möglich anstatt einen fixen Wert eine Variable (integer) anzugeben ??
oder ist das nicht vorgesehen ?

Nicht vorgesehen, aber du kannst den Wert per Skript immer ändern:

-> IPS_SetEventTriggerValue

paresy

Hallo Paresy, es wäre sehr schön , wenn du mir mal ein Beispiel mit diesem Kommando geben würdest, denn in der Doku ist unter diesem Kommando noch kein Beispiel hinterlegt.

Danke im vorraus - dittrg

   
$Wert = GetValueInteger (XXXX);
IPS_SetEventTriggerValue(XXXX, $Wert );

Gruß
Christian

Hallo zusammen,

Hat sich da wieder was geändert, ich kann diese option nicht finden.:confused:

Gruss Michael

Hier mal ein Beispiel einer „zu Hause Simulation“ mit einem Event Trigger.

Das ist nur ein Beispiel, ich habe das ganze mit einem Türschloß Signal verknüpft. (Zweimal abschließen = simulation aktiv)

/*

*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Schaltverzoegerung_1.ips.php id:15230
Trigger  :
Interval : 1* 00:30

 Hier wird Sunset als Start Wert genommen , um dann nach einer festgelegten
 Zeit (1/2 Std. + Zufallzeit 1/2 Std eine  z.B Außenbeläuchtung oder ein
 'ich bin da' Gerät einzuschalten.
 In diesem Fall wird eine Wohnzimmer Lampe, die mit dem Script
 Wohnzimmer_lampe_2 eingeschaltet wird, getriggert auf Time mit dem Wert
 $neue_Zeit
 Dieses Script wird einmal am Tag aktualisiert 00:30 , um jeden Tag eine neue
 Schaltzeit zu erhalten.
 (Das gleiche Muster wird dann mit einer unregelmäßigen Ausschaltzeit erweitert)
*/


$akt_Zeit = GetValueString(43005 /*[SUNSET]*/);
echo $akt_Zeit . "  neue Zeit ";

// Zeit als UNIX Time Stamp

$now_expl = explode(":",$akt_Zeit);
$now_UTS = mktime($now_expl[0],$now_expl[1]);

// festen Time Stamp + RND (0-30 Min = 1800 )aufaddieren

$zufall = rand(1,1800);

$verz_Zeit = 30*60+$zufall; // 1/2 Std fest , 1/2 Std. Variable
$gesamt_Zeit = $now_UTS + $verz_Zeit;

$neue_Zeit = date("H:i", $gesamt_Zeit);

echo $neue_Zeit;

// Als Trigger Wert für das Script Wohnzimmer Lampe_2 übertragen

IPS_SetEventTriggerValue(46881 /*[Wohnzimmer\Lampe_2]*/,$neue_Zeit);

Hallo dittrg,

bitte in Zukunft PHP-Code in PHP-Tags einschließen, damit man es vernünftig lesen kann.

Gruß
HJH