Benutzer "on air": Das SmartHome BusyLamp

Man kennt es aus Musikstudios oder Fernsehanstalten. Das Benutzer-ist-aktiv-auf- Sendung-Bitte-nicht-eintreten-Schild. Oder kurz: das on air busy lamp. Warum nicht mal ein AGFEO ES-System einsetzen, um z.B. auf dem Büroflur anzuzeigen, dass der Benutzer am telefonieren ist?

Die Idee

Wenn Gespräch, dann ("on air") Lampe an.

Um das umzusetzen, brauchen wir die verschiedenen Rufzustände (z.B. Gespräch verbunden, Gespräch beendet) als Auslöser und ein beliebiges SmartHome Objekt, das im Falle des Falles geschaltet wird.

Das Prinzip

Den Rufzustand kann man über die AGFEO Klick Funktion erhalten. Und der in den ES-Systemen integrierte SmartHomeServer (SHS) ist über LAN in der Lage Informationen aufzunehmen, zu verarbeiten und externe Schaltobjekte zu steuern. Verknüpft man diese beiden Funktionen intelligent miteinander, so erhält man das SmartHome BusyLamp.

Alle, die bereits KNX, HomeMatic oder EnOcean zur Gebäudesteuerung einsetzen, können den nachstehenden Tipp direkt umsetzen. Andere benötigen evtl. noch eine AGFEO ES-SmartConnectBox (erweitert das ES-System als I/O-Box über LAN um 5 physikalische Sensoreingänge, 5 Relaisausgänge und einen Piezo-Summer).

Der Ablauf ist dann wie folgt:
Benutzer hat Verbindung -> http-request an SHS (URL/Link) -> Schaltobjekt an Lampe

Beim Beenden der Verbindung wird ein Abschalt-Impuls an den SmartHomeServer gesendet, so dass die Lampe wieder ausgeschaltet wird.

Die Lampe ist also nur für die Zeit einer echten Gesprächsverbindung an. Da die Funktion vom PC angestossen wird, muss dieser zum Zeitpunkt der Status-Veränderung aktiv sein.

Wie wird's gemacht?

Im Nachfolgenden gehen wir davon aus, dass der in den ES-Systemen integrierte SmartHomeServer bereits über mind. ein konfiguriertes Schaltobjekt wie Zwischenstecker oder Schaltaktoren verfügt.

Nachstehendes liest sich evtl. etwas kompliziert. Aber in nur 4 Schritten ist die SmartHome BusyLamp Steuerung umgesetzt!

SmartHomeServer einrichten

1. http-Eingang anlegen
Die Aktivität des Benutzers ist vom PC per http-request über das Netzwerk an das ES-System zu senden. Damit das ES-System diesen empfängt, ist zunächst ein sog. http-Eingang im integrierten SmartHomeServer anzulegen. Im Beispiel wird dazu die Bezeichnung httpBusyLamp neu eingetragen. Die Eingabe von Benutzername/Passwort ist optional, sollte aber bei höherem Sicherheitsbedarf und Verhinderung unberechtigter Schaltvorgänge verwendet werden. SHS_BusyLamp_SHShttp-1

WICHTIG:
Merkt Euch bitte die verwendete Adresse des von Euch benutzten http-Eingangs! Im Beispiel wird hier der erste Eintrag (httpsensor.1:0)verwendet. Im späteren Verlauf ist diese Adresse korrekt zu referenzieren!

2. Verknüpfung einrichten
In diesem Schritt wird der angelegte http-Eingang mit dem eigentlichen SmartHome Objekt verknüpft, damit im Falle des Falles auch wirklich die Lampe geschaltet wird.

Als Eingang wird hierzu der zuvor eingerichtete http-Eingang verwendet, der dann im Ausgang bei der Senden an-Funktion mit dem zu steuernden digitalen Schaltaktor bzw. Zwischenstecker verknüpft wird. SHS_BusyLamp_SHSVerknuepfung-2

Hinweis:
Sollen mehrere Objekte geschaltet oder z.B. analoge Dimmwerte übergeben werden, so sind vorher zwei Szenen (eine für ein, eine weitere für aus) zu konfigurieren und in der Verknüpfung ausschliesslich über die Szenen-Funktion einzutragen.

Alle Einstellungen sind anschließend in die Anlage zu übernehmen.

AGFEO Klick einrichten

Der AGFEO Klick ist eine Funktionserweiterung unserer CTI/UC-Software und wird als neues Konto im TK-Suite Client passend eingerichtet. Der SmartHomeServer reagiert durch die vorgenommene Konfiguration auf eingehende http-Befehle. Und genau diese sollen nun in Abhängigkeit des Benutzerstatus (Gespräch verbunden, Gespräch beendet) durch den AGFEO Klick gesendet werden.

3. Scriptdatei mit http-Befehlen anlegen
Der AGFEO Klick selbst macht an sich erstmal "nichts". Er ermöglicht aber externe Programme parametrisiert aufzurufen. Es wird also immer ein weiteres Zusatzprogramm benötigt.

Für das Senden der notwendigen http-Befehle, ist daher eine Textdatei neu zu erstellen, die folgenden Inhalt aufweist:

@Echo off
if "%1" == "connect" powershell -Command "Invoke-WebRequest 'http://IP-ADRESSE/api/httpreq.php/v01?address=httpsensor.1:0&value=1'"
if "%1" == "finished" powershell -Command "Invoke-WebRequest 'http://IP-ADRESSE/api/httpreq.php/v01?address=httpsensor.1:0&value=0'"
:ende
Exit 1

WICHTIG:
Kopiert Euch obige Code-Zeilen vollständig in Eure Textdatei und passt dort folgende Werte auf Eure Installation an:

  • als IP-ADRESSE im http-URL ist die Eures eigenen ES-Systems einzugeben
  • als Wert des address=httpsensor.1:0 ist die Adresse des von Euch verwendeten http-Eingangs einzutragen (s.o.). Im Beispiel wurde der erste http-Eingang im SmartHomeServer angelegt und hier somit zu verwenden.
  • die Dateiendung der Textdatei ist nun von .txt auf .bat zu ändern, so dass daraus eine ausführbare Batch-Datei generiert wird.

Abschließend ist diese nun unter Windows in einem Laufwerk und Pfad zu speichern, wo der TK-Suite Client entsprechende Zugriffsrechte hat.

4. AGFEO Klick Konto anlegen
Öffnet das Menü /Tools/Konten und legt dort ein neues Konto vom Typ AGFEO Klick an. Die Beschreibung ist beliebig, aber als auszuführendes Programm verweist bitte auf die zuvor festgelegte Batchdatei inkl. der Pfadangabe. Dazu könnt Ihr auch auf die "..." Schaltfläche klicken, um die Datei direkt auszuwählen.

Damit der SmartHomeServer die Statusveränderungen des Benutzers sicher mitbekommt, ist die Funktion "automatisch zur Rufverfolgung aufrufen" zu aktivieren und als erster (und einziger Parameter) der Wert %INVOKED_FROM% einzutragen. Letzteren könnt Ihr einfach aus der rechten blauen Parameter-Auswahlspalte mittels Drag'n Drop auf das freie Parameterfeld ablegen, nachdem Ihr mittels "+" dieses hinzugefügt habt.SHS_BusyLamp_AGFEOKlick

Nun noch den AGFEO Klick abspeichern und los geht's!

Das Ergebnis?

Jedes Mal, wenn Ihr eine Gesprächsverbindung habt, ruft die AGFEO Klick Funktion des TK-Suite Client nun Eure Batchdatei auf und übergibt dieser den Auslösegrund des Aufrufs. Die Batchdatei wertet diese Angaben aus und sendet einen entsprechenden http-request an die IP-Adresse des ES-Systems. Der SmartHomeServer empfängt über die http-Eingangsfunktion den Link und schaltet in Abhängigkeit des Rufzustands nun passend das zu steuernde SmartHome Objekt am Gesprächsanfang ein und nach Beenden des Gesprächs auch wieder aus.

Das SmartHome BusyLamp ist somit funktionsbereit!

TIPP:

Einige unserer AGFEO Systemtelefone verfügen über ein integriertes zweifarbiges BusyLamp. Hierüber wird die Gesprächsaktivität des Benutzers "lokal" signalisiert und es kann zusätzlich zur optischen Kennzeichnung besonderer Anrufer genutzt werden (VIP etc.).