A comprehensive Home Assistant integration for Electrolux appliances using the official Electrolux Group Developer API. This integration provides real-time monitoring and control of Electrolux and Electrolux-owned brand appliances including AEG, Frigidaire, and +home.
Key Features:
- โ Real-time appliance status updates via Server-Sent Events (SSE)
- โ Remote control with safety validation (respects appliance safety locks)
- โ Automatic model detection from Product Number Codes (PNC)
- โ Comprehensive sensor coverage (temperatures, states, diagnostics)
- โ Control entities (buttons, switches, numbers, selects)
- โ Multi-language support
- โ Robust error handling and connection management
All Electrolux Group appliances connected via the official app should work with this integration. Every connected appliance will have entities created dynamically from whatever the API reports โ at minimum including connectivity state, software version, and network interface.
Electrolux appliances communicate two separate things to the cloud:
- Capabilities โ what the appliance can do: the controls, modes, and settings it exposes. These are its documented features and are used to create controllable entities.
- Reported state โ a snapshot of everything happening right now: sensor readings, error flags, firmware version, internal counters, signal strength, raw log values, device IDsโฆ
The integration creates entities from capabilities automatically. Reported state, however, is a very noisy dump โ most of it has no business being a Home Assistant entity (firmware strings, raw counters, internal IDs, etc.). For values that only appear in reported state and not in capabilities โ like air quality sensors on some purifier models โ the integration needs an explicit catalog entry to know what unit and device class to assign them. Without that, it can't tell whether a numeric value is a temperature in ยฐC, a counter, or something else entirely.
The catalog is what bridges the gap: it tells the integration which reported state values are meaningful, what unit and device class they should have, and what icon and friendly name to display. This is why diagnostics files are so valuable โ they contain both the capabilities schema and a real reported state snapshot, giving everything needed to build accurate catalog entries for a new appliance.
Full catalog support means the integration has been tested against real diagnostic data for that model โ providing correct device_class, units, icons, and entity categories for all available entities. Without a catalog entry, entities are still created for everything the API reports as capabilities but appear as generic sensors with no device class, unit, icon, or friendly name. Sensors that only appear in reported state and are not in capabilities will be missing entirely until a catalog entry is added.
This is not just a design choice of this integration โ it mirrors how the official Electrolux SDK itself works. The SDK's is_feature_supported() always checks against the capabilities response, never against the reported state. A value that appears only in the reported state but not in capabilities is treated as unsupported by the SDK, and therefore invisible to the integration unless an explicit catalog entry is built from real diagnostic data.
As a concrete consequence: temperature (Temp) and humidity (Humidity) sensors on air purifiers, and values like measured load weight (measuredLoadWeight), optisense load weight (fcOptisenseLoadWeight), or UI/mainboard software versions (applianceUiSwVersion, applianceMainBoardSwVersion) on washing machines and many others, all appear only in the reported state โ none of them are listed in that appliance's capabilities. Without a real diagnostics file to prove they exist and reveal their data type, the integration cannot create those entities at all.
๐ Help improve support for your appliance โ without your diagnostics, values present only in reported state stay invisible: the SDK itself only surfaces a property if it appears in capabilities, so there's no way to know those values exist without a real diagnostics file. Download your diagnostics from Settings โ Devices & Services โ Electrolux โ three-dot menu โ Download diagnostics and open a GitHub issue with the file attached.
The table below lists all appliance types and the known-tested diagnostic samples that have shaped the catalog. All appliance types in the Full column receive entity enrichment (device class, unit, icon, entity category). Types marked Partial have a catalog but may be missing entries for some models โ submit your diagnostics to help close the gaps. Stub means the type code is registered but the catalog has no entries yet (requires user diagnostic samples to build from).
| Type | Appliance | Status | Known-Tested Samples / Models |
|---|---|---|---|
OV |
Oven | Full | OV-944188304, OV-944188772 |
SO |
Structured Oven | Full | SO-944035035 |
RF |
Refrigerator | Partial | No samples โ submit yours |
CR |
Combi Refrigerator | Full | CR-925060324, CR-925060677 |
WM |
Washing Machine | Full | WM-914501009, WM-914501128, WM-914505614, WM-914550478, WM-914550687, WM-914550951, WM-914580416, WM-914915144, WM-914922134, WM-914922290, WM-914922311 |
WD |
Washer Dryer | Full | WD-914611000, WD-914611500, WD-914611703 |
TD |
Tumble Dryer | Full | TD-916002187, TD-916098401, TD-916098618, TD-916098759, TD-916099548, TD-916099949, TD-916099971 |
AC / CA / Azul / Bogong / Panther / Telica |
Air Conditioner | Full (AC + Bogong verified) |
AC-910280820; Bogong โ VM211_A_04.43.06_BOGONG (3 units, AU) โ see Bogong device notes โ CA/Azul/Panther/Telica unverified, submit yours |
DAM_AC |
DAM Air Conditioner | Catalog (unverified) | No samples โ submit yours |
DW |
Dishwasher | Full | DW-911434654, DW-911434834, DW-911438465, DW-911473025 |
Muju / Verbier / PUREA9 / Fuji / WELLA5 / WELLA7 |
Air Purifier | Full (Muju / Verbier / PUREA9 verified) |
Muju-956006959323006505087076; Verbier-950011588246002195087076; PUREA9-950011384027000695087076 โ Fuji/WELLA5/WELLA7 unverified, submit yours |
DH / Husky |
Dehumidifier | Full (DH verified) |
DH-950133061 (Frigidaire FGAC5044W1, SRAC); Husky unverified, submit yours |
PUREi9 / Gordias / Cybele / 700series |
Robot Vacuum | Full (PUREi9 + Cybele verified) |
RVC - Pure i9; RVC - Purei9 2; Cybele-900402424543002761139298 โ Gordias/700series unverified, submit yours |
HB |
Induction Hob | Catalog (unverified) | No samples โ submit yours |
HD |
Hood / Extractor Fan | Catalog (unverified) | No samples โ submit yours |
Appliance types not listed above still have all their entities created dynamically from whatever the API reports in the device capabilities โ no entities are suppressed. However, without a catalog entry they appear as generic sensors and controls with no device class, unit, icon, or friendly name. The base catalog (connectivity state, software version, network interface) applies to all appliance types regardless.
The following appliance types have catalog entries built from the Electrolux SDK's internal API mappings, but have never been tested against real hardware. Capability key names are correct per the SDK, but modes, value ranges, and model-specific differences need verification with real diagnostic JSON files.
โ ๏ธ SDK stability note: The integration useselectrolux-group-developer-sdkv0.3.0, which is in early development. Its API, key names, and appliance constants may change between releases without notice. If something stops working after a package update, the catalog or command logic may need adjusting to match the new SDK version.
If you own one of these appliances, please download your diagnostics from Settings โ Devices & Services โ Electrolux โ three-dot menu โ Download diagnostics and open a GitHub issue with the file attached. This is the single most impactful contribution you can make โ a diagnostic file takes 30 seconds to generate and enables full verified support for your appliance type.
| Appliance | Issue title | Status |
|---|---|---|
๐ Dehumidifier (Husky) |
Husky diagnostics โ [your model] |
DH verified with DH-950133061; Husky still unverified |
๐ค Robot Vacuum (Gordias, 700series) |
RVC diagnostics โ [your model] |
PUREi9 and Cybele verified from root samples/; Gordias / 700series still unverified |
๐ณ Induction Hob (HB) |
HB diagnostics โ [your model] |
Catalog added in v3.5.6, unverified |
๐จ Hood / Extractor Fan (HD) |
HD diagnostics โ [your model] |
Catalog added in v3.5.6, unverified |
โ๏ธ DAM Air Conditioner (DAM_AC) |
DAM_AC diagnostics โ [your model] |
Catalog added in v3.5.6, unverified |
โ๏ธ AC variants (CA, Azul, Panther, Telica) |
AC variant diagnostics โ [your type/model] |
Registered in v3.5.6, unverified (Bogong now verified โ see above) |
๐จ AP variants (Fuji, WELLA5, WELLA7) |
AP variant diagnostics โ [your type/model] |
Muju, Verbier, and PUREA9 verified from root samples/; Fuji / WELLA5 / WELLA7 still unverified |
Washing machines, tumple dryers, dishwashers, washer dryers, ovens, diagnostics are already covered by the current sample set, so no further WM, TD, DW, WD, OV samples are needed at this time. Upload them only if there are problems with their entities.
The model number (PNC โ Product Number Code) is the key used to identify your appliance in the catalog. It appears in the HA device info panel as Model: {type}-{PNC}_{suffix} (e.g. Model: TD-916099949_00).
How to find it:
- Go to Settings โ Devices & Services โ Electrolux
- Click on your appliance device
- The Model field in the device info card shows
Model: {type}-{PNC}_{suffix}โ the number before the_is your PNC (e.g.916099949fromModel: TD-916099949_00)
Alternatively, the PNC is visible on the appliance's rating plate (usually inside the door or on the back) and in the official Electrolux app under appliance details.
If your model number appears in the table above, your appliance has been verified against real diagnostic data and will have full entity enrichment. If it does not appear, basic entities will still be created โ submit your diagnostics to add full support.
Maintained by TTLucian
| Contributors | Support Link |
|---|---|
| TTLucian |
This integration requires API credentials from the official Electrolux Developer Portal.
Note: The official Electrolux API requires developer credentials obtained through their official developer portal.
- Visit the Electrolux Developer Portal
- Create a free developer account
- Register a new application
- Generate your API credentials:
- API Key (Client ID)
- Access Token
- Refresh Token
All appliances must be:
- Connected to your Electrolux account via the official mobile app
- Properly configured with aliases/names in the app
- Connected to the internet
Good news! This integration is now available directly in the HACS default repository.
- Open HACS in Home Assistant
- Go to Integrations
- Search for "Electrolux"
- Click Install
- Restart Home Assistant
Note: No custom repository URL needed anymore!
- Download the
custom_components/electrolux/directory - Copy it to your Home Assistant
custom_componentsfolder - Restart Home Assistant
- In Home Assistant, go to Settings โ Devices & Services
- Click Add Integration
- Search for "Electrolux"
- Enter your API credentials:
- API Key
- Access Token
- Refresh Token
- The integration will automatically discover and add your appliances
The integration creates ALL entities reported by the Electrolux API, even if they are not useful or not implemented in your appliance's firmware.
After setup, you may see many entities that:
- Have no value or show "unknown" status
- Are not actually implemented in your appliance's firmware
- Are for diagnostic or maintenance purposes that you don't need
This is intentional behavior. The integration gives you full visibility into everything the API reports, allowing you to decide what's useful for your needs.
The integration automatically blocks dangerous entities that could damage your appliances.
Certain API-reported entities control low-level system functions that can permanently damage appliance functionality. These are automatically blocked and will never be created:
- Network Interface Commands: Authorization commands that can unpair your appliance from your account
- Start Up Commands: Commands like UNINSTALL that can factory reset the network module
Examples of blocked entities:
button.oven_network_interface_start_up_command_uninstallbutton.[appliance]_network_interface_command_appliance_authorizebutton.[appliance]_network_interface_command_user_authorize
You won't see these entities - they are filtered at the code level for your protection. This prevents accidental activation through dashboards, automations, or voice assistants that could:
- Factory reset your appliance
- Break network connectivity permanently
- Unpair the appliance from your account
- Require professional service to restore functionality
The security blacklist is maintained in the codebase and updated as new dangerous entities are discovered.
While dangerous entities are automatically blocked, you may still want to clean up other unnecessary entities:
- After initial setup, review all entities for your appliances
- Disable any entities that:
- Show "unknown" or empty values consistently
- Are not relevant to your daily use (diagnostic sensors you don't need)
- Keep only the entities you actually need for monitoring and control
How to disable entities:
- Go to Settings โ Devices & Services โ Entities
- Search for your appliance name
- Click on the entity you want to disable
- Click the Disable button
- Confirm the action
Note: Disabled entities remain in Home Assistant's database but won't be updated or visible in your dashboards. You can re-enable them later if needed.
This integration works with Electrolux and Electrolux-owned brands (AEG, Frigidaire, +home) across multiple regions:
- Europe/Middle East/Africa (EMEA): My Electrolux Care, My AEG Care, Electrolux Kitchen, AEG Kitchen
- Asia Pacific (APAC): Electrolux Life
- Latin America (LATAM): Electrolux Home+
- North America (NA): Electrolux Oven, Frigidaire 2.0
๐ณ Ovens
- AEG AssistedCooking series
- Real-time temperature monitoring
- Program control and status
- Safety lock validation
- Multiple cooking programs (Bake, Broil, Convection)
- Food probe monitoring and control
- Delayed start and timers
๐ฒ Structured Ovens (SO) โจ NEW v3.3.4
- AEG Structured Ovens
- Electrolux Structured Ovens
- Full dedicated implementation with 40+ entities
- All standard oven features plus steam-specific controls:
- Water tank level monitoring
- Descaling reminders and maintenance alerts
- Steam programs (FULL_STEAM, STEAM_HIGH, STEAMIFY, MOIST_FAN_BAKING)
- Water hardness configuration
- Drip tray detection
- Enhanced UI configuration:
- Display brightness control (5 levels)
- Sound volume and key tone settings
- Language selection (26 languages)
- Clock display format
- Nested capability structure with upperOven controls
- Real-time temperature and probe monitoring
- Program-specific constraints and safety validation
โ๏ธ Refrigerators
- Electrolux UltimateTaste series
- Temperature monitoring and control for fridge, freezer, and extra cavity
- Fast mode control for rapid cooling/freezing
- Appliance mode selection (Normal/Demo/Service)
- Vacation mode and child lock controls (internal/external)
- Ice maker control and monitoring with defrost temperature
- Extra cavity with temperature cloning and fan control
- Filter status monitoring and reset (water and air filters)
- Humidity sensor and reminder time settings
- Cooling valve and defrost routine monitoring
- Door status monitoring for all compartments
๐งบ Washing Machines
- Electrolux UltimateCare and PerfectCare series
- AEG รKOKombi and AbsoluteCare series
- Comprehensive cycle monitoring and control
- Appliance state tracking (IDLE, RUNNING, PAUSED, END_OF_CYCLE, etc.)
- Cycle phase and sub-phase monitoring
- Door status and lock control
- Start time scheduling and delayed start
- Time-to-end countdown
- Auto-dosing system with tank configurations and fine-tuning
- Steam level control (OFF, MIN, MED, MAX)
- Spin speed selection (400-1600 RPM)
- Temperature settings (COLD, 20ยฐC-90ยฐC)
- Program selection with per-program configurations
- Extra rinse and end-of-cycle sound options
- Load weight monitoring and optisense results
- Maintenance alerts and diagnostics
- Remote control enablement
- Network interface monitoring (WiFi quality, OTA updates, software version)
- Appliance working time and cycle counters
๐งบ๐จ Washer Dryers
- Electrolux UltimateCare and PerfectCare series
- AEG AbsoluteCare series
- Full integrated washing and drying control
- Dry mode toggle with dedicated drying controls
- Drying time selection (0-300 minutes)
- Dryness level selection (CUPBOARD, EXTRA, IRON)
- Wet mode control for specialized washing
- Dual load weight monitoring (washing and drying cycles)
- Integrated wash+dry program cycles
- All washing machine features plus dryer-specific controls
- Fluff drawer maintenance alerts
- Separate drying cycle counters and statistics
โ๏ธ๐ก๏ธ Air Conditioners
- Electrolux air conditioning units
- Full climate control integration with Home Assistant
- Temperature control (16-30ยฐC / 60-86ยฐF) with dual scale support
- Operating modes: AUTO, COOL, HEAT, DRY, FAN
- Fan speed control: AUTO, LOW, MEDIUM, HIGH, QUIET, TURBO
- Swing control: OFF, VERTICAL, HORIZONTAL, BOTH
- Humidity control and monitoring (30-70% range)
- Ambient temperature and humidity sensors
- Power state management with safety validation
- Start/stop/reset command support
- Real-time status monitoring and diagnostics
- Network interface monitoring and OTA updates
๐จ Dryers (Tumble Dryers)
- Electrolux UltimateCare and PerfectCare series
- AEG AbsoluteCare series
- Comprehensive drying cycle monitoring and control
- Appliance state tracking (IDLE, RUNNING, PAUSED, END_OF_CYCLE, etc.)
- Cycle phase and sub-phase monitoring
- Door status and lock control
- Start time scheduling and delayed start
- Time-to-end countdown
- Drying time selection (0-300 minutes)
- Dryness level selection (CUPBOARD, EXTRA, IRON, AIR_DRY)
- Temperature settings (HIGH, MEDIUM, LOW, REFRESH)
- Program selection with per-program configurations (COTTON, SYNTHETICS, DELICATES, WOOL, etc.)
- Anti-crease protection
- Load weight monitoring
- Network interface monitoring (WiFi quality, OTA updates, software version)
- Remote control enablement
- Appliance working time and cycle counters
- Fluff filter maintenance alerts and cleaning reminders
- Energy efficiency tracking and statistics
๐ฝ๏ธ Dishwashers
- Comprehensive dishwashing cycle monitoring and control
- Appliance state tracking (IDLE, RUNNING, PAUSED, END_OF_CYCLE, etc.)
- Cycle phase and sub-phase monitoring
- Door status and lock control
- Start time scheduling and delayed start
- Time-to-end countdown
- Program selection with per-program configurations (ECO, INTENSIVE, QUICK, GLASS, etc.)
- Temperature settings for optimal cleaning performance
- Extra options (hygiene rinse, extra dry, intensive zones)
- Salt level monitoring and alerts
- Rinse aid level monitoring and alerts
- Filter cleaning maintenance alerts
- Remote control enablement
- Network interface monitoring (WiFi quality, OTA updates, software version)
- Appliance working time and cycle counters
- Error detection and reporting with specific dishwasher error messages
๐จ๐ฟ Air Purifiers (A9, Muju, Verbier)
- Air quality monitoring (PM1, PM2.5, PM10, TVOC, eCO2)
- Temperature and humidity sensors
- Fan speed control (1โ9 levels on A9, 1โ5 on Muju/Verbier)
- Work mode selection (Manual / Auto / Power Off / Quiet)
- UI light control
- Safety lock
- Ionizer control
- Verbier only: Humidification toggle, target humidity, louver swing, quiet fan schedule, AQI light, water tray level alert, humidification filter tracking, dual filter NFC tag sensors
- Appliance state and status
- Temperature readings (current, target, food probe, ambient)
- Program and phase information
- Connection quality and diagnostics
- Door and safety lock status
- Water levels and tank status
- Filter life and maintenance alerts
- Load weight monitoring (washing machines, washer dryers)
- Humidity sensors (refrigerators, air conditioners)
- Air quality sensors (air purifiers)
- Cycle counters and working time statistics
- Drying cycle monitoring (washer dryers)
- Dryer monitoring (tumble dryers: fluff filter status, dryness levels, load weight)
- Dishwasher monitoring (salt levels, rinse aid levels, filter status)
- Manual Sync Button (
โ ๏ธ Use Sparingly):- Forces a complete refresh of all appliance data
- Disconnects and reconnects the real-time data stream
- Updates all appliances simultaneously
- Rate limited: 60-second cooldown between syncs
โ ๏ธ Warning: This causes significant API load. Only use when:- Data appears stale or stuck
- After appliance power cycle or network interruption
- As a last resort troubleshooting step
- Normal operation: Real-time updates via SSE work automatically - manual sync is rarely needed
- Each appliance has its own manual sync button, but triggering any button refreshes ALL appliances
- Power on/off (with safety validation)
- Program selection
- Temperature settings
- Timer controls
- Light controls (ovens)
- Start/stop/reset commands
- Climate control (air conditioners):
- Operating mode selection (AUTO, COOL, HEAT, DRY, FAN)
- Fan speed control (AUTO, LOW, MEDIUM, HIGH, QUIET, TURBO)
- Swing direction control (OFF, VERTICAL, HORIZONTAL, BOTH)
- Target temperature and humidity settings
- Drying controls (washer dryers):
- Dry mode toggle
- Drying time selection
- Dryness level selection (CUPBOARD, EXTRA, IRON)
- Wet mode control
- Dryer controls (tumble dryers):
- Program selection (COTTON, SYNTHETICS, DELICATES, WOOL, etc.)
- Drying time selection (0-300 minutes)
- Dryness level selection (CUPBOARD, EXTRA, IRON, AIR_DRY)
- Temperature settings (HIGH, MEDIUM, LOW, REFRESH)
- Anti-crease protection
- Delay start scheduling
- Dishwasher controls:
- Program selection (ECO, INTENSIVE, QUICK, GLASS, etc.)
- Temperature settings for optimal cleaning
- Delay start scheduling
- Extra options (hygiene rinse, extra dry, intensive zones)
executeCommand buttons โ START, STOPRESET, PAUSE, RESUME โ are automatically greyed out (unavailable) when the appliance is in a state where the API would reject that command. This is intentional and correct behaviour: pressing the button while the appliance isn't ready would fail with an error anyway.
This is not a bug. If a button appears greyed out, it means the appliance is simply not in the right state for that action yet.
| Appliance | Button | Enabled when appliance state isโฆ |
|---|---|---|
| Oven | START | READY_TO_START, END_OF_CYCLE |
| Oven | STOPRESET | RUNNING, PAUSED, DELAYED_START |
| Structured Oven | START | OFF |
| Structured Oven | STOPRESET | RUNNING |
| Washing Machine / Washer Dryer | START | READY_TO_START |
| Washing Machine / Washer Dryer | STOPRESET | PAUSED, END_OF_CYCLE |
| Washing Machine / Washer Dryer | PAUSE | RUNNING, DELAYED_START |
| Washing Machine / Washer Dryer | RESUME | PAUSED |
| Dryer | START | READY_TO_START, IDLE |
| Dryer | STOPRESET | PAUSED, END_OF_CYCLE, ANTICREASE |
| Dryer | PAUSE | RUNNING, DELAYED_START |
| Dryer | RESUME | PAUSED |
| Dishwasher | START | READY_TO_START, IDLE |
| Dishwasher | STOPRESET | PAUSED, END_OF_CYCLE, DELAYED_START |
| Dishwasher | PAUSE | RUNNING |
| Dishwasher | RESUME | PAUSED |
AC power and refrigerator ice maker ON/OFF buttons have no state restriction and are always available.
- Door status
- Connection state
- Alert conditions
- Dryer alerts (fluff filter maintenance)
- Dishwasher alerts (salt level, rinse aid level, filter cleaning)
- Network interface information
- Software versions
- OTA update status
- Communication quality
- 403 Forbidden: Check your API credentials from the developer portal - they may have expired. Regenerate your access token and refresh token from Electrolux Developer Portal
- Invalid Credentials: Double-check your API key, access token, and refresh token from the developer portal
- Ensure appliances are connected to your Electrolux account
- Check internet connectivity of appliances
- Verify appliances are powered on and online
- Check if appliance has safety locks enabled (door open, child lock, etc.)
- Integration respects all appliance safety features
- Some controls may be disabled during active cycles
If you see an error like:
{"error": "COMMAND_VALIDATION_ERROR", "message": "Command validation failed", "detail": "Remote control disabled"}This is an API limitation, not an integration bug.
The integration does not pre-block commands based on remote control state โ it forwards all commands directly to the Electrolux cloud API, which is the sole authority on whether a command is allowed. If the API rejects the command, there is nothing the integration can do.
Known case โ Oven cavity light with NOT_SAFETY_RELEVANT_ENABLED:
The oven remote control state has three values:
ENABLEDโ all commands acceptedNOT_SAFETY_RELEVANT_ENABLEDโ only commands the API classifies as non-safety-relevant are acceptedDISABLEDโ all commands rejected
The cavity light (cavityLight) appears to be classified by the API as a safety-relevant command, so sending it while the appliance reports NOT_SAFETY_RELEVANT_ENABLED results in a 406 rejection. This classification is done server-side by Electrolux and cannot be changed or bypassed by this integration.
To control the cavity light, enable full remote control on the appliance (the exact setting name and location depends on the appliance model and firmware โ check the appliance display menu or the official AEG/Electrolux app).
If a START, STOPRESET, PAUSE, or RESUME button appears greyed out and unclickable, this is intentional, not a bug.
The integration disables each button when the appliance is in a state where the Electrolux API would reject that command. For example:
- START is only enabled once the appliance reports
READY_TO_START - STOPRESET is only enabled while a cycle is
RUNNING,PAUSED, orDELAYED_START - PAUSE is only enabled while
RUNNING(orDELAYED_STARTon applicable types) - RESUME is only enabled while
PAUSED
See the Execute Command Button Availability table in the Controls section for the full per-appliance-type breakdown.
If you believe the button should be active but isn't, check the Appliance State sensor for your device โ it shows the current applianceState value the API is reporting.
If sensor values appear outdated or frozen:
First, check the basics:
- Check the documentation and the debug logs for any errors. It might helo to better understand the situation.
- Verify appliance is powered on and connected to Wi-Fi
- Check if appliance shows as "connected" in the official Electrolux app
- Wait 5-10 minutes - data updates automatically via real-time SSE stream
If data is still stuck:
- Use the Manual Sync button (available on each appliance)
โ ๏ธ Important: This button is rate-limited (60 seconds cooldown) and causes heavy API load- Only use when necessary - normal operation doesn't require manual sync
- The button refreshes ALL appliances, not just the one triggered
When Manual Sync is appropriate:
- After appliance power cycle or firmware update
- After router reboot or network interruption
- Data hasn't updated for 30+ minutes despite appliance being online
- As a troubleshooting step before reporting an issue
Manual Sync is NOT needed for:
- Normal operation - real-time updates work automatically
- Immediate feedback after commands - controls state updates happen instantly and optimistically and are being validated within seconds via SSE
- Regular data refreshes - integration polls every 6 hours automatically
- The integration displays the actual product code (e.g., "944188772") used by Electrolux internally
- This is the most specific identifier available through the API
- Marketing model names (e.g., "BSE788380M") are not exposed by the API
If you encounter issues with the Electrolux integration, providing debug logs is the fastest way to get help. Follow the steps below to capture and share the necessary information.
Choose one of the two methods below:
Best for capturing issues happening right now without a restart.
- Go to Settings > Devices & Services.
- Click the Electrolux card.
- Click the three dots (โฎ) in the upper right of the page and select Enable debug logging.
- Reproduce the issue (e.g., try to trigger a device command).
- Go back to the card and click Disable debug logging.
- The log file will automatically download to your computer.
Required for troubleshooting startup issues or long-term monitoring.
Add this to your configuration.yaml and restart Home Assistant:
logger:
default: info
logs:
custom_components.electrolux: debugIf you want to inspect the logs manually or copy specific lines:
- Navigate to Settings > System > Logs.
- Click the 3 dots in the upper right corner, click Show Raw Logs button.
- Scroll the logs upwards a few times so that more log entries get loaded
- Use the search/filter bar at the top and type electrolux.
- This will hide all unrelated system noise, leaving only the Electrolux-specific entries.
- Select, copy and paste in your issue editor the full text that is showing.
If you used Option B, you can download the entire log file by clicking Download logs at the bottom of the Settings > System > Logs page.
- To keep the GitHub issue clean, please wrap your logs in a code block.
- Highlight the filtered log text in your browser and copy it.
- In your GitHub issue description, paste it like this:
```text
PASTE YOUR LOGS HERE
```
[!CAUTION] Privacy Check: The integration automatically redacts any sensitive information like api key and tokens but, just to be safe, before posting, scan the logs for sensitive data. Delete or mask any email addresses, passwords, unique API tokens, or GPS coordinates.
โ ๏ธ You only need to send the diagnostics JSON once. It contains the same information every time you generate it.
For device-specific issues or when certain features aren't working as expected, a JSON diagnostics file is essential for troubleshooting โ and for adding support for appliances that aren't in the catalog yet.
Why diagnostics are so important for missing sensors:
Electrolux appliances report two separate things to the cloud: their capabilities (what they can do โ controls, modes, settings) and their reported state (current sensor readings, error flags, firmware version, internal countersโฆ). The integration uses the capabilities to create entities automatically. But some sensors โ like air quality readings on purifiers, or temperature sensors on certain models โ only appear in the reported state, not in the capabilities. Without seeing a real diagnostics file the integration has no way to know those values exist, what unit they use, or what device class they should have. The diagnostics file contains both the full capabilities schema and a real reported state snapshot โ everything needed to build a correct catalog entry for your appliance.
For device-specific issues or when certain features aren't working as expected, a JSON diagnostics file is very helpful for troubleshooting:
How to get diagnostics:
- Go to Settings โ Devices & Services โ Electrolux
- Click on your integration entry
- Scroll down and click "Download diagnostics"
What it contains:
- Complete device capabilities schema (what your appliance supports)
- Current appliance state data (real-time values)
- API communication details and errors
- Model and firmware information
๐ Privacy & Security: All sensitive information (API keys, tokens, personal data, emails, addresses, device identifiers, and other PII) is automatically redacted from diagnostics files. They are safe to share when reporting issues but check it yourselves before sending just to be sure
When to provide diagnostics:
- Missing or incorrect sensors/controls: If your appliance is missing expected sensors or controls, or if existing ones show wrong values or don't work properly
- Appliance not showing expected controls or sensors
- Commands not working or responding
- New appliance models with unknown features
- Integration setup issues
- Feature requests for specific appliance capabilities
Include this file when reporting issues - it helps identify device-specific problems quickly!
Symptoms:
- Appliance shows only 7 basic entities (network command buttons, connectivity sensor, manual sync button)
- Missing functional entities (applianceState, doorState, program selects, temperature controls, etc.)
- Previously working appliance suddenly has minimal entities
- Reinstalling integration doesn't help
Root Cause: This occurs when the integration creates a "minimal appliance" due to API communication issues during setup:
- When It Happens: During Home Assistant startup/restart, integration reload, or token refresh, if the Electrolux API times out or token refresh fails
- Safety Mechanism: Instead of losing the appliance entirely, the integration creates a minimal entry with basic catalog entities
- The Problem: Regular update cycles (every 6 hours) only refresh existing entity state - they don't check for or create missing entities
- Result: The appliance stays "minimal" with only 7 entities until manual intervention
Why Reinstalling Doesn't Help: Reinstalling the integration doesn't fix the issue because:
- The problem is in the integration's recovery logic (fixed in v3.3.1+), not your configuration
- If you reinstall during an API timeout or token issue, you'll get another minimal appliance
- Entity creation happens only once during setup; reinstalling under the same conditions recreates the same problem
Solution - Upgrade to v3.3.1+ (Recommended):
Versions 3.3.1 and later include automatic recovery for this issue:
- Upgrade to the latest version via HACS
- Restart Home Assistant
- Press the "Manual Sync" button on the affected appliance device
- The integration will automatically:
- Detect the minimal appliance condition (no capabilities data)
- Trigger a full integration reload
- Recreate all missing entities properly
Manual Workaround (for v3.3.0 and earlier):
If you cannot upgrade immediately:
- Wait for API Stability: Ensure your network connection is stable and working
- Remove Integration:
- Go to Settings โ Devices & Services โ Electrolux
- Click the three dots โ "Delete"
- Restart Home Assistant (ensures clean state)
- Re-add Integration:
- Add the Electrolux integration again
- Enter your API credentials
- Integration will fetch full appliance data and create all entities
Prevention:
- Keep your integration updated to the latest version
- Ensure stable network connection during Home Assistant restarts
- The fix in v3.3.1+ includes:
- Token refresh race condition fix (prevents entity recreation during problematic moments)
- Automatic minimal appliance detection and recovery via Manual Sync button
How to Verify You're Affected:
For dishwashers, you should have 20+ entities including:
sensor.{name}_appliance_state(RUNNING/IDLE/PAUSED)binary_sensor.{name}_door_state(OPEN/CLOSED)sensor.{name}_cycle_phase(MAINWASH/RINSE/DRYING)sensor.{name}_time_to_endselect.{name}_program(ECO/INTENSIVE/QUICK)switch.{name}_extra_power_optionnumber.{name}_rinse_aid_level- And more...
If you only see network command buttons and a connectivity sensor, you have a minimal appliance.
Still Having Issues?
If the above solutions don't resolve your issue:
- Download diagnostics from your integration
- Check the diagnostic JSON for
"capabilities": {}or missing capabilities data - Report the issue on GitHub Issues with your diagnostic file
This repository includes comprehensive testing scripts to help you verify appliance compatibility and test API functionality before installing the integration. These scripts allow direct interaction with the Electrolux API to inspect your appliances and test commands.
๐ Testing Scripts Documentation - Complete guide for using the testing tools
- Fork the repository
- Clone your fork
- Install uv if you don't have it already
- Install all dependencies:
uv sync --group dev --group test - Test scripts are available in the
scripts/directory for API testing
Optional: Install pre-commit hooks to run the same checks as CI (ruff, black, mypy, pytest) automatically before each commit/push:
uv run pre-commit installUse the provided test scripts to verify API connectivity:
test_api_simple.py- Basic appliance list testtest_appliance_details.py- Detailed appliance information
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Electrolux Developer Portal
Due to the recent GitHub Copilot usage price skyrocketing starting from 1st of July 2026, future updates and fixes for this integration will be released at a much slower pace.
In the past, I was able to fully develop major features of this integration with just a $10 Copilot subscription. However, the latest update alone required about $40, consuming all existing BuyMeACoffee donations (already fully spent) and additional personal funds. At the current pricing, maintaining the previous fast development cycle is no longer feasible.
The project remains active, but development will continue at a reduced, sustainable pace.