v0.10.0 — Series 7100 support, ESP bridge auto-discovery, stock-proxy compatibility
v0.10.0 — Series 7100 support, ESP bridge auto-discovery, stock-proxy compatibility
This release closes the protocol gap (every BLE-capable Sonicare family
is now supported), gives the custom ESP bridge a major upgrade, and
makes bonded brushes work over a stock bluetooth_proxy.
Required: ESP Bridge v1.4.0
The minimum bridge version is now 1.4.0 (was 1.2.x). The integration
raises an HA Repair if it sees an older bridge — please rebuild and
flash your ESPHome device with the latest YAML before / shortly after
upgrading.
New tested models
| Series | Model | Status |
|---|---|---|
| Series 7100 | HX742X | Live monitoring + control |
| DiamondClean 9000 (Viking) | HX960X | OK |
| DiamondClean 9000 | HX991B | OK |
Series 7100+ support
Series 7100 brushes (HX742X) use a different BLE protocol than the rest
of the Sonicare line-up. The integration auto-detects the protocol at
setup and exposes the same set of sensors and controls as the classic
brushes (live monitoring, sector data, mode select, intensity).
Big thanks to @lonlazer and @bobbleheadhobo for testing on real HX742X
hardware throughout the Condor beta cycle.
ESP Bridge improvements
- Auto-discovery pair flow. Arm pair-mode in the setup dialog, wake
the brush (power button), and the bridge picks it up automatically —
no need to pin a MAC in YAML before flashing. Works for any supported
brush family. Identity persists in NVS, so RPA-rotating brushes
(Series 7100) re-bind cleanly across reboots. - Standalone YAML: philips_sonicare: no longer needs an external
ble_client: block. - Robust unpair: a failed unpair no longer wedges the bridge until
reboot. - Per-bridge log tags (philips_sonicare.<bridge_id>) make multi-bridge
ESPs easier to debug — filter logs by suffix.
Integration features
- Stock bluetooth_proxy now works better for bonded brushes. An eager
SMP probe-read at session setup ensures the link is encrypted before
the subscribe burst (Bluedroid lazy encryption no longer races). - Setup dialog overhaul: dedicated steps for direct BLE vs ESP bridge,
family-aware capability list with a "Provides" column explaining what
each service enables, pair confirmation surfaces device info before
final commit, no more permanent ❌ rows for services that don't
apply to the model. - Bond hygiene: dropping a config entry removes the BLE bond on the
bridge / on BlueZ, so re-pairing is always clean. - Diagnostic sensor: Adapter Type (direct_ble / esp_bridge / stock_proxy).
- Philips shavers (OneBlade etc.) no longer surface as Sonicare
candidates during discovery, even though they share a BLE service
with the Series 7100 protocol.
Other improvements over 0.9.3
- Internal: the 477ea600-… service-based protocol was renamed Legacy →
Classic (community feedback — "Legacy" suggested deprecation, but the
protocol is in fact active on every Sonicare except HX742X / Series
7100+). No behaviour change. - Translation sync CI: en.json is regenerated from strings.json on
every PR, so localisation can't drift silently.