Skip to content

Releases: ruaan-deysel/ha-philips-airpurifier

v2026.6.3

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 26 Jun 23:46

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 with model_unsupported
    (#59).

v2026.6.2

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 14 Jun 04:30

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

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 11 Jun 21:54

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.
  • 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 ConfigEntryNotReady from flow steps (an
    invalid pattern that produced "unknown error" in the UI); connection
    failures now abort discovery flows with cannot_connect and 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 untranslated timeout abort; 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.
  • select entities now report None (unknown) instead of the raw device
    value when the device sends an option value the integration does not know,
    matching the Home Assistant SelectEntity contract.
  • 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) in hacs.json and 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

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 08 Jun 05:32

What's Changed

  • Switched integration to new brand system for custom integrations.

New Contributors

Full Changelog: v2026.5.0...v2026.6.0

v2026.5.0

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 29 May 01:47
3b03fe2

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

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 14 Apr 10:12
a3d8327

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

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 12 Apr 09:58
cdfe3bf

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

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 15 Feb 23:54
3236633
  • Refactored integration to follow HA Core integration patterns
  • Integration is now using the philips-airctrl python library

Release v0.27.0

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 11 Jun 05:21

🎉 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.yaml with 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

⚠️ 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:

📦 Installation

HACS (Recommended)

  1. Add this repository to HACS
  2. Search for "Philips AirPurifier" and install
  3. Restart Home Assistant
  4. Configure via UI
  5. New: Custom services are automatically available!

Manual Installation

  1. Download the latest release
  2. Extract to custom_components/philips_airpurifier
  3. Restart Home Assistant
  4. Configure via UI
  5. New: Custom services are automatically available!

Full Changelog: v0.26.0...v0.27.0

Release v0.26.0

Choose a tag to compare

@ruaan-deysel ruaan-deysel released this 06 Jun 03:44

🎉 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

⚠️ 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:

📦 Installation

HACS (Recommended)

  1. Add this repository to HACS
  2. Search for "Philips AirPurifier" and install
  3. Restart Home Assistant
  4. Configure via UI

Manual Installation

  1. Download the latest release
  2. Extract to custom_components/philips_airpurifier
  3. Restart Home Assistant
  4. Configure via UI

Full Changelog: https://github.com/domalab/ha-philips-airpurifier/commits/v0.26.0