Daten sammeln, einfach gemacht.
Eine Fabrik, ein Kessel, ein Lieferwagen: Alles hängt in einer Hierarchie, hat Werte, Einheiten, Rechte und eine Geschichte. In diesem Tutorial bauen wir den fiktiven Tenant Hallifax von Null auf, mit allen Bildschirmen der Webversion.
Weiter mit → oder Leertaste · Übersicht mit O · Bild vergrößern per Klick


| Seite | Wofür |
|---|---|
| Explorer | Hierarchie pflegen, Werte ansehen, Rechte, Text-Editor |
| Charts | Zeitreihen mehrerer Nodes vergleichen, Karten, Layouts |
| Verwaltung | Mitglieder und Gruppen eines Tenants |
| Producer | Wertegeneratoren und Konverter als Instanzen betreiben |
| Datenquellen | Geräte/Programme mit Token anbinden, Puffer, Zuordnung |
| Ingest-Test | Einzelne Werte von Hand schreiben, Adresse → Geo |
| Editor | Grafische Sicht auf Nodes, Ports und Verbindungen |
Ein Tenant ist ein abgeschlossener Mandant: eigene Nodes, Benutzer, Gruppen und Rechte.


Hallifax eintragen → Anlegen. Die neue Kachel öffnet den leeren Tenant.
hans@hallifax.example / Hans Musterfritz@hallifax.example / Fritz Webersandra@hallifax.example / Sandra KellerGruppen bündeln Rechte. Gruppen dürfen Gruppen enthalten: So erbt jeder Maintainer, Analyst und Onboarding Engineer die Rechte der Gruppe Viewer.

| Gruppe | Mitglieder |
|---|---|
| Viewer | Maintainer, Analyst, Onboarding Engineer (Gruppen) |
| Maintainer | Hans |
| Onboarding Engineer | Fritz, Sandra |
| Analyst | Sandra |




| Kürzel | Recht |
|---|---|
| R | Lesen (Werte, Struktur) |
| W | Schreiben (Werte, Nodes ändern) |
| X | Ausführen (Kommandos, Producer starten) |
| M | Verwalten (Rechte, Löschen) |
| Q | Datenquellen anlegen |

Unten im Rechte-Reiter wählen Sie einen Benutzer oder eine Gruppe. LooT zeigt das Ergebnis und die Einträge, aus denen es entsteht (Tenant → Vorfahren → Node).
sandra@hallifax.example wählen.


Werk Nord, Beschreibung eintragen → Anlegen.Halle 1, Energie, Standort.Kessel 1 und Förderband 1.
| Werttyp | Beispiel Hallifax |
|---|---|
| Double / Float | Temperatur, Druck, Leistung |
| Int / Long | Störungen, Betriebsstunden |
| Bool | Pumpe läuft |
| String | Status |
| Geo | Standort, Lieferwagen |
| Custom · Compound · Stream | Dateien/Bilder · Datensätze · Audio/Video |
| (keine Zeitreihe) | Struktur-Knoten wie Werk Nord |

Hallifax └─ Werk Nord ├─ Energie │ ├─ Leistung Double kW │ └─ Stromverbrauch Double kWh ├─ Halle 1 │ ├─ Kessel 1 │ │ ├─ Temperatur Double °C │ │ ├─ Druck Double bar │ │ ├─ Pumpe läuft Bool │ │ ├─ Betriebsstd. Long h │ │ ├─ Störungen Int │ │ └─ Status String │ └─ Förderband 1 │ └─ Geschwindigkeit Double m/s ├─ Standort Geo └─ Lieferwagen Geo
Gespeichert wird immer in der Einheit des Nodes. Die Anzeigeeinheit rechnet nur die Darstellung um: Zahl, Diagramm und Tabelle.



Neben dem Dialog gibt es einen Text-Editor für ganze Teilbäume: Einrückung = Ebene, @properties trägt Beschreibung und Einheit.

Kessel 1
@properties
description: Dampfkessel in Halle 1 (Baujahr 2019, …)
Betriebsstunden: long
@properties
description: Aufsummierte Betriebsdauer
unit: h
Druck: double
@properties
unit: bar
description: ändern, dann Speichern. Unter dem Editor steht „n geändert“.Name: werttyp legen neue Nodes an. Der Editor zeigt, wie viele Einträge angelegt, geändert oder unverändert sind.
Ein Producer erzeugt Werte, z. B. „LFO Simple“ (Sinus, Cosinus, Random, Sägezahn, Rechteck). Konverter wie „Skalieren“ oder „Schwelle“ rechnen vorhandene Werte um.



Kessel-Simulator, Typ Sinus, Frequenz 0.05 (Hz), Min 60, Max 95 → Anlegen.Druck-Simulator (Random, 2–6) an Kessel 1, Energie-Simulator (Sägezahn, 120–480) an Energie, Band-Simulator (Rechteck, 0–1,5) an Förderband 1.

Eine Datenquelle kennt den Node-Baum nicht. Sie liefert Werte für Datenpunkte. Welcher Node einen Datenpunkt aufnimmt, entscheiden Sie in LooT. Werte ohne Zuordnung warten im Puffer.
/api/source/values) oder Gerätekanal.
| Reiter | Inhalt |
|---|---|
| Datenpunkte | Name, Typ, Ziel-Node, letzter Wert |
| Puffer | Größe & Überlaufregel (z. B. älteste verwerfen) |
| Protokoll | Ablehnungen, Überläufe, Fehler |
| Zugriff | Token erneuern, sperren |
| Rechte | Lesen / Verwalten, getrennt vom Node-Baum |




Hallensensor-Gateway.Hallentemperatur (Double) und Luftfeuchte (Double) → Anlegen.curl -X POST https://ingest.<host>/api/source/values \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"values":[{"name":"Hallentemperatur","value":21.5},
{"name":"Luftfeuchte","value":48}]}'202. Unbekannte Datenpunkte und falsche Typen werden einzeln abgelehnt (Protokoll-Reiter). Im Tutorial wurden zusätzlich 24 Werte mit "ts" der letzten Stunden geschickt, damit die Diagramme etwas zeigen.






true, Zeitstempel 2026-11-04 06:15:00 → Senden. Antwort „Angenommen: 1“.1200 … 1203, Störungen 0, 1, 2 und Status Anfahren, Betrieb, Störung: Druck zu hoch.
| Weg | Wann |
|---|---|
| Node-Seite | Ein Wert im Detail: Live-Zahl, Verlauf, Tabelle |
| Objektliste | Alle Kinder mit letztem Wert auf einen Blick |
| Nach außen gezeigte Werte | Alle Werte unterhalb eines Knotens, z. B. am Werk |
| Charts | Mehrere Zeitreihen vergleichen |
| Editor | Live-Werte an den Ports der Kästen |










Geo-Werte sind Breite/Länge (optional Höhe, Genauigkeit, Geschwindigkeit, Richtung). Wer keine Koordinaten kennt, tippt eine Adresse.


Prinzipalmarkt 10, Münster → Suchen.51.961584; 7.628176) → Senden.Die Suche läuft über den Node-Server an OpenStreetMap-Nominatim. Der Wert ändert sich erst, wenn Sie einen Treffer wählen.

51.9616; 7.6282, 51.9380; 7.6100, 51.9100; 7.5900 …), jeweils mit eigenem Zeitstempel.


*druck* findet „Druck“ samt Pfad. Platzhalter * und ?.
st* filtert die Objektliste auf Störungen, Status, Stromverbrauch, Standort.Wie lange sollen Rohwerte bleiben? Aufbewahrungsklassen legen das fest. Eine Klasse = eine Dauer; je Klasse entstehen eigene Zeitreihen-Tabellen mit Retention Policy.

90 Tage (Rohdaten), Dauer 90, Einheit Tage, Kurzname 90d → Anlegen.




Starten Sie mit Folie 5 und spielen Sie die blauen Kästen nach: In rund einer Stunde steht dieselbe Welt auf Ihrer Instanz.