IPSTools - Tools für Monitor, Maus und mehr ...

Hallo Andreas,

habe deine Tools installiert, hat auf anhieb gefunkt.

Das senden bzw. abfragen von

  • StartScreenSaver
  • ScreenPowerOn
  • ScreenPowerOff
    funktionieren nicht.
    Rückmeldung im Debug alles OK.
    Andere Abfrage funktionieren alle.
    Angeschlossen ist ein Medion 17" TP.

Hast Du eine Ahnung was das sein könnte?
Muß in den Systemeinstellungen am PC was vorgenommen werden?
Im voraus Danke.

Da kann ich Dir leider auch nicht wirklich helfen, eventuell liegst ja an Deiner Windows Version.
Hab das Programm unter Win7 getestet und reiche da die ensprechenden Befehle über die Windows API weiter.

Hallo Andreas,

Danke für die Antwort.
Hatte es schon gelöst.
Es müssen am PC die Energiesparfunktion und Screensercer entsprechend angepasst werden, dann hat es gefunkt.

Ansonsten tolles Tool.

Hello,

ich habe mich jetzt auch mal an die Tools gemacht, installiert und funktioniert hervorragend. Vielen Dank dafür !

Nutze bisher allerdings nur die ScreensaverOff Funktion, wenn Meldungen an das WebFront geschickt werden.
Konkret: Ich habe einen Monitor auf dem das Webfront angezeigt wird, auf dem nach 1 Min ein Bildschirmschoner (1 Bild/Min, ca. 50.000 Bilder) läuft. Wenn eine Unwetterwarnung oder ein Anruf reinkommt wird dies kurz angezeigt :wink:

Jetzt meine Frage an Brownson:
Warum hast Du es so konzipiert, dass der ServerSocket auf der Client-Seite sitzt ?
Wäre es nicht logischer (und besser) den ServerSocket auf die IPS Maschine zu platzieren ?

Hintergrund:
Die IPS Maschine ist 24 an. Der Anzeigemonitor nur wenn wir zuhause und wach sind. Wenn jetzt ein PopUp z. B. über die Unwetterwarnung kommt, dann wirft IPS einen Fehler, da ja der Socket nicht steht. Klar, man kann dann vor dem Befehl an IPS tools den Socket abfragen, aber das erscheint mir irgendwie „verkehrtrum“ :wink:

Dan wäre auch Installation und Betrieb sicher einfacher, da die Tools nach dem start einfach den IPS Server im Netz suchen könnten und sich automatisch verbinden könnten… (Mehrere Clients, weniger Fehlerfälle, ect…)

Du hast Dir dabei sicher was gedacht. Daher würde mich die Idee interessieren.

Merci und Grüße,

Oliver

Hallo Oliver,

in erster Linie hab ich das so implementiert, da es auf die Schnelle einfacher zu implementieren war (man braucht sich nicht um ein Reconnect zu kümmern - macht alles IPS).

Sollte aber kein allzugroßer Aufwand sein, dass man da auch den Client implementiert (Sourcen sind ja ohnehin zugänglich).

Hallo Brownson,

Ok, verstanden. Klingt einleuchtend. :wink:

Da ich nicht so sehr der Entwickler bin, werde ich mich wahrscheinlich nicht dran wagen, aber ich denke dass die Tools eine sehr praktische Ergänzung zum WebFront sind.

Könnte m.E. in einer der kommenden Versionen als Bestandteil von IPS auftreten :wink:

Grüße,

Oliver

Hallo,
da ich auch großes interesse an diesem Tool habe,
habe ich schon einges umgebaut, u.a. automatischer Neustart des TCP Servers nach Standby, Messageboxen in unterschiedlichen Größen,
TTS Ansteuerung, etc.
Und werde als nächstes wohl auch einen Client Socket drauß bauen.
Aus zeitlichen Gründen dauert dies aber mindestens noch 6-8 Wochen.
Werde dann die überarbeitete Version hier online stellen.

Zurzeit helfe ich mir wie folgt:

if(GetValueBoolean(27211 /*[Computer\Test PC]*/)===true && IPS_GetInstance(58680 /*[IPSTools Test]*/)['InstanceStatus'] == 102){

unmittelbar vor „CSCK_SendText“ und kann damit sehr gut arbeiten.
Die boolean Variable wird durch einen Ping jede Minute gesetzt.

Da die IPS Funktion sys_ping bei mir nicht funktioniert, habe ich folgendes Script

function GetOnlineByPing($ip){
    $ping_anzahl = 2;
    $kommando = "ping ".$ip." -n ".$ping_anzahl." -w 3";
    $ergebnis = shell_exec($kommando);
    //print $ergebnis."
<hr >";
    //print strpos($ergebnis,"Empfangen = 0")." ";
   if (strpos($ergebnis,"Empfangen = 0") === false) {
        # ist online
        return true;
    }else {
        return false;
    }
}

Sehr gut, bitte mit der Version auf meinem Developer Repository weiterentwickeln.

Dort habe ich bereits die Funktion „SetScreenSaverOff“ (besten Dank an dieser Stelle an Uwe alias Heimgeist) und „SetMousePosition“ implementiert.

Hello,

ich versuche gerade ein Button als Widget in das Webfront einzubinden um den Browser auf Knopfdruck zu schließen.

Ich dachte mir mit dem erwähnten Keystuff und RunProgram müsste das gehen.

Also so etwa:

CSCK_SendText(ID_IPSTOOLS_SOCKET, 'RunProgram;keystuff.exe;Alt-F4');

(Keystuff.exe liegt im Pfad)

geht aber nicht.

So gehts auch nicht:

CSCK_SendText(ID_IPSTOOLS_SOCKET, 'RunProgram;D:\IPSTools\keystuff.exe;Alt-F4');

oder so:

CSCK_SendText(ID_IPSTOOLS_SOCKET, 'RunProgram;D:/IPSTools/keystuff.exe;Alt-F4')

oder so:

CSCK_SendText(ID_IPSTOOLS_SOCKET, 'RunProgram;D:/IPSTools/keystuff.exe Alt-F4')

Es fehlt mir irgendwie die Syntax…

Kann mir da jemand auf die Sprünge helfen ?

Merci,

Oliver

Wie kommt man an das Repository dran?

Ich hab für mich eine Funktion geschrieben die auf eine Datei in einem festzulegenden Verzeichnis reagiert und den MausMove auf 0 stellt wenn sich die Datei ändert. Ideal um z.B. bei einem Tablet den Screen einzuschalten, wenn es mit einer eingebauten Cam eine Bewegung erkennt. Wenn das von Interesse ist kann ich das gerne mal einpflegen.

Hi Oliver,
versuche es mal mit // oder \.

Yeah…

Merci für den Hinweis (hätte man drauf kommen können :wink:

Werde ich heute Abend mal versuchen…

Grüße,

Oliver

Heo.

Das mit Kernstück hat nicht geklappt. Ging immer nur ein Command-Fenster auf…

Ich habe es jetzt aber mit Nircmd hinbekommen.

Grüße,

Oli

Hallo,

Super Tool aber ich bekomme es einfach nicht hin:mad:
IPSTools_SetScreenPower funktioniert bereits dadellos:)

Wenn ich

CSCK_SendText(ID_IPSTOOLS_SOCKET , 'MousePosition');

sende, sollte ich doch im Debug eine Antwort sehen. Leider kommt da nur „Unknown Command“.

Kann mir jemand einen Tipp geben was ich senden muss und wie ich die Antwort auswerte?

Kann das mal jemand für mich testen?

CSCK_SendText(ID_IPSTOOLS_SOCKET , 'MousePosition');  

ich glaub, da ist das WIKI nicht ganz korrekt - versuchs mal mit „GetMousePosition“, als Antwort sollte dann „MousePosition“ kommen …


               switch (inputParams[0])
                {
                    case "GetMousePosition":
                        outputString = string.Format("MousePosition;{0};{1}", MouseUtils.GetMousePosition().X.ToString(), MouseUtils.GetMousePosition().Y.ToString());
                        break;
                    case "GetMouseIdleSince":
                        outputString = string.Format("MouseIdleSince;{0}", mouseUtils.GetMouseIdleSince());
                        break;
 

ok:)

Vielen Dank.

Hallo
Hab ein Problem mit

IPSTools_SetScreenPower(true);

Ausschalten funktioniert einwandfrei.
Beim Einschalten geht der Monitor nur kurz an ( < 1 Sekunde )
und dann wieder aus.

Es ist Windows 8 mit 2 Monitoren.

Das Problem kenne ich unter win7.
Schaue mal bei den Energieeinstellungen.
Schalte die mal aus, dann sollte es gehen.

Also diese funktioniert nicht :

wf.png