Geräteinformationen
Anbieter können einen Suchenden über den Nachrichtenstream über Geräteinformationen benachrichtigen.
Name der Nachrichtengruppe | Wert |
---|---|
Ereignis „Geräteinformationen“ | 0x03 |
Name des Geräteinformationen-Codes | Wert |
---|---|
Modell-ID | 0x01 |
BLE-Adresse aktualisiert | 0x02 |
Akku aktualisiert | 0x03 |
Verbleibende Akkulaufzeit | 0x04 |
Anfrage zu aktiven Komponenten | 0x05 |
Antwort auf aktive Komponenten | 0x06 |
(Eingestellte) Funktionen | 0x07 |
Plattformtyp | 0x08 |
Firmwareversion | 0x09 |
Aktuelle FHN-sitzungsspezifische Kennung | 0x0B |
Modell-ID
Informationen zur Modell-ID (für das rückwirkende Schreiben des Kontoschlüssels) sollten an den Sucher gesendet werden, wenn eine RFCOMM-Verbindung hergestellt wird. 0x03010003AABBCC
würde beispielsweise so dargestellt:
- 0x03: Ereignis „Geräteinformationen“
- 0x01: Modell-ID-Wert
- 0x0003: Zusätzliche Daten, Länge 3
- 0xAABBCC: Zusätzliche Daten, Modell-ID
BLE-Adresse
BLE-Adressinformationen (für das rückwirkende Schreiben des Kontoschlüssels) sollten, falls verfügbar, auch an den Sucher gesendet werden, wenn eine RFCOMM-Verbindung hergestellt wird und immer, wenn die Adresse rotiert wird. 0x03020006AABBCCDDEEFF
würde beispielsweise so aussehen:
- 0x03: Ereignis „Geräteinformationen“
- 0x02: BLE-Adresswert
- 0x0006: Zusätzliche Daten, Länge 6
- 0xAABBCCDDEEFF: Zusätzliche Daten, BLE-Adresse
Akku aktualisiert
Bei Anbietern, die Akkubenachrichtigungen unterstützen, können Akkuinformationen auch über RFCOMM gesendet werden. Wenn eine RFCOMM-Verbindung hergestellt wird oder sich der Akkustand ändert, sollte eine Aktualisierung gesendet werden. Der Abschnitt mit zusätzlichen Daten des Pakets muss bei der Übertragung von Akkudaten über BLE dieselben Daten wie die Bytes s + 2, s + 3 und s + 4 enthalten. 0x0303000357417F
würde beispielsweise so aussehen:
- 0x03: Ereignis „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, Akkustand 87 %
- 0x41: Wert für rechten Kopfhörer, wird nicht geladen, 65% Akkulaufzeit
- 0x7F: Fallwert, Akku wird nicht geladen, unbekannter Akku
Anbieter können auch die verbleibende Akkulaufzeit aktualisieren (falls bekannt). Für 0x03040001F0
gilt beispielsweise:
- 0x03: Ereignis „Geräteinformationen“
- 0x04: Verbleibende Akkulaufzeit
- 0x0001: Zusätzliche Daten, Länge 1 (bei Bedarf auch 2 für uint16)
- 0xF0: Zusätzliche Daten, verbleibende Akkulaufzeit in Minuten, 240 Minuten
Aktive Komponenten
Suchende möchten manchmal wissen, welche Komponenten derzeit aktiv sind, d. h., auf die eine Aktion ausgeführt werden kann (siehe Geräteaktionen). Wenn der Anbieter eine Anfrage mit dem Code Anfrage zu aktiven Komponenten (0x05) erhält, muss innerhalb von einer Sekunde eine Antwort mit dem aktuellen Status des Anbieters zurückgegeben werden. Die Antwort verwendet den Antwortcode für aktive Komponenten (0x06) und 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 wäre ein Energiesparmodus, in dem keine Medienwiedergabe erfolgt. Andernfalls sollten zusätzliche Daten auf 0x01 gesetzt werden.
Bei Headsets mit mehreren Komponenten (z. B. einem linken und einem rechten In-Ear-Kopfhörer) gibt jedes Bit in den zusätzlichen Daten an, ob diese Komponente aktiv ist. Ein Beispiel für eine inaktive Komponente wäre ein In-Ear-Kopfhörer, der sich im Case befindet und nicht verwendet wird. Speziell für das Case für den linken und rechten Kopfhörer:
- 0x00 (0b00000000): Keiner der beiden In-Ear-Kopfhörer ist aktiv.
- 0x01 (0b00000001): Rechter In-Ear-Kopfhörer aktiv, linker inaktiv
- 0x02 (0b00000010): Linker In-Ear-Kopfhörer aktiv, rechter inaktiv
- 0x03 (0b00000011): Beide In-Ear-Kopfhörer sind aktiv.
Plattformtyp
Je nach Plattform, mit der sie verbunden sind, kann es sein, dass Anbieter unterschiedliche Ergebnisse erzielen. Das schnelle Pairing wird derzeit nur über Android durchgeführt. Die Unterstützung wird aber möglicherweise in Zukunft erweitert.
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 in der Firmware-Revision.
Aktuelle FHN-sitzungsspezifische Kennung
Anbieter, die FHN-Frames angeben, sollten die aktuelle FHN-sitzungsspezifische Kennung (EID) mit dem aktuellen Uhrenwert melden, um sich bei einer Uhrenabweichung (z. B. aufgrund eines leeren Akkus) mit dem Sucher zu synchronisieren.
Beispiel:
- 0x03: Ereignis „Geräteinformationen“
- 0x0B: Nachricht mit aktueller FHN-sitzungs-ID
- 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)