> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-de/kilo-iot-server/rules-engine/troubleshooting.md).

# Fehlerbehebung in der Rules Engine

Fehler bei Regeln in Kilo IoT beheben — fehlende Knoten, ungültiges CEL, Anheftung an die Grenze, Bereitstellungsgrenzen.

Diese Seite behandelt die häufigsten Probleme, auf die Sie beim Erstellen, Bereitstellen und Verwalten von Automatisierungsregeln stoßen werden — Fehler bei der Build-Validierung, Laufzeitprobleme und Plattformgrenzen.

## Build-Fehler

Wenn Sie auf **Speichern und Erstellen** in der Build-Ergebnisse-Seitenleiste klicken, validiert die Plattform das gesamte Diagramm, bevor ein Artefakt erzeugt wird. Wenn die Validierung fehlschlägt, erscheinen Fehlermeldungen in der Seitenleiste. Hier sind die Fehler, die Sie sehen können, ihre Ursachen und wie Sie sie beheben.

| Fehler                                                   | Ursache                                                                                                          | Behebung                                                                                                                                                                                                                            |
| -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Fehlendes Start-Ereignis                                 | Das Diagramm hat keinen Start-Ereignis-Knoten                                                                    | Ziehen Sie ein Start-Ereignis aus der Palette auf die Arbeitsfläche. Jede Regel muss mit genau einem Start-Ereignis beginnen.                                                                                                       |
| Fehlendes Endereignis                                    | Das Diagramm hat keinen Endereignis-Knoten                                                                       | Fügen Sie mindestens ein Endereignis hinzu. Jeder Ausführungspfad muss an einem Endereignis enden.                                                                                                                                  |
| Mehrere Startereignisse                                  | Es gibt mehr als ein Start-Ereignis auf der Arbeitsfläche                                                        | Entfernen Sie die zusätzlichen Start-Ereignisse. Eine Regel kann nur einen Einstiegspunkt haben.                                                                                                                                    |
| Kein ausgehender Fluss                                   | Ein Knoten hat keinen ausgehenden Pfeil (und ist kein Endereignis)                                               | Verbinden Sie den Knoten mit dem nächsten Schritt im Workflow. Jeder nicht-terminale Knoten benötigt einen ausgehenden Fluss.                                                                                                       |
| Startereignis ohne ausgehenden Fluss                     | Das Start-Ereignis ist mit keinem Knoten verbunden                                                               | Zeichnen Sie einen Sequenzfluss vom Start-Ereignis zum ersten Verarbeitungsknoten Ihrer Regel.                                                                                                                                      |
| Fehlende Bedingung                                       | Ein Zweig eines Exklusiven Gateways hat keinen zugewiesenen CEL-Bedingungsausdruck                               | Öffnen Sie die Gateway-Eigenschaften und fügen Sie jedem nicht-standardmäßigen Zweig einen CEL-Ausdruck hinzu. Ein Zweig sollte als Standard markiert werden (für den Standard ist keine Bedingung erforderlich).                   |
| Ungültiger Ausdruck                                      | Ein CEL-Ausdruck enthält einen Syntaxfehler                                                                      | Prüfen Sie den Ausdruck auf nicht passende Klammern, fehlende Anführungszeichen um Zeichenketten oder falsche Operatoren. Siehe [CEL-Referenz](/kilo-docs-de/kilo-iot-server/rules-engine/cel-reference.md) für gültige Syntax.     |
| Bedingung muss bool zurückgeben                          | Ein Gateway-Bedingungsausdruck gibt einen nicht-booleschen Wert zurück                                           | Gateway-Bedingungen müssen ausgewertet werden zu `wahr` oder `falsch`. Verwenden Sie Vergleichsoperatoren (`>`, `<`, `==`, `!=`, `>=`, `<=`) oder logische Operatoren (`&&`, `\|\|`, `!`).                                          |
| Grenzereignis nicht angehängt                            | Ein Grenzfehler-Ereignis existiert auf der Arbeitsfläche, ist aber nicht an einen Aufgabenknoten angehängt       | Ziehen Sie das Grenzfehler-Ereignis auf einen Script-Task-, Set-Alarm- oder Enrichment-Knoten. Es muss visuell an die Kante einer Aufgabe angehängt sein.                                                                           |
| Ziel des ausgehenden Flusses des Grenzfehler-Ereignisses | Der ausgehende Fluss eines Grenzfehler-Ereignisses zeigt auf etwas anderes als eine Aufgabe oder ein Endereignis | Leiten Sie den Fehlerpfad zu einer Aufgabe (dem Verarbeitungsschritt) oder zu einem Endereignis um.                                                                                                                                 |
| Der Standardfluss darf keine Bedingung haben             | Der als Standard des Gateways markierte Fluss trägt noch immer eine CEL-Bedingung                                | Entfernen Sie die Bedingung aus dem Standardfluss. Der Standard greift genau dann, wenn sonst nichts zutrifft, daher benötigt er keinen eigenen Ausdruck.                                                                           |
| Gateway muss aufteilen oder zusammenführen               | Ein Exklusives Gateway hat genau einen eingehenden und einen ausgehenden Fluss                                   | Ein Gateway muss eine Entscheidung treffen (zwei oder mehr ausgehende Flüsse) oder Pfade wieder zusammenführen (zwei oder mehr eingehende). Ein Durchgangs-Gateway tut nichts — löschen Sie es und verbinden Sie die Knoten direkt. |
| Doppelte Element-ID                                      | Zwei Elemente auf der Arbeitsfläche teilen sich eine Kennung                                                     | Meist das Ergebnis des Importierens oder externen Bearbeitens eines Diagramms. Löschen Sie eines der beiden Elemente und fügen Sie es erneut hinzu.                                                                                 |
| Nicht unterstützter Eingabe- oder Ausgabeparameter       | Ein Eingabe- oder Ausgabeparameter eines Knotens ist kein CEL-Ausdruck                                           | Eingaben und Ausgaben akzeptieren nur CEL-Ausdrücke. Geben Sie den Parameter im Eigenschaftenbereich erneut ein.                                                                                                                    |
| Ungültiger Parameter für Execute Command                 | Ein Execute-Command-Knoten hat einen Parameter ohne Namen, ohne Wert oder mit einem doppelt verwendeten Namen    | Öffnen Sie den Eigenschaftenbereich des Knotens und geben Sie jedem Parameter einen eindeutigen Namen und einen Wert oder Ausdruck.                                                                                                 |
| Unbekannter Elementtyp                                   | Auf der Arbeitsfläche befindet sich ein nicht erkannter Knoten                                                   | Entfernen Sie das unbekannte Element und ersetzen Sie es durch einen unterstützten Knotentyp aus der Palette. Dies kann vorkommen, wenn ein Diagramm importiert oder extern geändert wurde.                                         |

### Build-Fehler beheben

1. Lesen Sie die Fehlermeldung in der Build-Ergebnisse-Seitenleiste — sie benennt das Problem und oft auch den konkreten Knoten.
2. Schließen Sie die Seitenleiste und beheben Sie das Problem auf der Arbeitsfläche.
3. Klicken Sie **Build** erneut, um die Validierung zu wiederholen.

Mehrere Fehler können gleichzeitig auftreten. Beheben Sie sie alle, bevor Sie den Build erneut versuchen.

## Häufige Probleme

### „Ich habe einen Trigger erstellt, aber es passiert nichts“

Ein gespeicherter Trigger überwacht nur seine Bedingung. Er enthält keinen Alarm, Befehl oder andere Reaktion und ist nicht automatisch an eine Regel angehängt.

**Was ist zu tun:**

1. Zur **Regeln** Registerkarte zurückkehren und die Regel erstellen oder bearbeiten, die reagieren soll.
2. Wählen Sie das Start-Ereignis aus, klicken Sie auf den Stift und setzen Sie **Startquelle** auf **Trigger-Bedingung**.
3. Wählen Sie den gespeicherten Trigger aus und klicken Sie auf **Speichern** unten im Bereich des Start-Ereignisses.
4. Fügen Sie die Reaktionsknoten hinzu und speichern Sie dann die Regel über die Editor-Symbolleiste.
5. Erstellen Sie die Regel und stellen Sie ihr Artefakt über die **Artefakte** Registerkarte bereit.

Siehe [Vom Trigger zur laufenden Regel](/kilo-docs-de/kilo-iot-server/rules-engine/triggers.md#from-a-trigger-to-a-running-rule) für den vollständigen Ablauf.

### „Mein Trigger fehlt im Start-Ereignis“

Das **Trigger-Bedingung** Feld erscheint erst, nachdem Sie die Start-Ereignis- **Startquelle** von **Sensorablesung** auf **Trigger-Bedingung**. Es listet gespeicherte Trigger für die aktuelle Organisation auf und lädt derzeit nur die erste Ergebnisseite.

**Was ist zu tun:**

* Bestätigen Sie, dass der Trigger in derselben Organisation wie die Regel erstellt wurde.
* Bestätigen Sie, dass **Trigger-Bedingung** als Startquelle ausgewählt ist.
* Wenn der Trigger vorhanden ist, aber nicht auf der ersten Seite steht, kann er in diesem Feld noch nicht ausgewählt werden.

### „Die Regel ist gesperrt und ich kann sie nicht bearbeiten“

Derzeit bearbeitet ein anderes Teammitglied die Regel. Das Sperrsymbol in der Regelzeile zeigt, wer die Sperre hält und wann sie abläuft.

**Was ist zu tun:**

* Warten Sie, bis die Sperre abläuft. Das Ablaufdatum der Sperre wird in der Benutzeroberfläche in der Tooltip-Info zur Sperre angezeigt.
* Kontaktieren Sie die Person, die die Sperre hält, und bitten Sie sie, zu speichern und den Vorgang zu beenden.
* Wenn die Person, die die Sperre hält, nicht verfügbar ist und Sie der Eigentümer der Organisation sind, können Sie die Regel in der Regelliste zwangsweise entsperren. Siehe [Bearbeitungssperren und Team-Übergaben](/kilo-docs-de/kilo-iot-server/rules-engine/edit-locks-and-team-handoffs.md) für Details.

### „Build erfolgreich, aber die Regel läuft nicht“

Erstellen und Bereitstellen sind getrennte Schritte. Ein erfolgreicher Build erzeugt ein Artefakt, aber das Artefakt wird nicht automatisch bereitgestellt.

**Was ist zu tun:**

1. Gehen Sie zur **Artefakte** Registerkarte auf der Regel-Engine-Seite.
2. Suchen Sie den soeben erstellten Build.
3. Klicken Sie **Bereitstellen** um die Verarbeitung der ausgewählten Sensor- oder Triggerquelle durch die Regel zu starten.

### „Die Regel wurde zwangsweise gestoppt“

Die Plattform überwacht die Ausführungsgesundheit. Wenn eine Regel während der Ausführung anhaltende Fehler aufweist, wird sie automatisch gestoppt, um Kaskadenfehler zu verhindern. Das Artefakt zeigt den Status **Erzwungen gestoppt** (rot) auf der Artefakte-Registerkarte an.

**Was ist zu tun:**

1. Öffnen Sie die Regel im Editor und überprüfen Sie die Logik.
2. Prüfen Sie, ob referenzierte Sensoren noch aktiv sind und Daten melden.
3. Vergewissern Sie sich, dass alle CEL-Ausdrücke für die tatsächlichen Datenformen, die Ihre Sensoren erzeugen, gültig sind.
4. Prüfen Sie Enrichment-Knoten — der Zielsensor wurde möglicherweise gelöscht oder offline genommen.
5. Beheben Sie das Problem, erstellen Sie ein neues Artefakt und stellen Sie es bereit.

Siehe [Notfallsicherheit](/kilo-docs-de/kilo-iot-server/rules-engine/builds-artifacts-and-deployment.md#emergency-safety) für weitere Details.

### „Enrichment schlägt weiterhin fehl“

Der Enrichment-Knoten ruft die neueste Messung von einem anderen Sensor ab. Wenn dieser Sensor offline, gelöscht oder nie Daten gemeldet hat, schlägt die Anreicherung fehl.

**Was ist zu tun:**

* Vergewissern Sie sich, dass der Zielsensor existiert und aktiv Daten meldet.
* Hängen Sie ein **Grenzfehler-Ereignis** an den Enrichment-Knoten an, damit die Regel den Fehler elegant behandelt, statt vollständig zu stoppen. Siehe [Muster 4: Fehlersichere Anreicherung](/kilo-docs-de/kilo-iot-server/rules-engine/automation-patterns.md#pattern-4-error-safe-enrichment).

### „Automatisches Speichern fehlgeschlagen“

Eine Netzwerkunterbrechung oder ein vorübergehendes Serverproblem verhinderte das automatische Speichern.

**Was ist zu tun:**

* Es erscheint ein Dialog mit zwei Optionen: **Erneut versuchen** (versucht das Speichern erneut) oder **Zurück zur Regel** (kehrt ohne Speichern der letzten Änderungen zur Regelliste zurück).
* Versuchen Sie es **Erneut versuchen** zuerst. Wenn es wiederholt fehlschlägt, speichern Sie manuell mit der **Speichern** Schaltfläche.
* Wenn auch das manuelle Speichern fehlschlägt, prüfen Sie Ihre Netzwerkverbindung.

### „Ich kann eine Regel nicht aus dem Papierkorb wiederherstellen“

Die Regel hat möglicherweise das Aufbewahrungsfenster des Papierkorbs überschritten und wurde dauerhaft gelöscht.

**Was ist zu tun:**

* Prüfen Sie die **Papierkorb** Registerkarte. Wenn die Regel nicht mehr aufgeführt ist, wurde sie dauerhaft entfernt und kann nicht wiederhergestellt werden.
* Wenn die Regel noch auf der Papierkorb-Registerkarte steht, die Wiederherstellung jedoch fehlschlägt, prüfen Sie, ob Ihre Organisation das Regellimit Ihres Abonnements erreicht hat. Das Wiederherstellen einer Regel wird auf das Kontingent aktiver Regeln angerechnet.

### „Ich habe versehentlich die falsche Version wiederhergestellt“

Das Wiederherstellen einer Version zerstört nichts. Die Wiederherstellung erzeugt eine neue aktuelle Version, und die zuvor aktive Version bleibt im Verlauf erhalten.

**Was ist zu tun:**

1. Öffnen Sie den **Verlauf** Registerkarte bereit.
2. Finden Sie die Version, die vor der versehentlichen Wiederherstellung aktiv war.
3. Zeigen Sie sie an (Augensymbol) und klicken Sie auf **Diese Version wiederherstellen** um sie wieder aktuell zu machen.

## Debug-Sitzungen

### „Ich habe eine Debug-Sitzung gestartet, und nichts passiert“

Eine Debug-Sitzung lädt die Regel, setzt die Ausführung am Start-Ereignis an und wartet auf Sie. Sie führt die Regel nicht von selbst aus.

**Was ist zu tun:**

1. Schauen Sie unten auf der Arbeitsfläche nach der Debug-Symbolleiste. Sie schwebt über dem Diagramm; sie befindet sich nicht in der Kopfzeile neben Speichern und Erstellen.
2. Drücken Sie **Ausführen (F10)** um bis zum ersten Haltepunkt oder bis zum Ende auszuführen, oder **Schritt übergehen (F9)** um zu einem Element weiterzugehen.
3. Prüfen Sie, ob die Sitzung aktiv ist: Das Start-Ereignis hat eine blaue Umrandung, und im Debug-Bereich rechts werden Ihre Anfangsvariablen aufgelistet.

Siehe [Debugging von Regeln](/kilo-docs-de/kilo-iot-server/rules-engine/debugging-rules.md#the-session-starts-paused).

### „Ein Element ist rot umrandet“

Eine rote Umrandung markiert das Element, das den letzten Fehler ausgelöst hat — es ist kein Haltepunkt (ein kleiner roter Punkt über dem Element) und nicht die aktuelle Position (eine blaue Umrandung). Beginnen Sie mit dem Ausdruck dieses Elements.

**Was ist zu tun:**

1. Öffnen Sie die Eigenschaften des Elements und lesen Sie seinen Ausdruck.
2. Prüfen Sie, dass jeder von ihm verwendete Name im Tab „Variablen“ vorhanden ist. Ein Ausdruck, der `vars.RH` liest, schlägt fehl, wenn nichts mit dem Namen `RH` als anfänglicher Kontext bereitgestellt oder von einem früheren Knoten erzeugt wurde.
3. Prüfen Sie die `vars.` Präfix ist vorhanden — `RH > 70` ist nicht dasselbe wie `vars.RH > 70`.
4. Prüfen Sie, ob der Ausdruck den richtigen Typ zurückgibt. Eine Gateway-Bedingung muss `wahr` oder `falsch`.
5. Fügen Sie den Ausdruck in **Auswerten** auf der Registerkarte „Überwachen“ ein, um ihn gegen den aktuellen Zustand zu testen.

### „Das Gateway hat keinen Zweig genommen“

Zwei unterschiedliche Ursachen, mit unterschiedlichen Behebungen.

**Eine Bedingung konnte nicht ausgewertet werden.** Wenn bei einer Bedingung auf dem Gateway ein Fehler auftritt — meist weil sie auf eine Variable verweist, die dort nicht vorhanden ist —, stoppt das Gateway mit einem Fehler, und die Regel geht nicht weiter. Es fällt **nicht** auf den Standardfluss durch. Das Gateway wird rot umrandet; folgen Sie den obigen Schritten.

**Keine Bedingung traf zu und es gibt keinen Standard.** Wenn alle Bedingungen false zurückgegeben haben und kein Fluss als Standard markiert ist, hat die Ausführung keinen Zielpfad. Öffnen Sie das Gateway, wählen Sie den Fallback-Fluss aus und klicken Sie auf **Als Standard festlegen**.

### „Die Debug-Schaltflächen sind ausgegraut“

Die Schrittsteuerung ist verfügbar, während die Sitzung pausiert ist. Sie ist deaktiviert, während die Regel läuft, während ein Nebeneffekt-Dialog auf eine Antwort wartet und nachdem eine Regel nicht geladen werden konnte. Stoppen bleibt währenddessen verfügbar.

Wenn die Regel nicht geladen werden konnte, starten Sie eine neue Sitzung.

### „Meine Haltepunkte sind verschwunden“

Zwei Ursachen:

* **Sie haben Ausführung ohne Haltepunkte (F11) verwendet.** Dabei werden alle Haltepunkte deaktiviert und für den Rest der Sitzung ausgeschaltet. Aktivieren Sie sie im Tab „Haltepunkte“ wieder.
* **Der Editor wurde neu geladen.** Haltepunkte sind an die Elemente im geladenen Diagramm gebunden. Eine Benachrichtigung zeigt Ihnen, wie viele verworfen wurden, damit Sie sie erneut hinzufügen können.

### „Die Sitzung endete, während ich noch arbeitete“

Eine Debug-Sitzung dauert 30 Minuten, gemessen ab ihrem Start. Das schrittweise Durchlaufen der Regel verlängert sie nicht. Kurz bevor sie abläuft, erhalten Sie eine Warnung; starten Sie eine neue Sitzung, um fortzufahren.

## Abonnementgrenzen

Jeder Abonnementtarif umfasst eine maximale Anzahl aktiver Automatisierungsregeln. Diese Grenzen wirken sich auf mehrere Vorgänge aus:

* **Regeln erstellen:** Das **Schaltfläche „Regel hinzufügen“** auf der Registerkarte „Regeln“ ist deaktiviert, wenn Ihre Organisation ihr Regellimit erreicht. Eine Meldung erklärt, dass das Limit erreicht wurde.

<figure><img src="https://895787959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-1026878d51f59d6d7992b3d57fdc6e8b6edaeb85%2Frules-limit-reached.jpg?alt=media" alt="The Rules tab showing the Rule limit reached banner above the rules list, with Add Rule disabled"><figcaption></figcaption></figure>

\- \*\*Wiederherstellen aus dem Papierkorb:\*\* Das Wiederherstellen einer gelöschten Regel zählt als Hinzufügen einer aktiven Regel. Wenn Sie das Limit erreicht haben, wird die Wiederherstellung nicht fortgesetzt. - \*\*Regeln klonen:\*\* Das Klonen erstellt eine neue Regel, die auf das Limit angerechnet wird.

Um Ihre aktuelle Nutzung und die Grenzwerte Ihres Tarifs zu prüfen, besuchen Sie die Abonnementseinstellungen Ihrer Organisation. Um das Limit zu erhöhen, aktualisieren Sie Ihren Tarif oder entfernen Sie Regeln, die Sie nicht mehr benötigen.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-de/kilo-iot-server/rules-engine/troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
