

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Interações de recursos e dispositivos em integrações gerenciadas
<a name="managedintegrations-sdk-device-interactions"></a>

Esta seção descreve a função da C-Function implementação e a interação entre o dispositivo e o recurso do dispositivo de integrações gerenciadas.

**Topics**
+ [Manipulando comandos remotos](#managedintegrations-sdk-interactions-commands)
+ [Lidando com eventos não solicitados](#managedintegrations-sdk-interactions-unsolicited)

## Manipulando comandos remotos
<a name="managedintegrations-sdk-interactions-commands"></a>

Os comandos remotos são gerenciados pela interação entre o SDK do dispositivo final e o recurso. As ações a seguir descrevem um exemplo de como você pode acender uma lâmpada usando essa interação.

**O cliente MQTT recebe a carga e passa para o Data Model Handler**  
Quando você envia um comando remoto, o cliente MQTT recebe a mensagem das Integrações Gerenciadas no formato JSON. Em seguida, ele passa a carga para o manipulador do modelo de dados. Por exemplo, digamos que você queira usar integrações gerenciadas para acender uma lâmpada. A lâmpada tem um endpoint \#1 que suporta o OnOff cluster. Nesse caso, quando você envia o comando para acender a lâmpada, o Managed Integrations envia uma solicitação via MQTT para o dispositivo, informando que ele deseja invocar o comando On no endpoint \#1.

**O Data Model Handler verifica as funções de retorno de chamada e as invoca**  
O Data Model Handler analisa a solicitação JSON. Se a solicitação contiver propriedades ou ações, o Data Model Handler encontrará os endpoints e invocará sequencialmente as funções de retorno de chamada correspondentes. Por exemplo, no caso da lâmpada, quando o Data Model Handler recebe a mensagem MQTT, ele verifica se a função de retorno de chamada correspondente ao comando On definido no OnOff cluster está registrada no endpoint \#1.

**O manipulador e a C-Function implementação executam o comando**  
O Data Model Handler chama as funções de retorno de chamada apropriadas encontradas e as invoca. A C-Function implementação então chama as funções de hardware correspondentes para controlar o hardware físico e retorna o resultado da execução. Por exemplo, no caso da lâmpada, o Data Model Handler chama a função de retorno de chamada e armazena o resultado da execução. Como resultado, a função de retorno de chamada liga a lâmpada.

**O Data Model Handler retorna o resultado da execução**  
Depois que todas as funções de retorno de chamada forem chamadas, o Data Model Handler combina todos os resultados. Em seguida, ele empacota a resposta no formato JSON e publica o resultado na nuvem de integrações gerenciadas usando o cliente MQTT. No caso da lâmpada, a mensagem MQTT na resposta conterá o resultado de que a lâmpada foi ligada pela função de retorno de chamada.

## Lidando com eventos não solicitados
<a name="managedintegrations-sdk-interactions-unsolicited"></a>

Eventos não solicitados também são tratados pela interação entre o SDK do dispositivo final e o recurso. As ações a seguir descrevem como.

**O dispositivo envia uma notificação para o Data Model Handler**  
Quando ocorre uma alteração de propriedade ou evento, como quando um botão físico é pressionado no dispositivo, a C-Function implementação gera uma notificação de evento não solicitada e chama a função de notificação correspondente para enviar a notificação ao manipulador do modelo de dados.

**O Data Model Handler traduz a notificação**  
O Data Model Handler manipula a notificação recebida e a traduz para o modelo de AWS dados.

**O Data Model Handler publica notificação na nuvem**  
Em seguida, o Data Model Handler publica um evento não solicitado na nuvem de integrações gerenciadas usando o cliente MQTT.