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)