Luau est désormais disponible pour Analysis dans TagoIO. Écrivez des scripts Luau qui lisent les données d’appareils enregistrées, calculent de nouvelles valeurs et sauvegardent les résultats grâce à des fonctions intégrées. Votre code s’exécute sur TagoIO, sans SDK à ajouter ni Analysis Token à gérer.
La dernière mesure d’un capteur ne suffit pas toujours. Vous pouvez avoir besoin de la moyenne des températures récentes, d’un cumul ou d’un état calculé à partir de plusieurs mesures. Luau est conçu pour ces petites tâches fréquentes qui exploitent des données déjà présentes dans TagoIO. Le script effectue le calcul ; Access Management contrôle les ressources auxquelles il peut accéder.
Transformez les mesures enregistrées en valeurs utiles
Un capteur de serre enregistre des températures de 24, 26 et 28 °C. Une Analysis Luau peut lire ces mesures, calculer leur moyenne et enregistrer 26 °C sur l’appareil sous la variable temperature_avg, tout en conservant les mesures d’origine.
Les fonctions intégrées Devices gèrent l’accès aux appareils et les opérations sur leurs données. Entities lit et écrit les lignes des entities, et Analysis.list trouve les Analysis autorisées par votre politique. Ces opérations ne demandent aucun client API distinct à configurer.
D’autres tâches utiles suivent le même principe :
- Calculer la consommation d’eau à partir des comptages d’impulsions enregistrés et sauvegarder le résultat en litres.
- Comparer les mesures récentes à un seuil et écrire une variable
statussur l’appareil. - Enregistrer une mesure calculée dans une ligne d’entity ou mettre à jour une ligne existante.
- Lire les paramètres de configuration d’un appareil et modifier les réglages d’un groupe d’appareils autorisé.
Utilisez un Payload Parser si vous avez seulement besoin de transformer le payload entrant d’un appareil. Choisissez une Analysis Luau si la tâche nécessite aussi des données enregistrées, des écritures supplémentaires ou des modifications des réglages de l’appareil.
Exploitez les résultats de façon synchrone
Les appels Luau aux appareils et aux entities renvoient leurs résultats directement à votre script. Lisez les données, calculez une valeur et enregistrez-la dans cet ordre, sans écrire de chaînes de Promise ni de callbacks. Dans l’exemple de la serre, le calcul de la moyenne utilise le résultat de la lecture terminée, et l’écriture s’achève avant que le script ne continue.
Une exécution synchrone n’implique pas une latence nulle. La lecture des données et les calculs prennent du temps, et les déclenchements habituels d’Analysis hébergées ne renvoient pas le résultat du script à l’appelant.
Mise à jour du 15 octobre 2026 : les Analysis Endpoints offrent aux Analysis Luau un échange HTTP synchrone entre requête et réponse. L’appelant attend la fin du script et reçoit sa réponse dans la même requête. Validez une entrée, calculez une valeur ou lisez les données d’un appareil, puis renvoyez le résultat dès que le script se termine, au lieu de demander à l’application de le récupérer plus tard.
Comparez la vitesse des runtimes sur une même tâche
Comparaison du traitement de données de capteurs avec différents runtimes :
| Runtime | 1 000 relevés | 100 000 relevés |
|---|---|---|
| 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 |
Chaque runtime utilise la version hébergée par TagoIO. Luau s’exécute directement dans TagoIO sans lancer de processus séparé : ses temps ne couvrent donc que le script. Les autres runtimes lancent un nouveau processus à chaque exécution, et ce démarrage représente l’essentiel de leur temps avec 1 000 relevés.
Des règles d’accès, sans token
Une Analysis Luau reçoit ses permissions d’une politique Access Management, et non d’un Analysis Token. Ciblez l’Analysis directement ou par l’un de ses tags, puis autorisez les actions nécessaires sur les ressources concernées.
Pour calculer la moyenne de la serre, accordez les permissions de récupérer le capteur, de lire ses données et d’écrire la valeur calculée. Ces permissions ne donnent pas accès à un autre appareil. Toute lecture ou écriture sans la permission requise est bloquée.
Gardez chaque script centré sur sa tâche
Luau s’exécute uniquement sur TagoIO. Il ne dispose ni d’accès sortant à Internet, ni de bibliothèques externes, ni d’accès aux fichiers, et ne peut pas envoyer directement d’e-mails, de SMS ou de notifications.
Choisissez Luau pour de petites tâches qui se limitent aux opérations intégrées sur les appareils, les entities et les Analysis, comme calculer la moyenne de mesures et enregistrer le résultat. Choisissez Bun si le script nécessite une API externe, un package ou d’autres ressources TagoIO.
Si une valeur calculée doit déclencher une action externe, confiez cette étape à une Analysis auxiliaire en Deno, Node.js ou Python. Par exemple, le script de la serre peut lancer une Analysis de notification uniquement lorsque la moyenne dépasse un seuil. Analysis.run lance l’Analysis auxiliaire sans attendre qu’elle se termine et nécessite la permission Run Analysis sur la cible. Cette fonction ne peut pas lancer une autre Analysis Luau.
Les exécutions Luau ne sont pas décomptées de la limite mensuelle Analysis Service. Les opérations sur les appareils et les entities restent soumises aux limites applicables aux services, aux ressources et à la fréquence des requêtes. Le runtime impose aussi des limites de durée d’exécution, de mémoire et de taille de payload ; consultez les limites de Luau pour dimensionner une tâche.
Pour commencer
Créez une Analysis et préparez un appareil de test contenant des mesures numériques exprimées dans la même unité.
- Dans Admin, créez une Analysis et sélectionnez Luau (
luau-rt2026) dans Runtime. - Configurez sa politique Access Management avant d’exécuter des opérations sur les appareils ou les entities.
- Ouvrez le Script Editor et utilisez l’exemple Luau. Conservez les identifiants d’appareils et les réglages dans des variables d’environnement.
- Enregistrez le script et cliquez sur Run. Examinez les valeurs enregistrées et la sortie de la console. Utilisez
print(...)pour les logs ; les erreurs d’arguments indiquent l’option invalide.
Si vous migrez du code existant, lisez d’abord les avertissements sur le changement de runtime : le passage à Luau supprime l’Analysis Token existant.
Consultez le guide du runtime Luau pour connaître les fonctions prises en charge et les notes de version du 16 septembre pour l’annonce.