Passive BLE advertisement parser for Chef iQ wireless probes (CQ50/CQ60)
Project description
chefiq-ble
Passive Bluetooth Low Energy advertisement parser for Chef iQ wireless
cooking probes (CQ50 / CQ60), built for use with the Home Assistant
bluetooth passive update framework.
The probe broadcasts everything needed to read temperatures over plain BLE advertisements - no connection, no cloud, no base/hub required.
Install
pip install chefiq-ble
Usage
from chefiq_ble import ChefIqBluetoothDeviceData
device = ChefIqBluetoothDeviceData()
update = device.update(service_info) # a BluetoothServiceInfo / BluetoothServiceInfoBleak
for key, value in update.entity_values.items():
print(key.key, value.native_value)
What it parses
A Chef iQ probe rotates three advertisement packet types in its manufacturer
specific data (company id 0x05CD). The low nibble of the first byte selects
the type; the remaining header nibbles encode a major.minor.patch
advertisement protocol version.
| sensor | unit | source |
|---|---|---|
food_temperature |
°C | temperature packet (food core) |
ambient_temperature |
°C | temperature packet |
probe_tip_1..4_temperature |
°C | temperature packet (V2: 3 tips, V3: 4 tips) |
battery_percent |
% | status packet (V3) / temperature packet (V2, legacy) |
soc_temperature |
°C | status packet (V3) / temperature packet (V2, legacy) |
All 16-bit temperatures are signed, little-endian, divided by 10 (Celsius).
Advertisement formats
Three temperature-payload layouts are supported, selected by the protocol version carried in the advertisement:
- V3 - verified against a CQ60 (protocol version 5.0.0).
- V2 and legacy - supported from the protocol description but not yet verified against real hardware. Captures from a CQ50 or an older-firmware probe are welcome to confirm the layouts and the version dispatch boundaries.
This library decodes the probe's public BLE advertisements for
interoperability and builds on the earlier Chef iQ work in
ble_monitor. The byte
layouts are documented in parser.py.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chefiq_ble-1.0.1.tar.gz.
File metadata
- Download URL: chefiq_ble-1.0.1.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd2ee47e19a8099d840d27aad780252e811e779ae2c5c3660fb232973961c65
|
|
| MD5 |
9446554d9056d2b254a2138a77e65189
|
|
| BLAKE2b-256 |
ac0e95740bee2e21c3d8b7a62e2b1b0dc956957d066e5424fd519d5c37138f28
|
Provenance
The following attestation bundles were made for chefiq_ble-1.0.1.tar.gz:
Publisher:
release.yml on Invader444/chefiq-ble
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chefiq_ble-1.0.1.tar.gz -
Subject digest:
fcd2ee47e19a8099d840d27aad780252e811e779ae2c5c3660fb232973961c65 - Sigstore transparency entry: 1857981942
- Sigstore integration time:
-
Permalink:
Invader444/chefiq-ble@8e521621653f50a8fe8757a45eed0e263727277f -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Invader444
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8e521621653f50a8fe8757a45eed0e263727277f -
Trigger Event:
release
-
Statement type:
File details
Details for the file chefiq_ble-1.0.1-py3-none-any.whl.
File metadata
- Download URL: chefiq_ble-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333cfdcf566fccb6a9f56e0e9b7a9461365f5b925702fa9751e1689bb8fbb8b4
|
|
| MD5 |
28bc78d43ebcb9e375f1504276dd7b52
|
|
| BLAKE2b-256 |
b6e3e64a59fb41f82c6aeb6f3224bee26bc698e5d0394e5697c266383330c6fe
|
Provenance
The following attestation bundles were made for chefiq_ble-1.0.1-py3-none-any.whl:
Publisher:
release.yml on Invader444/chefiq-ble
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chefiq_ble-1.0.1-py3-none-any.whl -
Subject digest:
333cfdcf566fccb6a9f56e0e9b7a9461365f5b925702fa9751e1689bb8fbb8b4 - Sigstore transparency entry: 1857981984
- Sigstore integration time:
-
Permalink:
Invader444/chefiq-ble@8e521621653f50a8fe8757a45eed0e263727277f -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Invader444
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8e521621653f50a8fe8757a45eed0e263727277f -
Trigger Event:
release
-
Statement type: