Skip to content

Releases: Greminn/ha-spatial-context

v0.15.0-beta.1

v0.15.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 10 Oct 22:37

This release is a big clean-up of the interface, and it's part of a wider push towards a v1 release. The aim was for Spatial Context to feel like a native part of Home Assistant instead of a separate tool inside it.

A cleaner, more native interface

  • Controls row. The tools, the options for the current tool (such as the Snap menu), Background, and undo, redo and save now sit in a second bar under the header, like HA's own filter bars. Move map gets its own third bar.
  • Info cards. Click a room, device, wall, door or window, link, building or stack of devices and a card opens with its details, in the style of HA's map panel. On a phone it spans the width, and a chevron folds it to a header so you can keep working on the map.
  • Editing on the card. A device's label and height, and a room's name, are now fields on the card instead of browser prompts.
  • Settings dialog like HA's own dialogs, with an About section (version and a link to this repository).
  • HA-style controls everywhere. Rounded-rectangle buttons and fields, HA's colour list for room colours, HA-style switches and sliders, consistent hover and focus, and one set of text sizes and spacing across the whole panel.
  • Scale bar. A distance bar at the bottom left of each calibrated floor rescales as you zoom. A floor that isn't calibrated shows a "Not calibrated" chip that starts Set Scale. The old "62.3 units" readout is gone.
  • Light and dark backdrops for the floors and the Property tab, so the floating panels stand out.
  • Phone layout. The device picker becomes a sheet under the plan with a close button, and the panel now fits the visible screen on iOS.
  • Standard sidebar icon (mdi:floor-plan), and the custom icon module is no longer loaded.

Also new

  • A device's network links. With a Connectivity Map layer on, a device's card lists every link it has, strongest first, with the signal for each.
  • Connectivity Map layers stay on after you close their menu (the header button turns blue). Pick one again to turn it off.
  • Translations (#19). The rest of the interface is now translated: Settings, the device picker, menus, messages, confirmations, wall material and colour names, and the integration's setup and action names. English and German; the German is machine-drafted and still needs a native-speaker check.

Fixed

  • spatial_context.get_map and Export JSON were crashing on every release since v0.13.0-beta.1, so assistants and automations couldn't read the map. Both work again, and a regression test now covers the export.

Docs

  • The README is rewritten around giving an AI assistant spatial context, with new screenshots.

On the road to v1

This is still a beta. Before a stable v1 I'm planning a native-speaker review of the German, automated checks and tests, and a period of beta feedback. If something in this release looks wrong or unfamiliar, please open an issue.

Upgrade note: restart Home Assistant after updating (the export fix and the new sidebar icon are on the backend side), then reload the page.

v0.14.0-beta.1

v0.14.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 10 Oct 00:49

Added

  • Map background on the Property tab (needs Home Assistant 2026.10+). Background → Add map background puts a live map behind your buildings, centred on your HA home location. Map type switches between Street map (drawn from HA's built-in map tile service, no key needed) and Aerial photo (Esri). The aerial photo is loaded by your browser directly from Esri, and its credit shows on the canvas. An uploaded background image still draws on top, and a Map opacity slider is included.
  • Move map mode: drag, zoom (Ctrl+scroll, buttons or pinch) and rotate (Shift+scroll, slider or twist) the map under your fixed building outlines to line them up. Moves are saved and can be undone.
  • Ghost outline (#6): each placed building shows its traced rooms and walls inside its Property rectangle, so you can see how well it fits.
  • Translations (#19): the drawing toolbar, hints and selection panels are now translated (English and German; the German is machine-drafted and still needs a native-speaker check).

Changed

  • Property canvas zoom goes much deeper when a map is on, and the zoom buttons take smaller steps.
  • README refreshed with new screenshots and a map section.

Upgrade note: this adds a backend field, so restart Home Assistant after updating. The map option appears once it has restarted. The map code (about 1.1 MB) only loads when a map is switched on.

v0.13.0-beta.2

v0.13.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 07 Oct 06:00

Fixed

  • Deleting a floor in Home Assistant no longer leaves devices stuck as "placed". Devices on a deleted floor can be placed again, and a building whose floors were all deleted no longer appears on the Property tab or affects its scale. Nothing is erased: re-creating a floor with the same name brings its layout back. (#37)
  • Floor tabs are reachable on phones. On narrow screens the floor tabs move to their own row under the header and scroll sideways when there are more floors than fit. Floor names stay visible instead of icons only. (#21)

Needs a Home Assistant restart (backend change).

v0.13.0-beta.1

v0.13.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 06 Oct 21:15

Added

  • Snap menu while tracing (#36). Choose what new points snap onto: everything, only shapes of the kind you're drawing (so a wall traced along a room's edge stays where you put it), or nothing. Remembered per browser; Shift still frees a single point.
  • Property tab scale (#6). Once a placed building has a floor with Set Scale done, the Property tab works out its own scale from it. Shown top-right, with a warning if placed buildings disagree. Outdoor devices now get real-world x_m/y_m in Export JSON and get_map.

Needs a Home Assistant restart after updating.

v0.12.0-beta.2

v0.12.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 03 Oct 20:41

Fixed

  • On Home Assistant older than 2025.2, the Bluetooth layer now says it needs 2025.2 or newer, instead of asking you to restart Home Assistant.

Docs

  • README updated for the current release: requirements for each Connectivity Map layer (including that the Zigbee layer needs Zigbee2MQTT), the get_map and refresh_zigbee_mesh actions, how to report a problem with a debug report, and undo/redo.

v0.12.0-beta.1

v0.12.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 03 Oct 20:20

Added

  • #4 — Bluetooth in the Connectivity Map: a new Bluetooth layer shows each Bluetooth LE device Home Assistant has registered (BTHome, Xiaomi BLE, SwitchBot and similar) linked to the scanner or ESPHome Bluetooth proxy that hears it best, coloured by signal strength (RSSI). It's live, from Home Assistant's own Bluetooth data (the same as Settings → Bluetooth → Visualization). Place your proxies' ESPHome devices and your BLE devices for the lines to appear. Cross-floor and outdoor links work as for the other layers. Requires a Home Assistant admin account.

Changed

  • Connectivity Map errors now say what to do — e.g. "Restart Home Assistant to finish updating Spatial Context" instead of "Unknown command."

⚠️ Restart Home Assistant after updating.

v0.11.0-beta.1

v0.11.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 03 Oct 20:05

Added

  • #17 — Searchable icon picker: Set icon on a device now opens a picker instead of asking you to type an icon name. Search all Material Design Icons by name or keyword (e.g. lamp, gate, motion), with suggestions based on the device's name, and Use default icon to go back.
  • Room dragging, refined: while you drag a room, a dashed outline marks where it started and bringing it back snaps it exactly into place. Its corners also snap into line with other rooms and walls (pink guides show the alignment; hold Shift to drag freely). Connectivity Map lines now follow devices and rooms as you drag.
  • Esc cancels a drag: press Esc mid-drag and the room, device, label, corner or building goes straight back where it was.
  • Wi-Fi links for UniFi clients whose tracker entity is disabled — their access point is now read from the UniFi integration directly.

Changed

  • Settings menu redesigned: grouped sections, each setting on one row with its control on the right (switches, two-way toggles), and it stays open while you adjust things.
  • Icons now come from Home Assistant itself: custom device icons are no longer fetched from an outside service (api.iconify.design), so they also work offline.

⚠️ Restart Home Assistant after updating.

v0.10.0-beta.1

v0.10.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 02 Oct 23:28

Added

  • #15 — Undo/redo: Ctrl/Cmd+Z undoes your last edit and Ctrl/Cmd+Shift+Z (or Ctrl+Y) redoes it, also available as buttons in the header. History is kept for the floor you're on and for the Property tab, and a drag or slider movement counts as one step. Reset floor/property can be undone too. While tracing a room, wall or scale line, Ctrl/Cmd+Z still removes just the last point.
  • Move a whole room — select a room, then drag inside it to move it together with its label and the devices placed in it.
  • Debug logging (Settings, off by default) — records what the panel does (loads, saves, errors, mesh loads) to spatial_context_debug.log in your config folder, and More options → Download debug report produces a single file to attach to an issue. Both contain IDs and counts only, never device names or positions.
  • Update checks — after an update, the panel tells you if Home Assistant still needs a restart, or if your browser is running an older copy of the panel and needs a reload.

Changed

  • The panel is now always re-checked for updates when the page loads, so updates no longer get stuck behind a cached copy in the browser (Safari especially).

Fixed

  • A failed save now shows a banner with the reason and a Retry button, instead of failing silently.
  • A checkbox, slider or dropdown that kept focus after being clicked no longer blocks keyboard shortcuts such as Delete and Ctrl/Cmd+Z.

⚠️ Restart Home Assistant after updating.

v0.9.0-beta.1

v0.9.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 01 Oct 19:21

Added

  • #32 — Auto-save (Settings → Auto-save changes, on by default): edits save themselves a few seconds after each change, and switching floors saves first instead of asking to discard. Refreshing or closing the tab with unsaved changes now asks before leaving. Reset floor/property and remove all devices still wait for you to press Save, so an accidental reset isn't committed.
  • #33 — Draggable room labels: select a room, then drag its name somewhere more readable; Reset label position in the room's panel puts it back.

Changed

  • #33 — Room labels now sit at the most open spot inside the room by default, instead of the average of its corners — L- and U-shaped rooms no longer get their name on or behind an inner wall.

Fixed

  • An edit made while a save was in progress could be marked as saved when it wasn't.

v0.8.0-beta.1

v0.8.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Greminn Greminn released this 30 Sep 08:13

Added

  • Outdoor devices on the Property tab — place devices that sit outside every building (garden lights, a driveway sensor) directly on the site photo with the new Place outdoor device button. The device picker opens on Outdoor / no floor (HA areas with no floor). A device lives in one place only: placing it outdoors takes it off any floor, and vice versa.
  • Connectivity Map on the Property tab — Zigbee/Wi-Fi/Matter links with an outdoor end are drawn on the site photo. A link to an indoor device is drawn dashed to that device's real position inside its building (worked out from the building's placement), with a button to jump to its floor.
  • Outside stubs on floor plans — a link from an indoor device to an outdoor one draws as a stub labelled Outside, pointing at the outdoor device's real position; click it to jump to the Property tab.
  • Outdoor areas on floor plans — an HA area with no floor (a deck, a driveway) can be linked to a room drawn on any floor, under Outdoor / no floor in the room's area list. Its devices then show under that floor in the device picker. The area itself stays floor-less in HA.
  • Export — outdoor devices are included in a new outdoor_devices list.

Changed

  • Building placements now remember the floor-plan outline they were fitted to, so drawing more rooms later (such as a deck) no longer stretches the Property tab mapping. Existing placements are updated automatically the first time the Property tab loads.
  • Floor tabs are centred in the header, and the header shows just the app name and version.

Fixed

  • Pressing Delete on the Property tab could delete a floor device still selected from before switching tabs.