mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 16:38:31 +00:00
docs v1.41.1: SEO rework of README en/ru
- keyword-rich hero + badges + feature highlights (glow, controls, kiosk, virtual walls, room cards, server-side storage) - kiosk recipe relocated before Installation; RU parity
This commit is contained in:
@@ -1,30 +1,42 @@
|
|||||||
# 🏠 House Plan — an interactive house plan for Home Assistant
|
# 🏠 House Plan — interactive floor plan card for Home Assistant
|
||||||
|
|
||||||
**A live map of your home right inside Home Assistant: floors, rooms and devices on a real floor plan — with live states, temperature and signal strength. Everything is configured with the mouse, without a single line of YAML.**
|
[](https://github.com/hacs/integration)
|
||||||
|
[](https://github.com/Matysh/houseplan-card/releases)
|
||||||
|
[](https://github.com/Matysh/houseplan-card/stargazers)
|
||||||
|
[](https://github.com/Matysh/houseplan-card/actions)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||

|
**Turn Home Assistant into a live, interactive map of your home.** Upload or draw
|
||||||
|
a floor plan, outline the rooms with your mouse — and every smart device appears
|
||||||
|
in its real place: live states, tap-to-toggle lights, temperature and humidity per
|
||||||
|
room, Zigbee signal maps, glowing light pools and a fullscreen kiosk mode for wall
|
||||||
|
tablets. No YAML, no Inkscape, no external editors — the whole floorplan lives
|
||||||
|
right on your Lovelace dashboard.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
🇷🇺 [Документация на русском](README.ru.md)
|
🇷🇺 [Документация на русском](README.ru.md)
|
||||||
|
|
||||||
|
**Feature highlights**
|
||||||
|
|
||||||
|
- 🖱 **GUI-first floorplan editor** — rooms, doors & windows, island rooms,
|
||||||
|
virtual walls and a visual decor layer, all drawn with clicks; smart
|
||||||
|
alignment guides and a live ruler in real meters/feet.
|
||||||
|
- 💡 **Lights toggle on click** out of the box; wall-switch markers can control
|
||||||
|
whole groups of lights (works for dumb switches and stateless remotes too).
|
||||||
|
- 🌒 **“Light sources” fill** — a dark house where every lit lamp casts a pool
|
||||||
|
of its own color that spills through doorways and open zone boundaries.
|
||||||
|
- 🌡 **Room cards** with temperature, humidity, Zigbee LQI and light count;
|
||||||
|
comfort-range temperature fills, per-room signal heatmap.
|
||||||
|
- 🚪 **Doors, windows and locks** with contact sensors — unlocking is always an
|
||||||
|
explicit button, never an accidental tap.
|
||||||
|
- 📺 **Kiosk mode** for wall tablets and TVs: fullscreen, swipe between floors,
|
||||||
|
auto-carousel, per-screen icon sizes.
|
||||||
|
- 🔔 New devices appear automatically with a red “new” dot; the layout is stored
|
||||||
|
**server-side** — one shared plan for every user and screen, synced live.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Wall tablet / TV (kiosk mode)
|
|
||||||
|
|
||||||
Add the card to a dedicated dashboard with a **panel view** and set `kiosk: true`
|
|
||||||
(or tick "Wall device (kiosk) mode" in the card editor):
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
type: custom:houseplan-card
|
|
||||||
kiosk: true
|
|
||||||
cycle: 0 # seconds between auto space switches, 0 = off (nice for TVs)
|
|
||||||
```
|
|
||||||
|
|
||||||
No header, no editors — just the live plan. Swipe to change floors (at 1:1),
|
|
||||||
pinch to zoom, double-tap to reset. Long-press an empty spot for 3 seconds to
|
|
||||||
tune icon and text sizes for THIS screen (saved per device). To hide Home
|
|
||||||
Assistant's own header use the companion app's kiosk settings or the
|
|
||||||
[kiosk-mode](https://github.com/NemesisRE/kiosk-mode) plugin.
|
|
||||||
|
|
||||||
## What it is and why
|
## What it is and why
|
||||||
|
|
||||||
House Plan shows your smart home the way it actually looks — on a floor plan. Instead of long lists of entities, you see rooms and devices in their real places: where the leak is, what the temperature is in the kids' room, whether the light is on in the hallway, whether the gate is open.
|
House Plan shows your smart home the way it actually looks — on a floor plan. Instead of long lists of entities, you see rooms and devices in their real places: where the leak is, what the temperature is in the kids' room, whether the light is on in the hallway, whether the gate is open.
|
||||||
@@ -66,6 +78,23 @@ Key advantages in short:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Wall tablet / TV (kiosk mode)
|
||||||
|
|
||||||
|
Add the card to a dedicated dashboard with a **panel view** and set `kiosk: true`
|
||||||
|
(or tick "Wall device (kiosk) mode" in the card editor):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
type: custom:houseplan-card
|
||||||
|
kiosk: true
|
||||||
|
cycle: 0 # seconds between auto space switches, 0 = off (nice for TVs)
|
||||||
|
```
|
||||||
|
|
||||||
|
No header, no editors — just the live plan. Swipe to change floors (at 1:1),
|
||||||
|
pinch to zoom, double-tap to reset. Long-press an empty spot for 3 seconds to
|
||||||
|
tune icon and text sizes for THIS screen (saved per device). To hide Home
|
||||||
|
Assistant's own header use the companion app's kiosk settings or the
|
||||||
|
[kiosk-mode](https://github.com/NemesisRE/kiosk-mode) plugin.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
One click if you already run HACS:
|
One click if you already run HACS:
|
||||||
|
|||||||
+48
-20
@@ -1,29 +1,40 @@
|
|||||||
# 🏠 House Plan — интерактивный план дома для Home Assistant
|
# 🏠 House Plan — интерактивный поэтажный план дома для Home Assistant
|
||||||
|
|
||||||
**Живая карта вашего дома прямо в Home Assistant: этажи, комнаты и устройства на настоящем плане — с реальными состояниями, температурой и уровнем сигнала. Всё настраивается мышкой, без единой строчки YAML.**
|
[](https://github.com/hacs/integration)
|
||||||
|
[](https://github.com/Matysh/houseplan-card/releases)
|
||||||
|
[](https://github.com/Matysh/houseplan-card/stargazers)
|
||||||
|
|
||||||

|
**Превратите Home Assistant в живую интерактивную карту дома.** Загрузите или
|
||||||
|
нарисуйте план этажа, обведите комнаты мышкой — и умные устройства появятся на
|
||||||
|
своих местах: живые состояния, свет по клику, температура и влажность по
|
||||||
|
комнатам, карта Zigbee-сигнала, светящиеся пятна ламп и полноэкранный
|
||||||
|
киоск-режим для настенного планшета. Без YAML, без Inkscape и внешних
|
||||||
|
редакторов — весь план настраивается прямо на дашборде.
|
||||||
|
|
||||||
🇬🇧 [English documentation](README.md)
|

|
||||||
|
|
||||||
|
🇬🇧 [Documentation in English](README.md)
|
||||||
|
|
||||||
|
**Главное**
|
||||||
|
|
||||||
|
- 🖱 **Редакторы прямо в карточке** — комнаты, двери и окна, комнаты-острова,
|
||||||
|
виртуальные стены и декор-слой рисуются кликами; помощник выравнивания и
|
||||||
|
линейка в реальных метрах.
|
||||||
|
- 💡 **Свет переключается кликом** из коробки; значок выключателя может
|
||||||
|
управлять группой ламп (в т.ч. «тупые» выключатели и кнопки-пульты).
|
||||||
|
- 🌒 **Заливка «Свет по источникам»** — тёмный дом, где каждая горящая лампа
|
||||||
|
даёт пятно своего цвета, проникающее через дверные проёмы и открытые зоны.
|
||||||
|
- 🌡 **Карточки комнат**: температура, влажность, Zigbee-сигнал, свет «1 из 3»;
|
||||||
|
температурная заливка по комфортным границам.
|
||||||
|
- 🚪 **Двери, окна и замки** с датчиками — отпирание только явной кнопкой,
|
||||||
|
никогда случайным тапом.
|
||||||
|
- 📺 **Киоск-режим** для настенных планшетов и ТВ: полноэкранно, свайп между
|
||||||
|
этажами, автокарусель, свои размеры на каждом экране.
|
||||||
|
- 🔔 Новые устройства сами появляются на плане с красной точкой; раскладка
|
||||||
|
хранится **на сервере HA** — один план для всех экранов, живая синхронизация.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Настенный планшет / ТВ (киоск-режим)
|
|
||||||
|
|
||||||
Отдельный дашборд с view типа «панель», у карточки — `kiosk: true` (или
|
|
||||||
галочка «Режим настенного устройства» в редакторе карточки):
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
type: custom:houseplan-card
|
|
||||||
kiosk: true
|
|
||||||
cycle: 0 # автосмена пространств каждые N секунд, 0 = выкл (удобно для ТВ)
|
|
||||||
```
|
|
||||||
|
|
||||||
Без шапки и редакторов — только живой план. Свайп листает этажи (при 1:1),
|
|
||||||
пинч — зум, двойной тап — сброс. Долгое нажатие (3 с) по пустому месту —
|
|
||||||
настройка размеров значков и текста для ЭТОГО экрана (хранится на
|
|
||||||
устройстве). Шапку самого Home Assistant скрывают настройки companion-app
|
|
||||||
или плагин [kiosk-mode](https://github.com/NemesisRE/kiosk-mode).
|
|
||||||
|
|
||||||
## Что это и зачем
|
## Что это и зачем
|
||||||
|
|
||||||
@@ -66,6 +77,23 @@ House Plan показывает ваш умный дом так, как он в
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Настенный планшет / ТВ (киоск-режим)
|
||||||
|
|
||||||
|
Отдельный дашборд с view типа «панель», у карточки — `kiosk: true` (или
|
||||||
|
галочка «Режим настенного устройства» в редакторе карточки):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
type: custom:houseplan-card
|
||||||
|
kiosk: true
|
||||||
|
cycle: 0 # автосмена пространств каждые N секунд, 0 = выкл (удобно для ТВ)
|
||||||
|
```
|
||||||
|
|
||||||
|
Без шапки и редакторов — только живой план. Свайп листает этажи (при 1:1),
|
||||||
|
пинч — зум, двойной тап — сброс. Долгое нажатие (3 с) по пустому месту —
|
||||||
|
настройка размеров значков и текста для ЭТОГО экрана (хранится на
|
||||||
|
устройстве). Шапку самого Home Assistant скрывают настройки companion-app
|
||||||
|
или плагин [kiosk-mode](https://github.com/NemesisRE/kiosk-mode).
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
В один клик, если у вас уже есть HACS:
|
В один клик, если у вас уже есть HACS:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PLANS_DIR = "houseplan/plans" # relative to the HA configuration directory
|
|||||||
FILES_URL = "/houseplan_files/files"
|
FILES_URL = "/houseplan_files/files"
|
||||||
FILES_DIR = "houseplan/files"
|
FILES_DIR = "houseplan/files"
|
||||||
CONF_ADMIN_ONLY = "admin_only"
|
CONF_ADMIN_ONLY = "admin_only"
|
||||||
VERSION = "1.41.0"
|
VERSION = "1.41.1"
|
||||||
|
|
||||||
DEFAULT_CONFIG: dict = {
|
DEFAULT_CONFIG: dict = {
|
||||||
"spaces": [],
|
"spaces": [],
|
||||||
|
|||||||
@@ -2382,4 +2382,4 @@ const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`}}Ji.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_mode:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_mergeSel:{state:!0},_openingDialog:{state:!0},_openingInfo:{state:!0},_mergeDialog:{state:!0},_splitSel:{state:!0},_decorTool:{state:!0},_decorStyle:{state:!0},_decorDraft:{state:!0},_decorSel:{state:!0},_decorTextDialog:{state:!0},_kioskDialog:{state:!0},_kioskDots:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_rulesDialog:{state:!0},_settingsDialog:{state:!0},_importDialog:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Ji.styles=Ci,customElements.get("houseplan-card")||customElements.define("houseplan-card",Ji),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.41.0 ","background:#3ea6ff;color:#04121f;font-weight:700","");
|
</div>`}}Ji.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_mode:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_mergeSel:{state:!0},_openingDialog:{state:!0},_openingInfo:{state:!0},_mergeDialog:{state:!0},_splitSel:{state:!0},_decorTool:{state:!0},_decorStyle:{state:!0},_decorDraft:{state:!0},_decorSel:{state:!0},_decorTextDialog:{state:!0},_kioskDialog:{state:!0},_kioskDots:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_rulesDialog:{state:!0},_settingsDialog:{state:!0},_importDialog:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Ji.styles=Ci,customElements.get("houseplan-card")||customElements.define("houseplan-card",Ji),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.41.1 ","background:#3ea6ff;color:#04121f;font-weight:700","");
|
||||||
|
|||||||
@@ -16,5 +16,5 @@
|
|||||||
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
||||||
"requirements": [],
|
"requirements": [],
|
||||||
"single_config_entry": true,
|
"single_config_entry": true,
|
||||||
"version": "1.41.0"
|
"version": "1.41.1"
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2382,4 +2382,4 @@ const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>`}}Ji.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_mode:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_mergeSel:{state:!0},_openingDialog:{state:!0},_openingInfo:{state:!0},_mergeDialog:{state:!0},_splitSel:{state:!0},_decorTool:{state:!0},_decorStyle:{state:!0},_decorDraft:{state:!0},_decorSel:{state:!0},_decorTextDialog:{state:!0},_kioskDialog:{state:!0},_kioskDots:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_rulesDialog:{state:!0},_settingsDialog:{state:!0},_importDialog:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Ji.styles=Ci,customElements.get("houseplan-card")||customElements.define("houseplan-card",Ji),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.41.0 ","background:#3ea6ff;color:#04121f;font-weight:700","");
|
</div>`}}Ji.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_mode:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_mergeSel:{state:!0},_openingDialog:{state:!0},_openingInfo:{state:!0},_mergeDialog:{state:!0},_splitSel:{state:!0},_decorTool:{state:!0},_decorStyle:{state:!0},_decorDraft:{state:!0},_decorSel:{state:!0},_decorTextDialog:{state:!0},_kioskDialog:{state:!0},_kioskDots:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_rulesDialog:{state:!0},_settingsDialog:{state:!0},_importDialog:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Ji.styles=Ci,customElements.get("houseplan-card")||customElements.define("houseplan-card",Ji),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.41.1 ","background:#3ea6ff;color:#04121f;font-weight:700","");
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.41.1 — 2026-07-24 (docs)
|
||||||
|
- README (en/ru) reworked for discoverability: keyword-rich hero ("interactive
|
||||||
|
floor plan card for Home Assistant"), badges, a feature-highlights list
|
||||||
|
covering glow, controls, kiosk, virtual walls and room cards; the kiosk
|
||||||
|
recipe moved next to Installation. Demo GIF slot ready for the new capture.
|
||||||
|
|
||||||
## v1.41.0 — 2026-07-24 (kiosk mode for wall devices)
|
## v1.41.0 — 2026-07-24 (kiosk mode for wall devices)
|
||||||
- New card option **`kiosk: true`** (also in the GUI editor): the full View
|
- New card option **`kiosk: true`** (also in the GUI editor): the full View
|
||||||
experience — live states, glow, lamp taps, info cards, locks — with no
|
experience — live states, glow, lamp taps, info cards, locks — with no
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "houseplan-card",
|
"name": "houseplan-card",
|
||||||
"version": "1.41.0",
|
"version": "1.41.1",
|
||||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ import './space-card';
|
|||||||
import { cardStyles } from './styles';
|
import { cardStyles } from './styles';
|
||||||
import { langOf, t, type I18nKey } from './i18n';
|
import { langOf, t, type I18nKey } from './i18n';
|
||||||
|
|
||||||
const CARD_VERSION = '1.41.0';
|
const CARD_VERSION = '1.41.1';
|
||||||
const LS_KEY = 'houseplan_card_layout_v1';
|
const LS_KEY = 'houseplan_card_layout_v1';
|
||||||
const LS_CFG = 'houseplan_card_cfg_v1'; // cache of the server config+layout for instant rendering
|
const LS_CFG = 'houseplan_card_cfg_v1'; // cache of the server config+layout for instant rendering
|
||||||
const LS_ZOOM = 'houseplan_card_zoom_v1';
|
const LS_ZOOM = 'houseplan_card_zoom_v1';
|
||||||
|
|||||||
Reference in New Issue
Block a user