Luau ya está disponible para Analysis en TagoIO. Escribe scripts en Luau que lean datos almacenados de dispositivos, calculen nuevos valores y guarden los resultados con funciones integradas. Tu código se ejecuta en TagoIO, sin añadir un SDK ni gestionar un Analysis Token.
La última lectura de un sensor no siempre cuenta toda la historia. Puedes necesitar el promedio de las temperaturas recientes, un total acumulado o un estado calculado a partir de varias lecturas. Luau está diseñado para estas tareas pequeñas y frecuentes que trabajan con datos que ya están en TagoIO. El script se encarga del cálculo; Access Management controla qué recursos puede usar.
Convierte lecturas almacenadas en valores útiles
Un sensor de invernadero registra temperaturas de 24, 26 y 28 °C. Un Analysis con Luau puede leer esos registros, calcular su promedio y guardar 26 °C en el dispositivo como temperature_avg, sin modificar las lecturas originales.
Las funciones integradas de Devices gestionan el acceso a los dispositivos y las operaciones con sus datos. Entities lee y escribe filas de las Entities, y Analysis.list encuentra los Analysis permitidos por tu política. No necesitas configurar un cliente de API aparte para estas operaciones.
Otras tareas útiles siguen el mismo patrón:
- Calcular el consumo de agua a partir de los pulsos almacenados y guardar el resultado en litros.
- Comparar lecturas recientes con un umbral y escribir una variable
statusen el dispositivo. - Guardar una lectura calculada en una fila de una entity o actualizar una fila existente.
- Leer los parámetros de configuración de dispositivos y actualizar los ajustes de un grupo de dispositivos autorizado.
Usa un Payload Parser cuando solo necesites transformar un payload entrante de un dispositivo. Elige Analysis con Luau cuando el trabajo también requiera datos almacenados, escrituras adicionales o cambios en los ajustes de los dispositivos.
Trabaja con los resultados de forma síncrona
Las llamadas de Luau a dispositivos y Entities devuelven los resultados directamente al script. Lee los datos, calcula un valor y guárdalo en secuencia, sin escribir cadenas de Promise ni callbacks. En el ejemplo del invernadero, el promedio usa los datos de la lectura ya completada, y la escritura termina antes de que el script continúe.
La ejecución síncrona no implica una latencia nula. Leer datos y ejecutar cálculos sigue llevando tiempo, y los mecanismos habituales que activan un Analysis alojado no devuelven el resultado del script a quien lo invoca.
Actualización, 15 de octubre de 2026: Analysis Endpoints proporciona a un Analysis con Luau un flujo síncrono de solicitud y respuesta HTTP. Quien lo invoca espera a que termine el script y recibe su respuesta en esa misma solicitud. Valida una entrada, calcula un valor o lee datos de dispositivos y devuelve el resultado en cuanto termine el script, sin que la aplicación tenga que recuperarlo después.
Compara la velocidad de los runtimes con la misma carga de trabajo
Comparación del procesamiento de datos de sensores entre runtimes:
| Runtime | 1000 lecturas | 100.000 lecturas |
|---|---|---|
| Luau 0.728 | 0,74 ms | 30,60 ms |
| Bun 1.4.2 | 19,21 ms | 27,49 ms |
| Deno 2.4.4 | 30,63 ms | 37,87 ms |
| Node.js 24.21.0 | 29,74 ms | 37,98 ms |
| Python 3.13 | 69,70 ms | 138,52 ms |
Cada runtime usa la versión que aloja TagoIO. Luau se ejecuta dentro de TagoIO sin iniciar un proceso aparte, así que sus tiempos solo cubren el script. Los demás runtimes inician un proceso nuevo en cada ejecución, y ese arranque supone la mayor parte de su tiempo con 1000 lecturas.
Reglas de acceso, sin token
Un Analysis con Luau obtiene sus permisos de una política de Access Management, no de un Analysis Token. Aplica la política directamente al Analysis o mediante una de sus etiquetas y permite las acciones que necesite sobre los recursos correspondientes.
Para calcular el promedio del invernadero, concede permiso para obtener el sensor, leer sus datos y escribir el valor calculado. Eso no concede acceso a un dispositivo ajeno. Una lectura o escritura sin el permiso necesario se bloquea.
Asigna una tarea concreta a cada script
Luau se ejecuta únicamente en TagoIO. No tiene acceso saliente a internet, bibliotecas externas ni acceso a archivos, y no puede enviar correos electrónicos, mensajes SMS ni notificaciones directamente.
Elige Luau para tareas pequeñas que se limiten a sus operaciones integradas con dispositivos, Entities y Analysis, como calcular el promedio de lecturas y guardar el resultado. Elige Bun cuando el script necesite una API externa, un paquete u otros recursos de TagoIO.
Si un valor calculado requiere una respuesta externa, deja ese paso en un Analysis auxiliar con Deno, Node.js o Python. Por ejemplo, el script del invernadero puede iniciar un Analysis auxiliar de notificaciones solo cuando el promedio supere un umbral. Analysis.run inicia el Analysis auxiliar sin esperar a que termine y requiere el permiso Run Analysis sobre el destino. No puede iniciar otro Analysis con Luau.
Las ejecuciones de Luau no cuentan para el límite mensual de Analysis Service. Las operaciones con dispositivos y Entities siguen sujetas a los límites de servicio, recursos y frecuencia aplicables. El runtime también limita el tiempo de ejecución, la memoria y el tamaño del payload; consulta los límites de Luau al dimensionar una tarea.
Primeros pasos
Empieza con un Analysis nuevo y un dispositivo de prueba que contenga lecturas numéricas en la misma unidad.
- En Admin, crea un Analysis y selecciona Luau (
luau-rt2026) en Runtime. - Configura su política de Access Management antes de ejecutar cualquier operación con dispositivos o Entities.
- Abre el Script Editor y usa el ejemplo de Luau. Guarda los IDs de los dispositivos y los ajustes en variables de entorno.
- Guarda el script y haz clic en Run. Revisa los valores guardados y la salida de la consola. Usa
print(...)para los registros; los errores de argumentos identifican la opción no válida.
Si vas a migrar código existente, lee primero las advertencias sobre el cambio de runtime: cambiar a Luau elimina el Analysis Token existente.
Consulta la guía del runtime de Luau para conocer las funciones disponibles y las notas de la versión del 16 de septiembre para leer el anuncio.