Skip to content

Releases: ProspectOre/matic-home-assistant

v0.3.12-rc7

v0.3.12-rc7 Pre-release
Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 27 Aug 08:22
8911cac

This pre-release corrects restart-time map provenance and map-transition recovery. A restored map, room overlay, pose, history, and floor-bound controls remain unavailable until fresh independent live map layers agree. Expired one-sided transition evidence now triggers bounded revalidation and retries safely; stale asynchronous map work cannot replace newer verified state.

Install through HACS with beta versions enabled, restart Home Assistant, and verify real two-map behavior. Do not share private maps, room names, identifiers, addresses, or credentials in feedback.

Final v0.3.12 remains held until real two-map acceptance succeeds on this exact commit.

v0.3.12-rc6

v0.3.12-rc6 Pre-release
Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 27 Aug 05:30
56b1a20

Fixes live map recovery after a coherent map settles without a new map revision.

The map selector now distinguishes the live robot-location map from read-only saved maps rather than claiming unverified physical floor names.

The map remains fail-closed during an unlocalized floor transition, and a transient refresh failure retains the last safe 3D scene.

v0.3.12-rc5

v0.3.12-rc5 Pre-release
Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 27 Aug 04:29
b6ab4bb

Candidate for the floor-transition map re-sync fix.

When both local SLAM layers establish a new mapped mission, Home Assistant rechecks the active floor plan promptly, with bounded retries. Room overlays and controls remain paused unless the map and floor plan agree.

Please install through HACS beta versions, restart Home Assistant, and verify a real transition between two mapped locations. Do not include maps, room names, device identifiers, credentials, or other private details in feedback.

Final v0.3.12 remains held pending live two-map acceptance.

v0.3.12-rc4

v0.3.12-rc4 Pre-release
Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 27 Aug 03:29
985b777

Fourth release candidate for issue #54 testing.\n\n- fixes the Home Assistant 2026.8 LLM-platform no-op contract so the dedicated Matic operations API does not disrupt Assist tool discovery;\n- adds a regression test for that platform-loading path.\n\nInstall this beta through HACS, restart Home Assistant, and test the real two-map transition. Final v0.3.12 remains held pending successful physical acceptance.

v0.3.12-rc3 (test build)

Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 27 Aug 01:13
82897bc

Third release candidate for issue #54 testing.

  • keeps the current floor, map, room labels, and robot position bound to the same live SLAM mission;
  • pauses stale camera and Map Studio responses during floor changes instead of mixing floors;
  • rechecks a saved plan’s floor inside the command lock before robot motion;
  • stops Home Assistant 2026.8 from treating the dedicated Matic API as an incomplete LLM platform.

Install this beta through HACS, restart Home Assistant, and test a real round trip between both mapped floors. Final v0.3.12 remains held until that test passes.

v0.3.12-rc2 (test build)

Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 26 Aug 21:24
3d6a9d9

Second release candidate for 0.3.12 live acceptance.

  • shows a robot marker only for validated exact coordinates; room-only localization now uses a truthful status instead of a stationary room-center dot;
  • scopes Home Assistant room segments and Area mappings by floor, so valid floor transitions do not create Repairs while real room edits still do;
  • keeps floor selection, retained history, camera fallback, and historical pose status coherent across map changes.

Install only to verify before the public release. No robot protocol command changed. Final v0.3.12 remains held until this exact candidate passes a real home-to-second-map round trip.

v0.3.12-rc1 (test build)

Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 26 Aug 05:05
67d4324

Release candidate for 0.3.12 live acceptance.

  • enforces permission checks and bounded robot data handling;
  • binds 3D SLAM, room overlays, pose, custom areas, and history to a verified floor mission;
  • adds privacy-safe, read-only saved-floor browsing and four admin-only Matic MCP inspection tools.

Install only to verify before the public release. No robot protocol command changed.

v0.3.11

Choose a tag to compare

@ProspectOre ProspectOre released this 20 Aug 23:58
dc13adc

Release notes — 0.3.11

Released: 2026-08-20

Summary

0.3.11 closes the last place where a stopped room could still be recorded as
cleaned: a managed run that ends where the robot stood.

Ending in place is a stop, not a finished room

The robot reports a room it was stopped in exactly the way it reports a room it
cleaned to the end, so the robot's record cannot tell them apart. Home
Assistant can: a finished task returns to its dock, while a stopped one ends in
place.

  • A managed room or leg whose task ends in place is now recorded as
    interrupted. It receives no completion, no duration, and stays due.
  • A task that returns, or that reaches the dock, is unchanged and still
    verifies its rooms against the robot's record before crediting them.
  • Late native reconciliation is never scheduled for a task that ended in
    place. Reconciliation exists for runs Home Assistant lost sight of; here it
    watched the room stop, so a marker could only ever re-credit the room that
    stop disproved.

This matters when a clean is stopped outside Home Assistant — from the vendor
app, for example — while a managed plan is running. Before this release the
plan verified the stopped room against the robot's record, the record claimed
completion, and the room was credited and pushed to the back of the rotation.

This release adds no robot protocol commands and keeps all robot traffic,
cleaning history, maps, and reconciliation data local to Home Assistant.

Reconciliation needs the same evidence

Late native reconciliation recovers a room Home Assistant lost sight of, so it
leans on the robot's record. When the integration can see the robot stop, that
record is contradicted: the watcher now abandons its marker instead of
crediting a room its own observation disproves.

The matic_robot_cleaning_finished event and the local-sessions sensor still
report the robot's own completed and completed_rooms values unchanged.
Those are the robot's claims rather than verified results, and the
documentation now says so; use matic_robot_room_completed or a room's last
cleaned
sensor when an automation needs proof.

Verification

The release candidate is gated by the full Python suite at 100% coverage,
Ruff check and format, strict MyPy, the public-tree privacy gate, browser
tests, HACS validation, and Hassfest.

Upgrading from 0.3.10

Install 0.3.11 through HACS and restart Home Assistant. Existing entries,
credentials, plans, custom areas, maps, cleaning history, and firmware
snapshots are preserved.

v0.3.11-rc2 (test build)

Pre-release

Choose a tag to compare

@ProspectOre ProspectOre released this 20 Aug 23:11
dc13adc

Release candidate for 0.3.11, covering every path that trusted the robot's completion report:

  • a managed task that ends where the robot stood is a stop, never a completion;
  • late reconciliation abandons a room it watched end in place;
  • the cleaning-finished event and sessions sensor are documented as robot claims, not proof.

Install only to verify before the real release.

v0.3.10

Choose a tag to compare

@ProspectOre ProspectOre released this 20 Aug 22:31
6a401c7

Release notes — 0.3.10

Released: 2026-08-20

Summary

0.3.10 corrects what the robot's own cleaning record is allowed to prove. That
record cannot establish that a room was finished, so it no longer produces
completions — it now keeps rotation fairness current instead. This fixes rooms
being marked cleaned after the robot was stopped in them, and it lets cleaning
the integration did not manage inform the rotation for the first time.

The robot's record proves activity, not completion

Firmware cleans without Home Assistant in ordinary situations: it resumes its
own task after an error, and the vendor app can start one. Earlier versions
imported the robot's per-room record as a verified completion at startup.

Live observation on firmware v172.12 shows that reading was wrong:

  • a room the robot entered sixty seconds before being stopped, and a room it
    cleaned for thirty-one minutes, are recorded identically;
  • a clean stopped after forty-five seconds still reported its room as
    completed, and reported the session as completed too.

The result was a room that received one minute of cleaning being recorded as
cleaned — taking its last cleaned timestamp, a duration, and a place at the
back of the intelligent rotation, so it would be skipped for a full cycle.

From 0.3.10 the robot's record is imported as a cleaning opportunity:

  • rooms the robot has just worked in stop monopolising short runs, which is the
    same fairness rule already applied to a room whose managed run was
    interrupted;
  • last cleaned, per-room durations, and completion counts continue to come
    only from runs whose end was verified, so an unverified room stays due;
  • the import now also runs whenever a cleaning session finishes rather than
    only at startup, so unmanaged cleaning is reflected while it is still
    relevant. The listener is bound to the config entry, and an unreadable robot
    is logged and skipped.

Nothing about verified completion changed: managed plans still credit a room
only against a native record that matches the commanded room with a positive
duration.

This release adds no robot protocol commands and keeps all robot traffic,
cleaning history, maps, and reconciliation data local to Home Assistant.

Room statistics need the same proof

The per-room last cleaned and clean duration sensors trusted the same
robot-reported session, including a fallback that accepted every room in a
session the robot called completed. A clean stopped after a minute therefore
recorded that room as cleaned. They now report only verified managed runs and
otherwise keep their last trusted value.

An unreadable version is not an update

Firmware analysis compared version readings directly, so a version the robot
could not report counted as a change - once when the reading was lost and again
when it returned. A brief connection interruption produced two firmware-change
events, and any automation listening for them announced an update that never
happened. A release change is now reported only when both readings are known,
and an unreadable protocol version no longer requests a fresh snapshot.

Verification

The release candidate is gated by the full Python suite at 100% coverage,
Ruff check and format, strict MyPy, the public-tree privacy gate, browser
tests, HACS validation, and Hassfest.

Upgrading from 0.3.9

Install 0.3.10 through HACS and restart Home Assistant. Existing entries,
credentials, plans, custom areas, maps, cleaning history, and firmware
snapshots are preserved.

A room that an earlier version credited from the robot's record keeps that
recorded timestamp; the value cannot be distinguished after the fact from a
verified completion, so it is left alone rather than guessed at. It is
corrected the next time that room is genuinely cleaned and verified.