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
Status
Bedeutung
Nächster Schritt
Queued
Gespeichert, wartet auf das Gerät
Siehe unten „Stays queued“
Sent
Gesendet, noch nicht vom Gerät bestätigt
Warten; bleibt der Status, kann das Gerät das Topic eventuell nicht verarbeiten
Delivered
Das Gerät hat es empfangen
Auf die Antwort warten
Successful
Das Gerät hat mit Erfolg geantwortet
Wenn sich physisch nichts geändert hat, prüfen Sie die Geräteseite
Failed
Das Gerät hat mit einem Fehler geantwortet
Die Response lesen
Timed out
Keine Antwort rechtzeitig eingetroffen
Der Befehl könnte trotzdem ausgeführt worden sein: „No answer: the outcome is unknown“. Prüfen Sie das Gerät, bevor Sie erneut senden.
Expired
Er ist abgelaufen, bevor er zugestellt werden konnte
Das Gerät war länger offline als Give up after
Cancelled
Jemand hat ihn abgebrochen
Er bleibt in der Warteschlange oder läuft ab
Ursache
Abhilfe
Das Gerät ist offline und der Befehl ist persistent
Er 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 persistent
Er 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 abonniert
Befehle 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 Gateway
Befehle 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 ab
HTTP-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
Ursache
Abhilfe
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 kurz
Answer timeout (seconds) beträgt 1 bis 600 (standardmäßig 10)
Ein lang laufender Auftrag
Das 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 Ende
Angezeigt 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 Grund
Ursache
Abhilfe
bad_params
Die Parameter passen nicht zum Befehl
Füllen Sie jeden Pflichtparameter innerhalb seines Bereichs aus
confirm_required, confirm_text_mismatch
Ein Befehl mit hoher Auswirkung braucht eine Bestätigung, oder die eingetippte Phrase ist falsch
Bestätigen; die Phrase genau eintippen
method_refused
Werkseinstellungen, Kopplung, Wi-Fi-Vergessen und das Vergessen der Cloud werden nie aus der Cloud gesendet
Diese Aktionen am Gerät ausführen
rpc_method_reserved
Die Methode gehört zu einem eigenen Modul (zum Beispiel Fernzugriff)
Dieses Modul verwenden
rpc_not_supported_by_profile
Das Profil verwendet nur das Topic-Schema Legacy compatible, das keine Befehle enthält
Einstellungen als Shared Attributes senden oder das Profil auf das aktuelle Schema umstellen
device_not_active
Das Gerät ist deaktiviert oder in Quarantäne
Aktivieren Sie es
payload_too_large
Die Anfrage ist größer, als das Gerät akzeptiert (standardmäßig 64 KiB, bei lizenzierten Geräten 4 KiB)
Weniger senden
device_rate_limited
Mehr als 10 Befehle an dieses Gerät in einer Minute
Eine Minute warten
„Too many requests for your plan…“
Mehr als 600 Befehle in der Organisation in einer Minute
Befehle verteilen
Die vollständige Liste finden Sie unter Commands API.
Stufen und Berechtigungen
Stufe
Wer darf standardmäßig senden
Berechtigung
Basic
Benutzer
iot_rpc.send.basic
Privileged
Administratoren
iot_rpc.send.privileged
Critical
Administratoren
iot_rpc.send.critical
Raw (eine Methode, die nicht im Katalog steht)
Eigentümer
iot_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
Wo
Häufige Ursache
Ein Board-Steuerelement
Board-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 tut
Das Steuerelement fragt vor dem Senden nach (Ask before running ist standardmäßig aktiv); der Befehl läuft erst nach Confirm
Eine Regel auf der Regelkarte
History 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 Flow
Befehle 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-Symbol
Der Befehl eines Symbols fragt immer nach einer Bestätigung. Siehe Commands on symbols.
Ein LoRaWAN-Gerät
Nur Raw-Downlinks (lora.downlink). Geräte der Klasse A empfangen sie nach ihrem nächsten Uplink. Siehe Sending downlinks.
Wir verwenden notwendige Cookies, um die Website zu betreiben. Mit Ihrer Einwilligung verwenden wir außerdem Analyse- und Marketing-Cookies. Sie können Ihre Auswahl jederzeit ändern. Cookie-Richtlinie