Hallo Loerdy !
Geht denn dann Dein Monitor immer nach 5 Minuten aus? Auch wenn man noch etwas daran macht ?
Happy Day, Frank
Hallo Loerdy !
Geht denn dann Dein Monitor immer nach 5 Minuten aus? Auch wenn man noch etwas daran macht ?
Happy Day, Frank
ich hab zwar noch nie die zeit gestoppt, die ich so vor dem Monitor verbringe, aber aus ging er noch nie. Jetzt habe ich mal 7 Minuten davor gestanden und das Device blieb an. Der Sensor schlug dabei mehrmals an. Ich bin einfach davon ausgegangen das bei jeder Sensormeldung der Timer neu gesetzt wird.
loerdy
Ja dann scheint das so zu sein. Das wäre ja auch optimal. Immer wenn der Sendor meldet, wird die Zeit wieder verlängert. Vielleicht kannst du ja mal das Skript posten. Einen Bewegungsmelder habe ich ja schon. Der muss dann nur statt gleich den Strom zu schalten, ein Signal erzeugen für IPS.
Happy Day und Dank, Frank
sei aber nicht allzu enttäuscht, da steht nicht viel drinnen
Monitor_An
<?
TT_HideCursor('192.168.29.57');
TT_ScreenPower('192.168.29.57',true);
IPS_SetScriptTimer(55409 , 300);
?>
Monitor_Aus ( ID:55409 )
<?
TT_ScreenPower('192.168.29.57',false);
?>
loerdy
Danke sehr !
Das kann ich aber so nicht nehmen. Das ist viel zu unkompliziert
Happy Day, Frank
Alles in ein Skript, Trigger auf die Statusvariable des Bewegungsmelders und testen.
<?
if ($IPS_SENDER == "Variable") {
TT_HideCursor('192.168.29.57');
TT_ScreenPower('192.168.29.57',true);
IPS_SetScriptTimer($IPS_SELF, 300);
}
if ($IPS_SENDER == "TimerEvent") {
TT_ScreenPower('192.168.29.57',false);
IPS_SetScriptTimer($IPS_SELF, 0);
}
?>
@Frank: Ist der Level der Komplexität so passender?
Hallo Werner !
Danke für das Skript. Alles zusammen ist natürlich auch schick. Komplex ist es aber noch nicht. Ich verstehe es noch, dann muss es einfach sein
Test kann ich es leider erst, wenn ich meinen Bewegungsmelder umgebaut habe, damit er IPS-Signale erzeugen kann.
Happy Day, Frank
Das Skript macht ja nur 2 Dinge.
Wird es durch den Bewegungsmelder getriggert wird der Bildschirm eingeschaltet sowie Timer gesetzt. Erfolgt jetzt eine erneute Bewegung wird der Timer wieder auf 300 gesetzt und das Display bleibt an.
Wird der Skript durch den Timer aufgerufen, also nach Ablauf, schaltet es das Display aus und setzt den Timer auf 0.
Bzgl. der Komplexität…
… mal sehen vielleicht kann man da noch ein mehrdimensionales Array einbauen, einfach der Sinnlosigkeit :rolleyes:
Hallo Werner,
bei mir gehts jetzt nicht mehr.
Die Variable, muss das der Bewegungsmelder selber sein oder die Statusvariable?
Ist aber auch egal, geht bei beiden nicht.
Loerdy
Array Jawoll ! Einfach mal unkommentierte, sinnlose Dinge einbauen
Ich hatte mich für schlau gehalten und mit dem Bewegungsmelder einfach den Strom vom Touch geschaltet. Funktioniert an sich auch gut aber bringt komische Effekte ab und zu. ELO selbst scheibt auch, dass man das nicht tun sollte. Ich besorge mir mal einen EnOcean Sender und probiere das Skript.
Frank
Zeig mal dein Skript, befürchte Du hast da was falsch Verstanden.
Ansich bleibt das Skript so wie es ist, nur den Event mußt Du halt auf die StatusVar machen und zwar bei Aktualisierung.
Hallo Werner !
Sorry für das umständliche Geschreibe. Ich habe bisher kein Skipt dafür. Mein Bewegungsmelder schaltet einfach ohne Umwege den Strom für den Touch ein und aus. Wenn man vor den Touch tritt, wird der Strom eingeschaltet und nach einer Weile wieder aus. IPS hat da bisher nicht mit zu tun.
Frank
Hallo Werner,
Monitor_An_Aus:
<?
if ($IPS_SENDER == "58121")
{
TT_HideCursor('192.168.29.57');
TT_ScreenPower('192.168.29.57',true);
IPS_SetScriptTimer($IPS_SELF, 300);
}
if ($IPS_SENDER == 'TimerEvent') {
TT_ScreenPower('192.168.29.57',false);
IPS_SetScriptTimer($IPS_SELF, 0);
}
?>
Ist die IPS Sender Variable richtig?
Danke,
Loerdy
Lass mein Skript so wie es war.
Nicht die ID der Variable einfügen sondern den Text „Variable“ belassen Die Zeile sagt nur aus das der Teil ausgeführt wenn das Skript durch eine Variable getriggert wurde.
Alternativ könntest Du stattdessen auch ein
if ($IPS_VARIABLE == 58121) {
Dann würde die Bedingung nur auf die Variable arbeiten, da aber nur durch diese getriggert wird brauchen wir eine Unterscheidung.
Das Ereigniss ist korrekt.
Ok, nu gehts.
Danke …
nebenbei bemerkt war auch der Trigger falsch.
Statt „Änderung der Variable“ muss dieser auf „Aktualisieren“ reagieren.
Der Status bleibt ja immer auf „TRUE“.
das fiel mir dann auf als die alte Lösung auch nicht mehr ging.
hat aber auch ne Stunde gedauert schäm
loerdy
Schrieb ich doch
Ich hab heute wieder auf meine Lösung mit den zwei Scripten umgestellt.
Mit dem Script von Werner ist der Effekt aufgetreten das der Monitor ausgeht, auch wen man davor steht.
Sieht so aus, als würde es nicht abgefackelt wenn ein Timer drauf läuft.
Gruß,
Loerdy
Hallo
Hab mir vor langer Zeit mal folgendes Script geschrieben.
Heute wuerde ich es wohl anders machen.
Mein Script wird alle 5 Minuten aufgerufen oder wenn der
PIRI sendet.
Wenn seit dem letztem senden vom PIRI mehr als 3 Minuten
vergangen sind schalt ich den Monitor aus mit
$cmd = IPS_GetKernelDir()."nircmd.exe";
$param = "monitor off";
IPS_ExecuteEx($cmd, $param, false, false, 0);
SetValueBoolean($instance_wakeup,false); //Monitor ist aus
Wenn der PIRI schaltet und er ist aus dann
schalt ich den Monitor ( ELO ) ein mit :
IPS_ExecuteEx("C:\Programme\EloTouchSystems\EloSetOptions.exe","", false, true,0);
Funktioniert bei mir immer einwandfrei ,deshalb hab ich nie wieder was dran gemacht.
Dürfte eigentlich nicht sein. Sollte das Skript erneut von der Variable aufgerufen werden wird der Timer neu gesetzt, egal ob dieser gerade läuft oder nicht.
Autsch, geht dein Touch nicht kaputt wenn du da ständig davor trittst?