用于变焦室的房间控制器

房间控制功能可让您控制具有 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 配置文件中未定义的情况下调用了一个或多个设备
未知出现未知错误

样本文件

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