Archiv des ehemaligen Wiki

Die Inhalte sind seit Januar 2016 archivert und somit nicht mehr auf dem aktuellsten Stand

IPSTools

IPSTools

Allgemein

Die IP-Symcon Tools dienen dazu auf einem Rechner bestimmte Aktionen auszuführen bzw. diverse System Daten in IP-Symcon verfügbar zu machen.

Programm Funktionen

  • Monitor Ausschalten
  • Monitor Einschalten
  • ScreenSaver Starten
  • Abfrage MousePosition
  • Selbstständig Senden der Sekunden seit der letzen Mouse Bewegung

Installation

Programm

Files entpacken und in ein beliebiges Verzeichnis kopieren, Verknüpfung zu IPSTools.exe erstellen und in den Autostart Ordner von Windows verschieben.

Programm Einstellungen

IPSTools GUI

  • Eingabefeld "Port" - Dient zum Einstellen des TCP/IP Empfangs Ports, bei einer Änderung wird der Server autom. gestoppt.
  • Button "Start" - Dient zum Starten des Servers
  • Button "Stop" - Dient zum Stoppen des Servers
  • Checkbox "Server automatisch Starten" - wenn aktiviert, wird der Server bei Programm Start automatisch gestartet
  • Eingabefeld "Automatisches Sende Interval" - Legt das Interval von Meldungen fest, die automatisch vom Server versendet werden.
  • Checkbox "Automatische MouseIdle Messages" - wenn aktiviert, werden "MouseIdleSince" Meldungen automatisch vom Server versendet.
  • Button "Einstellungen Speichern" - Speichert die aktuellen Server Einstellungen, beim Beenden des Programms werden die Einstellungen automatisch gespeichert.

IP-Symcon

Folgende Installations Schritte sind in IPS nötig:

  • Integer Variable "MouseIdleSince" anlegen, optional eigenes Profil mit Suffix " Sek" anlegen.
  • Empfangs-Script "IPSTools_Receive.ips.php" anlegen, Beispiel einer Implementierung siehe weiter unten.
  • Client Socket Instance "IPSTools_Socket" anlegen, Host: localhost, Port 7002
  • Register Variable "IPSTools_Register" anlegen und darin das Empfangs-Script als Ziel sowie den Socket als übergeordnete Instanz festlegen.
  • Sende-Script "IPSTools" anlegen, dieses Script kann in andere inkludiert werden und zum Senden der Befehle verwendet werden. Alternativ kann es auch einfach als Vorlage für eigene Scripts dienen.

IPSTools Structure

Download und Links

Download der aktuellsten Version ist im Forum Thread möglich.

Kommunikation und Scripts

Protokoll

Bildschirm ausschalten

Request: ScreenPowerOff
Response: ScreenPowerOff

Bildschirm einschalten

Request: ScreenPowerOn
Response: ScreenPowerOn

Bildschirmschoner starten

Request: StartScreenSaver
Response: StartScreenSaver

Maus Position

Request: MousePosition
Response: MousePosition;XPos;YPos

Maus Idle Meldung

Liefert die Sekunden seit der letzten Mausbewegung. Diese Meldung wird bei entsprechender Konfiguration automatisch vom Server versendet.

Response: MouseIdleSince;Sec

Freier Speicherplatz eines Laufwerks

Request: FreeDiscSpace;<Drive>
Response: FreeDiscSpace;<Drive>;<Value>

Kompletter Speicherplatz eines Laufwerks

Request: TotalDiscSpace;<Drive>
Response: TotalDiscSpace;<Drive>;<Value>

Type eines Laufwerks

Request: DriveType;<Drive>
Response: DriveType;<Drive>;<Value>

Format eines Laufwerks

Request: DriveFormat;<Drive>
Response: DriveFormat;<Drive>;<Value>

Verfügbarkeit eines Laufwerks

Request: IsDriveAvailable;<Drive>
Response: IsDriveAvailable;<Drive>;<Value>

Sekunden seit Start des Rechners

Request: SystemUpTime
Response: SystemUpTime;<Seconds>

Verfügbarer Speicher

Request: AvailableMemory;
Response: AvailableMemory;<Value>

CPU Auslastung

Request: UsedCPU;
Response: UsedCPU;<Value>

Starten eines Programms

Request: RunProgram;<Program>;<Parameter>
Response: RunProgram;<Program>;<Parameter>

Script Beispiele

Sende Script

define ("ID_IPSTOOLS_SOCKET",       20401 /*[IPSTools_Socket]*/);

function IPSTools_StartScreenSaver() {
    CSCK_SendText(ID_IPSTOOLS_SOCKET, 'StartScreenSaver');
}

function IPSTools_SetScreenPower($enabled) {
    if ($enabled) {
        CSCK_SendText(ID_IPSTOOLS_SOCKET , 'ScreenPowerOn');
    } else {
        CSCK_SendText(ID_IPSTOOLS_SOCKET , 'ScreenPowerOff');
    }
}

Empfangs Script

define ("c_ID_MouseIdleSince",  20347 /*[Hardware\IPSTools\Mouse is Idle Since]*/);

if ($IPS_SENDER=='RegisterVariable') {
    $Params = explode(';', $IPS_VALUE);

    switch($Params[0]) {
        case 'MouseIdleSince':
            SetValueInteger(c_ID_MouseIdleSince, (int)$Params[1]);
            break;
        default:
    }
}
Zum Warenkorb
Haben Sie noch Fragen?