用于变焦室的房间控制器

房间控制功能可让您控制具有 IP 功能的第三方设备,这样用户就可以通过 Zoom Room 控制器控制这些设备。管理员可以创建配置文件,添加来自 Zoom Room 的外发 IP 控制信息。

使用室内控制器的要求

注意: 如果您将房间控制用于音频/视频 (A/V),则可以为 Zoom Rooms 中带有多个 NIC 的计算机分配单独的网络接口卡 (NIC)。可以从连接到备用网络的房间控制设备中独立选择网卡,这些设备连接到启用了 Zoom Rooms 的计算机上。这种配置可以使音频/视频流量远离主网络。

可通过局域网或无线局域网控制的第三方设备

USB 串行适配器

目录

如何启用房间控制器

在上传 JSON 配置文件之前,需要为 Zoom Room 启用该设置。

  1. 登录 Zoom 门户网站
  2. 单击房间管理,然后选择缩放房间
  3. 单击缩放室名称右侧的编辑
  4. "设备"下,将 "启用 房间控制 "切换为打开(蓝色)。
  5. (可选)选中 旁边的复选框,将 "Room Controls" 页面设置为 Zoom Rooms 控制器的主屏幕
    注意:这需要 Zoom Rooms 和 Zoom Rooms 控制器应用程序版本 6.3.0 或更高。
  6. 单击创建个人资料
  7. 输入此房间的 JSON 配置。

如何撰写房间控制简介

入门

在编写房间控制配置文件之前,需要对 JSON 有一定的了解。需要注意的要点是,JSON 是一个基于键:值对的系统,语法对于正确布局文件非常重要。有关 JSON 基础知识的其他信息,请参考在线入门课程

在任何编码语言中,都应该对处理您文件的下一个人给予一些礼遇。虽然对房间控制没有具体要求,但建议这样做。要留下作者、版本或其他历史记录,可以使用 "关于 "对象,并将其置于 "适配器 "之上。房间控制软件不会对其进行解析,但会保留在门户网站中。 下面举例说明如何加以利用。

{
"关于" :{
"类型" :"中型会议 A" 、
"版本":"v1.2.4" 、
"design_ref":"\files\MediumConfA" 、
"created" :"Mon, 21 Oct 2020 16:35:52 GMT"
},

适配器

设置适配器可将房间控制器连接到设备。本部分是配置的主要部分。嵌套 JSON 格式内的各个设备应遵循类似的格式(本示例的嵌套与下面的代码示例类似):

{
"适配器" :[
{
"型号":"iTachIP2SL" 、
"IP":"[IP_ADDRESS]" 、
"uuid" :"GlobalCache_[UNIT_MAC_ADDRESS]" 、
"ports" :[
{
"id":"sl_sharp_tv" 、
"name":"Sharp Display" 、
"settings" :{
"波特率" :"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"
}
],
"类型":"操作"
},
...

在 "方法 "下面,可以使用一个附加部分:"response_filter".响应过滤器是一种信标,可让下面定义的响应过滤器了解要监听的连接。该区域未定义任何功能。响应式筛选器如何与其他部分配合,将在这些部分中介绍。

风格

样式控制界面元素的视觉样式。调整的范围不是很大,所以学习起来并不难。

界面上有许多图标。从空调到免提电话,应有尽有。以下图标为当前列表,但该列表会定期扩充。

                         

设备名称图片
空调图标_空调
有线电视图标_有线电视
天花板麦克风天花板麦克风图标
帷幕图标窗帘
DVD 播放器图标 DVD 播放器
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-prominent.png

我们将电源命令定义为主方法,因此它显示在上栏,与其他命令分开。

第三种样式是可见性。可见性允许程序员定义一个函数,但在用户界面上完全隐藏该函数。 它的定义也同样简单:

"example.power.invisible=true"

遵循"device.command.invisible=true 的格式"允许对房间用户完全隐藏该命令。

规则

规则是室内控制的自动化引擎。在这一领域,自行发生的事情会被定义。例如,如果我想让我的显示屏只在会议激活时才激活,我可以利用"meeting_started" 和"meeting_ended" (Zoom 库存事件)来实现这一点。

"规则" :{
"meeting_started" :[
"display.power.on" 、
"唤醒摄像机"
]
),
"meeting_ended" :[
"display.power.off"
]
}

此示例可用于降低系统功耗。

如果每条规则只有一条命令还不够,这些命令可以很容易地叠加在一起。虽然从技术上讲,它们是按顺序触发的,但它们的处理速度很快,因此我们认为这些事件是同时发生的。在上述示例中,"camera.power.wake" 添加到"display.power.on" 下方,以便在显示器唤醒时激活摄像头。

注意

                                               

类型活动字符串说明
会议
会议会议开始zr_meeting_started 
会议会议结束zr_meeting_ended 
会议会议开始zr_zoom_meeting_started添加该命令是为了区分常规会议和互操作会议,但仍支持 meeting_started 和 meeting_ended 命令。
会议会议结束zr_zoom_meeting_ended添加该命令是为了区分常规会议和互操作会议,但仍支持 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 将会话提升为视频会议时,就会触发该事件。
配对
配对与 ZR 配对的用户zr_user_paired每个用户都会触发一个通用配对事件。
配对从 ZR 取消配对的用户zr_user_unpaired

所有未配对的用户都将触发一个通用的未配对事件。

数字标牌
数字标牌数字标识开始zr_digital_signage_started 
数字标牌数字标牌被驳回zr_digital_signage_ended 
Zoom Whiteboard
Zoom Whiteboard电子白板启用zr_whiteboard_started适用于经典白板、新白板和会内白板
Zoom Whiteboard封闭式电子白板zr_whiteboard_ended适用于经典白板、新白板和会内白板
Zoom Whiteboard在 Zoom 房间中添加同伴白板zr_companion_whiteboard_connected 
Zoom Whiteboard从 Zoom 房间移除同伴白板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 房间启动、登录和房间控制加载完成

注意:操作时间事件的操作时间在 Zoom Rooms 设置页面中设置。

也可以简单地添加自己的响应过滤器。在规则部分,您还可以使用下面讨论的触发事件,通过外部输入驱动自己的自动化。

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

在本例中,我们的"user_customized_event1" 正在关闭受控灯光。这可能是由按钮输入驱动的,也可能是运动传感器失灵驱动的,甚至可能是由第三方系统(如预订系统)向房间发送更新信息,说明没有用户登记参加会议。如何使用这一功能主要取决于您的想象力。

场景

Zoom Rooms 5.13.0 的新功能 "场景 "让房间控制的忠实用户终于可以在他们的用户体验中添加宏(在单个按钮上叠加多个命令)。 这对于场景调用或依赖设备(如降低投影仪屏幕以及打开投影仪电源)很有帮助。

与 "规则 "或 "适配器 "一样,"场景 "也是 JSON 文件中的顶级部分。 目前,最多可配置 20 个场景。 在这些场景中,最多可支持 50 个独立命令。

配置完成后,这些新场景按钮就会出现在房间控制窗口的顶部。

要配置场景,可参考下面的代码示例。

在复制这些内容之前,请注意"//text "部分是供您参考的注释,不能包含在最终的 JSON 文件中。

"场景":[
{
"id":"scene_1", //required
"name":"Turn on all lights", //optional, shown if name and icon are empty
"图标":"icon_light", //可选,参见图标列表
"命令" :[ //必须
"light1.power.on" 、
"light2.power.on"
]
},
{
"id":"scene 2" 、
"名称":"关闭所有灯光"
"图标":"icon_light"
"命令" :[
"light1.power.off" 、
"light2.power.off"
]
}
]

响应过滤器

响应滤波器是室内控制功能的一大进步。这些过滤器会读取从指定设备返回的信息,并即时扫描匹配的短语。当在该连接上识别到该短语(或表达式)时,就会触发规则触发事件(如上所述)。

每个响应过滤器都由三个要素组成:

如何使用房间控制器

在 Zoom Rooms 控制器上,只需轻点房间控制 图标,即可访问这些新增功能。

不开会时,可在主菜单中找到会议室控制图标。

会议期间,点击控制器窗口右上方的图标将显示相同的会议室控制

故障排除

故障排除是任何自定义配置的重要组成部分。虽然室内控制可以很简单,但在需要时也可以很灵活地变得复杂。以下部分应有助于解决可能出现的障碍。

房间控制错误

              

错误代码说明
无配置错误门户网站未加载 JSON 配置文件
Json_Syntax_ErrorJSON 配置文件包含语法错误
Json_Config_ErrorJSON 配置文件包含配置错误
IP_Error连接指定 IP 存在问题
IP_Is_Public目前不允许使用公共 IP
设备 ID_Error一个或多个设备 ID 设置错误
方法 ID_Error一个或多个方法的定义不正确
参数 ID_Error一个或多个参数定义不正确
IP2SL_Settings_ErrorGC IP2SL 上的串行端口配置不正确
空设备错误在 JSON 配置文件中未定义的情况下调用了一个或多个设备
未知出现未知错误

样本文件

这些文件是从各种来源汇编而来的,仅供参考。可能需要进行一些改动才能适合您的应用。