Skip to content

v3.1.1

Choose a tag to compare

@github-actions github-actions released this 30 Jun 20:44
8b8553e

Roomba+ v3.1.1 — Last Mission Summary Bugfix

Config entry version: 24 (unchanged — no migration required)
Minimum Home Assistant: 2025.5.0
Breaking changes: none for end users

Overview

A small follow-up release fixing a bug in sensor.*_last_mission_summary (introduced in v3.1.0) and adding the room-by-room coverage data that was requested alongside it.

Bug fix

cleaned_rooms on sensor.*_last_mission_summary always returned None on real installations. The attribute was reading a last_cleaned_rooms key directly from the stored mission record — but that key never actually exists there; it's only ever computed on the fly (the same name is used as a computed attribute on the vacuum entity, which created the confusion). cleaned_rooms now uses the same MissionStore.latest_cleaned_rooms() resolution path the vacuum entity already used correctly, with the same region-map/UMF-alignment fallback logic for SMART vs. EPHEMERAL robots.

New attribute

sensor.*_last_mission_summary now also exposes room_coverage — a {room_name: coverage_fraction} dictionary for the most recent mission, using the same data the vacuum entity's room_coverage attribute already provides. No new computation, no new data source — same information, now available in one place alongside the rest of the mission summary instead of needing a separate entity lookup.

Both cleaned_rooms and room_coverage are None when no cloud credentials are configured and the robot's Smart Map isn't yet aligned — same gate the vacuum entity attribute uses.

Field-data acknowledgement

This release exists because of a thoughtful follow-up suggestion from a field tester comparing Roomba+ against the official iRobot app's mission summary — specifically asking whether room coverage could be folded into the last-mission entity. Looking into it surfaced the cleaned_rooms bug as a side effect.

Test suite

3029 tests, 0 failures (baseline: 3027 before this release).

Upgrade notes

No config entry migration. If you were already reading cleaned_rooms from last_mission_summary and handling its (incorrect) None value in an automation or template, that workaround is no longer necessary — the attribute now returns real data.