Informations sur l'appareil
Les fournisseurs peuvent informer un demandeur sur les informations de l'appareil via le flux de messages.
| Nom du groupe de messages | Valeur |
|---|---|
| Événement d'informations sur l'appareil | 0x03 |
| Nom de code des informations sur l'appareil | Valeur |
|---|---|
| ID du modèle | 0x01 |
| Adresse BLE modifiée | 0x02 |
| Batterie mise à jour | 0x03 |
| Autonomie restante de la batterie | 0x04 |
| Demande de composants actifs | 0x05 |
| Réponse des composants actifs | 0x06 |
| (Obsolète) Capacités | 0x07 |
| Type de plate-forme | 0x08 |
| Version du micrologiciel | 0x09 |
| Identifiant éphémère actuel du FHN | 0x0B |
ID du modèle
Les informations sur l'ID du modèle (pour Écrire une clé de compte de manière rétroactive) doivent être envoyées au Seeker lorsque le flux de messages se connecte. Par exemple, 0x03010003AABBCC deviendrait :
- 0x03 : Événement d'informations sur l'appareil
- 0x01 : valeur de l'ID du modèle
- 0x0003 : données supplémentaires, longueur 3
- 0xAABBCC : données supplémentaires, ID du modèle
Adresse BLE
Les informations sur l'adresse BLE (pour Retroactively Writing AccountKey), si le fournisseur peut les obtenir, doivent également être envoyées au demandeur lorsque le flux de messages se connecte et chaque fois que l'adresse est modifiée. Par exemple, 0x03020006AABBCCDDEEFF deviendrait :
- 0x03 : Événement d'informations sur l'appareil
- 0x02 : valeur de l'adresse BLE
- 0x0006 : données supplémentaires, longueur 6
- 0xAABBCCDDEEFF : données supplémentaires, adresse BLE
Batterie mise à jour
Pour les fournisseurs qui prennent en charge les notifications de batterie, les informations sur la batterie peuvent également être envoyées via le flux de messages. Une mise à jour doit être envoyée lorsque Message Stream se connecte ou que la valeur de la batterie change. La section de données supplémentaires du paquet doit contenir des données identiques aux octets s+2, s+3 et s+4 lors de la publicité des données de batterie sur BLE. Par exemple, 0x0303000357417F deviendrait :
- 0x03 : Événement d'informations sur l'appareil
- 0x03 : Valeur de la batterie
- 0x0003 : données supplémentaires, longueur 3
- 0x57417F : données supplémentaires, valeurs de la batterie
- 0x57 : valeur de l'écouteur gauche, pas en charge, batterie à 87 %
- 0x41 : valeur de l'écouteur droit, pas en charge, 65% de batterie
- 0x7F : valeur de l'étui, pas en charge, batterie inconnue
Les fournisseurs peuvent également mettre à jour l'autonomie restante de la batterie (si elle est connue). Par exemple, 0x03040001F0 deviendrait :
- 0x03 : Événement d'informations sur l'appareil
- 0x04 : Temps de batterie restant
- 0x0001 : données supplémentaires, longueur 1 (peut être 2 pour uint16 si nécessaire).
- 0xF0 : données supplémentaires, temps de batterie restant en minutes, 240 minutes
Composants actifs
Les utilisateurs peuvent parfois souhaiter savoir quels composants sont actuellement actifs, ce qui signifie qu'une action peut être effectuée sur eux (voir Actions sur les appareils). Lorsque le fournisseur reçoit une requête contenant le code active components request (0x05), une réponse doit être renvoyée dans un délai d'une seconde, indiquant l'état actuel du fournisseur. La réponse utilisera le code active components response (0x06) et contiendra des données supplémentaires indiquant les composants disponibles.
Pour un fournisseur avec un seul composant, les données supplémentaires doivent être définies sur 0x00 si elles ne sont pas disponibles. Par exemple, un mode économie d'énergie peut empêcher la lecture de contenus multimédias. Sinon, les données supplémentaires doivent être définies sur 0x01.
Pour les casques comportant plusieurs composants (par exemple, un écouteur gauche et un écouteur droit), chaque bit des données supplémentaires indique si ce composant est actif. Un écouteur rangé dans son étui et non utilisé est un exemple de composant inactif. Pour le boîtier des écouteurs gauche et droit :
- 0x00 (0b00000000) : aucun écouteur actif
- 0x01 (0b00000001) : écouteur droit actif, écouteur gauche inactif
- 0x02 (0b00000010) : écouteur gauche actif, écouteur droit inactif
- 0x03 (0b00000011) : les deux écouteurs sont actifs
Type de plate-forme
Les fournisseurs peuvent souhaiter se comporter différemment en fonction de la plate-forme à laquelle ils sont connectés. L'Association express n'est actuellement disponible que sur Android, mais elle pourra être étendue à d'autres systèmes à l'avenir.
Le message contient un premier octet identifiant le type de plate-forme dans les données supplémentaires :
| Nom de la plate-forme | Valeur |
|---|---|
| Android | 0x01 |
Le deuxième octet sera personnalisé par plate-forme. Sur Android, il s'agit de la version du SDK. Par exemple, Android Pie aura une valeur de 28 (0x1C).
Version du micrologiciel
Version du micrologiciel du fournisseur sous forme de chaîne encodée en UTF-8. Ces informations sont identiques à celles de la caractéristique de révision du micrologiciel.
Identifiant éphémère FHN actuel
Les fournisseurs qui diffusent des frames FHN doivent signaler l'identifiant éphémère (EID) FHN actuel avec leur valeur d'horloge actuelle pour se synchroniser avec le Seeker en cas de décalage de l'horloge (par exemple, en raison d'une batterie déchargée).
Exemple :
- 0x03 : Événement d'informations sur l'appareil
- 0x0B : message d'identifiant éphémère FHN actuel
- 0x0018 : données supplémentaires, longueur de 24 ou 36 octets
- 0x13F9EA80 : données supplémentaires (valeur d'horloge ; 4 octets)
- 0x1122334455667788990011223344556677889900 : données supplémentaires (EID actuel ; 20 ou 32 octets)