piri am ips v1

hallo und guten morgen !

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.

happy day und dank, frank

Hallo Frank, wie wäre es mit dem Script von Steiner ?

Hierhttp://www.ip-symcon.de/forum/f53/timer-praesenz-5431/

Hallo coolice,

das Skript ist bedauerlicherweise für die V2 :rolleyes:

Frank sucht für die V1.

hallo und danke für den tipp!

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.

happy day ,frank

Also bei mir läuft es ( allerdings unter V2) seit Ewigkeiten.

… das ist gut :slight_smile: aber hilft leider nicht mit v1 :frowning:

Hallo Frank,

soweit ich mich noch an die V1 erinnern kann war das ganz einfach:

  1. Script auf Bewegungsmelder Var true triggern
  2. Timer im Script auf $IPS_SELF starten (auf Sekundenanzahl einstellen wie lange der Enocean Aktor laufen soll)
  3. Var Bewegungsmelder auf false stezen, Aktor ausschalten

hallo !

geht das mit dem timer denn auch in v1?

happy day und dank ,frank

Na klar gabs da auch.


IPS_SetScriptTimer ("Scriptname" , Integer:Laufzeit);

Gutes Beispiel von paresy:

hallo thomas !

danke für den tipp. das sieht gut aus :slight_smile:
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?

happy day, frank

Hallo Frank,

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:

  1. Du brauchst eine Variable für den PIRI Status (die anderen in der Instanz sind nicht nötig)

ich nenne sie Piri_Status

  1. Du legst ein Script, z.B „Licht_ein“ an

  2. 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

  1. Das Script „Licht_aus“ anelegen, ebenfalls im Kern nur 2 Zeilen:

ENO_SwitchMode(50198, True); // Eonocean Aktor ausschalten
IPS_SetScriptTimer(„Licht_aus“, 0); // Timer ausschalten

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.

Die Aktoren sind dabei völlig egal

Gruß Rolf

Hallo Rolf,

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.:wink:

danke ferengi :slight_smile:

Gruß Rolf

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
   }
}

?>

hallo rolf !

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 :wink:

happy day und dank, frank :slight_smile:

hallo und guten tag !

vielen dank für das skript und die hilfe von allen :smiley:

das skript läuft prima und ich habe gerade noch den ertrag der pv-anlage als indikator genommen, ob es dunkel ist. damit ist es prima.

happy day und dank, frank