mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 16:38:31 +00:00
docs: bring the whole set up to the shipped vacuum feature
TESTING gets a manual checklist matching the current contracts (modes, teleport-on-view-change, tip glued to the icon, fit panel, multi-floor); ARCHITECTURE gains trails.py and the trail/get command; VACUUM records the display modes and what P1 actually shipped; README/PRODUCT/ROADMAP/ STATUS mention the feature.
This commit is contained in:
+1
-1
@@ -9,7 +9,7 @@ An interactive floor plan for Home Assistant delivered as one HACS package:
|
||||
a storage **integration** (server-side config, WS API, file uploads, auth) + a
|
||||
**Lovelace card** (rendering, room markup editor, drag layout, zoom, live states,
|
||||
temperature, Zigbee LQI, device metadata with PDF manuals, virtual markers,
|
||||
en/ru localization). GUI-first: no YAML, no hand-made SVG.
|
||||
live robot vacuums, en/ru localization). GUI-first: no YAML, no hand-made SVG.
|
||||
|
||||
## Competitive landscape (stars verified 2026-07-06)
|
||||
|
||||
|
||||
+7
-1
@@ -57,7 +57,13 @@ Track progress in `custom_components/houseplan/quality_scale.yaml` (done/exempt
|
||||
mapping (regex/domain/device_class → mdi icon) stored in config, shipping EN+RU
|
||||
defaults; drop dacha-specific patterns from code.
|
||||
- [x] **Click actions** per device (v1.13.0, simplified v1.38.1): card / more-info /
|
||||
toggle, with the lock/alarm safety model.
|
||||
toggle, with the lock/alarm safety model; running an automation/script/scene
|
||||
with an optional confirmation landed in v1.53.0.
|
||||
- [x] **Live robot vacuums** (docs/VACUUM.md): a puck driving the plan over a
|
||||
solved affine transform, one-click calibration by room names or a
|
||||
drag-and-stretch fit panel, server-recorded trails (current + previous run)
|
||||
with never/cleaning/always display modes. Adapters: Xiaomi Cloud Map
|
||||
Extractor, Tasshack dreame-vacuum, Valetudo. Display only — no commands.
|
||||
- [x] **Theming**: light-theme pass done in v1.13.0; HA theme variables
|
||||
everywhere, optional per-space background color.
|
||||
- [ ] Multi-instance question: keep single-instance (one house) but support **multiple
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
| Home instance | ha.jbstudio.pro (SSH port **22222**, key `ha_jb`; HA config root is `/mnt/data/supervisor/homeassistant` — `/config` does NOT exist in this SSH environment), deployed **v1.53.1** via direct copy (HACS custom repo also installed) |
|
||||
| Localization | UI en/ru (src/i18n/*.json), everything user-visible localized incl. kiosk popover |
|
||||
| Tests | Four layers: frontend unit (`npm test`, node:test over `test-build/`), pure backend (`pytest tests_backend`, runs anywhere), HA-harness backend (same folder, CI only — needs py3.13 + pytest-homeassistant-custom-component), and browser smokes (`demo/smoke_*.mjs`, headless chromium). **Counts are not written down here** — they went stale within two releases while the version line beside them was kept current, which reads as less coverage than exists (review R5-2). Run `npm run inventory` for the current numbers, or read them off the last CI run |
|
||||
| Vacuums | Live robot vacuums shipped (docs/VACUUM.md): puck, server-side trails with display modes, fit-panel calibration. Verified on a live Dreame X50 Master |
|
||||
| Demo stand | **https://demo.houseplan.tech** — public, login `demo`/`demo`, resets to a pristine synthetic home every hour. **https://dev.houseplan.tech** — closed (basic auth), auto-deploys the `dev` branch every 10 min. Host: `ssh -i ~/.ssh/hp_stand hp@135.106.166.146`; layout, seeds and gotchas in the memory note `houseplan-demo-stand` |
|
||||
| Community | **Telegram chat: https://t.me/ha_houseplan** (created 2026-07-27) — the primary user-facing support channel; GitHub issues stay for bugs/features. Link it from any new release notes and posts |
|
||||
| Product scope | docs/SCOPE.md (2026-07-22) is the feature guard rail — check before accepting any feature |
|
||||
|
||||
+22
-1
@@ -122,10 +122,31 @@ Commands of any kind (owner decision: display only) — no tap-to-clean,
|
||||
no zone sending. No-go zones, cleaned-area polygons, cleaning history,
|
||||
multi-robot collision avoidance — v2 candidates.
|
||||
|
||||
## Trail display modes
|
||||
|
||||
`marker.vacuum.trail_mode`: `never` | `cleaning` (default — the line hides
|
||||
the instant the run ends) | `always` (the only mode that also draws the
|
||||
previous run, at 40% opacity). The legacy boolean `trail` still maps in
|
||||
(`false` → never). Recording is independent of the mode: the server always
|
||||
records, the mode only decides what is drawn.
|
||||
|
||||
The last segment is a rAF-driven tip line whose endpoint is glued to the
|
||||
puck's animated centre every frame, so the path pours out from under the
|
||||
icon instead of popping in when the next telemetry point lands.
|
||||
|
||||
## Phases
|
||||
|
||||
- **P1:** adapter framework + all three Tier-A adapters +
|
||||
auto-calibration by rooms + manual 3-point wizard + the puck + trail (both sources).
|
||||
- **P2:** Tier C room highlight + the demo-stand scripted robot.
|
||||
- **P2 (next):** Tier C room highlight + the demo-stand scripted robot.
|
||||
- **P3:** Tier B zoo (Roomba, raw Valetudo MQTT), Deebot, multi-map
|
||||
polish by feedback.
|
||||
|
||||
## Shipped in P1
|
||||
|
||||
Adapters for the three Tier-A integrations, auto-calibration by room
|
||||
names, the drag-and-stretch fit panel, the puck, server-side trails
|
||||
(current + previous run) with the three display modes. Verified against a
|
||||
live Dreame X50 Master: room centres arrive as plain x/y, the active map
|
||||
name lives on the vacuum entity (`selected_map`), and the robot's Y axis
|
||||
is flipped versus the screen — hence mirror-on by default.
|
||||
|
||||
Reference in New Issue
Block a user