Raumsteuerung


Überblick

Mit der Raumsteuerungsfunktion können Sie IP-fähige Geräte von Drittanbietern steuern, sodass die Geräte vom Benutzer über den Zoom Room Controller gesteuert werden können. Administratoren können ein Konfigurationsprofil erstellen, um ausgehende IP-Kontrollnachrichten aus Zoom Room hinzuzufügen.

In diesem Artikel: 

Voraussetzungen

Konfiguration

Raumsteuerungen aktivieren

Bevor Sie ein JSON-Konfigurationsprofil hochladen können, muss die Einstellung für Zoom Rooms aktiviert werden. Die Konfiguration ist auf jeder Ebene der Zoom Rooms-Hierarchie möglich.

  1. Melden Sie sich im Zoom Web Portal an.
  2. Klicken Sie auf Raumverwaltung, und wählen Sie dann Zoom Rooms aus.
  3. Klicken Sie rechts neben dem Zoom Room-Namen auf Bearbeiten.
  4. Schalten Sie unter Devices (Geräte) die Option Enable Room Controls (Raumsteuerung aktivieren) ein (blau). 
  5. Klicken Sie auf Create Profile (Profil erstellen).
  6. Geben Sie die JSON-Konfiguration für diesen Raum ein. 

Raumsteuerungsprofil schreiben

Erste Schritte

Bevor Sie ein Raumsteuerungsprofil schreiben, benötigen Sie einige JSON-Kenntnisse. Vor allem ist zu beachten, dass JSON ein Schlüssel-Wert-Paar-basiertes System ist, dessen Syntax für ein korrektes Layout der Datei wichtig ist. Weitere Informationen zu den Grundlagen von JSON finden Sie in einem Online-Einführungskurs.

In jeder Programmiersprache sollte dem nächsten Bearbeiter Ihrer Datei eine gewisse Höflichkeit entgegengebracht werden.Das empfiehlt sich, auch wenn es keine spezifischen Anforderungen für native Raumsteuerungen von Zoom Rooms gibt. Um eine Aufzeichnung über den Autor, die Version oder einen anderen Verlauf zu hinterlassen, kann das Objekt "about" verwendet und über den "Adaptern" platziert werden. Diese wird nicht von den Raumsteuerungen analysiert, sondern bleibt im Portal erhalten.Ein Beispiel dafür, wie sie genutzt werden könnte, finden Sie unten.

 

{
"about": {
"type": "Medium Conference A",
"version": "v1.2.4",
"design_ref": "\\files\MediumConfA",
"created": "Mon, 21 Oct 2020 16:35:52 GMT"
},

 

Adapter

Durch das Einrichten der Adapter werden Raumsteuerungen mit Geräten verbunden. Dieser Abschnitt ist der primäre Abschnitt für die Konfiguration. Einzelne Geräte im verschachtelten JSON-Format müssen einem ähnlichen Format folgen (dieses Beispiel ist analog zum unten stehenden Codebeispiel verschachtelt):

{
"adapters": [
{
"model": "iTachIP2SL",
"ip": "[IP_ADDRESS]",
"uuid": "GlobalCache_[UNIT_MAC_ADDRESS]",
"ports": [
{
"id": "sl_sharp_tv",
"name": "Sharp Display",
"settings": {
"baud_rate": "38400",
"flow_control": "FLOW_NONE",
"parity": "PARITY_NO"
},
"methods": [
{
"id": "power",
"name": "Power",
"command": "POWR000%\\x0D",
"params": [
{
"id": "displayOn",
"name": "On",
"value": "0001"
},
{
"id": "displayOff",
"name": "Off",
"value": "0000"
}
],
"type": "actions"
},
...

Unterhalb von "methods" kann ein zusätzlicher Abschnitt verwendet werden: "response_filter". Der Antwortfilter ist ein Beacon, mit dem die unten definierten Antwortfilter verstehen können, auf welche Verbindung sie achten sollen. In diesem Bereich sind keine Funktionen definiert. Wie ein Antwortfilter in andere Abschnitte passt, wird in diesen Abschnitten behandelt.

Styles

Styles regeln die visuelle Gestaltung Ihrer Benutzeroberflächenelemente. Heute sind die Anpassungen nicht besonders umfangreich, weshalb das Thema nicht sehr schwer zu erlernen ist.

Die Benutzeroberfläche enthält zahlreiche Symbole. Sie reichen von Klimaanlagen bis hin zu Freisprecheinrichtungen.Die folgenden Symbole sind die aktuellen, aber die Liste wird regelmäßig erweitert.

GerätNameBild
Klimaanlageicon_air_conditioner
Kabelfernsehenicon_cable_tv 
Deckenmikrofonicon_ceiling_mic
Vorhangicon_curtain 
DVD-Playericon_dvd_player  
Xbox-/PS4-Systemicon_game_console  
HDMIicon_hdmi  
Laptopicon_laptop 
Lichticon_light  
Projektoricon_projector 
Rack-Ausstattung icon_rack_equipment  
Parabolantenne icon_satellite_dish  
Lautsprechericon_speaker 
Freisprecheinrichtungicon_speakerphone
TVicon_tv
Netzicon_power
Nach obenicon_up
Nach untenicon_down 
Kalticon_cold
Heißicon_hot
trockenicon_dry 
Windicon_wind 

 

Es gibt drei Hauptmodifikatoren bei Styles: Symbole (wie oben besprochen), Hauptmethoden und Sichtbarkeit.

Symbole sind die Visualisierungen des Systems.Sie können sie entweder verwenden, um ein Gerät zu markieren oder um den an eine Schaltfläche gebundenen Text zu ersetzen. Im folgenden Beispiel haben wir ein Gerät namens "Example" (Beispiel) definiert.

{
"adapters": [
{
"model": "ExternalControlSystem",
"ip": "tcp://[USER_IP_ADDRESS]:[USER_PORT]",
"ports": [
{
"id": "example",
"name": "Example Device",
"methods": [
...

Sobald "Example" als Gerät definiert ist, können wir diese ID in Styles verwenden.Zum Beispiel ist es einfach, das Hauptsymbol für unser Beispielgerät als Licht einzustellen.

"styles": [
"example.icon=icon_light",
"example.main_method=power"
]

Möglicherweise stellen Sie auch fest, dass wir innerhalb einer einzigen Zeile auch die Hauptmethode für das Gerät definiert haben.Die Hauptmethode zieht den referenzierten Befehl, den Sie definiert haben, in die Titelleiste des Geräts und verarbeitet ihn wie folgt:

mceclip0.png

Wir haben den Netz-Befehl als Hauptmethode definiert, so dass er in der oberen Leiste getrennt von den anderen Befehlen angezeigt wird.

Der dritte Style-Typ ist Sichtbarkeit. Sichtbarkeit ermöglicht es dem Programmierer, eine Funktion zu definieren, diese jedoch vollständig aus der Benutzeroberfläche auszublenden.Sie kann genauso einfach definiert werden:

"example.power.invisible=true"

Wenn Sie dem Format "device.command.invisible=true" folgen, kann dieser Befehl vollständig vor dem Rooms-Benutzer verborgen werden.  

Regeln

Regeln sind die Automatisierungsmaschine von Room Controls.Dies ist der Bereich, in dem Dinge definiert werden, die von selbst passieren.Wenn ich beispielsweise möchte, dass meine Anzeige nur aktiv ist, wenn ein Meeting aktiv ist, könnte ich "meeting_started" und "meeting_ended" (Standard-Zoom-Ereignisse) dafür nutzen.  

"styles": {
"meeting_started": [
"display.power.on",
"camera.power.wake"
]
),
"meeting_ended": [
"display.power.off"
]
}

Dieses Beispiel kann verwendet werden, um den Stromverbrauch Ihres Systems zu reduzieren.

Wenn ein Befehl pro Regel nicht ausreicht, können diese Befehle leicht gestapelt werden.Auch wenn sie technisch gesehen nacheinander ausgelöst werden, werden sie so schnell verarbeitet, dass wir diese Ereignisse als gleichzeitig betrachten können.In meinem obigen Beispiel wird "camera.power.wake" unterhalb von "display.power.on" hinzugefügt, um meine Kamera zu aktivieren, wenn mein Bildschirm aufwacht.

Die verfügbaren Standard-Zoom-Befehle innerhalb der heutigen Regeln sind einfach:

Hinweis: Die Betriebszeiten werden auf der Einstellungsseite von Zoom Rooms festgelegt. 

Es können auch einfach eigene Antwortfilter hinzugefügt werden.Im Abschnitt "Regeln" können Sie zudem die unten beschriebenen Trigger-Ereignisse verwenden, um Ihre eigene Automatisierung mit externen Eingaben voranzutreiben.

"rules":{
"operation_time_started":[
"light.power.on"
],
"user_customized_event1":[
"light.power.off"
]
}

In diesem Beispiel wird durch unser "user_customized_event1" unser gesteuertes Licht ausgeschaltet.Es könnte durch eine Eingabe über eine Schaltfläche oder einen inaktiven Bewegungssensor oder vielleicht sogar durch ein Drittanbietersystem wie ein Buchungssystem gesteuert werden, das den Raum darüber informiert, dass sich keine Benutzer für das Meeting eingecheckt haben.Wie Sie diese Funktion nutzen können, ist in erster Linie durch Ihre Vorstellungskraft begrenzt.

Antwortfilter

Antwortfilter sind eine leistungsstarke Weiterentwicklung der Zoom Rooms-Raumsteuerungsfunktionen.Diese Filter lesen Nachrichten, die von definierten Geräten zurückkommen, und suchen sofort nach einer passenden Phrase.Wenn diese Phrase (oder Ausdruck) in dieser Verbindung identifiziert wird, tritt das Regelauslöseereignis (oben beschrieben) ein.

Jeder Antwortfilter besteht aus drei Elementen:

Raumsteuerungen verwenden

Tippen Sie auf dem Raumsteuerungsgerät einfach auf das Symbol "Raumsteuerung", um auf diese zusätzlichen Funktionen zuzugreifen.

Wenn Sie nicht an einem Meeting teilnehmen, finden Sie das Symbol "Raumsteuerung" im Hauptmenü.

Wenn Sie während einer Besprechung auf das Symbol oben rechts auf dem Controller tippen, werden dieselben Raumsteuerungen angezeigt.

Fehlerbeseitigung

Die Fehlerbehebung ist ein wichtiger Bestandteil jeder benutzerdefinierten Konfiguration.Die Raumsteuerung kann zwar einfach sein, ist aber auch flexibel genug, um bei Bedarf komplex zu sein.Die folgenden Abschnitte sollen helfen, mögliche Hindernisse zu beheben.

Fehler bei der Raumsteuerung

FehlercodeBeschreibung
No_Config_ErrorJSON-Profil wird nicht in Web Portal geladen
Json_Syntax_ErrorJSON-Profil enthält einen Syntaxfehler
Json_Config_ErrorJSON-Profil enthält einen Konfigurationsfehler
IP_ErrorEs liegt ein Problem beim Herstellen einer Verbindung mit einer angegebenen IP-Adresse vor.
IP_Is_PublicÖffentliche IPs sind derzeit nicht zulässig.
DeviceID_ErrorEine oder mehrere Geräte-IDs wurden falsch festgelegt.
MethodID_ErrorEine oder mehrere Methoden wurden falsch definiert.
ParamID_ErrorEin oder mehrere Parameter wurden falsch definiert.
IP2SL_Settings_ErrorSerielle Schnittstelle an GC IP2SL wurde falsch konfiguriert.
Empty_Device_ErrorEin oder mehrere Geräte werden aufgerufen, ohne im JSON-Profil definiert zu sein.
UnknownEin unbekannter Fehler ist aufgetreten.

Beispieldateien

Diese Dateien wurden aus verschiedenen Quellen zusammengestellt und sollten nur als Ausgangspunkt verwendet werden.Einige Änderungen sind zur Anpassung an Ihre Anwendung wahrscheinlich erforderlich.