Screensaver Monitorsteuerung am Client etc...

Hab das Thema mal abgekoppelt (siehe hier).

Bin auch gerade am Umsetzen der Problematik, will das folgendermassen lösen:

-> IPS-Server: W2k
-> Client (Touch-PC eee PC T91) mit Windows 7

  • Auf dem Touch sind alle Energie-Steuerungen und Screensaver ausgeschaltet, das soll alles IPS erledigen.

  • Auf dem Touch ist nircmd.exe vorhanden.

  • Auf dem Touch ist gphotoshow installiert - zeigt unsere Bildersammlung als Photo-Show.

  • Auf dem Touch ist SuperVisionCam installiert (kostet eine Kleinigkeit, lohnt sich aber - braucht kaum Ressourcen).

  • Die Steuerung vom Server wird mittels PsTools vorgenommen.

    • Ausschalten des Client-Monitors:
$cmd = IPS_GetKernelDir()."Tools/pstools/psexec.exe";
$param = "\\\\TPMFR11 -i c:\\Haussteuerung\
ircmd monitor off";
IPS_ExecuteEx($cmd, $param, false, false, 0);
  • Einschalten des Client-Monitors:
$cmd = IPS_GetKernelDir()."Tools/pstools/psexec.exe";
$param = "\\\\TPMFR11 -i c:\\Haussteuerung\
ircmd monitor on";
IPS_ExecuteEx($cmd, $param, false, false, 0);
  • Starten des Client-Screensavers:
$cmd = IPS_GetKernelDir()."Tools/pstools/psexec.exe";
$param = "\\\\TPMFR11 -i c:\\Haussteuerung\
ircmd screensaver";
IPS_ExecuteEx($cmd, $param, false, false, 0);
  • Stoppen des Client-Screensavers:
$cmd = IPS_GetKernelDir()."Tools/pstools/pskill.exe";
$param = "\\\\TPMFR11 gPhotoShow.scr";
IPS_ExecuteEx($cmd, $param, false, false, 0);

Wobei immer:

  • „Tools/pstools/“ ist der Pfad zu PsTools auf dem Server (relativ zu IPS-Directory)
  • „TPMFR11“ ist der Client
  • „c:\Haussteuerung\“ ist die Location von nircmd.exe auf dem Client

Einige Erklärungen:

  • nircmd verfügt auch über einen remote-Modus, kam aber damit nicht wirklich zum Erfolg
  • zum Beenden des Screensavers lediglich Obige Lösung gefunden (vielleicht hat noch jemand eine Bessere ? ;))
  • Auf den Windows 7 Clients musste ich noch diesen „Trick“ umsetzen

Wie sieht das in der Praxis aus ?

  • Auf dem Client ist eine DashBoard-Oberfläche aktiv
  • gesteuert durch IPS wird nach einer gewissen Zeit der Screensaver aktiviert
  • Falls das DashBoard bedient wird (TabIndex OnChange), wird immer ein Timer neu gestartet
    -> nach Ablauf dieses Timers wird wieder der Screensaver aktiviert
  • Bei einer Bewegung (detektiert durch SuperVisionCam) wird der Monitor mittels nircmd eingeschaltet und IPS mittels wget informiert.
    -> IPS schaltet bei Abwesenheit (oder xx Minuten ohne Bewegung) den Monitor aus

Ist noch nicht ganz alles Praxis-erprobt - kommt Zeit (- kommt WAF :)) - kommt Rat.

Vielleicht kann der Eine oder Andere eine Idee gebrauchen…

Gruss
Tinu

Hallo Tino,

die Idee mit dem Tab-Wechsel finde ich super:rolleyes:. Nur so eine Verständnisfrage:

Dein Screensaver schaltet deinen Monitor nicht aus. Das macht nur das IPS. Wenn deine Kamera keine Bewegung erkennt, wie würde dann dein Monitor sich wieder einschalten. Nicht auf Maus-Bewegung, oder? Ich frage deshalb, weil ich keine Bewegungserkennung vor dem Monitor habe. Ich denke, ich werde es mal mit Screensaver mit eingeschaltener Energy-Option versuchen.

----Nachtrag-----
Ich hab’s jetzt verstanden: Der Monitor wird zwar mit NirCmd ausgeschalten, aber bei Maus-Bewegung geht er von selbst wieder an. Also brauche ich damit keinen Screensaver und keine Energy-Option (so wie du).
Und die Taskleiste kann ich mir mit NirCmd sendkey 0x5b press auch in den Vordergrund holen. Hoffe damit die letzte Hürde für einen Umstieg auf die 2.2 gelöst zu haben:rolleyes:

Gruß
Rubberduck

Hallo Rubberduck

Du hast das ja schon richtig erkannt, bei mir ist’s halt die Touch-Berührung, die den Monitor u.A. auch einschaltet. Wenn dann das DashBoard bedient wird, bekommt’s IPS auch mit.
Ein kleines Problemchen stellt sich dabei schon: wenn IPS das Einschalten des Monitors nicht mit bekommt, wird er auch nicht mehr ausgeschaltet… :frowning:

Das mit SendKey mittels nircmd würd ich an Deiner Stelle zuerst mal ausprobieren, hat bei mir nicht so richtig gefunkt (von Server zu Client - wollte eigentlich so den ScreenSaver deaktivieren). Vieleicht liegt auch „nur“ an dem W7 auf dem Client.

Gruss
Tinu

Bei mir läuft das Script 1x/Minute. Damit wird auch bei Nichtbetätigung 1x/min der Monitor ausgeschalten. Oder eben eingeschalten wenn das Zeitfenster passt (zB. zur Frühstückszeit).

Lokal am Server funktioniert bei mir einwandfrei. Ich sende sogar 2x unmittelbar nacheinander. Weil beim ersten „Windows“-Taste-Senden popt das Startmenü auch auf. Beim zweiten mal verschwindet es wieder. Ist zwar optisch nicht die schönste Variante, aber ich brauche die Taskbar sowieso nur für Installationsarbeiten.
Gruß
Rubberduck