Files
houseplan-card/docs/specs/040-floor-area-onboarding.md
T
Matysh 112c260314
Validate / hacs (push) Failing after 12s
Validate / hassfest (push) Failing after 13s
Validate / frontend (push) Successful in 3m2s
Validate / golden (push) Failing after 51s
Validate / backend (push) Failing after 6m50s
Validate / smoke (push) Failing after 13m44s
Validate / performance (push) Failing after 24m13s
Release v1.61.0-beta.1
2026-08-09 21:51:33 +03:00

2.9 KiB
Raw Blame History

ТЗ #40 — Floors/Areas как направляемый onboarding

Цель

При создании комнат помогать последовательно разметить HA areas выбранного floor, оставаясь read-only потребителем HA registries.

Space ↔ floor

Space draft получает optional floor_id. Import/create wizard предлагает HA floor, но разрешает «Без этажа». Существующий space без floor продолжает работать. House Plan не создаёт, не переименовывает и не переносит floor/area.

Room dialog

Area options группируются:

  1. неиспользованные areas выбранного floor;
  2. уже используемые areas этого floor (disabled для duplicate binding, с указанием комнаты);
  3. areas без floor/других floors в раскрываемой группе «Другие зоны»;
  4. явное option «Без зоны».

При выборе area новое room name предлагается из area.name, но вручную введённое имя не перезаписывается. «Без зоны» является валидным select value и не требует отдельной кнопки.

Progress

В Plan editor/room create flow: «Размечено N из M зон этажа». M — active HA areas выбранного floor, N — unique room.area этого space. Disabled/deleted areas не увеличивают M; orphaned saved binding отображается отдельно и не исчезает из room config.

Registry lifecycle

  • limited registry: UI сообщает, что список может быть неполным, не объявляет зоны удалёнными;
  • floor change space не переносит areas автоматически; preview показывает несоответствия и требует подтверждения;
  • area moved to another floor обновляет группировку, но не меняет room;
  • одна area не может быть назначена двум live rooms через UI; imported collision показывается как validation warning.

Проверки и приёмка

  • floor/no-floor/limited/disabled/orphaned matrices;
  • name suggestion не затирает user input;
  • progress unique count и registry refresh;
  • keyboard/mobile select groups;
  • никакой HA registry write/service call;
  • room без area сохраняется обычной Save и ведёт себя как сейчас.