Wenn ein Flow nicht das tut, was Sie erwarten, sehen Sie sich vor einer Änderung an, was er tatsächlich getan hat. Diese Seite zeigt, wo Sie nachsehen können, und listet die häufigsten Ursachen auf.
Wo Sie nachsehen
| Ort | Zeigt | Aufbewahrt |
|---|---|---|
| Zeile in der Flow-Liste | Status (Running, Off, Paused, Needs approval, Invalid, Draft), Activity, Fehler in 24 h, Limited · …, wenn ein Schutz eingegriffen hat | |
| Obere Leiste des Editors | Live oder Every 5 s, Nachrichten pro Sekunde, wartende Nachrichten, Fehler in 24 h | |
| Verbindungen und Blöcke | Nachrichtenzähler auf den Verbindungen; Zähler In, Out und Errors auf den Blöcken; eine rote Markierung an einem fehlerhaften Block, ein gelber Ring, wo ein Schutz eingegriffen hat | 24 Stunden |
| Activity > Debug | Nachrichten, die an Debug-Blöcke gelangen | 24 Stunden |
| Activity > Runs | Aufgezeichnete Läufe Schritt für Schritt: Started with, In, Sent on, It did, Left the flow | 24 Stunden |
| Activity > Trace | Eine Nachricht, verfolgt durch jeden Schritt | 24 Stunden |
| Activity > Errors | Fehlerzähler pro Block, neueste Fehler, wo jeder Fehler abgefangen wurde | 7 Tage |
| Ereignisse: Log | Zeilen der System log-Blöcke und der Engine | 24 Stunden |
| Ereignisse: Lifecycle | Deployed, turned on and off, paused, resumed, rolled back, root changed, did not start, breaker opened and closed | 30 Tage (letzte 100) |
| Ereignisse: Stats | Pro Block: Eingänge, Ausgänge pro Port, Fehler, verworfen, durch ein Limit abgelehnt, durchschnittliche und längste Zeit, langsame Schritte | 24 Stunden |
| Ereignisse: Audit | Wer den Flow geändert hat (letzte 50 Einträge) | Aufbewahrungsdauer des Audit-Protokolls |
| Failed messages | Nachrichten, die der Flow nicht ausführen konnte | Bis sie erneut abgespielt oder verworfen werden |
| Errors and alerts (Menü der Flow-Liste) | Alarme der letzten 6 Stunden, Flows mit Fehlern, häufigste Fehler der letzten 7 Tage |
Nachrichteninhalte sehen nur Personen mit Inject messages, see payloads and dead letters. Andere sehen nur Zähler.
Aufzeichnen, was geschieht
Standardmäßig werden nur Zähler gespeichert. Um Nachrichteninhalte zu sehen:
- Öffnen Sie Activity und dann Runs.
- Stellen Sie Record auf Runs that fail oder auf Every run, for 5 minutes.
- Lassen Sie Nachrichten eintreffen und öffnen Sie dann einen Lauf. „Kept x of y runs“ zeigt an, wie viele aufgezeichnet wurden.
Um eine Nachricht genau zu verfolgen, wählen Sie einen Auslöser und Trace the next message. Um sich auf einen Block zu konzentrieren, klicken Sie ihn mit der rechten Maustaste und wählen Debug node (oder Record this block for 5 minutes).
Bei jeder aufgezeichneten Eingabe führt Test with this input sie als Test erneut aus, ohne dass etwas gespeichert oder gesendet wird.
Häufige Probleme
| Symptom | Wahrscheinliche Ursache | Abhilfe |
|---|---|---|
| Der Flow startet nie | Er ist Off, Paused, Needs approval oder wurde nie deployt | Deployen Sie ihn mit Run the flow after the deploy oder setzen Sie ihn mit Resume fort |
| Ein Flow mit dem Auslöser Device message empfängt nichts | Er ist kein Root; gewöhnliche Gerätenachrichten erreichen nur den Root | Machen Sie ihn zu einem Profil-Root oder übergeben Sie Nachrichten vom Root mit Run flow. Nur alarm und attributes_updated erreichen jeden Flow, und nur wenn sie namentlich angehakt sind. |
| Ein Root empfängt nichts an seinem Auslöser Device message | Der Flow input des Roots ist verbunden, daher ist er der Einstieg | Verbinden Sie Ihre Schritte nach dem Flow input |
| Daten werden nicht gespeichert | Save telemetry fehlt im Pfad oder meldet einen Fehler | Siehe Hosts, the root flow and profile root flows |
not_a_device | Die Nachricht wurde durch einen Zeitplan, Inject, Ereignis, Timer oder Webhook ausgelöst, die sich nicht auf ein Gerät beziehen | Führen Sie gerätebezogene Arbeit im Root oder in einem Flow aus, den er startet |
| Ein Schedule wird zur falschen Uhrzeit ausgelöst | Das tz des Blocks ist leer und die Standardzeitzone der Organisation weicht ab | Setzen Sie tz; prüfen Sie Show the next runs |
| Das Deployment lehnt einen Sonnenzeitplan ab | Keine Breiten- und Längengrade angegeben | Füllen Sie lat und lon aus |
Ein Block meldet dauerhaft circuit_open | Seine Aufrufe sind wiederholt fehlgeschlagen und sind pausiert | Beheben Sie den Empfänger; er erholt sich von selbst |
HTTP-Anfrage schlägt mit ssrf_blocked fehl | Die Adresse ist privat, nicht in den erlaubten Hosts des Endpunkts enthalten oder der Pfad verlässt den Basispfad | Verwenden Sie eine öffentliche Adresse und tragen Sie den Host unter allowed_hosts ein |
| Nach einem Ausfall wird nichts gesendet | Die Nachrichten kamen verspätet; ausgehende Blöcke überspringen verspätete Nachrichten | Setzen Sie late auf send bei Datenfeeds, die den Rückstau benötigen |
| Eine Notify sendet nichts | Alle Empfänger sind in der Sperrzeit (held) oder ungültig, oder alle Kanäle haben ihr Kontingent erschöpft | Prüfen Sie msg.metadata.notify in einem Lauf; setzen Sie Repeat reason |
| Mitglieder erhalten keine E-Mail von Notify | Mitglieder (Benutzer, Rollen, Teams) werden nur in der App, per Push und in Chat-Apps erreicht | Fügen Sie address-Zeilen hinzu |
| Der Flow hat sich selbst pausiert | Eine Schleife (läuft eine Minute über dem Limit) oder wiederholt fehlschlagende Läufe | Siehe Protections and failed messages |
| „These blocks send messages round in a loop that never waits“ | Ein Zyklus ohne wartenden Block | Fügen Sie ein Delay hinzu oder brechen Sie den Zyklus auf |
flow_cycle beim Deployment | Flows lösen sich gegenseitig über Ereignisse oder Run flow aus | Entfernen Sie eine Verbindung des Zyklus |
| Ein Zähler oder Mittelwert wurde neu gestartet | Die Einstellungen des Blocks wurden beim letzten Deployment geändert | Erwartet: Ein geänderter Block beginnt mit einem leeren Speicher |
Ein Skript schlägt mit script_unavailable oder host_busy fehl | Der Skriptdienst ist nicht erreichbar oder ausgelastet | Versuchen Sie es später erneut; wenden Sie sich an den Support, falls es bestehen bleibt |
Ein Skript schlägt mit timeout oder blocked fehl | Mehr als 50 ms CPU-Zeit, dreimal hintereinander | Vereinfachen Sie das Skript oder verlagern Sie die Arbeit in fertige Blöcke |
queue_full | Ein Block hält zu viele Nachrichten oder Schlüssel | Verkürzen Sie Wartezeiten, setzen Sie einen Schlüssel oder senken Sie die Eingangsrate |
| Messwerte kommen an, aber das Dashboard ist verspätet | Diagramme über mehr als 24 Stunden lesen Minutenzusammenfassungen, die jede Minute befüllt werden | Warten Sie eine oder zwei Minuten |
Ein Flow tut zu viel
- Stop one flow: Schalten Sie ihn in der Flow-Liste aus (sein Speicher und seine wartenden Nachrichten bleiben erhalten).
- Stop all flows: der Notfall-Stopp im Kopfmenü der Flow-Liste. Während er aktiv ist, werden keine Gerätedaten gespeichert. Siehe Protections and failed messages.
- Undo a change: Versions > Roll back to this. Siehe Versions, testing and rollback.
Hilfe anfordern
Wenn Sie den Support kontaktieren, nennen Sie den Namen und Slug des Flows, den Zeitpunkt des Problems (mit Ihrer Zeitzone), den Block und seinen Fehlercode und, falls möglich, eine exportierte Kopie des Flows (Geheimnisse sind darin nie enthalten). Siehe Getting help.

