Touchscreen einschalten wie?

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

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

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

Test kann ich es leider erst, wenn ich meinen Bewegungsmelder umgebaut habe, damit er IPS-Signale erzeugen kann.

Happy Day, Frank

:smiley:

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

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 :smiley: 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 :slight_smile: schäm

loerdy

Schrieb ich doch :wink:

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? :smiley: