[APP][Pro] BlueAir

Hi Ken,

Thanks again for the detailed follow-up and screenshots — really helpful.

Tile highlighting / auto vs. standby: you were right, and it’s fixed. The device tile was configured to highlight based on “auto mode” instead of the actual power (standby) state, which is exactly the mismatch you described — a purifier that’s on with auto off would show as grayed out. Swapped that so the tile now reflects actual on/off status. Rolling out in the next update.

PM2.5 not reporting: confirmed the 311i Max does have a real PM2.5 sensor on the back (it’s what drives your unit’s own auto-mode fan adjustments), so this isn’t a hardware limitation. Looking at the diagnostic you sent, the specific API response captured at that moment showed no sensor data at all for your unit — not a wrong-field-name bug like I first suspected, just genuinely empty at that snapshot. Since that log happened to be grabbed alongside the fan-speed crash, it’s only a single point in time, so I can’t yet tell if that’s a one-off gap or a persistent issue on the cloud side for your unit.

Whenever you get a chance (genuinely no rush, enjoy your vacation!): could you turn on Verbose logging again and let it sit for 3-5 minutes so it captures 2-3 poll cycles, then grab that log? That’ll tell us whether PM2.5 data ever comes through from BlueAir’s cloud for your unit, or if it’s consistently missing — which would point us at the right next step.

Have a great trip!

Mathias

f0ae53ae-0b9f-4221-b5d5-63773710b628

I cleared the logs and reset the app and let it run. I sprayed some febreze on the Living Room purifier to change the PM2.5 values, but they did not come through and show up on the tile.

Ken

Someone replied to your post.

| MathiasT
July 23 |

  • | - |

Hi Ken,

Thanks again for the detailed follow-up and screenshots — really helpful.

Tile highlighting / auto vs. standby: you were right, and it’s fixed. The device tile was configured to highlight based on “auto mode” instead of the actual power (standby) state, which is exactly the mismatch you described — a purifier that’s on with auto off would show as grayed out. Swapped that so the tile now reflects actual on/off status. Rolling out in the next update.

PM2.5 not reporting: confirmed the 311i Max does have a real PM2.5 sensor on the back (it’s what drives your unit’s own auto-mode fan adjustments), so this isn’t a hardware limitation. Looking at the diagnostic you sent, the specific API response captured at that moment showed no sensor data at all for your unit — not a wrong-field-name bug like I first suspected, just genuinely empty at that snapshot. Since that log happened to be grabbed alongside the fan-speed crash, it’s only a single point in time, so I can’t yet tell if that’s a one-off gap or a persistent issue on the cloud side for your unit.

Whenever you get a chance (genuinely no rush, enjoy your vacation!): could you turn on Verbose logging again and let it sit for 3-5 minutes so it captures 2-3 poll cycles, then grab that log? That’ll tell us whether PM2.5 data ever comes through from BlueAir’s cloud for your unit, or if it’s consistently missing — which would point us at the right next step.

Have a great trip!

Mathias

Hi Mathias,

Apologies for the delay — vacation was great, but getting my daughters settled and off to college kept me busier than expected!

On a related note, one of my daughters took a purifier with her for her dorm room due to allergies, so I’m now down to three Blue Pure 311i Max units.

On the diagnostic front — I cleared the Blueair app log and started fresh data collection. I did notice several errors in the new log. To generate more meaningful data, I ran some flows on the Bonus Room purifier after clearing the log. The diagnostic report has been submitted with ID:

e72635e9-742f-4103-956b-8f9e1e6431c0

screenshot was attached on the Bonus Room unit.

Please let me know what additional information you need going forward. I now have more time available and am happy to gather whatever would be helpful.

Thanks,
Ken

Someone replied to your post.

| MathiasT
July 23 |

  • | - |

Hi Ken,

Thanks again for the detailed follow-up and screenshots — really helpful.

Tile highlighting / auto vs. standby: you were right, and it’s fixed. The device tile was configured to highlight based on “auto mode” instead of the actual power (standby) state, which is exactly the mismatch you described — a purifier that’s on with auto off would show as grayed out. Swapped that so the tile now reflects actual on/off status. Rolling out in the next update.

PM2.5 not reporting: confirmed the 311i Max does have a real PM2.5 sensor on the back (it’s what drives your unit’s own auto-mode fan adjustments), so this isn’t a hardware limitation. Looking at the diagnostic you sent, the specific API response captured at that moment showed no sensor data at all for your unit — not a wrong-field-name bug like I first suspected, just genuinely empty at that snapshot. Since that log happened to be grabbed alongside the fan-speed crash, it’s only a single point in time, so I can’t yet tell if that’s a one-off gap or a persistent issue on the cloud side for your unit.

Whenever you get a chance (genuinely no rush, enjoy your vacation!): could you turn on Verbose logging again and let it sit for 3-5 minutes so it captures 2-3 poll cycles, then grab that log? That’ll tell us whether PM2.5 data ever comes through from BlueAir’s cloud for your unit, or if it’s consistently missing — which would point us at the right next step.

Have a great trip!

Mathias

(attachments)

Hi Ken,

Thanks for the detailed reports — they were exactly what I needed. The fixes are now available as a test release, v3.2.37:

Open that link, tap Install, and Homey will update the app to the test version (it goes to the public store once it passes review).

What’s fixed:

  1. The repeating “device unreachable” error every minute: after a failure the app kept retrying with a dead connection and never backed off. It now re-authenticates properly with increasing delays.
  2. PM2.5 not updating: your 311i Max units return no sensor data from Blueair’s API at all, so the app was writing a fake 0. It now leaves the value untouched. Could you check whether the Blueair mobile app shows PM2.5 for the Living Room unit? If it doesn’t either, it’s on Blueair’s side.
  3. Flow trigger errors (“Expected string but got number”) — fixed.

The device with the permanent 403 “no permission” error is very likely the purifier your daughter took to college — that’s the error you get when a device is no longer in your account. Removing it from Homey will stop those errors.

One more thing: earlier versions logged your Blueair access token into the diagnostic reports. That’s fixed now — please clear the app log after updating and don’t share the old reports further.

After a day or two on 3.2.37, a fresh diagnostic report would be great.

Hi everyone,

Quite a few of you have sent diagnostic reports and forum posts over the summer — thank you, they were hugely helpful. Here’s a round-up of everything that has landed since v3.2.30. The latest build, v3.3.0, is in the test channel now:

:link: BlueAir | Homey

Fixes

  • “Device unreachable” loop fixed. After a few failed API calls the app could get stuck retrying a dead connection every minute, forever, with an error in the log each time. It now re-authenticates properly and backs off (5 → 30 min) if Blueair’s cloud keeps refusing. If you saw this error repeating every 60 s — this one’s for you.
  • Flow triggers actually work again on AWS devices. All “…has changed” cards were failing with “Invalid value for token” because the value type didn’t match the card definition.
  • Flow cards are now scoped to a device. Trigger and condition cards (“PM2.5 has changed”, “PM2.5 level is…”) now have a device picker. Previously they looked global and, worse, a condition card silently evaluated whichever device had started last. Thanks to the user running four Pure units who spotted this.
  • Fan speed / night mode now wake a device from standby. You no longer need to chain a “Standby off” card first (reported for the Blue Pure 311i Max).
  • Pure pairing more reliable. Pairing re-used a fresh login for the device list, doubling the chance of hitting Blueair’s 504s. It now re-uses the session and shows a proper error instead of an empty list.
  • Blue Pure: no more fake PM2.5 = 0 when the device doesn’t report sensor data.
  • Quick action on the device tile is now the power (standby) toggle instead of auto mode.
  • Security: diagnostic reports no longer include your Blueair access token in the log (older reports did — please don’t share old reports publicly), plus dependency updates (axios etc.).

Changed — please read if you use trigger cards

The app’s own “CO2 / PM1 / PM2.5 / PM10 / tVOC / temperature / humidity has changed” trigger cards have been removed. Homey already provides built-in “… changed” cards for those sensors, so you had two of every card in the list. If a flow used one of the removed cards it will show as broken — just swap in Homey’s built-in card for the same sensor (it also gives you the new value as a tag).

Kept, because there’s no built-in equivalent: Fan speed has changed, Formaldehyde (HCHO) has changed, Filter needs to be changed, Wi-Fi status changed.

Asking for your help

  • DreamWell humidifier owners: it isn’t supported yet — the app doesn’t know how the DreamWell identifies itself. On v3.3.0, try to pair it (it will find nothing), then send a diagnostic report from the app settings page and post the report ID here. The log now shows the model string, and with that it’s a tiny change to add.
  • Blue Pure 311i Max owners: does PM2.5 show a value on your Homey tile? On some units Blueair’s API returns no sensor data at all. If the Blueair phone app shows PM2.5 but Homey doesn’t, I’d love a diagnostic report.
  • If you see a device go unavailable with “no permission to access the device” — check whether that unit is still in your Blueair account (moved out, given away, dorm room…). That’s the error you get when it isn’t.

Please give 3.3.0 a run for a few days and report anything odd. Once it’s stable it goes to the public store.

Just installed today. Will test and get back to you with logs.

Ken

Hi Mathias,

Here’s my update after a day on v3.3.0 with my three Blue Pure 311i Max units:

Completed actions:

  • Removed the dorm room purifier from Homey (403 errors are gone)
  • Updated all broken flows to use Homey’s built-in cards
  • Confirmed that fan speed and night mode changes no longer require a “Set standby to Off” card first — working perfectly!

PM2.5 status:
This is where it gets interesting. The Living Room purifier was removed and re-added, and it now shows “Last value unknown” for PM2.5 — so it’s no longer writing a fake zero, but no real value is coming through either. The other two units still show 0 µg/m³ with a last-updated timestamp of 3 months ago.

Diagnostic report after 24 hours on v3.3.0:
604c9e7d-875e-40c0-92bc-801a7eb9b939

Let me know if there’s anything specific you’d like me to test in the meantime.

Thanks again,
Ken

Hi Ken,

That’s a great update — thanks. The 403 loop, the broken flows and the standby issue are all confirmed fixed on your side, and the report shows the token is no longer in the log. The two “canceled” lines are just Blueair’s cloud being slow (20 s timeout); the app retries those automatically.

On PM2.5: your report shows exactly what’s going on — Blueair’s cloud returns an empty sensor list for your 311i Max units (sensordata: []). Homey now honours that instead of writing a fake 0, which is why the re-added Living Room unit says “Last value unknown”. The other two just still show the old 0 from before the fix.

So the question is why Blueair isn’t sending PM2.5 for these units. Two things would help me a lot:

  1. Does the Blueair phone app show a live PM2.5 number for these units? And is the exact model “Blue Pure 311i Max” (with the “i” — the one with the built-in particle sensor)?
  2. The part of the response I need is at the beginning of the log, and it scrolls out after 24 h. Could you: restart the BlueAir app in Homey (Apps → BlueAir → Restart), wait about two minutes, then submit a diagnostic report straight away? The first response for each device includes a “configuration” section that lists which sensors the device declares — that tells me whether Blueair has the sensor registered at all, or whether we need to ask for it differently.

Everything else can stay as it is — no need to re-add devices again.

Thanks again, this is exactly the kind of testing that moves things forward.

Mathias,

Yes, my BlueAir units are 311i. Screenshot attached with what is reported on their app. So the PM2.5 number is actually “live”.

The report number is 8de557a7-6f87-4d7f-8c49-6a6523a04948

Thanks,

Ken

Hi Ken,

Thanks — the screenshot settled it: the sensor is live, so the data exists, Blueair’s cloud just doesn’t include it in the response the app was reading. It turns out the 311i Max only exposes its readings through Blueair’s telemetry endpoint (the one the graph in your screenshot is drawn from), not the device-status one.

v3.3.1 on the test channel now fetches the latest telemetry sample whenever a device reports no sensor data directly: BlueAir | Homey

Please update and give it a few polls (one per minute). If the PM2.5 tile comes alive, we’re done. If it still says “Last value unknown”, a fresh diagnostic report will tell me exactly what the telemetry endpoint returned for your units. Either way, you’ll never see a fake 0 again.

The “canceled” lines in your log are just Blueair’s cloud being slow on a few calls; the app retries them automatically.

@MathiasT ,

It’s alive, but I believe it came alive during your last update. Maybe I’m wrong. Diag. report below.

4166759b-00a0-4219-9a34-f2cd93cd3f95