Releases: ruaan-deysel/ha-philips-airpurifier
Release list
v2026.6.3
Added
- Support for the HU4209/00 (Philips Evaporative Humidifier Series 4000).
It uses Gen3 CoAP and reuses the HU1509/HU1510 preset and speed mappings,
differing only by the absence of ambient light mode
(#63). - Support for the AC2210 family (PureProtect Quiet 2200 series, e.g.
AC2210/10) by reusing the AC2221 device configuration; previously these
devices were detected but rejected withmodel_unsupported
(#59).
v2026.6.2
Improvements
- Coordinator reconnect handling now uses exponential backoff retries
(5 seconds up to a 60-second cap) after reconnect failures, instead of
waiting for the watchdog interval to recover. (#51) - Devices are no longer marked unavailable immediately when the CoAP
observation stream ends; unavailable is now set only when reconnect attempts
actually fail, reducing transient warning noise. (#51)
v2026.6.1
Fixed
- DHCP discovery now matches already configured devices by MAC address (or
host) before opening a CoAP connection
(#8).
This fixes two long-standing problems:- A purifier that received a new IP address from the router stayed
unavailable forever, because the discovery flow had to connect to the
device to identify it — which fails while the device is mid-transition or
while the integration holds the device's single CoAP connection. The
stored host is now updated from the DHCP packet alone and the entry is
reloaded automatically. - An already configured purifier kept reappearing as a newly discovered
device, repeatedly probing (and potentially disrupting) the active
connection.
- A purifier that received a new IP address from the router stayed
- Entries created via manual setup (which have no MAC stored) are matched by
host on the first DHCP discovery and the MAC is backfilled, so subsequent
IP changes are handled automatically. - Config flow no longer raises
ConfigEntryNotReadyfrom flow steps (an
invalid pattern that produced "unknown error" in the UI); connection
failures now abort discovery flows withcannot_connectand re-show the
form with an error in user-initiated flows. - A connection timeout during manual setup no longer dead-ends the flow with
an untranslatedtimeoutabort; the form is shown again with a
"cannot connect" error. - Form error keys (
invalid_host,cannot_connect) now match the defined
translation strings; previously the UI displayed raw identifiers like
connect. selectentities now reportNone(unknown) instead of the raw device
value when the device sends an option value the integration does not know,
matching the Home AssistantSelectEntitycontract.- The fan mode select is no longer a configuration entity, so it appears in
device automation pickers again
(#2). - Declared the correct minimum Home Assistant version (2026.4.0, matching the
documented requirement) inhacs.jsonand the README badge. Home Assistant
releases before 2026.3 run Python 3.13, where the integration fails to load
with a syntax error
(#45);
the previous HACS minimum of 2025.1.0 allowed broken installs.
Changed
- All translation files (
bg,de,en,nl,ro,sk) now have an
identical key structure; missing abort/error strings
(cannot_connect,different_device,reconfigure_successful) were added
with proper translations. - Removed descriptions for services that do not exist
(calibrate_sensors,set_display_brightness,schedule_maintenance,
set_timer,reset_device) and an unused repair issue string from
strings.json.
Quality
- Test suite extended to restore 100% coverage (config flow discovery
matching, repairs acknowledge persistence, event code parsing,const.py
value converters).
v2026.6.0
What's Changed
- Switched integration to new brand system for custom integrations.
New Contributors
- @selimrecep made their first contribution in #46
Full Changelog: v2026.5.0...v2026.6.0
v2026.5.0
What's Changed
- chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 in the github-actions group by @dependabot[bot] in #24
- chore(deps): bump the uv group across 1 directory with 2 updates by @dependabot[bot] in #25
- chore(deps): bump the uv group across 1 directory with 2 updates by @dependabot[bot] in #27
- Latest-HA dev container, issue #29/#26/#8 fixes, notification event entity, philips-airctrl 1.1.0 by @ruaan-deysel in #32
- chore(deps): bump ruff from 0.15.1 to 0.15.15 by @dependabot[bot] in #34
- chore(deps): bump the github-actions group across 1 directory with 2 updates by @dependabot[bot] in #33
- chore(deps): bump idna from 3.11 to 3.15 in the uv group across 1 directory by @dependabot[bot] in #28
Full Changelog: v2026.4.1...v2026.5.0
v2026.4.1
What's Changed
- fix: update pip-audit command in security workflow by @ruaan-deysel in #20
- chore(deps): bump pillow from 12.1.1 to 12.2.0 in the uv group across 1 directory by @dependabot[bot] in #21
- fix(coordinator): use background tasks to prevent HA startup blocking by @ruaan-deysel in #23
Full Changelog: v2026.4.0...v2026.4.1
v2026.4.0
What's Changed
- chore(deps): bump uv from 0.6.10 to 0.9.6 by @dependabot[bot] in #12
- [Aikido] AI Fix for 3rd party Github Actions should be pinned by @aikido-autofix[bot] in #13
- chore(deps): bump the uv group across 1 directory with 4 updates by @dependabot[bot] in #9
- chore: upgrade HA to 2026.2.3, fix dependency CVEs, OWASP Top 10 hardening by @Copilot in #14
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #15
- chore(deps): bump uv from 0.6.10 to 0.11.6 by @dependabot[bot] in #17
- chore: upgrade to Home Assistant 2026.4.x and apply security fixes by @ruaan-deysel in #19
- chore(deps): bump pillow from 11.1.0 to 12.1.1 by @dependabot[bot] in #10
- chore(deps): bump pyopenssl from 23.0.0 to 26.0.0 by @dependabot[bot] in #11
Full Changelog: v2026.2.0...v2026.4.0
v2026.2.0
- Refactored integration to follow HA Core integration patterns
- Integration is now using the philips-airctrl python library
Release v0.27.0
🎉 Philips Air Purifier Integration v0.27.0
This release introduces comprehensive custom services support and adds an official MIT license to the project, significantly expanding the functionality and automation capabilities of the integration.
✨ What's New
🔧 Custom Services Framework
This release introduces 7 powerful custom services that provide advanced control and automation capabilities:
🔄 Filter Management
filter_reset: Reset filter life counters and maintenance schedules- Support for multiple filter types (pre-filter, HEPA, carbon, NanoProtect)
- Automatic maintenance schedule reset
- Perfect for post-filter replacement workflows
🎯 Sensor Calibration
calibrate_sensors: Calibrate air quality sensors for accurate readings- Support for PM2.5, allergen index, gas, and TVOC sensors
- Multiple calibration modes (auto, manual, factory reset)
- Manual calibration with reference values
💡 Display Control
set_display_brightness: Advanced display brightness management- Brightness control (0-100%)
- Auto-dimming based on ambient light
- Night mode with configurable time schedules
- Perfect for bedroom and quiet environments
📅 Maintenance Scheduling
schedule_maintenance: Automated maintenance reminder system- Multiple maintenance types (filter replacement, sensor calibration, deep cleaning)
- Configurable reminder intervals (1-365 days)
- Advanced notification system with customizable advance warnings
- Maintenance notes and documentation
🔒 Child Safety
set_child_lock: Enhanced child lock management- Programmatic control of child lock settings
- Integration with automation systems
⏰ Timer Control
set_timer: Advanced timer functionality- Flexible duration settings (0.5-24 hours)
- Multiple post-timer actions (turn off, sleep mode, auto mode)
- Energy-saving automation capabilities
🔄 Device Reset
reset_device: Comprehensive device reset options- Soft reset, factory reset, and network reset modes
- Safety confirmation requirements
- Troubleshooting and maintenance support
📜 Enhanced Documentation
- Comprehensive Service Schemas: Detailed YAML definitions for all services
- Rich Field Descriptions: Clear explanations and examples for all service parameters
- UI Integration: Full Home Assistant UI support with selectors and validation
- Service Documentation: Complete
services.yamlwith 290+ lines of detailed specifications
🏆 Quality Improvements
- Silver Quality Scale: Added official Home Assistant quality scale assessment
- Quality Scale Documentation: Comprehensive 200+ line quality assessment file
- Enhanced Manifest: Updated with quality scale and improved metadata
📜 Legal & Licensing
- MIT License: Added official MIT license for open-source compliance
- Clear Licensing Terms: 201-line comprehensive license file
- Commercial and Personal Use: Permissive licensing for all use cases
🛠️ Technical Enhancements
📊 Service Architecture
- 571 Lines of Service Code: Comprehensive service implementation
- Robust Error Handling: Enhanced error management and validation
- Service Registration: Automatic service registration and cleanup
- Integration Lifecycle: Proper service management during setup/teardown
📝 Configuration & Strings
- Enhanced Strings: 128 lines of localization strings for service UI
- Service Schemas: Complete YAML schemas for all custom services
- UI Integration: Full Home Assistant frontend integration
📱 Service Usage Examples
Automation Examples
# Reset filter after replacement
service: philips_airpurifier_coap.filter_reset
target:
entity_id: fan.bedroom_air_purifier
data:
filter_type: "hepa_filter"
reset_maintenance_schedule: true
# Set night mode display
service: philips_airpurifier_coap.set_display_brightness
target:
entity_id: fan.bedroom_air_purifier
data:
brightness_level: 10
night_mode: true
night_mode_start: "22:00"
night_mode_end: "07:00"
# Schedule maintenance reminder
service: philips_airpurifier_coap.schedule_maintenance
target:
entity_id: fan.living_room_air_purifier
data:
maintenance_type: "filter_replacement"
reminder_interval: 90
enable_notifications: true
notification_advance_days: 7🔗 Important Links
- 📖 Documentation: DeepWiki Docs
- 🏠 HACS: Install via HACS
- 💬 Community: Home Assistant Community Forum
- 🐛 Issues: Report Issues
- 📜 License: MIT License
⚠️ Important Notes
- Service Availability: Custom services are automatically registered when the integration loads
- Entity Targeting: Services can target fan, sensor, switch, and light entities as appropriate
- UI Integration: All services include full Home Assistant UI support with proper selectors
- Safety Features: Critical services like device reset include confirmation requirements
- Home Assistant: Requires Home Assistant 2025.1.0 or newer
- Dependencies: Uses aioairctrl==0.2.5 and getmac==0.9.4
🔄 Upgrade Notes
From v0.26.0
- New Services: 7 new custom services are automatically available after upgrade
- No Breaking Changes: All existing functionality remains unchanged
- Enhanced Capabilities: Significant expansion of automation and control options
- Quality Scale: Integration now meets Home Assistant Silver quality standards
🙏 Credits
This integration continues to build upon excellent work by:
- @rgerganov - Original reverse engineering
- @betaboon - Initial integration
- @Denaun - Major rework
- @mhetzi - Timer functionality
- @Kraineff - Contributions and testing
- @shexbeer - Device support
- @thomasloven - Custom icons
📦 Installation
HACS (Recommended)
- Add this repository to HACS
- Search for "Philips AirPurifier" and install
- Restart Home Assistant
- Configure via UI
- New: Custom services are automatically available!
Manual Installation
- Download the latest release
- Extract to
custom_components/philips_airpurifier - Restart Home Assistant
- Configure via UI
- New: Custom services are automatically available!
Full Changelog: v0.26.0...v0.27.0
Release v0.26.0
🎉 Philips Air Purifier Integration v0.26.0
This is the first official release of the Philips Air Purifier Home Assistant integration under the domalab organization. This release represents a complete overhaul and enhancement of the integration with significant improvements to documentation, functionality, and user experience.
✨ What's New
🔧 Core Integration Features
- Complete Home Assistant Integration: Full support for Philips air purifiers and humidifiers using encrypted CoAP protocol
- Auto-Discovery: Automatic detection of compatible devices on your network
- Comprehensive Entity Support: Fan, humidifier, sensors, switches, lights, climate controls, and more
- Real-time Monitoring: Air quality sensors (PM2.5, IAI), filter status, and device diagnostics
- Multi-language Support: Available in English, German, Dutch, Bulgarian, Romanian, and Slovak
- Custom Icons: Beautiful Philips-branded icons for the Home Assistant frontend
🩺 Diagnostics & Repair Support
- Enhanced Diagnostics: Added comprehensive diagnostic capabilities for better troubleshooting
- Repair Support: Integrated repair functionality to help resolve common device issues
- Improved Error Handling: Better error reporting and recovery mechanisms
📚 Documentation Overhaul
- Complete README Redesign: Professional, comprehensive documentation with clear sections
- DeepWiki Integration: Added DeepWiki documentation badge and integration for enhanced docs
- Badge Standardization: Unified badge styling across all project badges
- Installation Guides: Detailed HACS and manual installation instructions
- Troubleshooting Section: Comprehensive troubleshooting guide with common issues and solutions
- Contributing Guidelines: Clear guidelines for community contributions
🎨 Visual Improvements
- Professional Badges: Clean, consistent badge styling matching DeepWiki design
- Icon Showcase: Visual preview of all available custom icons
- Organized Device Support: Categorized tables showing all supported device models
- Enhanced Formatting: Improved markdown structure with emojis and clear hierarchy
📱 Supported Devices
This release supports a wide range of Philips devices including:
- Air Purifiers: AC0850, AC0950, AC1214, AC1715, AC2729, AC2889, AC2936, AC3033, AC3055, AC3210, AC3259, AC3420, AC3737, AC3829, AC3854, AC3858, AC4220, AC4550, AC5659 series
- Humidifiers: CX3120, CX3550, CX5120, HU1509, HU5710 series
- 2-in-1 Combos: AMF765, AMF870 series
🔗 Important Links
- 📖 Documentation: DeepWiki Docs
- 🏠 HACS: Install via HACS
- 💬 Community: Home Assistant Community Forum
- 🐛 Issues: Report Issues
⚠️ Important Notes
- Firmware Compatibility: Some newer firmware versions may disable local CoAP communication
- Stability: Due to device firmware limitations, occasional reconnections may be required
- Home Assistant: Requires Home Assistant 2025.1.0 or newer
- Dependencies: Uses aioairctrl==0.2.5 and getmac==0.9.4
🙏 Credits
This integration builds upon excellent work by:
- @rgerganov - Original reverse engineering
- @betaboon - Initial integration
- @Denaun - Major rework
- @mhetzi - Timer functionality
- @Kraineff - Contributions and testing
- @shexbeer - Device support
- @thomasloven - Custom icons
📦 Installation
HACS (Recommended)
- Add this repository to HACS
- Search for "Philips AirPurifier" and install
- Restart Home Assistant
- Configure via UI
Manual Installation
- Download the latest release
- Extract to
custom_components/philips_airpurifier - Restart Home Assistant
- Configure via UI
Full Changelog: https://github.com/domalab/ha-philips-airpurifier/commits/v0.26.0