Feature

Bun für Analysis ist da

Führen Sie TypeScript und JavaScript in TagoIO aus, mit Imports über Paketnamen, gespeicherten Bundles und Verbindungen zu externen Diensten.

TagoIO Team ·
Bun für Analysis ist da

Bun ist jetzt für TagoIO Analysis verfügbar. Es führt TypeScript und JavaScript direkt aus, mit Paket-Imports, wie Sie sie aus einem Node.js-Projekt kennen. TagoIO übernimmt den Build für die gehostete Ausführung. Sie können Ihr Skript pflegen, ohne es separat lokal kompilieren oder bündeln zu müssen.

Verwenden Sie Bun, wenn die Verarbeitung von Gerätedaten auch den Aufruf eines anderen Dienstes oder den Einsatz einer Bibliothek erfordert. Erstellen Sie aus einem zu hohen Temperaturmesswert eine Wartungsanfrage, bereiten Sie Messwerte für ein Berichtssystem auf oder kombinieren Sie Sensordaten mit Informationen aus einer externen API. Ihre Analysis übernimmt die Verarbeitung und die Integration, ohne dass Sie dafür einen eigenen Server betreiben müssen.

TypeScript mit vertrauten Imports schreiben

Importieren Sie das TagoIO JavaScript SDK als @tago-io/sdk oder eine Datumsbibliothek als dayjs. Bun löst Pakete anhand ihres Namens auf. TypeScript wird direkt unterstützt. Sie können die Typen im Skript behalten, das Sie auf TagoIO bearbeiten, statt es vor dem Hochladen in JavaScript zu kompilieren.

Bun akzeptiert die Deno-Importpräfixe npm: und jsr: nicht. Verwenden Sie einfache Paketnamen und geben Sie im Import eine Version an, wenn Sie eine bestimmte Paketversion benötigen.

Ein Bundle speichern und mehrfach ausführen

TypeScript- oder JavaScript-Quellcode importiert @tago-io/sdk und dayjs; ein erfolgreicher Build kombiniert das gespeicherte Skript und die Pakete zu einem Bundle, das zwei Ausführungen ohne erneute Paketinstallation verwenden

Wenn Sie eine Version speichern, bündelt TagoIO das Skript und seine Pakete in einer Datei. Nach einem erfolgreichen Build verwenden spätere Ausführungen dieses gespeicherte Bundle, ohne die Pakete erneut zu installieren. Die Abhängigkeiten werden beim Speichern vorbereitet, nicht bei jeder Ausführung aufs Neue.

Dieser Vorteil setzt einen erfolgreichen Build voraus. Bei bestimmten Fehlern, etwa einem Bundle über 10 MB, werden die Pakete stattdessen bei jeder Ausführung installiert. Syntaxfehler oder fehlende Pakete verhindern dagegen die Ausführung. Die Anleitung zur Bun-Runtime erläutert Build-Fehler und deren Behebung.

Messwerte mit einem externen Dienst verbinden

Eine Bun-Analysis vergleicht einen Messwert von 38 °C aus greenhouse-01 mit einem Grenzwert von 35 °C, formatiert 14:05 mit dayjs als 2:05 PM und sendet einen Wartungsauftrag zur Prüfung der Kühlung an eine Wartungs-API, die 201 Created zurückgibt

Ein Sensor im Gewächshaus meldet beispielsweise 38 °C. Ihre Bun-Analysis kann die Gerätedaten lesen, sie mit Informationen zum Standort kombinieren und den Zeitstempel mithilfe eines Pakets formatieren. Anschließend ruft sie die API Ihres Wartungssystems auf, um einen Arbeitsauftrag anzulegen: “Kühlung prüfen.”

Sie geben die Zugangsdaten des Dienstes und das Anfrageformat vor. Nach demselben Prinzip können Sie formatierte Messwerte an eine Reporting-API senden oder einen Gerätedatensatz um Daten aus einem anderen System ergänzen.

Bun im Vergleich mit anderen Runtimes

  • Node.js: Erstellen und testen Sie ein gebündeltes Skript lokal und laden Sie es anschließend hoch. Mit Bun übernimmt TagoIO die Kompilierung und das Bündeln der Abhängigkeiten. So können Sie TypeScript direkt im Admin bearbeiten.
  • Deno: Mit beiden Runtimes können Sie TypeScript im Editor pflegen. Bun verwendet einfache Paketnamen für Imports; Deno verwendet npm:-Spezifizierer oder URLs.
  • Python: Bleiben Sie dabei, wenn Ihre Datenverarbeitung Bibliotheken wie pandas, numpy oder scipy benötigt. Wählen Sie Bun, wenn JavaScript oder TypeScript und die zugehörigen Pakete zur Aufgabe passen.

Gehostete Bun-Ausführungen werden auf das monatliche Analysis Service-Limit Ihres Profils angerechnet.

Runtime-Geschwindigkeit bei gleicher Arbeitslast vergleichen

Ein Vergleich der Verarbeitung von Sensordaten mit verschiedenen Runtimes:

Mediane Ausführungszeit
Runtime1.000 Messwerte100.000 Messwerte
Luau 0.728 0,74 ms30,60 ms
Bun 1.4.2 19,21 ms27,49 ms
Deno 2.4.4 30,63 ms37,87 ms
Node.js 24.21.0 29,74 ms37,98 ms
Python 3.13 69,70 ms138,52 ms

Jede Runtime nutzt die Version, die TagoIO hostet. Luau läuft direkt in TagoIO, ohne einen eigenen Prozess zu starten, daher umfassen seine Zeiten nur das Skript. Die anderen Runtimes starten bei jeder Ausführung einen neuen Prozess, und bei 1.000 Messwerten macht dieser Start den Großteil ihrer Zeit aus.

Wie die Geschwindigkeit den Verbrauch beeinflusst

Bei Bun, Deno, Node.js und Python kann eine schnellere gehostete Ausführung den Verbrauch des Analysis Service senken, wenn sie dadurch in eine niedrigere Abrechnungsstufe fällt. Pro Ausführung wird mindestens eine Sekunde berechnet. Unterschiede unter einer Sekunde allein belegen daher keine Einsparung.

Im Admin bauen und testen

Erstellen Sie eine neue Analysis, wählen Sie unter Runtime die Option Bun (bun-rt2026) und unter Runs on die Option TagoIO. Schreiben Sie Ihr Skript im Editor und speichern Sie eine Version. Prüfen Sie die Console auf Build-Fehler. Klicken Sie dann auf Run, um das Skript auszuführen und seine Logs zu prüfen.

TagoAI kann Sie beim Schreiben Ihres Skripts und bei der Fehlersuche unterstützen.

Erste Schritte

Lesen Sie die Anleitung zu Analysis-Runtimes und erstellen Sie eine neue Analysis im Admin. Die Ankündigung zu Bun finden Sie in den Versionshinweisen vom 13. Oktober.