Dokumentation
Systemvariablen
Systemvariablen sind Variablen, die in jedem PHP-Skript verfügbar sind. Der Benutzer kann diese nutzen um effizient PHP-Skripte erstellen zu können, welche generisch Aufgaben lösen können. Je nach Absender, durch den das PHP-Skript ausgeführt wurde, werden automatisch passende Systemvariablen erstellt und zur Verfügung gestellt. Die nachfolgenden Tabellen geben einen Überblick bei welchem PHP-Skript welche Variablen automatisch zur Verfügung stehen.
Die Groß- und Kleinschreibung der Variablen ist zu beachten (Case-Sensitive)!
Generelle Systemvariablen
Folgende Systemvariablen stehen immer zur Verfügung.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['SELF'] | PHP-SkriptID des aktuellen PHP-Skriptes |
| $_IPS['SENDER'] | Auslöser des PHP-Skriptes. Abhängig vom Wert können sich weitere globale Variablen ergeben. Mögliche Werte werden unter Zusätzliche_Systemvariablen genauer beschrieben. |
| $_IPS['THREAD'] | ThreadID des aktuellen PHP-Skriptes |
Zusätzliche Systemvariablen
Folgende Systemvariablen stehen in Abhängigkeit des $_IPS['SENDER'] zur Verfügung.
- Action
- Execute
- HeatingControl
- RegisterVariable
- RunScript
- Shutdown
- ShutterControl (legacy)
- Startup
- StatusEvent
- TimerEvent
- Variable
- VoIP ( ab Version 5.2 )
- Watchdog
- WebFront
- WebHook ( ab Version 4.0 )
- WebInterface
- WebOAuth ( ab Version 4.0 )
Action
Wenn das PHP-Skript durch ein RequestAction ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['SENDER'] | Standardmäßig ist dieser "Action" kann aber durch RequestActionEx Individuell gesetzt werden |
| $_IPS['VALUE'] | Wert mit dem die Variable aufgerufen wurde |
| $_IPS['VARIABLE'] | ID der Variable, welche geschaltet werden soll |
Execute
Wenn das PHP-Skript aus der Verwaltungskonsole ausgeführt wurde.
Keine zusätzlichen Systemvariablen.
HeatingControl
Wenn das PHP-Skript durch ein Ereignis vom HeatingControl ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['INSTANCES'] | IDs der Sende-Instanzen |
| $_IPS['INVERTS'] | Beinhaltet ob ein Gerät invertiert ist (true/false) |
| $_IPS['VALUE'] | Enthält ob das Gerät heizen soll (true) oder nicht heizen soll (false) |
RegisterVariable
Wenn das PHP-Skript durch eine RegisterVariable Instanz ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['CLIENTIP'](nur bei I/O ServerSocket) | Empfangene IP-Adresse des Clients |
| $_IPS['CLIENTPORT'](nur bei I/O ServerSocket) | Empfangsport des Clients |
| $_IPS['INSTANCE'] | ID der auslösenden RegisterVariable Instanz |
| $_IPS['VALUE'] | Wert des Puffers, der vom Splitter oder I/O Modul empfangen wurde |
| $_IPS['TYPE'] | Status des Empfangsport (0 = Data; 1 = Verbunden; 2 = Getrennt |
RunScript
Wenn das PHP-Skript durch eine IPS_RunScript Funktionen ausgeführt wurde. Erweiternd kann auch IPS_RunScriptEx genutzt werden um zusätzliche Parameter zu übergeben.
Keine zusätzlichen Systemvariablen.
Shutdown
Beim IP-Symcon Shutdown (siehe EventControl).
Keine zusätzlichen Systemvariablen.
ShutterControl
Wenn das PHP-Skript durch ein ShutterControl Modul (legacy) ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['DIRECTION'] | Zu fahrende Richtung: 0 = Stop 1 = Hoch 2 = Runter |
| $_IPS['DURATION'] | Fahrdauer in Millisekunden |
| $_IPS['INSTANCE'] | InstanzID, die im ShutterControl eingestellt ist |
| $_IPS['INSTANCE2'] | InstanzID #2, die im ShutterControl eingestellt ist |
Startup
Beim IP-Symcon Startup (siehe EventControl).
Keine zusätzlichen Systemvariablen.
StatusEvent
Wenn das PHP-Skript durch eine Statusveränderung einer Instanz ausgeführt wurde.
Nähere Informationen sind unter EventControl und IPS_GetInstance zu finden.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['INSTANCE'] | InstanzID zur Statusänderung |
| $_IPS['STATUS'] | Status der Instanz. Eine Auflistung ist hier zu finden: IPS_GetInstance |
| $_IPS['STATUSTEXT'] | Kurztext passend zum Status |
TimerEvent
Wenn das PHP-Skript durch ein zyklisches- oder Wochenplan-Ereignis ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['ACTION'] | ID der aufzurufenden Aktion (nur Wochenplan Ereignis) |
| $_IPS['EVENT'] | ID des auslösenden Ereignisses |
| $_IPS['TARGET'] | ID des übergeordneten Objektes |
Variable
Wenn das PHP-Skript durch ein ausgelöstes Ereignis ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['EVENT'] | ID des auslösenden Ereignisses |
| $_IPS['OLDCHANGED'] (ab Version 5.1) |
Zeitstempel der letzten Änderung des alten Wertes |
| $_IPS['OLDVALUE'] | Wert der auslösenden Variable vor Auslösezeitpunkt |
| $_IPS['OLDUPDATED'] (ab Version 5.1) |
Zeitstempel der letzten Aktualisierung des alten Wertes |
| $_IPS['TARGET'] | ID des übergeordneten Objektes |
| $_IPS['TRIGGER'] | Typ des auslösenden Ereignisses |
| $_IPS['VALUE'] | Wert der auslösenden Variable zum Auslösezeitpunkt |
| $_IPS['VARIABLE'] | ID der auslösenden Variable |
VoIP ( ab Version 5.2 )
Wenn das PHP-Skript durch ein Ereignis vom VoIP-Modul ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['CONNECTION'] | KanalID der Verbindung |
| $_IPS['DATA'] | Beinhaltet die gedrückte Taste, wenn das $_IPS['EVENT'] gleich DTMF ist |
| $_IPS['EVENT'] | Die Variable kann folgende Werte beinhalten: Incoming: Bei eingehendem Anruf Connect: Bei aufgebauter Verbindung Disconnect: Bei beendeter Verbindung PlayFinish: Sobald Audiodatei zuende abgespielt wurde DTMF: Sobald ein DTMF Ton empfangen wurde |
| $_IPS['INSTANCE'] (ab Version 5.4) |
InstanzID der VoIP-Instanz |
Watchdog
Wenn das PHP-Skript durch den Watchdog ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['STATUSTEXT'] | Der Statustext der übergeben wird |
| $_IPS['VALUE'] | Wert der Variable, welcher außerhalb der Grenzen ist |
| $_IPS['VARIABLE'] | ID der Variable, welche die Grenzen überschritten hat |
WebFront
Wenn das PHP-Skript durch das WebFront ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_IPS['CONFIGURATOR'] | ID des aktuell genutzten Konfigurators |
| $_IPS['VALUE'](nur bei Aktionsskript) | Neuer Wert der Variable |
| $_IPS['VARIABLE'](nur bei Aktionsskript) | ID der zu ändernden Variable |
WebHook ( ab Version 4.0 )
Wenn das PHP-Skript durch einen WebHook ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_SERVER['HOOK'] | Vollständige URL des aufgerufenen WebHooks |
Zusätzlich stehen beim Typ WebHook auch alle Variablen des WebInterface zur Verfügung.
WebOAuth ( ab Version 4.0 )
Wenn das PHP-Skript durch einen OAuth Control ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_SERVER['OAUTH'] | Vollständige URL des aufgerufenen WebOAuth |
Zusätzlich stehen beim Typ WebOAuth auch alle Variablen des WebInterface zur Verfügung.
WebInterface
Wenn das PHP-Skript durch den Webserver (z.B. im 'user' Ordner) ausgeführt wurde.
| Systemvariable | Beschreibung |
|---|---|
| $_GET | Empfangene Daten über GET |
| $_POST | Empfangene Daten über POST |
| $_SERVER['DOCUMENT_ROOT'] | Enthält das Document Root-Verzeichnis, unter dem das aktuelle PHP-Skript ausgeführt wird, so wie es in der Konfiguration des Servers festgelegt wurde |
| $_SERVER['PHP_AUTH_PW'] | Wenn HTTP authentication verwendet wird, wird diese Variable mit dem vom Benutzer angegebenen Passwort gefüllt |
| $_SERVER['PHP_AUTH_USER'] | Wenn HTTP authentication verwendet wird, wird diese Variable mit dem vom Benutzer angegebenen Usernamen gefüllt |
| $_SERVER['PHP_SELF'] | Datei/Pfad des gestarteten PHP-Skriptes |
| $_SERVER['QUERY_STRING'] | Sofern vorhanden, der Querystring, mittels dessen auf die Seite zugegriffen wurde |
| $_SERVER['REMOTE_ADDR'] | Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht |
| $_SERVER['REMOTE_PORT'] | Der Port, von der aus der Benutzer die aktuelle Seite ansieht |
| $_SERVER['REQUEST_METHOD'] | Enthält die für den Zugriff auf die Seite verwendete Requestmethode, z. B. 'GET', 'HEAD', 'POST' oder 'PUT' |
| $_SERVER['REQUEST_URI'] | Der URI, der angegeben wurde, um auf die aktuelle Seite zuzugreifen, beispielsweise '/index.html' |
| $_SERVER['SCRIPT_NAME'] | Enthält den Pfad zum aktuellen PHP-Skript. Dies ist nützlich für Seiten, die auf sich selbst verweisen sollen |
Zusätzlich werden alle Request Header in Großbuchstaben mit dem HTTP* Prefix hinzugefügt, wobei ein Minus (-) zu einem Unterstrich () geändert wird. z.B. der Header 'User-Agent' wird als $_SERVER['HTTP_USER_AGENT'] kodiert.