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

Bloques de datos de IoT

Referencia de Guardar telemetría, Guardar atributos, Establecer atributo compartido, Reglas de alarma, Detalles del dispositivo, Últimos valores, Detalles del perfil, Datos relacionados y Guardar lectura.

Estos bloques actúan sobre los datos de un dispositivo en el host IoT: almacenan lecturas y atributos, evalúan reglas de alarma y añaden datos del dispositivo al mensaje. Casi todos necesitan un mensaje cuyo originador es un dispositivo: un mensaje de dispositivo, o un mensaje que un nodo raíz pasó con Run flow. Los mensajes iniciados por una programación, inject, evento o temporizador tratan sobre la organización, no sobre un dispositivo; estos bloques los rechazan con not_a_device.

Guardar telemetría

Almacena los pares clave-valor del mensaje como telemetría del dispositivo. Solo este bloque almacena telemetría: una rama sin él no almacena nada. Solo se almacena msg.payload, nunca los metadatos.

AjusteSignificadoPor defectoValores
clavesSolo estas clavestodas las clavesnombres de clave
tsMomento en que se almacena el registrohora del registrohora del registro (msg.metadata.recordTs), hora de recepción (msg.metadata.ts)
ts_pathCon hora del registro: reasigna el registro a partir de este valorningunoruta a milisegundos epoch (un número o texto numérico)

Salidas: out (una vez confirmados los valores), error con msg.error.code:

CódigoSignificado
not_a_deviceEl originador no es un dispositivo
invalid_valueEl payload no es un objeto
bad_tsLa hora en ts_path no son milisegundos epoch
too_oldMás antiguo de lo que tu organización conserva los datos brutos
no_valuesNada del payload puede almacenarse
key_limitNo hay espacio para una clave nueva dentro del límite de claves del plan
save_failedLa base de datos rechazó la fila (msg.error.ts es su hora)
  • Los mensajes se escriben en oleadas de hasta 500, y el siguiente mensaje del dispositivo espera a la confirmación, así que lee lo que este almacenó.
  • Los mismos valores en el mismo momento se almacenan una vez; dos mensajes distintos en el mismo momento se conservan ambos; el último valor solo se actualiza con una hora estrictamente posterior.
  • Cuando no se puede acceder a la base de datos, no se pierde nada: la ejecución espera y se repite cuando vuelve.
  • Una ejecución de prueba no almacena nada.

Consulta Cómo se almacenan las lecturas y Claves de telemetría.

Guardar atributos

Almacena los pares clave-valor del mensaje como atributos client del dispositivo (lo que el dispositivo informa sobre sí mismo, como su versión de firmware).

AjusteSignificadoPor defectoValores
scopeQué atributosclientclient
clavesSolo estas clavestodas las clavesnombres de clave

Errores: not_a_device, invalid_value, save_failed. Un mensaje entregado de nuevo no cambia nada; un mensaje más antiguo nunca sobrescribe un valor más nuevo; un valor sin cambios no se vuelve a escribir. Consulta Atributos.

Establecer atributo compartido

Establece atributos compartidos del dispositivo del mensaje. Un dispositivo conectado recibe el cambio al instante; uno sin conexión, al volver a conectarse. Los flujos reciben el cambio como un mensaje attributes_updated.

AjusteSignificadoValores
elementosPares clave y valorobligatorio; como máximo 32. Clave: letras, dígitos, _, ., -, como máximo 57 caracteres. Valor: un literal (true, 22.5, {"mode":"eco"}) o una ruta como msg.payload.setpoint.

Errores: not_a_device, device_not_found, invalid_value, bad_attribute, too_large, managed_by_settings (una clave cfg.* de un dispositivo cuyos ajustes se gestionan en su pestaña Settings), limit (el dispositivo tuvo demasiados comandos y ajustes de flujos en el último minuto; por defecto 30).

  • Nivel de control: desplegar requiere Deploy flows with control-level nodes y escribir el nombre del flujo.
  • Las claves que empiezan por _, fw_ o current_fw_, así como session_limits y deleted, pertenecen a la plataforma y no se pueden establecer.
  • Un mensaje tardío no cambia nada. Una ejecución de prueba indica lo que establecería.

Reglas de alarma

Evalúa las reglas de alarma del perfil del dispositivo y abre, actualiza o cierra las alarmas del dispositivo. Las reglas se editan en el perfil del dispositivo; este bloque decide en qué punto del flujo se ejecutan. El nodo raíz por defecto lo coloca justo después de la entrada.

AjusteSignificadoPor defectoValores
profile_rulesEvaluar las reglas del perfilonon, off
reglasSolo estos tipos de alarmatodas las reglastipos de regla del perfil

Salidas:

  • out: el mensaje, siempre, tras la evaluación (un problema se registra y nunca detiene el mensaje, así que los bloques de guardado posteriores siguen ejecutándose).
  • created, updated, cleared: una copia del mensaje con msg.msgType alarm, la alarma en msg.payload y msg.metadata.alarm (transition, isNew, isSeverityUpdated, isCleared, repeats, durationMs, ruleId).

La telemetría se evalúa contra las reglas que leen una de sus claves; connect, disconnect, activity e inactivity activan la regla de desconexión. Las lecturas tardías o desordenadas se evalúan como backfill (historial marcado como Backfilled, sin notificar a nadie). Si eliminas el bloque, las reglas de alarma se detienen para los dispositivos de este nodo raíz; si lo vuelves a poner, continúan. Consulta Reglas de alarma en perfiles de dispositivo.

Detalles del dispositivo

Añade datos y atributos del dispositivo del mensaje al mensaje.

AjusteSignificadoPor defectoValores
fieldsCampos del dispositivoname, profilename, label, type, serial, model, fw_version, status, online, last_activity (epoch ms), profile, profile_id, is_gateway, gateway
attributesAtributos: scope, key, nombre en el mensajeningunocomo máximo 50; scope client, shared o server
targetDónde se escribe el objetomsg.metadata.deviceuna ruta bajo msg.metadata o msg.payload
with_tsEscribe los atributos como { ts, value }off
on_missingUn campo o atributo sin valorerrorerror, skip, null

Resultado de ejemplo: { "name": "Boiler 1", "profile": "Boilers", "online": true, "setpoint": 21 }. gateway es { id, name, online } para un dispositivo detrás de una pasarela. Los detalles se guardan en caché 30 segundos; los atributos se leen en el momento. Errores: missing (con msg.error.keys), not_a_device, not_found, invalid_value, read_failed.

Últimos valores

Añade los últimos valores almacenados de las claves elegidas del dispositivo.

AjusteSignificadoPor defectoValores
clavesClaves de telemetríaobligatoriocomo máximo 50
targetDóndemsg.metadata.latestbajo msg.metadata o msg.payload
with_ts{ ts, value } en lugar del valoroff
on_missingUna clave sin valor almacenadoerrorerror, skip, null

Un valor del mensaje en curso se incluye solo después de que se ejecute su bloque Guardar telemetría.

Detalles del perfil

Añade datos del perfil del dispositivo.

AjusteSignificadoPor defectoValores
fieldsCampos del perfilnamename, id, transport, inactivity_timeout_s, rpc_timeout_s, downlink_max_bytes, online_rule, expected_interval_s
targetDóndemsg.metadata.profilebajo msg.metadata o msg.payload
on_missingUn campo sin valorerrorerror, skip, null

Datos relacionados

Añade datos de activos y dispositivos relacionados con el dispositivo o activo del mensaje: el sitio donde se ubica un dispositivo, los dispositivos que gestiona un activo, un antecesor tres niveles arriba.

AjusteSignificadoPor defectoValores
directionSeguir relaciones desde el originador, o hacia élfromfrom, to
relation_typesTipos de relación seguidosCONTAINSp. ej. CONTAINS, MANAGES, FEEDS, MONITORS o los tuyos; ninguno = cualquiera
exclude_typesTipos que nunca se siguenninguno
depthNiveles11 a 8
last_level_onlyConservar solo el último niveloff
entity_kindQué entidadesanyany, asset, device
profiles, kindsSolo dispositivos de estos perfiles, activos de estos tiposany
maxCuántas entidades11 a 100 (1 escribe un objeto, más de uno una lista)
dataQué se leeattributesatributos, últimos valores (dispositivos), campos
ámbitoÁmbito del atributo del dispositivoservidorservidor, compartido, cliente
asignaciónClaves leídas y sus nombres en el mensajeobligatoriocomo máximo 50
destinoDóndemsg.metadata.relatedbajo msg.metadata o msg.payload
with_ts, on_missingIgual que arribaoff, error

El árbol de activos y las ubicaciones de los dispositivos cuentan como relaciones CONTAINS: dirección to, CONTAINS, profundidad 3, solo último nivel; assets encuentra el sitio de un dispositivo tres niveles por encima. El orden es fijo, así que max 1 elige siempre la misma entidad. Consulte Asset hierarchy.

Guardar lectura (host General)

Almacena pares clave-valor como una lectura de un tipo de registro que acepta escrituras desde flujos (por ejemplo, contadores de activos, si su plan los incluye). Los datos de los dispositivos nunca se guardan aquí.

AjusteSignificadoValor predeterminadoValores
kindEl tipo de registroobligatorioun tipo que acepta escrituras desde flujos
entity_pathDónde está el id del registromsg.originator.iduna ruta a un UUID
ts, ts_pathIgual que para Guardar telemetríahora del registro
keysSolo estas clavestodas las claves

Errores: invalid_value, invalid_entity, unknown_kind, kind_not_writable, entity_not_writable, bad_ts, save_failed.

Dónde termina el metadato

Los valores escritos bajo msg.metadata nunca se almacenan; los valores bajo msg.payload los almacena un Guardar telemetría posterior. Coloque el enriquecimiento bajo msg.metadata salvo que quiera almacenarlo.