findmy.scanner¶
Utilities related to physically discoverable FindMy-devices.
Submodules¶
Classes¶
Offline-Finding device in nearby state. |
|
BLE scanner that searches for `OfflineFindingDevice`s. |
|
Offline-Finding device in separated state. |
Package Contents¶
- class findmy.scanner.NearbyOfflineFindingDevice(mac_bytes: bytes, status_byte: int, first_adv_key_bytes: bytes, detected_at: datetime.datetime, additional_data: dict[Any, Any] | None = None)¶
Bases:
OfflineFindingDevice
Offline-Finding device in nearby state.
- property payload_len: int¶
- Classmethod:
Length of OfflineFinding data payload in bytes.
- is_from(other_device: findmy.keys.HasPublicKey | findmy.accessory.RollingKeyPairSource) bool ¶
Check whether the OF device’s identity originates from a specific key source.
- classmethod from_payload(mac_address: str, payload: bytes, detected_at: datetime.datetime, additional_data: dict[Any, Any] | None = None) NearbyOfflineFindingDevice | None ¶
Get a NearbyOfflineFindingDevice object from an OF message payload.
- class findmy.scanner.OfflineFindingScanner(loop: asyncio.AbstractEventLoop)¶
BLE scanner that searches for `OfflineFindingDevice`s.
- BLE_COMPANY_APPLE = 76¶
- classmethod create() OfflineFindingScanner ¶
- Async:
Create an instance of the scanner.
- async scan_for(timeout: float = 10, *, extend_timeout: bool = False) AsyncGenerator[OfflineFindingDevice, None] ¶
Scan for OfflineFindingDevice`s for up to `timeout seconds.
If extend_timeout is set, the timer will be extended by timeout seconds every time a new device is discovered.
- class findmy.scanner.SeparatedOfflineFindingDevice(mac_bytes: bytes, status: int, public_key: bytes, hint: int, detected_at: datetime.datetime, additional_data: dict[Any, Any] | None = None)¶
Bases:
OfflineFindingDevice
,findmy.keys.HasPublicKey
Offline-Finding device in separated state.
- property payload_len: int¶
- Classmethod:
Length of OfflineFinding data in bytes.
- property hint: int¶
Hint value as reported by the device.
- property adv_key_bytes: bytes¶
See HasPublicKey.adv_key_bytes.
- is_from(other_device: findmy.keys.HasPublicKey | findmy.accessory.RollingKeyPairSource) bool ¶
Check whether the OF device’s identity originates from a specific key source.
- classmethod from_payload(mac_address: str, payload: bytes, detected_at: datetime.datetime, additional_data: dict[Any, Any] | None = None) SeparatedOfflineFindingDevice | None ¶
Get a SeparatedOfflineFindingDevice object from an OF message payload.
- __repr__() str ¶
Human-readable string representation of an OfflineFindingDevice.