Documentación: Nodo Obtener Objeto (Get Object)¶
Descripción General¶
El Nodo Obtener Objeto (Get Object) es un nodo de acción de consulta (read-only) que recupera de la plataforma una lista de objetos que cumplen con los criterios definidos. Permite buscar objetos por su ID, por condiciones sobre las propiedades de su estado (state properties), y paginar los resultados con límite y desplazamiento.
A diferencia del nodo Obtener estado de objeto, que lee el estado de un objeto puntual, este nodo realiza una búsqueda/filtrado sobre el conjunto de objetos de la plataforma y devuelve todos los que coinciden. Es ideal para lógica IoT que necesita actuar sobre conjuntos dinámicos de dispositivos (por ejemplo, "todos los sensores cuya temperatura supera un umbral").
¿Cuándo usar este nodo?¶
Utiliza este nodo cuando necesites:
- Encontrar dinámicamente qué objetos cumplen una condición (por ejemplo, todos los sensores con
temperaturemayor a 8 °C). - Obtener una lista de objetos para luego iterarlos con el nodo Iterar elementos (Iterate items) y realizar una acción sobre cada uno.
- Construir tableros o reportes dinámicos consultando objetos por estado o propiedades.
- Verificar cuántos dispositivos se encuentran en un estado determinado antes de tomar una decisión en el flujo.
Configuración del Nodo¶
El nodo cuenta con dos pestañas de configuración en la parte superior: Formulario (Form) y Editor de JSON (JSON Editor).

Vista Formulario¶
1. Objetos (Objects) *Opcional¶
Permite restringir la búsqueda a un conjunto específico de objetos. Haz clic en el campo para abrir el modal Select Objects y marca los objetos deseados. Si lo dejas vacío, la búsqueda se realiza sobre todos los objetos (acotada por las condiciones y el límite).
2. Condiciones de Propiedades de Estado (State Property Conditions) *Opcional¶
Permite filtrar los objetos según los valores de las propiedades de su estado. Haz clic en Add Condition para agregar una condición, compuesta por tres campos:
- Property (Propiedad): El nombre de la propiedad de estado a evaluar (por ejemplo,
temperature,battery_level,state). - Operator (Operador): La comparación a aplicar. Operadores disponibles:
| Operador (UI) | Valor | Significado |
|---|---|---|
| Equal | EQUAL |
Igual a |
| Not Equal | NOT_EQUAL |
Distinto de |
| Greater Than | GREATER_THAN |
Mayor que |
| Less Than | LESS_THAN |
Menor que |
| Greater Than Or Equal | GREATER_THAN_OR_EQUAL |
Mayor o igual que |
| Less Than Or Equal | LESS_THAN_OR_EQUAL |
Menor o igual que |
| In | IN |
Contenido en una lista |
| Not In | NOT_IN |
No contenido en una lista |
| Like | LIKE |
Coincidencia parcial de texto |
| Not Like | NOT_LIKE |
No coincide parcialmente |
| Exists | EXISTS |
La propiedad existe |
| Not Exists | NOT_EXISTS |
La propiedad no existe |
- Value (Valor): El valor de comparación. (Este campo se oculta cuando el operador es
ExistsoNot Exists, ya que no requiere valor.)
Puedes agregar varias condiciones; se combinan para acotar el resultado. Usa Remove Condition para eliminar una.
3. Límite (Limit) y Desplazamiento (Offset) *Opcional¶
- Limit: Número máximo de objetos a devolver (paginación).
- Offset: Número de resultados a omitir desde el inicio (paginación).

Vista Editor de JSON¶
En la pestaña Editor de JSON (JSON Editor) puedes visualizar y editar directamente toda la consulta:

Estructura JSON (Parámetros de entrada)¶
A continuación se muestra la estructura del JSON que se genera al configurar el nodo:
{
"state_property_conditions": [
{
"id": "1e988ab6618",
"property": "temperature",
"operator": "GREATER_THAN",
"value": "8"
}
],
"limit": 50
}
Campos del JSON¶
| Campo | Tipo | Descripción |
|---|---|---|
object_ids |
array (string) | (Opcional) Lista de ID de objetos a los que restringir la búsqueda. |
state_property_conditions |
array (object) | (Opcional) Lista de condiciones de filtrado sobre propiedades de estado. |
state_property_conditions[].property |
string | Nombre de la propiedad de estado a evaluar. |
state_property_conditions[].operator |
string | Operador de comparación (ver tabla de operadores). |
state_property_conditions[].value |
string | Valor de comparación (no aplica para EXISTS / NOT_EXISTS). |
limit |
number | (Opcional) Máximo de resultados a devolver. |
offset |
number | (Opcional) Número de resultados a omitir (paginación). |
Output: Dónde viene la data del nodo¶
Cuando la consulta se ejecuta correctamente, el nodo devuelve en su Output (Salida) una lista (array) de objetos que cumplen con los criterios, cada uno con su identificador, estado y propiedades de estado.
Ejemplo de salida (representativo)¶
[
{
"object_id": "ajax_enterprise_api.sensor.device.30AA3100",
"name": "Termostato Bobeda",
"domain": "ajax_enterprise_api.sensor.device",
"state": "ACTIVE",
"state_additional_properties": {
"temperature": 12,
"battery_level": 87
}
}
]
Usar la salida en nodos posteriores¶
La salida de este nodo se utiliza frecuentemente como entrada del nodo Iterar elementos (Iterate items) para procesar uno por uno cada objeto encontrado. También puedes referenciar elementos individuales con la clave del nodo:
{{node_key[0].object_id}}
{{node_key[0].state_additional_properties.temperature}}
(Recuerda sustituir node_key por la clave asignada automáticamente al nodo en el lienzo.)
Ejemplos de uso¶
Ejemplo 1: Encontrar sensores de temperatura sobre el umbral¶
Caso de uso: Obtener todos los sensores cuya propiedad temperature supere los 8 °C para luego notificar o actuar sobre ellos.
- State Property Conditions:
temperatureGreater Than8 - Limit:
50
JSON de configuración:
{
"state_property_conditions": [
{
"property": "temperature",
"operator": "GREATER_THAN",
"value": "8"
}
],
"limit": 50
}
Ejemplo 2: Listar dispositivos con batería baja¶
Caso de uso: Obtener los sensores cuyo nivel de batería sea menor o igual a 20 % para programar mantenimiento.
- State Property Conditions:
battery_levelLess Than Or Equal20
JSON de configuración:
{
"state_property_conditions": [
{
"property": "battery_level",
"operator": "LESS_THAN_OR_EQUAL",
"value": "20"
}
]
}
Validación y errores¶
| Condición | Causa / Solución habitual |
|---|---|
El resultado está vacío ([]) |
Ningún objeto cumple las condiciones. Revisa el nombre de la propiedad, el operador y el valor. |
| La propiedad no filtra como se espera | Verifica que el nombre de la propiedad (property) coincida exactamente con la clave usada en las propiedades de estado del objeto. |
| Demasiados resultados | Usa limit y offset para paginar y acotar la cantidad de objetos devueltos. |
Buenas prácticas¶
- Nombrar el nodo descriptivamente: Cambia el nombre del nodo en el lienzo (ej. "Buscar sensores calientes") para identificarlo y referenciar su salida con claridad.
- Combinar con Iterar elementos: El patrón más común es Obtener objeto → Iterar elementos para ejecutar una acción por cada objeto encontrado.
- Usar el límite: Define siempre un
limitrazonable en consultas amplias para evitar procesar conjuntos demasiado grandes. - Validar nombres de propiedad: Asegúrate de conocer las propiedades de estado reales de tus objetos (puedes verlas en Settings ▸ Objects) antes de crear condiciones.