Relais-Kommunikation mittels Common Gateway Interface "CGI"
Basisauthentifizierung (nach RFC 2617) soll verwendet werden
Digest Access Authentication (ebenfalls RFC 2617) soll verwendet werden
Request "schalte_relay" zum Schalten eines Relais
Request "relay_status" zur Abfrage eines Relais-Schaltzustandes
Attribut fuer Eingabefelder im WEB-Browser: Soll das Eingabefeld editierbar sein ? - true: ja, false: nein
Attribut fuer Eingabefelder im WEB-Browser: Muss das Eingabefeld vorhanden sein ? - true: ja, false: nein
Für WEB-Oberfläche: Einfaches Gerät mit 2 URLs zum Ein- und Ausschalten eines Relais
Aufbau des URL-Strings mit Platzhaltern: $Username$, $Passwort$, $Relay$, $Relay_STATUS_x$ wobei x eine Relaisnummer ist
Sonderbehandlung für spezielle Geräte: Philips Hue (webbasierte Lampen), Energie/Gembird (webbasierte Steckdoesenleisten)
Sequenz zum Parsen der Antwort vom IP-Gerät, siehe iprt:http_response_type
Aufbau: Schluesselwort (z.B. state :) $Relay_STATUS_x$, etc.; x ist dabei eine Relaisnummer
Das Schluesselwort dient jeweils zum Auffinden des Relaisschaltwertes;
Steuerzeichen wie Linefeed, 0x0A oder 0x0D duerfen nicht enthalten sein
Der jeweilige Schaltwert wird mittels der Atrribute "relay_turn_value_on"
oder "relay_turn_value_off" definiert.
Werden die Atrribute nicht verwendet, ist 1: ein und 0: aus.
String/Sequenz in der Antwort, die als eingeschaltet interpretiert werden soll.
future use: String/Sequenz in der Antwort, die als ausgeschaltet interpretiert werden soll.
Sonderbehandlung für Philips Hue Geräte: HTML-Body mit Platzhalter "$Relay_STATUS$"
Request Namen: schalte_relay + relay_status
Wird nicht verwendet ! (Antwort ist im Body der Rückmeldung)
Get, Put, Post
Zeichenfolge für Relais einschalten z.B. "ein" oder "true", default ist "1"
Zeichenfolge für Relais ausschalten z.B. "aus" oder "false", default ist "0"
Sonderbehandlung für spezielle Geräte
Geräte-Request erlaubt nur das Schalten/Abfragen eines einzigen Relais,
z.B. Philips Hue, Allnet4076
Achtung Änderung der Schlüsselworte:
$Relay$ : Nummer des zu schaltenden Relais 1..max
$Relay_STATUS$ : zukünftiger bzw. aktueller Schaltzustand
Sonderbehandlung für Energie Geräte
3 Methoden für die URL-Anfrage
Attribut fuer Eingabefelder im WEB-Browser: Soll das Eingabefeld editierbar sein ? - true: ja, false: nein
Attribut fuer Eingabefelder im WEB-Browser: Muss das Eingabefeld vorhanden sein ? - true: ja, false: nein
Antwort (response) auf einen request
Zeichenfolge mit Platzhalter $Relay_STATUS_x$ x=1.. Relaisnummer
Information zu Schaltzuständen ist im Message-Body ? - true: ja, false: nein
UDP Request: siehe Feldbeschreibung
UDP Response: siehe Feldbeschreibung
Attribut fuer Eingabefelder im WEB-Browser: Muss das Eingabefeld vorhanden sein ? - true: ja, false: nein
Attribut fuer Eingabefelder im WEB-Browser: Muss das Eingabefeld vorhanden sein ? - true: ja, false: nein
String z.B. fuer ein Protokollname mit einer Position innerhalb des UDP-Requuest Strings
Feld für Relais-Schaltdauer mit einer Position innerhalb des UDP-Requuest Strings: \n
Schaltdauer, Formatierung der Schaltdauer; Einheit
Feld fuer eine Relaisnummer mit der zugehörigen Formatierung der Nummer
UDP-String Inhalt wird per Hash-Wert gesichert ...
Es werden Sequenznummern verwendet
IP-Adresse der PBX wird übermittelt
Passwort wird benötigt
3 mögliche Antworten vom Gerät:\n
- Idle: keine Änderung der Schaltungsposition\n
- Schaltung_war_erfolgreich\n
- Schaltung_ist_fehlgeschlagen
Key-Word für Request-Funktion: \n
Relais schalten - schalte_relay; \n
Relais umschalten - schalte_relay_toggle\n
?? - Idle
"Teilstring-Position im UDP/URL-String"
Teilstring-Position im UDP/URL-String
future use
Teilstring-Position im UDP/URL-String
Wert hexadizimal formatieren: true - ja; false - nein
Das Feld "udp_Relay_switching_time_type" ist optional? true - optional; false - mandatory
Wert: 0.. Schaltdauer in Sekunden
Einheit Schaltdauer: Z.Z. in Sekunden: String "sek"
"Im UDP/URL-String wird eine Relaisnummer erwartet"
"Teilstring-Position im UDP/URL-String"
"Relaisnummer wird als hexdezimaler Wert erwartet"
"Relaisnummer nur als Byte-Wert 0..255; In Kombination mit is_string_hex: 0 .. FF"
"Im UDP/URL-String wird eine Sequenznummer erwartet"
"Teilstring-Position im UDP/URL-String"
"Sequenznummer wird als hexdezimaler Wert erwartet"
"Länge der Sequenznummer in Byte"
"Im UDP/URL-String wird die IP-Adresse der PBX erwartet"
"Teilstring-Position im UDP/URL-String"
"Sequenznummer wird als hexdezimaler Wert erwartet"
"Im UDP/URL-String wird ein Passworterwartet"
"Teilstring"-Position im UDP/URL-String"
"Passwort wird als hexdezimaler Wert erwartet"
"Leerstellen werden mit F aufgefüllt"
"Im UDP/URL-String der Antwort ist eine Sequenznummer"
"Teilstring-Position im UDP/URL-String"
"Im UDP/URL-String wird ein Hash-Wert erwartet"
"Teilstring-Position im UDP/URL-String"
"Pruefsumme als hexdezimaler Wert"
"future use: Länge der Pruefsummer in Byte"
"Methode der Pruefsummen-Bildung, z.Z. nur SUM_XOR_256"
"Response im Request-Antwort"
"Teilstring-Position im UDP/URL-String"
"??"
"Teilstring-Position im UDP/URL-String"
"??"
"Teilstring-Position im UDP/URL-String"
"??"
"Teilstring-Position im UDP/URL-String"
"??"
"Teilstring-Position im UDP/URL-String"