Geräteereignisse mit der API senden SendConnectorEvent - Verwaltete Integrationen für AWS IoT Device Management

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Geräteereignisse mit der API senden SendConnectorEvent

Übersicht über vom Gerät ausgelöste Ereignisse

Die SendConnectorEvent API wird zwar verwendet, um asynchron auf AWS.DiscoverDevices Vorgänge zu AWS.SendCommand reagieren, sie wird aber auch verwendet, um verwaltete Integrationen über alle vom Gerät ausgelösten Ereignisse zu benachrichtigen. Geräteinitiierte Ereignisse können als jedes Ereignis definiert werden, das von einem Gerät ohne einen vom Benutzer initiierten Befehl generiert wird. Zu diesen Geräteereignissen können unter anderem Änderungen des Gerätestatus, Bewegungserkennung, Akkuladestand und mehr gehören. Sie können diese Ereignisse mithilfe der SendConnectorEvent API mit der Operation DEVICE_EVENT an verwaltete Integrationen zurücksenden.

Im folgenden Abschnitt wird anhand einer Smart-Kamera, die zu Hause installiert ist, als Beispiel verwendet, um den Ablauf dieser Ereignisse näher zu erläutern:

Arbeitsablauf bei Geräteereignissen
Arbeitsablauf bei Geräteereignissen
  1. Ihre Kamera erkennt Bewegungen und generiert daraufhin ein Ereignis, das an Ihren Ressourcenserver gesendet wird.

  2. Ihr Ressourcenserver verarbeitet das Ereignis und sendet es an Ihren C2C-Anschluss.

  3. Ihr Connector übersetzt dieses Ereignis in die verwaltete Integrationsschnittstelle für AWS IoT Device ManagementDEVICE_EVENT.

  4. Ihr C2C-Connector sendet dieses Geräteereignis mithilfe der SendConnectorEvent API an verwaltete Integrationen, wobei der Vorgang auf „DEVICE_EVENT“ eingestellt ist.

  5. Managed Integrations identifiziert den relevanten Kunden und leitet dieses Ereignis an den Kunden weiter.

  6. Der Kunde erhält dieses Ereignis und zeigt es dem Benutzer anhand einer Benutzerkennung an.

Weitere Informationen zum SendConnectorEvent API-Betrieb finden Sie SendConnectorEvent im Referenzhandbuch für verwaltete Integrationen für AWS IoT Device Management API.

Anforderungen für vom Gerät ausgelöste Ereignisse

Im Folgenden sind einige Anforderungen für vom Gerät ausgelöste Ereignisse aufgeführt.

  • Ihre C2C-Connector-Ressource sollte in der Lage sein, asynchrone Geräteereignisse von Ihrem Ressourcenserver zu empfangen

  • Ihre C2C-Connector-Ressource sollte in der Lage sein, verwaltete Integrationen für AWS IoT Device Management Service-APIs über Sigv4 aufzurufen, wobei die AWS Anmeldeinformationen der für die Registrierung des C2C-Connectors AWS-Konto verwendeten Personen verwendet werden.

Das folgende Beispiel zeigt einen Connector, der ein vom Gerät ausgelöstes Ereignis über die API sendet: SendConnectorEvent

AWS-API: /SendConnectorEvent URI: POST /connector-event/{Your-Connector-Id} { "UserId": "Your-End-User-ID", "Operation": "DEVICE_EVENT", "OperationVersion": "1.0", "StatusCode": 200, "Message": None, "ConnectorDeviceId": "Your_Device_Id", "MatterEndpoint": { "id": "1", "clusters": [{ "id": "0x0202", "attributes": [ { "0x0000": "3" } ] }] }] }

Aus dem folgenden Beispiel geht Folgendes hervor:

  • Dies kommt vom Geräteendpunkt mit der ID gleich 1.

  • Die Gerätefunktion, auf die sich dieses Ereignis bezieht, hat eine Cluster-ID von 0x0202 und bezieht sich auf den Themencluster Fan Control.

  • Das Attribut, das geändert wurde, hat die ID 0x000 und bezieht sich auf das Fan Mode Enum innerhalb des Clusters. Es wurde auf den Wert 3 aktualisiert, was dem Wert High entspricht.

  • Da connectorId es sich um einen Parameter handelt, der vom Cloud-Dienst bei der Erstellung zurückgegeben wird, müssen Connectors Abfragen verwenden GetCloudConnector und danach filternlambdaARN. Der eigene Lambda ARN wird mithilfe der API abgefragt. Lambda.get_function_url_config Dadurch kann im CloudConnectorId Lambda dynamisch auf die zugegriffen und nicht wie zuvor statisch konfiguriert werden.