Controles de sala

Última actualización:

Descripción general

La función de Controles de sala le permite controlar los equipos con capacidad IP de terceros para que el usuario pueda controlar el equipo a través del controlador de Zoom Room. Los administradores pueden crear un perfil de configuración para agregar mensajes de control de IP salientes desde Zoom Room.

Este artículo trata sobre: 

Requisitos previos

  • Zoom Rooms para macOS o Windows o dispositivos de Zoom Rooms, versión 5.1 o superior
  • Dispositivos de terceros controlables por LAN o WLAN
    • Adaptador de red iTach (IP2SL/IP2CC o wifi equivalente), si el dispositivo no tiene acceso LAN o WLAN nativo

Configuración

Habilitación de controles de sala

Antes de poder cargar un Perfil de configuración JSON, la configuración deberá estar habilitada para Zoom Rooms. Esto se puede configurar en cualquier nivel de la jerarquía de Zoom Rooms.

  1. Inicie sesión en el Zoom Web Portal.
  2. Haga clic en Administración de salas y luego seleccione Zoom Rooms.
  3. Haga clic en Editar a la derecha del nombre Zoom Room.
  4. En Dispositivos, active Habilitar Room Controls (azul). 
  5. Haga clic en Crear perfil.
  6. Introduzca la configuración JSON para esta sala.

Escribir un perfil de controles de sala

Inicio

Antes de escribir un Perfil de controles de sala, se requiere algún conocimiento práctico de JSON. Los elementos clave que deben tenerse en cuenta son que JSON es un sistema basado en par clave-valor y que la sintaxis es importante para disponer correctamente el archivo. Para obtener información adicional sobre los aspectos básicos de JSON, consulte un curso de introducción en línea.

En cualquier lenguaje de codificación, hay dispensar cierta cortesía a la siguiente persona que maneje su archivo. Aunque no hay ningún requisito específico al respecto para los controles de sala nativos Zoom Rooms, se recomienda. Para dejar un registro del autor, la versión u otro historial, se puede usar el objeto «about» y se lo puede colocar encima de «adapters».Los Controles de sala no lo analizan, pero se conservarán en el portal.A continuación se muestra un ejemplo de cómo podría aprovecharse eso.

 

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

 

Adaptadores

La configuración de los adaptadores conecta los Controles de sala a los dispositivos. Esta sección es la sección principal para la configuración. Los dispositivos individuales dentro del formato JSON anidado deben seguir un formato similar (este ejemplo está anidado para que sea paralelo al ejemplo de código siguiente):

  • Adaptadores: los adaptadores definieron las conexiones de dispositivos individuales
    • Modelo: los modelos pueden ser «GenericNetworkAdapter», «IP2CC» e «IP2SL».A continuación se presentan más detalles.
    • IP: esta es la dirección IP + puerto del dispositivo de red
    • UUID: esto solo se requiere con dispositivos Caché global y seguiría a «GlobalCache_[MAC]»
    • Puertos: los puertos definen el dispositivo conectado a la conexión
      • ID: este es el nombre del dispositivo en el código.Debe seguir el formato de variable JSON
      • Nombre: este es el nombre descriptivo que los usuarios verán en la interfaz
      • Métodos: los métodos definen la sección de la interfaz de usuario individual
        • ID: esta es la ID del tipo de control al que se llama en el código (específico del tipo de control)
        • Nombre: este es el nombre accesible para el usuario que se muestra en la interfaz de Zoom Rooms
        • Comando: este es el comando completo o las partes compartidas de la cadena de comandos dependiendo del tipo de acción
          • NOTA: Cuando el tipo de acción es «actions» se debe colocar un % en la cadena de comandos como marcador para los elementos insertados dentro de «params».
        • «Params» (Parámetros): esta sección solo se usa con el tipo «actions» y contiene los elementos que pueden desplazarse hacia arriba hasta el comando principal.
          • ID: esta es la ID de programación a la que se llama en el código
          • Nombre: este será el texto accesible para el usuario en el botón Controles de sala
          • Valor: esta es la sección de comandos que se inserta en el comando principal. Un ejemplo de esto sería usar «POWR000%\\x0D» como el comando principal, «0» para Desactivado o «1» para Activado podría insertarse para algunas pantallas Sharp
{
"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"
},
...

Debajo de «methods», se puede usar una sección adicional: «response_filter». El Filtro de Respuesta es una baliza que permite a los Filtros de Respuesta definidos a continuación entender qué conexión escuchar.No hay funciones definidas en esta área. La forma en que un Filtro de respuesta se ajusta a otras secciones se tratará dentro de esas secciones.

Estilos

Los estilos controlan el estilo visual de los elementos de la interfaz. En la actualidad, los ajustes no son extremadamente extensos, por lo que no es algo muy difícil de aprender.

Hay muchos iconos disponibles en la interfaz. Abarcan todo, desde aires acondicionados hasta altavoces. Los iconos de abajo son la lista actual, pero esta lista se amplía regularmente.

Dispositivo Nombre Imagen
aire acondicionado icon_air_conditioner
TV por cable icon_cable_tv  
micrófono de techo icon_ceiling_mic
cortina icon_curtain  
Reproductor de DVD icon_dvd_player  
Sistema Xbox/PS4 icon_game_console  
HDMI icon_hdmi  
Portátil icon_laptop  
luz icon_light  
proyector icon_projector 
equipo de bastidor icon_rack_equipment   
antena parabólica icon_satellite_dish   
parlante icon_speaker  
altavoz icon_speakerphone
TV icon_tv
encendido icon_power
arriba icon_up
abajo icon_down  
frío icon_cold
caliente icon_hot
seco icon_dry  
viento icon_wind  

 

Hay tres modificadores principales dentro de los estilos: iconos (como se describió anteriormente), Métodos principales y Visibilidad.

Los iconos son las visualizaciones del sistema. Puede utilizarlos para marcar un dispositivo o para reemplazar el texto vinculado a un botón. En el siguiente ejemplo, hemos definido un dispositivo llamado «ejemplo».

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

Una vez que «ejemplo» se define como un dispositivo, podemos usar esta ID dentro de los estilos. Por ejemplo, la configuración del icono principal de nuestro dispositivo de ejemplo para que sea una luz se hace fácilmente.

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

También puede observar que dentro de una sola línea, también hemos definido el Método principal para el dispositivo. El Método Principal extrae el comando al que se hace referencia que ha definido en la barra de título del dispositivo, lo que le da una facturación destacada de la siguiente manera:

mceclip0.png

Hemos definido el comando de encendido como el método principal, y así se muestra en la barra superior separada de los otros comandos.

El tercer tipo de estilo es la Visibilidad. La visibilidad le permite al programador definir una función, pero ocultar esa función de la interfaz del usuario por completo. Se puede definir con la misma facilidad:

"example.power.invisible=true"

Seguir el formato de «device.command.invisible=true» permite que este comando se oculte por completo al usuario de salas.  

Reglas

Las reglas son el motor de automatización de los Controles de salas Esta es el área donde se definen las cosas que suceden por sí solas. Por ejemplo, si quisiera que mi pantalla solo estuviera activa cuando una reunión está activa, podría aprovechar «meeting_started» y «meeting_ended» (eventos de Zoom habituales) para que esto ocurra.  

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

Este ejemplo se puede utilizar para reducir el consumo de energía del sistema.

Si un comando por regla no es suficiente, estos comandos se pueden apilar fácilmente. Aunque técnicamente se activan de manera secuencial, se procesan lo suficientemente rápido como para que consideremos estos eventos simultáneos. En mi ejemplo anterior, «camera.power.wake» se agrega debajo de «display.power.on» para activar mi cámara cuando mi pantalla se activa.

Los comandos de Zoom habituales disponibles dentro de las reglas actuales son sencillos:

  • Eventos de reunión
    • «meeting_started»
    • «meeting_stopped»
  • Eventos de audio
    • «microphone_muted»
    • «microphone_unmuted»
  • Eventos de vídeo
    • «video_started» (cámara sin silenciar)
    • «video_stopped» (cámara silenciada)
  • Eventos del administrador
    • «operation_time_started»
    • «operation_time_ended»

Nota: El horario de funcionamiento se establece en la página de configuración de Zoom Rooms.

También es sencillo agregar el suyo propio para los Filtros de respuesta. Dentro de la sección de reglas, también puede utilizar los eventos desencadenantes que se describen a continuación para impulsar su propia automatización con entradas externas.

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

En este ejemplo, nuestro «user_customized_event1» está apagando nuestra luz controlada. Esto podría estar impulsado por una entrada de un botón o tal vez un sensor de movimiento que se queda inactivo o tal vez incluso un sistema de terceros, como un sistema de reservas que envía a la sala una actualización que indica que ningún usuario se registró para la reunión. La forma en que puede utilizar esta función se ve limitada principalmente por su imaginación.

Filtros de respuesta

Los Filtros de respuesta son un poderoso avance en la funcionalidad de los controles de sala nativos de Zoom Rooms. Estos filtros leen los mensajes que regresan de dispositivos definidos y buscan instantáneamente una frase que coincida. Cuando se identifica esta frase (o expresión) en esa conexión, se desencadena el Evento desencadenante de reglas (descrito anteriormente).

Cada Filtro de respuesta se compone de tres elementos:

  • «name»: el nombre se utiliza en la sección «ports» de «methods». Cuando el filtro de respuesta coincide con este nombre en el área «ports», esto comienza a abarcar la conexión definida
  • «filter_regex»: la «regex» (o expresión regular) es el conjunto de caracteres con los que el Filtro de respuesta intenta hacer coincidir. Cuando se produzca la coincidencia, se activará el "trigger_event"
  • «trigger_event»: el evento desencadenante se utiliza dentro de la sección de reglas. Cuando se activa el «filter_regex», se producirá la automatización definida dentro de este evento desencadenante en las reglas

Uso de Controles de sala

En el dispositivo del controlador de sala, simplemente pulse el icono Controles de sala para acceder a estas funciones adicionales.

Cuando no está en una reunión, el icono de Controles de sala se puede encontrar en los menús principales.

Durante una reunión, al pulsar el icono en la parte superior derecha del controlador se mostrarán los mismos Controles de sala.

Resolución de problemas

La resolución de problemas es una parte importante en cualquier configuración personalizada. Si bien los Controles de sala pueden ser simples, también son lo suficientemente flexibles como para ser complejos cuando sea necesario. Las secciones siguientes deberían ayudar a resolver posibles obstáculos.

Errores de controles de sala

Código de error Descripción
No_Config_Error El perfil JSON no se carga en el Web Portal
Json_Syntax_Error El perfil JSON contiene un error de sintaxis
Json_Config_Error El perfil JSON contiene un error de configuración
IP_Error Hay un problema al conectarse a una dirección IP especificada
IP_Is_Public Las direcciones IP públicas no están permitidas en este momento
DeviceID_Error Una o más ID de dispositivo están configuradas incorrectamente
MethodID_Error Uno o más métodos están definidos incorrectamente
ParamID_Error Uno o más parámetros están definidos incorrectamente
IP2SL_Settings_Error El puerto de serie está configurado incorrectamente en GC IP2SL
Empty_Device_Error Se llama a uno o más dispositivos sin estar definidos en el perfil JSON
Desconocido Se ha producido un error desconocido

Archivos de muestra

Estos archivos han sido compilados de varias fuentes y deben utilizarse como punto de partida solamente. Es probable que se requiera alguna modificación para que se adapten a su aplicación.

 

 

Zoom Community

Únase a los otros 100000 miembros de Zoom Community. Inicie sesión con las credenciales de su cuenta de Zoom y empiece a colaborar.