適用於 Zoom Rooms 的房間控制

Room Controls 功能可讓您控制第三方、具備 IP功能的設備,這樣使用者就能透過 Zoom Room 控制器控制設備。管理員可以建立設定檔,從 Zoom Room 加入外寄 IP 控制訊息。

使用室內控制器的要求

附註: 如果您是將室內控制功能用於音訊 / 視訊 (A/V) 用途,您可以在 Zoom Rooms 中具有多個 NIC 的電腦上指定獨立的網路介面卡 (NIC)。NIC 可以從連接至其他網路的房間控制裝置中獨立選擇,這些房間控制裝置與啟用 Zoom Rooms 的電腦相連。此設定可讓您的音訊/視訊流量遠離主要網路。

可透過 LAN 或 WLAN 控制的第三方裝置

USB 序列介面卡

目錄

如何啟用房間控制

在您上傳 JSON 設定檔之前,需要啟用 Zoom Room 的設定。

  1. 登入 Zoom Web 入口網站
  2. 按一下Room Management(房間管理),然後選擇Zoom Rooms(縮放房間)。
  3. 按一下 Zoom Room 名稱右邊的Edit(編輯 )。
  4. Devices(裝置)下,將Enable Room Controls(啟用 室內控制)切換為開啟(藍色)。
  5. (選用)勾選將 "Room Controls" 頁面設定為 Zoom Rooms 控制器首頁畫面 旁的方塊
    注意:這需要 Zoom Rooms 和 Zoom Rooms 控制器應用程式版本 6.3.0 或更高。
  6. 按一下建立個人資料
  7. 輸入此房間的 JSON 設定。

如何撰寫 Room Controls 簡介

入門指南

在撰寫 Room Controls Profile 之前,需要對 JSON 有一定的瞭解。需要注意的關鍵項目是 JSON 是基於 key:value 對的系統,而且語法對於正確排版檔案非常重要。如需 JSON 基礎知識的其他資訊,請參考線上入門課程

在任何編碼語言中,都應該對處理您檔案的下一個人給予一些禮貌。雖然室內控制對此沒有特定的要求,但我們建議您這樣做。若要留下作者、版本或其他歷史記錄,可以使用「關於」物件,並將其置於「適配器」之上。Room Controls 不會解析,但會保留在入口網站中。 以下舉例說明如何運用此功能。

{
"關於" :{
"類型" :"中型會議 A" 、
"version":"v1.2.4" 、
"design_ref":"\files\MediumConfA" 、
"created" :"Mon, 21 Oct 2020 16:35:52 GMT"
},

轉接器

設定轉接器可將 Room Controls 連接到裝置。本節是設定的主要部分。巢狀 JSON 格式內的個別裝置應遵循類似的格式 (本範例的巢狀與下面的程式碼範例平行):

{
"適配器" :[
{
"型號":"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"
},
...

在「方法」下面,可以使用額外的部分:"response_filter" 。回應篩選器是一個信標,可讓下面定義的回應篩選器了解要聆聽哪個連線。此區域未定義任何功能。回應篩選器如何與其他章節配合,將在這些章節中說明。

風格

樣式控制介面元素的視覺樣式。調整的範圍不是非常廣泛,所以學起來也不是很難。

介面中有許多可用的圖示。它們涵蓋了從空調到免提電話的所有產品。以下圖示為目前的清單,但此清單仍會定期擴充。

                         

裝置名稱圖片
冷氣機空氣調節器
有线电视有線電視
天花麥克風圖示天花板麥克風
帷幕圖示窗簾
DVD 播放器圖示_dvd_player
Xbox/PS4 系統遊戲控制台圖示
HDMI圖示_hdmi
筆記本電腦圖示_筆記型電腦
圖示燈
投影機圖示投影機
機架設備機架設備
衛星碟衛星碟
喇叭圖示_喇叭
免提電話圖示_喇叭
電視圖示_電視
功率圖示功率
向上圖示向上
圖示向下
圖示_冷
圖示_熱
乾燥圖示_乾燥
圖示風

樣式中有三個主要的修改器:圖示(如上文所述)、主要方法和可見性。

圖示是系統的可視化。您可以使用它們來標記裝置或取代與按鈕連結的文字。在下面的範例中,我們定義了一個名為「example」的裝置。

{
"適配器" :[
{
"模型" :"ExternalControlSystem" 、
"ip":"tcp://[USER_IP_ADDRESS]:[USER_PORT]" 、
"連接埠" :[
{
"id":"範例" 、
"name":"Example Device" 、
"方法": [
...

將「example」定義為裝置後,我們就可以在樣式中使用這個 ID。 舉例來說,將我們範例裝置的主圖示設定為一盞燈就很容易完成。

"樣式": [
"example.icon=icon_light" 、
"example.main_method=power"
]

Zoom 也支援 Material Design Icons (MDI),可在Google 官方 MDI 網站找到。

若要指定其中一個圖示,請遵循以下格式:

"example.icon=mdi:local_airport:two_tone"

請注意,這應該全部使用小寫。在圖示名稱中使用下劃線 (_) 代替空格。如果圖示無法下載,則會顯示預設圖示。

您可能也注意到,在單一行中,我們也定義了裝置的 Main Method。 Main Method 會將您定義的引用指令拉到裝置的標題列中,並將其放在顯眼的位置,就像這樣:

main-method-prominent.png

我們已將 power 指令定義為主要方法,因此它會顯示在上列,與其他指令分開。

第三種樣式類型是可見性。可視性允許程式設計師定義一個函數,但在使用者介面上完全隱藏該函數。 它可以很容易地被定義:

"example.power.invisible=true"

遵循"device.command.invisible=true 的格式"允許 Rooms 使用者完全隱藏此指令。

規則

規則是 Room Controls 的自動化引擎。這是定義自行發生的事情的區域。舉例來說,如果我希望我的顯示器只有在會議進行時才會啟動,我可以利用"meeting_started" 和"meeting_ended" (Zoom現有的事件) 來實現這一目標。

"規則" :{
"meeting_started" :[
"display.power.on" 、
"喚醒攝影機"
]
),
"meeting_ended" :[
"display.power.off"
]
}

此範例可用於降低系統的耗電量。

如果每條規則只有一個指令還不夠,這些指令可以很容易地堆疊在一起。雖然它們在技術上是依序啟動的,但它們處理的速度很快,所以我們會認為這些事件是同時發生的。在我上面的範例中,"camera.power.wake" 加在"display.power.on" 之下,以便在顯示器喚醒時啟動我的攝影機。

注意

                                               

類型活動字串Zoom Notes
會議
會議會議開始zr_meeting_started 
會議會議結束zr_meeting_ended 
會議會議開始zr_zoom_meeting_started新增此指令是為了區分常規會議和 interop 會議,不過,仍支援 meeting_started 和 meeting_ended 指令。
會議會議結束zr_zoom_meeting_ended新增此指令是為了區分常規會議和 interop 會議,不過,仍支援 meeting_started 和 meeting_ended 指令。
會議會議開始zr_interop_meeting_started 
會議會議結束zr_interop_meeting_ended 
會議來電會議邀請開始zr_meeting_ring_started 
會議來電會議邀請結束zr_meeting_ring_ended 
 觸發下次會議警示zr_meeting_item_about_to_start 
 會議清單 項目開始zr_meeting_item_start 
 會議清單 項目 停止zr_meeting_item_stop 
電話
電話來電啟動zr_phone_ring_started

任何類型的電話互動(Zoom Phone、音訊計畫、第三方 PBX)都會觸發此指令

 
電話來電結束zr_phone_ring_ended

所有電話鈴聲類型都必須處於非活動狀態才能觸發此事件

 
電話電話開始zr_phone_call_started

活動會議中的 PSTN 邀請不會觸發此事件

 
電話電話應答zr_phone_call_ended

 

 
會中會議
會中會議 - 視訊視訊開啟(相機靜音關閉)zr_video_started 
會中會議 - 視訊視訊關閉(相機靜音開啟)zr_video_stopped 
會中會議 - 視訊選取的視訊裝置已變更zr_video_device_changed只有當主要選取的裝置變更時,才會觸發視訊裝置變更事件。多攝影機變更不會觸發此事件。
會中會議 - 音訊麥克風開啟
(麥克風未靜音)
zr_microphone_unmuted 
會中會議 - 音訊麥克風關閉
(麥克風靜音)
zr_microphone_muted 
會中會議 - 音訊選取的音訊裝置已變更zr_audio_device_changed音訊裝置變更事件只有在主要選取的裝置變更時才會觸發。Dante 麥克風頻道變更不會觸發此事件。
會中會議 - 內容開始無線分享zr_share_started適用於直接共用、白板攝影機共用、攝影機共用、縮放應用程式共用,以及 Apple Airplay(對於多個同步共用,只會傳送第一個指令)。數位電子看板不會觸發這些事件。
會中會議 - 內容無線共享zr_share_ended多個共用的最後一個共用結束時會傳送此指令。 數位電子看板不會觸發這些事件。
會中會議 - 內容開始 HDMI 分享zr_hdmi_share_started數位電子看板不會觸發這些事件。
會中會議 - 內容HDMI 共用停止zr_hdmi_share_ended數位電子看板不會觸發這些事件。
會中會議 - 錄音開始錄音zr_recording_started 
會中會議 - 錄音錄製停止zr_recording_ended 
海拔高度會議海拔zr_elevate_too_meeting當參與電話或螢幕分享會議的 Zoom Room 將會議升級為視訊會議時,就會觸發此事件。
配對
配對使用者配對至 ZRzr_user_paired每個使用者都會觸發一般化的配對事件。
配對使用者從 ZR 解除配對zr_user_unpaired

所有未配對的使用者都會觸發一般化的未配對事件。

數位看板
數位看板數位電子看板開始zr_digital_signage_started 
數位看板數位電子看板被罷免zr_digital_signage_ended 
Whiteboard
Whiteboard開啟電子白板zr_whiteboard_started適用於 Classic Whiteboard、New Whiteboard 和會議室白板
Whiteboard關閉電子白板zr_whiteboard_ended適用於 Classic Whiteboard、New Whiteboard 和會議室白板
Whiteboard同伴白板已加入 Zoom Roomzr_companion_whiteboard_connected 
Whiteboard從 Zoom Room 移除同伴白板zr_companion_whiteboard_disconnected 
管理員
操作時間操作時間開始zr_operation_time_started 
操作時間操作時間結束zr_operation_time_ended 
人員偵測偵測到的人zr_people_detected僅適用於硬體層人員偵測
人員偵測未偵測到任何人zr_people_not_detected僅適用於硬體層人員偵測
語音指令語音指令已啟用zr_voice_command_on 
語音指令語音指令已停用zr_voice_command_off 
Zoom Apps開啟 Zoom 應用程式zr_zoom_app_opened開啟任何應用程式都會觸發此事件,即使會議中已有應用程式開啟。
Zoom AppsZoom 應用程式已關閉zr_zoom_app_closed關閉任何應用程式都會觸發此事件,即使其他應用程式仍在會議中活動。
管理員開啟房間控制zr_room_controls_opened 
管理員房間控制關閉zr_room_controls_closed 
管理員Zoom Rooms 啟動完成zr_room_startup_completedZoom Room 啟動、登入和 Room Controls 載入完成

注意:操作時間事件的操作時間是在 Zoom Rooms 設定頁面中設定。

您也可以簡單地新增自己的回應篩選器。在規則區中,您也可以使用下面討論的觸發事件 (Trigger Events),利用外部輸入驅動您自己的自動化。

"規則":{
"operation_time_started":[
"開啟"
],
"user_customized_event1":[
"關閉電源"
]
}

在這個範例中,我們的"user_customized_event1" 正在關閉受控的燈。這可能是由按鈕的輸入驅動,也可能是動作感應器失效,甚至可能是第三方系統(例如預約系統)向會議室發送沒有使用者報到的更新。如何使用此功能主要受限於您的想像力。

場景

Zoom Rooms 5.13.0 的新功能「場景」,讓房間控制的忠實使用者,終於可以在使用者體驗中加入巨集(在單一按鈕上堆疊多個指令)。 這對於場景召回或依賴裝置(例如降低投影機螢幕以及開啟投影機電源)很有幫助。

與規則或適配器一樣,場景也是 JSON 檔案中的頂層部分。 目前最多可設定 20 個場景。 在這些場景中,最多可支援 50 個獨立指令。

配置完成後,這些新的場景按鈕就會出現在房間控制視窗的頂端。

若要設定場景,您可以參考以下的程式碼範例。

在複製此內容之前,請注意「//text」區段是供您參考的備註,無法包含在最後的 JSON 檔案中。

"場景":[
{
"id":"scene_1", //required
"name":"Turn on all lights", //可選,如果名稱和圖示為空則顯示
"圖示":"icon_light", //可選,見圖示清單
"指令" :[ //必要
"light1.power.on" 、
"light2.power.on"
]
},
{
"id":"scene 2" 、
"name":"關閉所有燈光"
"圖示":"icon_light"
"命令" :[
"light1.power.off" 、
"light2.power.off"
]
}
]

回應篩選器

響應濾波器是室內控制功能的強大進步。這些篩選器會讀取從已定義裝置傳回的訊息,並立即掃描要匹配的詞組。當此詞組(或表達方式)在該連線上被識別時,Rules Trigger Event(如上所述)會啟動。

每個回應篩選器都由三個元件組成:

如何使用房間控制

在 Zoom Rooms 控制器上,只要點選Room Controls 圖示,就能存取這些新增功能。

不在會議中時,可以在主功能表中找到Room Controls圖示。

在會議中,點選控制器視窗右上方的圖示,就會顯示相同的Room Controls

疑難排解

故障排除是任何自訂組態的重要部分。雖然 Room Controls 可以很簡單,但它也有足夠的彈性在需要時變得複雜。以下部分應有助於解決可能出現的障礙。

房間控制錯誤

              

錯誤代碼說明
No_Config_ErrorJSON Profile 未載入入口網站
Json_Syntax_ErrorJSON Profile 包含一個語法錯誤
Json_Config_ErrorJSON Profile 包含設定錯誤
IP_Error連線到指定 IP 有問題
IP_Is_Public目前不允許使用公共 IP
DeviceID_Error一個或多個裝置 ID 設定不正確
方法 ID_Error一個或多個方法定義不正確
ParamID_Error一個或多個參數定義不正確
IP2SL_Settings_Error串列埠在 GC IP2SL 上設定不正確
清空裝置錯誤在 JSON Profile 中未定義的情況下呼叫一個或多個裝置
未知發生未知錯誤

樣本檔案

這些檔案是從不同來源彙編而成,僅可作為起點使用。可能需要進行一些修改以符合您的應用。