Philips Sonicare
mtheli/philips_sonicare_ble · vv0.28.4
Philips Sonicare BLE integration for Home Assistant, real-time brushing data via Bluetooth or ESP32 bridge
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
switch | Switch or outlet | |
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature, humidity, air quality…) | |
select | Mode picker (as switches) |
What people report
Philips Sonicare toothbrushes work locally over Bluetooth or an ESP32 bridge. Kids model HX6600 had a crash and bridge encryption issues that were being worked on.
- Works10
- Partly works1
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Philips Sonicare 7100 (HX742X) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare DiamondClean 9000 (HX991x) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare DiamondClean Prestige (HX999X) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare DiamondClean Smart (HX992X) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare DiamondClean Smart 9300 (HX993X) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare ExpertClean 7300 (HX960V) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare ExpertClean 7500 (HX962V) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare FlexCare Platinum Connected (HX9120) | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare HX6322/HX6352 | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare HX6340 | Works Local | Listed as supportedSaved copySupported devices: Sonicare For Kids; HX6340; HX6322, HX6352; HX6600; FlexCare Platinum Connected; HX9120; ExpertClean; HX962V (ExpertClean 7500); HX960V (ExpertClean 7300); DiamondClean Smart; HX992X; HX993X (DiamondClean Smart 9300); DiamondClean 9000; HX960X; HX991A; HX991B; HX991K; HX991M; HX991X; DiamondClean Prestige; HX999X; Series 7100; HX742X. Limitations: Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration … Excerpt saved from the README on 2026-10-23. | README | |
| Philips Sonicare For Kids (HX6600) | Partly works Local | Crash fixed; telemetry via ESP32 bridge stalled on encryption error at report timeSaved copySummary Setup failed reliably for two HX6600/42 ("Sonicare For Kids Smart") units over the ESP32 bridge path. I traced the crash to a missing null-check, applied a one-line local patch myself to confirm it, and restarted Home Assistant. The crash is gone and the config entry now sets up successfully, but no telemetry from either brush ever reaches Home Assistant, including during a ~2 minute session with the brush actively running. Bridge-side logs show the handshake stalling on reconnect: the device never answers a request it should reply to, and the brush disconnects on its own every 5–65 … Excerpt saved from GitHub on 2026-10-23. | Issue #33 · 2026-08 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local push
Talks to the device on your network, and the device tells Home Assistant the moment something changes.
Found automatically over
- Bluetooth
- Bonjour (zeroconf)
Details
| Installs (analytics) | 202 (0.03%) |
|---|---|
| GitHub stars | 55 |
| Latest version | v0.28.4 (2026-10-18) |
| Set up in the UI | Yes |
| Maintainers | @mtheli |
| License | MIT |
Devices listed in its README
- Sonicare For Kids
- HX6340
- HX6322, HX6352
- HX6600
- FlexCare Platinum Connected
- HX9120
- ExpertClean
- HX962V (ExpertClean 7500)
- HX960V (ExpertClean 7300)
- DiamondClean Smart
- HX992X
- HX993X (DiamondClean Smart 9300)
- DiamondClean 9000
- HX960X
- HX991A
- HX991B
- HX991K
- HX991M
- HX991X
- DiamondClean Prestige
- HX999X
- Series 7100
- HX742X
Limitations from the README
- Direct BLE reconnect may be delayed: Home Assistant's Bluetooth stack filters duplicate advertisements. Since the Sonicare sends identical advertisement data on every broadcast, wake-ups can be missed. On HA 2026.5+ the integration clears the advertisement de-dup history before each wait so the next broadcast gets …
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.
Sources
- Documentation: https://github.com/mtheli/philips_sonicare_ble
- Source code: https://github.com/mtheli/philips_sonicare_ble
- Issues: https://github.com/mtheli/philips_sonicare_ble/issues
- HACS: https://hacs.xyz