🌬️ IKEA ALPSTUGA E2495 Air Quality Sensor (Matter)

Pro-grade automation for the IKEA ALPSTUGA E2495 Matter Air Quality sensor. This blueprint allows you to trigger specific actions when any environmental metric (CO2, PM2.5, Air Quality Index, Temperature, or Humidity) crosses your custom thresholds.

[!NOTE]
The Air Quality entity is a general “Air Quality Index” (AQI) calculated by the device (usually based on PM2.5 and CO2 levels). While the ALPSTUGA does not have a dedicated VOC sensor, this summary state is a great way to trigger whole-room air clear actions.

Import Blueprint to My Home Assistant

:hammer_and_wrench: Manual Import URL

If the button above doesn’t work, you can copy the URL below and paste it into the “Import Blueprint” dialog in Home Assistant:
https://github.com/aledziko/HA-blueprints/blob/main/IKEA/Matter/ikea-alpstuga-e2495/ikea-alpstuga-e2495-matter-air-quality-sensor.yaml

:star2: Key Features

  • Five Environmental Triggers: Dedicated actions for CO2, PM2.5, Air Quality summary, Temperature, and Humidity.
  • Dual-Phase Actions: Set numeric cutoffs (CO2, PM2.5, Temp, Humidity) or state lists (AQI Summary) for both “Alert” and “Normal” phases. This allows you to start and stop devices automatically as conditions change.
  • Stabilization Time: Prevent notification “flapping” by requiring states to remain active for a configurable duration (e.g., 30 seconds).
  • Parallel Execution: Handles multiple environmental shifts concurrently (e.g., boosting the air purifier while notifying about high CO2).

:bulb: Example Use Cases

  • :leaves: Air Purification:
    • Air Quality High: Automatically boost your air purifier to “High” when the general air quality index drops.
    • PM2.5 High: Trigger targeted actions for dust or smoke levels above 25 Âľg/mÂł.
  • :bed: Healthy Sleep & Focus:
    • CO2 High: Receive an alert or flash a light in your office or bedroom when CO2 levels exceed 1000 ppm, signaling it’s time to open a window.
  • :bathtub: Ventilation & Recuperation:
    • High Humidity: Automatically trigger the bathroom fan or a whole-home recuperation system when humidity levels spike.
  • :office: HVAC Control:
    • High Temp: Turn on cooling when the room hits 26°C (79°F).
    • Low Temp: Activate heating when it drops below 18°C (64°F).

:bulb: Pro Tip: Dynamic Notifications

You can make your alerts smarter by including the actual sensor value or state in your message. When setting up a notification action, use the following template in your message text:

  • For CO2/PM2.5: CO2 level is now {{ trigger.to_state.state }} ppm
  • For Air Quality: Air quality status is now {{ trigger.to_state.state }}

:shield: Preventing “Notification Storms”

If you are receiving too many notifications in a short time, it’s usually caused by the sensor “flapping” between states. To fix this:

  1. Adjust Trigger States: In the Air Quality settings, ensure you unselect “Good” and “Fair”. This prevents getting an alert every time the air improves back to normal.
  2. Use Stabilization Time: Increase the Stabilization Time (e.g., to 30 or 60 seconds). The blueprint will then wait for the sensor to stay at the new state for that duration before alerting you.

:hammer_and_wrench: Requirements

  • IKEA ALPSTUGA (E2495) sensor connected via Matter.
  • Entities for CO2, PM2.5, Air Quality Index, Temperature, and Humidity.

:page_facing_up: License

Licensed under the MIT License.


:warning: Troubleshooting

:warning: Troubleshooting

Preventing Repeated Actions?
If you notice actions firing multiple times (e.g., your ventilation toggling on/off or receiving duplicate alerts) even when the air quality is stable, this blueprint has robust filtering built-in:

  • Strict Logic: Actions only trigger if the value actually crosses the threshold. If CO2 drops from 798 to 797 (both below the default 800 limit), the automation ignores it.
  • Blip Filtering: Brief “Unavailable” states from the sensor are automatically filtered out.
  • Optimization: Use the Action Trigger Stabilization Time (e.g., 30s) to further smooth out noisy data. This ensures your siren or fan doesn’t toggle rapidly due to minor sensor fluctuations.

:link: More Blueprints & Community

Check out my other blueprints for IKEA Matter devices on the Home Assistant Community:

:point_right: Explore all my blueprints on the HA Forum

1 Like

Update: Fixed “Notification Storms” & Save Errors

Hey everyone, just pushed a solid update to the whole IKEA Matter collection (ALPSTUGA, TIMMERFLOTTE, etc.).

If you’ve been getting hammered with duplicate notifications or your fans toggling on/off rapidly, this fixes it.

  1. Added “Action Trigger Stabilization Time”: A new global setting (default 0s) to prevent flapping.

  2. Smarter Logic: The blueprints now ignore those 1-second “Unavailable” blips that happen on Thread networks, so you won’t get false alarms anymore.

  3. Config Fix: You can now leave optional sensors layout blank (like Battery or Illuminance) without getting a save error.

Hi @aledziko,

could You add active hours please?
So the automation could only work between hours you set (for example 8-22).

Hi! @ostrymiecz :wave:
Thanks for the suggestion! This is a great improvement! It definitely makes sense to silence notifications during sleep hours. I just added the changes to the repo.
Whats new:

  • Added an “Enable Active Hours?” toggle (default OFF).
  • Added Start Time and End Time inputs.
    If you switch the toggle to ON, the automation will strictly run only between those hours. If you leave it OFF, it works 24/7 as before.
    Please re-import the blueprint and give it a try! :rocket:
1 Like

Hi @aledziko :wave:t2:

Thank You for adding Active hours. Love it! :heart:

I thought about another (small) feature which could be useful.
Currently we have triggers for HIGH and LOW threshold values for:

  • CO2
  • PM2.5
  • Air Quality
  • Temperature
  • Humidity

There is also Action Trigger Stabilization Time which is great, but one thing is missing. :sweat_smile:

I thought about adding a checkbox for LOW thresholds – Do not trigger if HIGH threshold is not exceeded again. Such option would be for each LOW threshold to prevent spamming with LOW only triggers fluctuations.

Why such option? Imagine a situation where you have a HIGH threshold for CO2 set to 1200 ppm and a LOW threshold set to 600 ppm. The high threshold triggers, so you ventilate the room and the level drops to 550 ppm, triggering the low threshold. Then the level rises to 610 ppm, then drops again to 590 ppm, triggering the low threshold again!

In such case when fluctuations triggers only low threshold, unnecessary ‘loops’ would occur. This option would help stop triggering them.

On second thought – the same thing could happen with HIGH treshold(s)?
So maybe it should be global checkbox? For all thresholds maybe – Do not trigger if one threshold won’t exceed other again. What do You think?

1 Like

Hi @ostrymiecz (Rafał) :wave:

Thank you so much for the brilliant suggestion! You were spot on. Sensor fluctuations near the thresholds were causing unnecessary actions/notification “loops,” especially when values hovered just over or below the limit.

I have just released an update for the entire IKEA Matter collection (ALPSTUGA and TIMMERFLOTTE that introduces a feature called Threshold Bind). Active time window also is ported to other IKEA blueprints.

:shield: How it works:

It implements exactly what you described: a “One-Cycle” logic.

  • Once a HIGH threshold is crossed, the alert is “latched.”

  • The automation will not trigger another alert until the LOW (Safe) threshold is reached.

  • This creates a strict alternating cycle that completely eliminates the chatter loops.

:brain: Why the Helpers are needed:

To make this work, I’ve added an option to select a Toggle Helper (input_boolean).

Because Home Assistant blueprints are “stateless” templates, they don’t have a way to remember if they already sent a notification five minutes ago. The Helper acts as the persistent memory for the automation, allowing it to “lock” its state across triggers and even Home Assistant restarts.

:warning: A quick tip on setup:

If you use this feature, please make sure to create a unique Toggle helper for each automation. If you share one helper between two different rooms, one room’s humidity might “lock” the alerts for the other!

I’ve updated the READMEs for both blueprints with a detailed setup guide. Let me know how it works for you! :rocket:

Best,
aledziko

1 Like

Hi @aledziko :wave:t2:

Wow! Great! :heart:
Re-imported, helper created and testing.

1 Like