ich hab mal eine piri-frage: um einen enocean aktor zu schalten, möchte ich einen fs20 piri einsetzen. jetzt habe ich gesehen, dass der piri ja die variable nicht mehr auf „false“ setzt nach ablauf der zeit.
hier im forum habe ich ein paar ideen gefunden, wie man das mit ips v1 lösen kann. leider waren irgendwie alle lösungen recht kompliziert und ich habe sie nicht wirklich begriffen.
hat vielleicht jemand noch ein einfaches skript für v1 im archiv? die funktion „switch-duration“ kann ich leider nicht nutzen.
funktioniert das denn? ich habe da so viele änderungen gelesen und fehler und „geht nicht bei mir“. auf jeden fall ist es wohl noch für ips v1 gedacht.
danke für den tipp. das sieht gut aus
ich muss nur noch das ausschalten der lampe mit einbauen denn das „duration“ gibt es nicht bei enocean. aber das kann ja in den unteren teil mir rein oder?
ich schalte in V1 vieles mit PIRI/PIRAs für eine definierte Zeit ein , dann wieder aus
(hauptsächlich Lichter bei Bewegung in der Wohnung, man wird zu faul, das Licht mit der Hand einzuschalten)
Eigentlich relativ einfach und übersichtlich:
Du brauchst eine Variable für den PIRI Status (die anderen in der Instanz sind nicht nötig)
ich nenne sie Piri_Status
Du legst ein Script, z.B „Licht_ein“ an
Das Script „On_update“ von der Variablen „Piri_Status“ triggern lassen
Das Script selbst braucht nur aus 2 Zeilen zu bestehen:
ENO_SwitchMode(50198, True); // die 50198 ist beispiel, kommt auf deine Instanznummer an
IPS_SetScriptTimer(„Licht_aus“, 120); // 120 Sekunden später wird das Script Licht_aus gestartet
Das Script „Licht_aus“ anelegen, ebenfalls im Kern nur 2 Zeilen:
Von dem Prinzip habe ich eine Menge Bewegungsmelder, die Lichter , meist mit einer Bedingungsabfrage, ob es bereits Dunkel genug ist, bei Bewegung einschalten und nach einiger Zeit wieder ausschalten.
das auf zwei Scripte zu verteilen ist überflüssig, da Du im ersten Script
mittels $IPS_SENDER = „TimerEvent“ prüfen kannst ob das Script erneut über Timer, nicht aber über Variable getriggert wurde.
Damit keiner eine Suchfunktion braucht, hier ein hoffentlich fehlerfreies Beispiel für die V1:
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Flurlicht.ips.php
Trigger : On Update durch die Piri Status Variable
Interval :
*/
$dauer = 120; // gewünschte Einschaltdauer in Sekunden
$a = $IPS_SENDER;
if ($a == "TimerEvent") {
IPS_SetScriptTimer($IPS_SELF, 0); // TimerEvent ausschalten
// Ab hier folgt, was passieren soll, wenn die Einschaltdauer abgelaufen ist:
ENO_SwitchMode(50198, false); // Licht ausschalten
}else{
// ggf. noch Nachfragen, ob es Dunkel ist:
$b =GetValueBoolean("dunkel"); // sonst diese Zeile und die folgende If-Abfrage wegnehmen
if ($b == true) {
IPS_SetScriptTimer($IPS_SELF, $dauer); // TimerEvent auf gewünschte Zeit schalten
// Ab hier folgt, was passieren soll, wenn der Bewegungsmelder ausgelöst hat:
ENO_SwitchMode(50198, true); // Licht einschalten
}
}
?>
dicken dank für das skript :-))
leider hab ich es erst heute morgen gesehen. ich hab es jetzt per vpn eingebaut und es bringt auch keinen fehler. nur leider kann ich es nicht testen, weil ich ja nicht zu hause bin. so kann ich nur gespannt auf den abend warten … oder darauf warten, dass der kater mal vorbeikommt