

# Événements relatifs à l’état d’enregistrement des appareils
<a name="iot-sidewalk-device-events"></a>

Les événements relatifs à l’état d’enregistrement de l’appareil publient des notifications d’événements en cas de modification de l’état d’enregistrement de l’appareil, par exemple lorsqu’un appareil Sidewalk a été mis en service ou enregistré. Les événements vous fournissent des informations sur les différents états que traverse l’appareil entre le moment où il est mis en service et celui où il a été enregistré.

## Comment fonctionnent les événements relatifs à l’état d’enregistrement des appareils
<a name="iot-sidewalk-device-events-work"></a>

Lorsque vous intégrez votre appareil Sidewalk à Amazon Sidewalk et AWS IoT Wireless, AWS IoT Wireless effectue une opération `create` et que vous ajoutez votre appareil Sidewalk à votre Compte AWS. Votre appareil passe alors à l’état mis en service et `eventType` devient `provisioned`. Pour plus d'informations sur l'intégration de votre appareil, veuillez consulter [Démarrage avec AWS IoT Core pour Amazon Sidewalk](sidewalk-getting-started.md).

Une fois que l’appareil a été `provisioned`, Amazon Sidewalk effectue une opération `register` pour enregistrer votre appareil Sidewalk auprès de AWS IoT Wireless. Le processus d’enregistrement commence, au cours duquel les clés de chiffrement et de session sont configurées auprès de AWS IoT. Lorsque l’appareil est enregistré, `eventType` devient `registered` et votre appareil est prêt à être utilisé.

Une fois que l’appareil a été `registered`, Sidewalk peut envoyer une demande à `deregister` votre appareil. AWS IoT Wireless répond ensuite à la demande et redéfinit l’état de l’appareil à `provisioned`. Pour plus d’informations sur les états de l’appareil, veuillez consulter [ DeviceState](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SidewalkDeviceMetadata.html#iotwireless-Type-SidewalkDeviceMetadata-DeviceState). 

## Activer les notifications pour les événements relatifs à l’état d’enregistrement de l’appareil
<a name="iot-sidewalk-device-events-enable"></a>

Avant que les abonnés aux rubriques réservées à l’état d’enregistrement de l’appareil puissent recevoir des messages, vous devez activer les notifications d’événements pour eux depuis AWS Management Console ou à l’aide de l’API ou de la CLI. Vous pouvez activer ces événements pour toutes les ressources Sidewalk de votre Compte AWS ou pour certaines d’entre elles. Pour plus d’informations sur l’activation de ces événements, consultez [Activer les événements pour les ressources sans fil](iot-wireless-control-events.md). 

## Format des rubriques MQTT pour les événements relatifs à l’état d’enregistrement des appareils
<a name="iot-sidewalk-device-events-mqtt"></a>

Pour vous informer des événements liés à l’état d’enregistrement des appareils, vous pouvez vous abonner aux rubriques réservées au MQTT qui commencent par le signe dollar (\$1). Pour plus d’informations, consultez [Rubriques MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) dans le *Guide du développeur AWS IoT*. 

Les sujets MQTT réservés aux événements d’état d’enregistrement des appareils Sidewalk utilisent le format suivant :
+ Pour les rubriques au niveau des ressources :

  `$aws/iotwireless/events/{eventName}/{eventType}/sidewalk/wireless_devices`
+ Pour les rubriques relatives aux identifiants :

  `$aws/iotwireless/events/{eventName}/{eventType}/sidewalk/{resourceType}/{resourceID}/{id}`

Où :

**\$1eventName\$1**  
\$1EventName\$1 doit être `device_registation_state`.

**\$1eventType\$1**  
\$1EventType\$1 peut être `provisioned` ou `registered`.

**\$1resourceType\$1**  
\$1ResourceType\$1 peut être `sidewalk_accounts` ou `wireless_devices`.

**\$1resourceID\$1**  
\$1ResourceId\$1 est `amazon_id` pour \$1ResourceType\$1 de `sidewalk_accounts` et `wireless_device_id` pour \$1ResourceType\$1 de `wireless_devices`.

Vous pouvez également utiliser le caractère générique `+` pour vous abonner à plusieurs sujets en même temps. Le caractère générique `+` correspond à n’importe quelle chaîne du niveau qui contient le caractère. Par exemple, si vous souhaitez être informé de tous les types d’événements possibles (`provisioned` et `registered`) et pour tous les appareils enregistrés sous un identifiant Amazon spécifique, vous pouvez utiliser le filtre de rubrique suivant :

`$aws/iotwireless/events/device_registration_state/+/sidewalk/sidewalk_accounts/amazon_id/+`

**Note**  
Vous ne pouvez pas utiliser le caractère générique `#` pour vous abonner aux rubriques réservées. Pour plus d’informations sur les filtres de rubriques, consultez [Filtres de rubriques MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topicfilters.html) dans le *Guide du développeur AWS IoT*.

## Charge utile des messages pour les événements relatifs à l’état d’enregistrement de l’appareil
<a name="iot-sidewalk-device-events-json"></a>

Une fois que vous avez activé les notifications pour les événements relatifs à l’état d’enregistrement de l’appareil, les notifications d’événements sont publiées via MQTT avec une charge utile JSON. Ces événements contiennent l’exemple suivant de charge utile :

```
{    
    "eventId": "string", 
    "eventType": "provisioned|registered", 
    "WirelessDeviceId": "string",
    "timestamp": "timestamp",

    // Event-specific fields
    "operation": "create|deregister|register", 
    "Sidewalk": {
        "AmazonId": "string",
        "SidewalkManufacturingSn": "string"
    }
}
```

Les charges utiles contiennent les attributs suivants :

**eventId**  
Un ID d'événement unique (chaîne).

**eventType**  
Type d’événement qui s’est produit. Peut être `provisioned` ou `registered`.

**wirelessDeviceId**  
L’identifiant de l’appareil sans fil.

**timestamp**  
L'horodatage Unix du moment où l'événement s'est produit.

**fonctionnement**  
L'opération qui a déclenché l'événement. Les valeurs valides sont `create`, `register` et `deregister`. 

**sidewalk**  
L’ID de l’Amazon Sidewalk ou `SidewalkManufacturingSn` pour lequel vous souhaitez recevoir des notifications d’événements.