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

Alarm-, Befehls- und Benachrichtigungsblöcke

Referenz zu Alarm auslösen, Alarm löschen, Alarm quittieren, Befehl senden, Geräteanfrage beantworten und Benachrichtigen, einschließlich der Empfänger einer Benachrichtigung je Kanal.

Diese Bausteine wirken auf Personen und Geräte: Sie öffnen und schließen Alarme, senden Befehle, beantworten Anfragen eines Geräts und versenden Benachrichtigungen. Die Alarm- und Befehlsbausteine benötigen eine Nachricht, deren Ursprung ein Gerät ist; Notify funktioniert mit jeder Nachricht.

Alarm auslösen

Öffnet einen Alarm für das Gerät der Nachricht oder aktualisiert den offenen Alarm desselben Typs: pro Gerät und Typ gibt es genau einen offenen Alarm.

EinstellungBedeutungStandardWerte
alarmDer Alarmtyperforderlicheine Vorlage, z. B. tank.{{ msg.metadata.topic }}.low; Buchstaben, Ziffern, _ . : -, nach dem Rendern höchstens 128 Zeichen
severitySchweregradwarningcritical, major, minor, warning, info
textTitelder Typeine Vorlage, höchstens 256 Zeichen
valueWird in den Details des Alarms gespeichertmsg.payloadein Pfad
notify_toWer wird informiertniemandBenutzer-IDs, E-Mail-Adressen, die Rollen OWNER, ADMIN, USER
notify_channelsKanäleAuswahl jeder PersonKanal-IDs wie inapp, mail
notify_min_severityNur ab diesem Schweregrad benachrichtigeninfoein Schweregrad
notify_repeat_secErinnern, solange offen und nicht bestätigtkeine Erinnerung0 oder 60 Sekunden und mehr

out: der Alarm (msgType alarm, der Alarm in msg.payload). Fehler: not_a_device, bad_alarm_id. Benachrichtigungen folgen demselben Ablauf wie Alarmregeln: Drosselung, eine Zusammenfassung bei einem Alarmsturm, kritische Alarme umgehen persönliche Einstellungen, sofern Ihre Organisation dies nicht deaktiviert hat. Eine Eskalation benachrichtigt erneut; ein erneutes Auslösen mit demselben Schweregrad nicht. Eine verspätete Nachricht ändert keinen Alarm. Siehe Alarmbenachrichtigungen im Detail.

Alarm löschen

Setzt den offenen Alarm eines Typs am Gerät der Nachricht auf gelöst.

EinstellungBedeutungWerte
alarmDer Alarmtyperforderlich, eine Vorlage

out: der gelöschte Alarm, oder die unveränderte Nachricht, wenn kein Alarm offen war. Wer über den Alarm informiert wurde, wird über die Auflösung informiert.

Alarm bestätigen

Bestätigt die offenen Alarme des Geräts: Sie bleiben offen, Erinnerungen werden beendet.

EinstellungBedeutungStandardWerte
alarmWelche Alarmejeder offene Alarm*, ein Typ oder ein Präfix, das mit * endet
min_severityNur ab diesem Schweregradinfoein Schweregrad
noteEine Notiz im Verlauf jedes Alarmskeinehöchstens 256 Zeichen

Alle drei Alarmbausteine erzeugen Alarme genau wie Alarmregeln. Eine Alarmänderung, die sie vornehmen, wird von Gerätenachricht-Auslösern gehört, die auf alarm lauschen; ein Ablauf, der einen Alarm auslöst und auch auf Alarme lauscht, kann sich selbst erneut starten, und die Bereitstellung warnt „Kann seinen eigenen Ablauf erneut starten“. Siehe Mit Alarmen arbeiten.

Befehl senden

Sendet einen Befehl aus der Befehlsliste des Geräteprofils an das Gerät der Nachricht. Es wird nicht gewartet: Die Nachricht läuft mit der gestellten Anfrage weiter; die Antwort des Geräts kommt später an.

EinstellungBedeutungStandardWerte
commandEin Befehl aus der Befehlsliste des Profilserforderlich (oder eine Rohmethode)aus den Befehlen Ihrer Profile auswählen
paramsDie Parameter des Befehlskeineein Objekt wie {"on": true}, oder ein Pfad wie msg.payload
methodEine Rohmethode außerhalb der Befehlslisteleernamespace.verb, höchstens 64 Zeichen

out: die Nachricht mit msg.metadata.rpcId (die Anfrage, auch auf dem Reiter Befehle des Geräts) und msg.metadata.rpcStatus (QUEUED, oder FAILED, wenn der Befehl nicht warten konnte und das Gerät offline war). Fehler (es wurde keine Anfrage gestellt):

CodeBedeutung
not_a_device, device_not_foundKeines Ihrer Geräte
unknown_commandDas Geräteprofil hat keinen solchen Befehl
bad_paramsDie Parameter passen nicht zum Befehl (msg.error.param nennt einen)
method_refusedEin Werksreset, das Koppeln oder das Vergessen des Netzwerks wird nie aus der Cloud gesendet
limitZu viele Befehle an dieses Gerät in der letzten Minute (Standard 30 aus Abläufen)
device_not_active, rpc_not_supported_by_profile, payload_too_largeWie die Konsole es melden würde
  • Der Befehl wird im Profil des Geräts jeder Nachricht gesucht: Ein Ablauf für mehrere Profile sendet nur an jene, deren Profil den Befehl enthält.
  • Die Anfrage wird im Namen des Ablaufs gestellt und erscheint wie eine aus der Konsole im Befehlsverlauf des Geräts. Ein Befehl mit hoher Auswirkung braucht beim Ausführen keine Bestätigung: Er wurde bei der Bereitstellung bestätigt.
  • Die Bereitstellung benötigt die Sendeberechtigung der Stufe des Befehls in jedem Profil, das ihn enthält, Ababläufe mit Steuerknoten der Stufe bereitstellen für einen Befehl mit hoher Auswirkung, und die Berechtigung für Roh-RPC bei einer Rohmethode.
  • Eine wiederholte oder erneut zugestellte Nachricht findet die bereits gestellte Anfrage und sendet nichts erneut. Eine verspätete Nachricht sendet keinen Befehl.
  • Jede Anfrage endet mit genau einer Nachricht rpc_response (SUCCESSFUL, FAILED, TIMEOUT, EXPIRED, CANCELLED) mit msg.metadata.rpcStatus, rpcId und requestedBy. Sie ist eine Gerätenachricht und erreicht daher den Root-Ablauf des Geräts; leiten Sie sie von dort weiter.

Befehle an Geräte hinter einem Gateway sind in Entwicklung. Siehe Befehle an Geräte senden.

Gerätanfrage beantworten

Beantwortet eine Anfrage, die das Gerät an die Plattform gesendet hat (eine Nachricht rpc_request: das Gerät ruft eine Methode in der Cloud auf). Die eingebauten Methoden getCurrentTime und getSessionLimits werden beantwortet, bevor ein Ablauf etwas sieht.

EinstellungBedeutungStandardWerte
resultWas die Methode zurückgibtmsg.payloadbeliebiger Wert; gesendet als {"ok": true, "result": …}
errorStattdessen ablehnenkeineunsupported_method, bad_params, busy, timeout, expired, forbidden, payload_too_large, internal; gesendet als {"ok": false, "error": …}
messageText, der mit einer Ablehnung gesendet wirdleerhöchstens 256 Zeichen, Vorlagen erlaubt

Die erste Antwort gewinnt. Antwortet innerhalb von 5 Sekunden kein Ablauf, beantwortet die Plattform mit unsupported_method. Fehler: rpc_request_closed, not_an_rpc_request, payload_too_large, invalid_value. Ein MQTT-Gerät erhält die Antwort auf v1/rpc/up/res/{id}, ein HTTP-Gerät über seine wartende Anfrage. Setzen Sie diesen Baustein auf den Zweig rpc_request des Root-Ablaufs (der Standard-Root protokolliert diese Anfragen nur).

Notify

Sendet eine Benachrichtigung und gibt die Nachricht weiter.

EinstellungBedeutungStandardWerte
EmpfängerZeilen mit einer Art und einem Werterforderlichhöchstens 20 Zeilen; 20 Empfänger nach der Auflösung
Grund der WiederholungWas zwei Benachrichtigungen für die Sperrzeit „gleich“ machtder Wortlaut der BenachrichtigungVorlage, 200 Zeichen
KanäleAuf diese Kanäle beschränkendie Einstellungen jedes EmpfängersKanal-IDs wie inapp, mail, sms, push
Dringlichkeitcritical umgeht persönliche Einstellungen, sofern Ihre Organisation dies nicht deaktiviert hatnormalnormal, critical
Titel, TextDie NachrichtVorlagen, 200 und 4.000 Zeichen
Textformattext, oder html für E-Mailtexttext, html
E-Mail-Betreff, Antwort anE-Mail-Optionender Titel, keinerVorlagen
Kopie, BlindkopieWeitere E-Mail-Empfänger; jeder erhält eine eigene E-MailkeineVorlagen
E-Mail-AnhängeDateien für die E-Mailkeine10 Dateien, insgesamt 1 MiB

Wer wird auf welchem Kanal erreicht

ArtWertErreicht
userDie Benutzer-ID eines MitgliedsDieses Mitglied, in der App, per Push und in verknüpften Chat-Apps
roleOWNER, ADMIN oder USERJedes aktive Mitglied mit dieser Rolle, wie oben
custom_roleEin Schlüssel einer benutzerdefinierten RolleDeren Mitglieder, wie oben
teamEine Team-IDDeren Mitglieder, wie oben
originator_ownerLeerDie Eigentümer des Ursprungs der Nachricht, sofern ein Modul sie festlegt, wie oben
addressEine oder mehrere E-Mail-Adressen, durch Kommas getrenntE-Mail
phoneEine oder mehrere Nummern in internationaler Form, durch Kommas getrenntSMS

Mitglieder werden nur über ihre Benutzer-ID angesprochen. E-Mail und SMS erreichen nur die Zeilen address und phone. Ein Mitglied, das als user aufgeführt ist, oder über eine Rolle, eine benutzerdefinierte Rolle oder ein Team erreicht wird, erhält die Benachrichtigung in der App, per Push und in verknüpften Chat-Apps gemäß seinen Einstellungen, aber nicht per E-Mail oder SMS, selbst wenn eine E-Mail-Adresse hinterlegt ist. Um Personen per E-Mail zu erreichen, fügen Sie deren Adressen in einer Zeile address hinzu.

Eine Rolle oder ein Team mit mehr als 20 aktiven Mitgliedern wird abgelehnt (too_many_recipients), statt nur teilweise benachrichtigt zu werden.

Abklingzeit, Kontingente und verspätete Nachrichten

  • Eine Person erhält eine Benachrichtigung mit demselben Grund aus demselben Ablauf höchstens einmal alle 10 Minuten (Ihr Tarif kann einen anderen Wert festlegen, mindestens 1 Minute). Setzen Sie Grund wiederholen, wenn sich der Text bei jedem Messwert ändert, zum Beispiel bei level of {{ msg.metadata.deviceName }}. Die nächste Benachrichtigung nach Ablauf der Abklingzeit enthält „(+n)“.
  • Vor dem Senden prüft der Block die monatlichen E-Mail- und SMS-Kontingente; ein Kanal, dessen Kontingent erschöpft ist, wird ausgelassen (msg.metadata.notify.quota). Nur wenn alle Kanäle erschöpft sind, schlägt der Block mit limit fehl.
  • Eine verspätete Nachricht benachrichtigt niemanden.

out enthält msg.metadata.notify: recipients, delivered, failed, suppressed, invalid, quota, held. Fehler: no_recipients, too_many_recipients, members_unavailable, invalid_attachment, notify_failed, node_not_ready, circuit_open, limit.

Vorlagen, HTML-E-Mails und Anhänge finden Sie unter Benachrichtigungen aus Regeln und Abläufen.