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.
Implementieren Sie das AWS. DiscoverDevices Betrieb
Die Geräteerkennung gleicht die Liste der physischen Geräte, die dem Endbenutzer gehören, mit den digitalen Darstellungen dieser Endbenutzergeräte ab, die in verwalteten Integrationen für AWS IoT Device Management verwaltet werden. Sie wird von einem AWS Kunden erst auf Geräten ausgeführt, die dem Endbenutzer gehören, nachdem die Kontoverknüpfung zwischen dem Benutzer und den verwalteten Integrationen für AWS IoT Device Management abgeschlossen ist. Die Geräteerkennung ist ein asynchroner Prozess, bei dem verwaltete Integrationen für AWS IoT Device Management einen Connector aufrufen, um die Geräteerkennungsanfrage zu initiieren. Ein C2C-Connector gibt asynchron eine Liste der erkannten Endbenutzergeräte mit einer Referenz-ID (alsdeviceDiscoveryId
) zurück, die von verwalteten Integrationen generiert wurde.
Das folgende Diagramm veranschaulicht den Workflow zur Geräteerkennung zwischen dem Endbenutzer und verwalteten Integrationen für AWS IoT Device Management:

AWS. DiscoverDevices Arbeitsablauf
-
Der Kunde leitet den Geräteerkennungsprozess im Namen des Endbenutzers ein.
-
Managed Integrations for AWS IoT Device Management generiert eine Referenz-ID, die
deviceDiscoveryId
für die vom Kunden generierte Anfrage zur Geräteerkennung aufgerufen wird. AWS -
Verwaltete Integrationen für AWS IoT Device Management sendet über die
AWS.DiscoverDevices
Bedienoberfläche eine Anfrage zur Geräteerkennung an den C2C-Anschluss, einschließlich einer gültigen OAuthaccessToken
Anfrage für den Endbenutzer sowie für die.deviceDiscoveryId
-
Ihr Connector wird gespeichert
deviceDiscoveryId
, um in dasDEVICE_DISCOVERY
Ereignis aufgenommen zu werden. Dieses Ereignis enthält auch eine Liste der erkannten Endbenutzergeräte und muss alsDEVICE_DISCOVERY
Ereignis an verwaltete Integrationen für AWS IoT Device Management mit derSendConnectorEvent
API gesendet werden. -
Ihr C2C-Connector ruft den Ressourcenserver auf, um alle Geräte abzurufen, die dem Endbenutzer gehören.
-
Ihr C2C-Connector-Lambda reagiert auf den Lambda-Aufruf (
invokeFunction
) mit der ACK-Antwort zurück auf verwaltete Integrationen für AWS IoT Device Management, die als erste Antwort für den Vorgang fungiert.AWS.DiscoverDevices
Managed Integrations benachrichtigt den Kunden mit einem ACK über den von ihm eingeleiteten Geräteerkennungsprozess. -
Ihr Ressourcenserver sendet Ihnen eine Liste der Geräte, die dem Endbenutzer gehören und von diesem betrieben werden.
-
Ihr Connector konvertiert jedes Endbenutzergerät in das für verwaltete Integrationen für AWS IoT Device Management erforderliche Geräteformat
ConnectorDeviceId
,ConnectorDeviceName
einschließlich eines Fähigkeitsberichts für jedes Gerät. -
Der C2C-Connector liefert auch Informationen über den
UserId
Besitzer des erkannten Geräts. Es kann von Ihrem Ressourcenserver entweder als Teil der Geräteliste oder in einem separaten Aufruf abgerufen werden, abhängig von Ihrer Ressourcenserver-Implementierung. -
Als Nächstes ruft Ihr C2C-Connector die verwalteten Integrationen für die AWS IoT Device Management API über Sigv4 unter Verwendung von AWS-Konto Anmeldeinformationen und mit dem Betriebsparameter „DEVICE_DISCOVERY“ auf.
SendConnectorEvent
Jedes Gerät in der Liste der Geräte, die an verwaltete Integrationen für AWS IoT Device Management gesendet werden, wird durch gerätespezifische Parameter wieconnectorDeviceId
connectorDeviceName
, und a dargestellt.capabilityReport
-
Basierend auf Ihrer Antwort auf den Ressourcenserver müssen Sie verwaltete Integrationen für AWS IoT Device Management entsprechend benachrichtigen.
Wenn Ihr Ressourcenserver beispielsweise eine paginierte Antwort auf die Liste der erkannten Geräte für einen Endbenutzer erhält, können Sie für jede Abfrage ein individuelles
DEVICE_DISCOVERY
Betriebsereignis mit demstatusCode
Parameter senden.3xx
Wenn Ihre Geräteerkennung noch läuft, wiederholen Sie die Schritte 5, 6 und 7.
-
-
Managed Integrations for AWS IoT Device Management sendet eine Benachrichtigung an den Kunden darüber, dass die Geräte des Endbenutzers entdeckt wurden.
-
Wenn Ihr C2C-Connector ein
DEVICE_DISCOVERY
Betriebsereignis sendet, bei dem derstatusCode
Parameter auf den Wert 200 aktualisiert wird, werden verwaltete Integrationen den Kunden über den Abschluss des Workflows zur Geräteerkennung informieren.Wichtig
Falls gewünscht, können die Schritte 7 bis 11 vor Schritt 6 erfolgen. Wenn Ihre Drittanbieterplattform beispielsweise über eine API zum Auflisten der Geräte eines Endbenutzers verfügt, kann das DEVICE_DISCOVERY-Ereignis mit gesendet werden,
SendConnectorEvent
bevor der C2C-Connector Lambda mit dem typischen ACK antwortet.
Anforderungen an den C2C-Anschluss für die Geräteerkennung
In der folgenden Liste sind die Anforderungen für Ihren C2C-Anschluss aufgeführt, um eine erfolgreiche Geräteerkennung zu ermöglichen.
-
Der C2C-Konnektor Lambda a kann eine Anforderungsnachricht zur Geräteerkennung von verwalteten Integrationen für AWS IoT Device Management verarbeiten und den Vorgang abwickeln.
AWS.DiscoverDevices
-
Ihr C2C-Connector kann die verwalteten Integrationen für AWS IoT Device Management APIs über SigV4 aufrufen und verwendet dabei die Anmeldeinformationen des Benutzers, der für die Registrierung des Connectors AWS-Konto verwendet wurde.
Prozess der Geräteerkennung
In den folgenden Schritten wird der Geräteerkennungsprozess mit Ihrem C2C-Connector und verwalteten Integrationen für AWS IoT Device Management beschrieben.
Prozess der Geräteerkennung
-
Verwaltete Integrationen lösen die Geräteerkennung aus:
-
Senden Sie eine POST-Anfrage
DiscoverDevices
mit der folgenden JSON-Nutzlast an:/DiscoverDevices { "header": { "auth": { "token": "ashriu32yr97feqy7afsaf", "type": "OAuth2.0" } }, "payload": { "operationName": "AWS.DiscoverDevices", "operationVersion": "1.0", "connectorId": "
Your-Connector-Id
", "deviceDiscoveryId": "12345678" } }
-
-
Der Connector bestätigt die Entdeckung:
-
Der Connector sendet eine Bestätigung mit der folgenden JSON-Antwort:
{ "header": { "responseCode":200 }, "payload": { "responseMessage": "Discovering devices for discovery-job-id '12345678' with connector-id `Your-Connector-Id`" } }
-
-
Der Connector sendet ein Geräteerkennungsereignis:
-
Senden Sie eine POST-Anfrage
/connector-event/
mit der folgenden JSON-Nutzlast an:{your_connector_id}
AWS API - /SendConnectorEvent URI – POST /connector-event/{your_connector_id} { "UserId": "6109342", "Operation": "DEVICE_DISCOVERY", "OperationVersion": "1.0", "StatusCode": 200, "DeviceDiscoveryId": "12345678", "ConnectorId": "Your_connector_Id", "Message": "Device discovery for discovery-job-id '12345678' successful", "Devices": [ { "ConnectorDeviceId": "Your_Device_Id_1", "ConnectorDeviceName": "Your-Device-Name", "CapabilityReport": { "nodeId":"1", "version":"1.0.0", "endpoints":[{ "id":"1", "deviceTypes":["Camera"], "clusters":[{ "id":"0x0006", "revision":1, "attributes":[{ "id":"0x0000", }], "commands":["0x00","0x01"], "events":["0x00"] }] }] } } ] }
-
Konstruieren Sie eine CapabilityReport für das DISCOVER_DEVICES-Ereignis
Wie aus der oben definierten Ereignisstruktur ersichtlich, benötigt jedes in einem DISCOVER_DEVICES-Ereignis gemeldete Gerät, das als Reaktion auf eine AWS.DiscoverDevices
Operation dient, eine, CapbilityReport um die Fähigkeiten des entsprechenden Geräts zu beschreiben. Ein `CapabilityReport` teilt verwalteten Integrationen für AWS IoT Device Management-Gerätefunktionen in einem Matter-konformen Format mit. Die folgenden Felder müssen im ` CapabilityReport` angegeben werden:
-
nodeId
, Zeichenfolge: Bezeichner für den Geräteknoten, der Folgendes enthältendpoints
-
version
, Zeichenfolge: Version dieses Geräteknotens, die vom Connector-Entwickler festgelegt wurde -
endpoints
, Liste<Cluster>: Liste der AWS Implementierungen des Matter Data Model, die von diesem Geräteendpunkt unterstützt werden.-
id
, Zeichenfolge: Vom Connector-Entwickler festgelegte Endpunkt-ID -
deviceTypes
, Liste<String>: Liste der Gerätetypen, die dieser Endpunkt erfasst, z. B. „Kamera“. -
clusters
, Liste<Cluster>: Liste der AWS Implementierungen des Matter Data Model, das dieser Endpunkt unterstützt.-
id
, Zeichenfolge: Cluster-ID, wie im Matter-Standard definiert. -
revision
, Integer: Cluster-Revisionsnummer, wie im Matter-Standard definiert. -
attributes
,<String, Object> Map: Übersicht der Attributkennungen und der entsprechenden aktuellen Gerätestatuswerte mit Kennungen und gültigen Werten, die durch den Matter-Standard definiert sind.-
id
, Zeichenfolge: Attribut-ID, wie sie durch AWS Implementierungen des Matter Data Model definiert wurde. -
value
, Objekt: Der aktuelle Wert des durch die Attribut-ID definierten Attributs. Der Typ des „Werts“ kann sich je nach Attribut ändern. Dasvalue
Feld ist für jedes Attribut optional und sollte nur enthalten sein, wenn Ihr Connector-Lambda den aktuellen Status während der Erkennung ermitteln kann.
-
-
commands
, Liste<String>: Liste der Befehle, die diesen Cluster gemäß der Definition im Matter-Standard IDs unterstützt haben. -
events
, Liste<String>: Liste der Ereignisse, die diesen Cluster gemäß der Definition im Matter-Standard IDs unterstützt haben.
-
-
Die aktuelle Liste der unterstützten Funktionen und der entsprechenden AWS Implementierungen des Matter-Datenmodells finden Sie in der neuesten Version der Datenmodell-Dokumentation.