Geräteinformationen
Anbieter können einen Suchenden über den Nachrichtenstream über Geräteinformationen benachrichtigen.
| Name der Nachrichtengruppe | Wert |
|---|---|
| Geräteinformationen | 0x03 |
| Geräteinformations-Codename | Wert |
|---|---|
| Modell-ID | 0x01 |
| BLE-Adresse aktualisiert | 0x02 |
| Akkustand aktualisiert | 0x03 |
| Verbleibende Akkulaufzeit | 0x04 |
| Anfrage zu aktiven Komponenten | 0x05 |
| Antwort auf aktive Komponenten | 0x06 |
| (Eingestellt) Funktionen | 0x07 |
| Plattformtyp | 0x08 |
| Firmwareversion | 0x09 |
| Aktuelle temporäre FHN-ID | 0x0B |
Modell-ID
Informationen zur Modell-ID (für AccountKey rückwirkend schreiben) sollten an den Seeker gesendet werden, wenn eine Verbindung zum Message Stream hergestellt wird. Beispiel: 0x03010003AABBCC
wäre:
- 0x03: Geräteinformationen
- 0x01: Modell-ID-Wert
- 0x0003: Zusätzliche Daten, Länge 3
- 0xAABBCC: Zusätzliche Daten, Modell-ID
BLE-Adresse
Informationen zur BLE-Adresse (für AccountKey rückwirkend schreiben), sofern der Anbieter sie abrufen kann, müssen auch an den Suchenden gesendet werden, wenn eine Verbindung zum Message Stream hergestellt wird und immer dann, wenn die Adresse rotiert wird. Beispiel: 0x03020006AABBCCDDEEFF wäre:
- 0x03: Geräteinformationen
- 0x02: BLE-Adresswert
- 0x0006: Zusätzliche Daten, Länge 6
- 0xAABBCCDDEEFF: Zusätzliche Daten, BLE-Adresse
Akkustand aktualisiert
Bei Anbietern, die Akkubenachrichtigungen unterstützen, können Akkuinformationen auch über Message Stream gesendet werden. Wenn Message Stream eine Verbindung herstellt oder sich der Akkustand ändert, sollte ein Update gesendet werden. Der Abschnitt mit zusätzlichen Daten des Pakets sollte identische Daten wie die Bytes s + 2, s + 3 und s + 4 enthalten, wenn Akkudaten über BLE beworben werden. Beispiel: 0x0303000357417F wäre:
- 0x03: Geräteinformationen
- 0x03: Akkuwert
- 0x0003: Zusätzliche Daten, Länge 3
- 0x57417F: Zusätzliche Daten, Akkuwerte
- 0x57: Wert für linken Kopfhörer, wird nicht geladen, 87% Akku
- 0x41: Wert für den rechten Kopfhörer, wird nicht geladen, 65% Akku
- 0x7F: Case-Wert, wird nicht geladen, unbekannter Akku
Anbieter können auch die verbleibende Akkulaufzeit aktualisieren, sofern bekannt. Beispiel:
0x03040001F0 wäre:
- 0x03: Geräteinformationen
- 0x04: Verbleibende Akkulaufzeit
- 0x0001: Zusätzliche Daten, Länge 1 (könnte bei Bedarf auch 2 für uint16 sein).
- 0xF0: Zusätzliche Daten, verbleibende Akkulaufzeit in Minuten, 240 Minuten
Aktive Komponenten
Nutzer möchten manchmal wissen, welche Komponenten derzeit aktiv sind, damit eine Aktion für sie ausgeführt werden kann (siehe Geräteaktionen). Wenn der Anbieter eine Anfrage mit dem Code Anfrage für aktive Komponenten (0x05) erhält, sollte innerhalb von einer Sekunde eine Antwort mit dem aktuellen Status des Anbieters zurückgegeben werden. In der Antwort wird der Code für die Antwort aktiver Komponenten (0x06) verwendet und sie enthält zusätzliche Daten, die angeben, welche Komponenten verfügbar sind.
Bei einem Anbieter mit einer einzelnen Komponente sollten die zusätzlichen Daten auf 0x00 gesetzt werden, wenn sie nicht verfügbar sind. Ein Beispiel hierfür ist ein Energiesparmodus, in dem die Medienwiedergabe nicht erfolgt. Andernfalls sollten zusätzliche Daten auf 0x01 gesetzt werden.
Bei Headsets mit mehreren Komponenten (z. B. einem linken und einem rechten Kopfhörer) gibt jedes Bit in den zusätzlichen Daten an, ob die jeweilige Komponente aktiv ist. Ein Beispiel für eine inaktive Komponente ist ein Kopfhörer, der sich im Lade-Case befindet und nicht verwendet wird. Speziell für das Lade-Case für den linken und rechten Kopfhörer:
- 0x00 (0b00000000): Kein Kopfhörer aktiv
- 0x01 (0b00000001): Rechter Kopfhörer aktiv, linker inaktiv
- 0x02 (0b00000010): Linker Kopfhörer aktiv, rechter inaktiv
- 0x03 (0b00000011): Beide Kopfhörer sind aktiv.
Plattformtyp
Anbieter möchten möglicherweise je nach Plattform, mit der sie verbunden sind, unterschiedlich agieren. Das schnelle Pairing erfolgt derzeit nur über Android. Die Unterstützung kann jedoch in Zukunft erweitert werden.
Die Nachricht enthält ein erstes Byte, das den Plattformtyp in den zusätzlichen Daten angibt:
| Plattformname | Wert |
|---|---|
| Android | 0x01 |
Das zweite Byte wird je nach Plattform angepasst. Unter Android bezieht sich das auf die SDK-Version. Android Pie hat beispielsweise den Wert 28 (0x1C).
Firmwareversion
Die Firmwareversion des Anbieters als String in UTF-8-Codierung. Das sind dieselben Informationen wie im Merkmal „Firmware-Revision“.
Aktuelle temporäre FHN-ID
Anbieter, die FHN-Frames bewerben, sollten die aktuelle FHN-EID (Ephemeral Identifier) mit ihrem aktuellen Taktwert melden, um sie mit dem Seeker zu synchronisieren, falls es zu einer Taktabweichung kommt (z. B. aufgrund einer leeren Batterie).
Beispiel:
- 0x03: Geräteinformationen
- 0x0B: Nachricht mit temporärer FHN-Kennung
- 0x0018: Zusätzliche Daten, Länge 24 oder 36 Byte
- 0x13F9EA80: Zusätzliche Daten (Taktwert; 4 Byte)
- 0x1122334455667788990011223344556677889900: Zusätzliche Daten (aktuelle EID; 20 oder 32 Byte)