Neu: Die KI-Firewall überwacht jedes Modul und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Befehle erreichen das Gerät nicht

Warum ein Befehl in der Warteschlange bleibt, eine Zeitüberschreitung hat, abläuft, fehlschlägt oder abgelehnt wird – Befehlsstatus, Persistenz und Ablauf, Stufen und Berechtigungen, unverschlüsselte Sitzungen und Limits.

Diese Seite hilft, wenn ein Befehl, der von der Geräteseite, einem Board-Steuerelement, einem SCADA-Symbol, einer Regel, einem Flow oder der API gesendet wurde, nicht wie erwartet funktioniert. Beginnen Sie mit dem Verlauf des Befehls: Öffnen Sie den Reiter Commands des Geräts und den Befehl unter History. Dessen Status und Progress sagen meist, was passiert ist.

Den Status lesen

StatusBedeutungNächster Schritt
QueuedGespeichert, wartet auf das GerätSiehe unten „Stays queued“
SentGesendet, noch nicht vom Gerät bestätigtWarten; bleibt der Status, kann das Gerät das Topic eventuell nicht verarbeiten
DeliveredDas Gerät hat es empfangenAuf die Antwort warten
SuccessfulDas Gerät hat mit Erfolg geantwortetWenn sich physisch nichts geändert hat, prüfen Sie die Geräteseite
FailedDas Gerät hat mit einem Fehler geantwortetDie Response lesen
Timed outKeine Antwort rechtzeitig eingetroffenDer Befehl könnte trotzdem ausgeführt worden sein: „No answer: the outcome is unknown“. Prüfen Sie das Gerät, bevor Sie erneut senden.
ExpiredEr ist abgelaufen, bevor er zugestellt werden konnteDas Gerät war länger offline als Give up after
CancelledJemand hat ihn abgebrochen

Er bleibt in der Warteschlange oder läuft ab

UrsacheAbhilfe
Das Gerät ist offline und der Befehl ist persistentEr wartet, bis das Gerät zurückkommt, höchstens bis Give up after (standardmäßig 24 Stunden, maximal 7 Tage)
Das Gerät ist offline und der Befehl ist nicht persistentEr schlägt sofort fehl: „The device is offline: without „persistent“ the command fails at once.“ Senden Sie ihn als persistent oder dann, wenn das Gerät online ist.
Das Gerät hat v1/rpc/req/+ auf dieser Verbindung nicht abonniertBefehle werden nur nach diesem Abonnement zugestellt. Das Gerät muss sich nach jeder Verbindung erneut anmelden.
Die Sitzung ist unverschlüsselt (einfaches MQTT oder einfaches HTTP)Befehle werden nur über TLS-Sitzungen übertragen, außer den im Profil unter Commands allowed without TLS aufgeführten. Andere warten auf eine TLS-Sitzung oder laufen ab.
Das Gerät liegt hinter einem GatewayBefehle an Geräte hinter einem Gateway sind in Entwicklung. Senden Sie Befehle an das Gateway oder an Geräte, die sich selbst verbinden. Siehe Commands to devices behind a gateway.
Ein HTTP-Gerät fragt nicht abHTTP-Geräte warten auf Befehle mit GET /api/v1/rpc (Long Poll). Pro Gerät darf nur eine Abfrage offen sein (409). Siehe Device HTTP API.

Es tritt eine Zeitüberschreitung auf

UrsacheAbhilfe
Das Gerät führt den Befehl aus, antwortet aber nicht auf v1/rpc/res/{id}Lassen Sie es mit derselben ID antworten oder senden Sie den Befehl als One-Way
Die Antwortzeit ist zu kurzAnswer timeout (seconds) beträgt 1 bis 600 (standardmäßig 10)
Ein lang laufender AuftragDas Gerät sollte sofort annehmen ("accepted": true, "job_id": …) und das Ergebnis später im Client-Attribut rpc_result melden
Die Antwort kam nach dem EndeAngezeigt als Answered after the end

Ein Befehl kann das Gerät zweimal erreichen. Das Gerät muss die letzten 32 Request-IDs 10 Minuten lang speichern und nie einen Befehl zweimal ausführen. Siehe Sending commands to devices.

Er wird vor dem Senden abgelehnt

Meldung oder GrundUrsacheAbhilfe
bad_paramsDie Parameter passen nicht zum BefehlFüllen Sie jeden Pflichtparameter innerhalb seines Bereichs aus
confirm_required, confirm_text_mismatchEin Befehl mit hoher Auswirkung braucht eine Bestätigung, oder die eingetippte Phrase ist falschBestätigen; die Phrase genau eintippen
method_refusedWerkseinstellungen, Kopplung, Wi-Fi-Vergessen und das Vergessen der Cloud werden nie aus der Cloud gesendetDiese Aktionen am Gerät ausführen
rpc_method_reservedDie Methode gehört zu einem eigenen Modul (zum Beispiel Fernzugriff)Dieses Modul verwenden
rpc_not_supported_by_profileDas Profil verwendet nur das Topic-Schema Legacy compatible, das keine Befehle enthältEinstellungen als Shared Attributes senden oder das Profil auf das aktuelle Schema umstellen
device_not_activeDas Gerät ist deaktiviert oder in QuarantäneAktivieren Sie es
payload_too_largeDie Anfrage ist größer, als das Gerät akzeptiert (standardmäßig 64 KiB, bei lizenzierten Geräten 4 KiB)Weniger senden
device_rate_limitedMehr als 10 Befehle an dieses Gerät in einer MinuteEine Minute warten
„Too many requests for your plan…“Mehr als 600 Befehle in der Organisation in einer MinuteBefehle verteilen

Die vollständige Liste finden Sie unter Commands API.

Stufen und Berechtigungen

StufeWer darf standardmäßig sendenBerechtigung
BasicBenutzeriot_rpc.send.basic
PrivilegedAdministratoreniot_rpc.send.privileged
CriticalAdministratoreniot_rpc.send.critical
Raw (eine Methode, die nicht im Katalog steht)Eigentümeriot_rpc.send.raw

Eine fehlende Schaltfläche oder ein Berechtigungsfehler bedeutet, dass Ihrer Rolle oder Ihren Gruppen die Berechtigung der Stufe fehlt. Siehe Groups and permissions.

Aus einem Dashboard, einer Regel oder einem Flow

WoHäufige Ursache
Ein Board-SteuerelementBoard-Steuerelementen werden nur Basic-Befehle angeboten. Ein Befehl, der nicht in der Liste steht, ist nicht im Katalog des Profils enthalten oder gehört zu einer höheren Stufe. Ein ausgegrautes Steuerelement hat einen alten oder unbekannten Messwert, oder Ihnen fehlt die Berechtigung. Siehe Control cards.
Ein Board-Steuerelement, das scheinbar nichts tutDas Steuerelement fragt vor dem Senden nach (Ask before running ist standardmäßig aktiv); der Befehl läuft erst nach Confirm
Eine Regel auf der RegelkarteHistory zeigt „skipped: device is in Manual“, wenn das Gerät oder ein übergeordneter Ort im Manual-Modus ist, oder einen fehlgeschlagenen Befehlsschritt. Siehe Manual and auto modes.
Ein FlowBefehle und Einstellungen aus Flows an ein Gerät sind standardmäßig auf 30 pro Minute begrenzt. Der Befehl wird im Profil jedes Geräts nachgeschlagen; Geräte, deren Profil ihn nicht enthält, erhalten nichts. Verspätete Nachrichten senden keine Befehle. Siehe Alarm, command and notify blocks.
Ein SCADA-SymbolDer Befehl eines Symbols fragt immer nach einer Bestätigung. Siehe Commands on symbols.
Ein LoRaWAN-GerätNur Raw-Downlinks (lora.downlink). Geräte der Klasse A empfangen sie nach ihrem nächsten Uplink. Siehe Sending downlinks.

Verwandte Themen