Novedad: el cortafuegos de IA supervisa cada módulo y explica cada incidente con palabras sencillas. Vea cómo funciona

Bloques de alarma, comando y notificación

Referencia de Raise alarm, Clear alarm, Acknowledge alarm, Send command, Answer device request y Notify, incluyendo a quién llega una notificación y por qué canal.

Estos bloques actúan sobre personas y dispositivos: abren y cierran alarmas, envían comandos, responden a las peticiones propias de un dispositivo y envían notificaciones. Los bloques de alarma y de comando necesitan un mensaje cuyo origen sea un dispositivo; Notify funciona con cualquier mensaje.

Raise alarm

Abre una alarma en el dispositivo del mensaje, o actualiza la abierta del mismo tipo: una alarma abierta por dispositivo y tipo.

AjusteSignificadoPor defectoValores
alarmEl tipo de alarmaobligatoriouna plantilla, p. ej. tank.{{ msg.metadata.topic }}.low; letras, dígitos, _ . : -, como máximo 128 tras la renderización
severitySeveridadwarningcritical, major, minor, warning, info
textTítuloel tipouna plantilla, como máximo 256 caracteres
valueSe guarda en los detalles de la alarmamsg.payloaduna ruta
notify_toQuién es avisadonadieids de usuario, direcciones de correo, los roles OWNER, ADMIN, USER
notify_channelsCanaleselección de cada personaids de canal como inapp, mail
notify_min_severityAvisar solo desde esta severidadinfouna severidad
notify_repeat_secRecordar mientras esté abierta y sin reconocersin recordatorio0, o 60 segundos o más

out: la alarma (msgType alarm, la alarma en msg.payload). Errores: not_a_device, bad_alarm_id. Las notificaciones siguen el mismo ciclo de vida que las reglas de alarma: throttling, un resumen en una tormenta de alarmas, las alarmas críticas se saltan las preferencias personales salvo que su organización lo haya desactivado. Una escalada vuelve a notificar; un nuevo aviso con la misma severidad no. Un mensaje tardío no cambia ninguna alarma. Consulte Alarm notifications in depth.

Clear alarm

Resuelve la alarma abierta de un tipo en el dispositivo del mensaje.

AjusteSignificadoValores
alarmEl tipo de alarmaobligatorio, una plantilla

out: la alarma despejada, o el mensaje sin cambios si no había ninguna abierta. Quien fue avisado de la alarma recibe el aviso de que se ha resuelto.

Acknowledge alarm

Reconoce las alarmas abiertas del dispositivo: siguen abiertas, los recordatorios se detienen.

AjusteSignificadoPor defectoValores
alarmQué alarmastodas las alarmas abiertas*, un tipo, o un prefijo terminado en *
min_severitySolo desde esta severidadinfouna severidad
noteUna nota en la línea de tiempo de cada alarmaningunacomo máximo 256 caracteres

Los tres bloques de alarma producen alarmas exactamente igual que las reglas de alarma. Un cambio de alarma que hagan lo recibirán los disparadores Device message que escuchan alarm; un flujo que lanza una alarma y además escucha alarmas puede volver a arrancarse a sí mismo, y el despliegue avisa de «May start its own flow again». Consulte Working with alarms.

Send command

Envía un comando de la lista de comandos del perfil del dispositivo al dispositivo del mensaje. No espera: el mensaje continúa con la petición que ha hecho; la respuesta del dispositivo llega más tarde.

AjusteSignificadoPor defectoValores
commandUn comando de la lista de comandos del perfilobligatorio (o un método raw)elegido de los comandos de sus perfiles
paramsLos parámetros del comandoningunoun objeto como {"on": true}, o una ruta como msg.payload
methodUn método raw fuera de la lista de comandosvacíonamespace.verb, como máximo 64 caracteres

out: el mensaje con msg.metadata.rpcId (la petición, también en la pestaña Commands del dispositivo) y msg.metadata.rpcStatus (QUEUED, o FAILED cuando el comando no pudo esperar y el dispositivo estaba desconectado). Errores (no se hizo ninguna petición):

CódigoSignificado
not_a_device, device_not_foundNo es uno de sus dispositivos
unknown_commandEl perfil del dispositivo no tiene ese comando
bad_paramsLos parámetros no coinciden con el comando (msg.error.param indica cuál)
method_refusedUn restablecimiento de fábrica, el emparejamiento o el olvido de la red nunca se envían desde la nube
limitDemasiados comandos a este dispositivo en el último minuto (por defecto 30 desde los flujos)
device_not_active, rpc_not_supported_by_profile, payload_too_largeTal como lo diría la consola
  • El comando se busca en el perfil del dispositivo de cada mensaje: un flujo que atiende varios perfiles solo envía a los que tienen el comando en su perfil.
  • La petición se hace como el flujo y aparece en el historial de comandos del dispositivo como una hecha desde la consola. Un comando de alto impacto no requiere confirmación al ejecutarse: se confirmó en el despliegue.
  • Desplegar necesita el permiso de envío del nivel del comando en cada perfil que lo tenga, Deploy flows with control-level nodes para un comando de alto impacto, y el permiso de RPC raw para un método raw.
  • Un mensaje repetido o reentregado encuentra la petición que ya hizo y no envía nada de nuevo. Un mensaje tardío no envía ningún comando.
  • Cada petición termina con un mensaje rpc_response (SUCCESSFUL, FAILED, TIMEOUT, EXPIRED, CANCELLED) con msg.metadata.rpcStatus, rpcId y requestedBy. Es un mensaje de dispositivo, así que llega al flujo raíz del dispositivo; enrútelo desde allí.

Los comandos a dispositivos detrás de una pasarela están en desarrollo. Consulte Sending commands to devices.

Answer device request

Responde a una petición que el dispositivo envió a la plataforma (un mensaje rpc_request: el dispositivo llama a un método en la nube). Los métodos integrados getCurrentTime y getSessionLimits se responden antes de que un flujo vea nada.

AjusteSignificadoPor defectoValores
resultLo que devuelve el métodomsg.payloadcualquier valor; se envía como {"ok": true, "result": …}
errorRechazar en su lugarningunounsupported_method, bad_params, busy, timeout, expired, forbidden, payload_too_large, internal; se envía como {"ok": false, "error": …}
messageTexto enviado con un rechazovacíocomo máximo 256 caracteres, se admiten plantillas

Gana la primera respuesta. Si ningún flujo responde en 5 segundos, la plataforma responde unsupported_method. Errores: rpc_request_closed, not_an_rpc_request, payload_too_large, invalid_value. Un dispositivo MQTT recibe la respuesta en v1/rpc/up/res/{id}, un dispositivo HTTP en su petición en espera. Coloque este bloque en la rama rpc_request del flujo raíz (el raíz por defecto solo registra estas peticiones).

Notify

Envía una notificación y pasa el mensaje.

AjusteSignificadoPor defectoValores
RecipientsFilas de un Kind y un valorobligatoriocomo máximo 20 filas; 20 destinatarios tras la expansión
Repeat reasonLo que hace que dos notificaciones sean «la misma» para el periodo de esperalas palabras de la notificaciónplantilla, 200 caracteres
ChannelsRestringir a estos canaleslas preferencias de cada destinatarioids de canal como inapp, mail, sms, push
Urgencycritical se salta las preferencias personales salvo que su organización lo haya desactivadonormalnormal, critical
Title, TextEl mensajeplantillas, 200 y 4.000 caracteres
Text formattext, o html para correotexttext, html
Mail subject, Reply toOpciones de correoel título, ningunoplantillas
Copy, Hidden copyMás destinatarios de correo; cada uno recibe su propio correoningunoplantillas
Mail attachmentsArchivos para el correoninguno10 archivos, 1 MiB en total

Quién es alcanzado, por qué canal

KindValueAlcanza a
userEl id de usuario de un miembroEse miembro, en la aplicación, por push y en las aplicaciones de chat vinculadas
roleOWNER, ADMIN o USERCada miembro activo con ese rol, como arriba
custom_roleUna clave de rol personalizadoSus miembros, como arriba
teamUn id de equipoSus miembros, como arriba
originator_ownerVacíoLos propietarios del origen del mensaje, cuando un módulo los declara, como arriba
addressUna o más direcciones de correo electrónico, separadas por comasCorreo electrónico
phoneUno o más números en formato internacional, separados por comasSMS

Los miembros se indican solo por su id de usuario. El correo electrónico y los SMS llegan únicamente a las filas address y phone. Un miembro incluido como user, o alcanzado a través de un rol, un rol personalizado o un equipo, recibe la notificación en la aplicación, por push y en las aplicaciones de chat vinculadas según sus preferencias, pero no por correo electrónico ni por SMS, incluso si tiene una dirección de correo. Para enviar correos a personas, añada sus direcciones en una fila address.

Un rol o equipo con más de 20 miembros activos se rechaza (too_many_recipients) en lugar de enviarse a medias.

Enfriamiento, cuotas y mensajes tardíos

  • Una persona recibe una notificación del mismo motivo desde el mismo flujo una vez cada 10 minutos (su plan puede establecer otro valor, de al menos 1 minuto). Configure Repetir motivo cuando el texto cambie con cada lectura, por ejemplo level of {{ msg.metadata.deviceName }}. La siguiente notificación, al terminar el enfriamiento, incluye «(+n)».
  • Antes de enviar, el bloque comprueba las cuotas mensuales de correo y SMS; un canal sin cuota se omite (msg.metadata.notify.quota). Solo cuando todos los canales están sin cuota falla con limit.
  • Un mensaje tardío no notifica a nadie.

out incluye msg.metadata.notify: recipients, delivered, failed, suppressed, invalid, quota, held. Errores: no_recipients, too_many_recipients, members_unavailable, invalid_attachment, notify_failed, node_not_ready, circuit_open, limit.

Consulte Notifications from rules and flows para plantillas, correos HTML y adjuntos.