mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Release v1.73.0 candidate
Проверка (CI) / Классификация изменённых файлов (push) Successful in 1m0s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 1m12s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 42s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 42s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m5s
Проверка (CI) / Мутанты по диффу (1/3): затронутые свидетели краснеют (push) Failing after 4m21s
Проверка (CI) / Мутанты по диффу (2/3): затронутые свидетели краснеют (push) Failing after 4m0s
Проверка (CI) / Мутанты по диффу (3/3): затронутые свидетели краснеют (push) Failing after 4m1s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 7m16s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 5m20s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 1m0s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 1m12s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 42s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 42s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m5s
Проверка (CI) / Мутанты по диффу (1/3): затронутые свидетели краснеют (push) Failing after 4m21s
Проверка (CI) / Мутанты по диффу (2/3): затронутые свидетели краснеют (push) Failing after 4m0s
Проверка (CI) / Мутанты по диффу (3/3): затронутые свидетели краснеют (push) Failing after 4m1s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 7m16s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 5m20s
Promote the eight published v1.73.0 betas without new product behavior. Synchronize version fields and generated bundles; aggregate public release notes from v1.72.0. Main-only workflow mirrors were merged with an identical beta.8 product tree. Issue: #505 User-Visible: no Release: v1.73.0
This commit is contained in:
@@ -57,7 +57,7 @@ SCHEDULED_GRACE_S = 30 * 24 * 3600
|
||||
FILES_DIR = "houseplan/files"
|
||||
ASSETS_DIR = "houseplan/assets"
|
||||
CONF_ADMIN_ONLY = "admin_only"
|
||||
VERSION = "1.73.0-beta.8"
|
||||
VERSION = "1.73.0"
|
||||
DECOR_ASSETS_API_VERSION = 1
|
||||
SUMMARY_PANEL_API_VERSION = 1
|
||||
|
||||
|
||||
@@ -1,309 +1,309 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575",
|
||||
"fingerprint": "807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 298581,
|
||||
"initialViewGzipBytes": 298592,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-card.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 300883,
|
||||
"initialPanelGzipBytes": 300898,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2302,
|
||||
"initialPanelOnlyGzipBytes": 2306,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"houseplan-assets/fr-DJM-kqNh.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-aYygDVQZ.js",
|
||||
"houseplan-assets/iso-scene-render-DH9iLerT.js",
|
||||
"houseplan-assets/live-interaction-runtime-CJemFdgc.js",
|
||||
"houseplan-assets/pdf-export-7GKW_zQO.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/de-BeD9SIYF.js",
|
||||
"houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"houseplan-assets/fr-CNfLzzDS.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DgPgbQG8.js",
|
||||
"houseplan-assets/iso-scene-render-9PxxIEfq.js",
|
||||
"houseplan-assets/live-interaction-runtime-OETM7GZm.js",
|
||||
"houseplan-assets/pdf-export-B6G-AgbE.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js"
|
||||
],
|
||||
"lazyGzipBytes": 417341,
|
||||
"lazyGzipBytes": 417382,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 205645,
|
||||
"lazyEditorGzipBytes": 205653,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 14147,
|
||||
"lazyOnboardingGzipBytes": 14155,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"houseplan-assets/fr-DJM-kqNh.js"
|
||||
"houseplan-assets/de-BeD9SIYF.js",
|
||||
"houseplan-assets/fr-CNfLzzDS.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54844,
|
||||
"lazyLocaleGzipBytes": 54861,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/iso-scene-render-DH9iLerT.js"
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/iso-scene-render-9PxxIEfq.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 13454,
|
||||
"lazyIsometricGzipBytes": 13462,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 10254,
|
||||
"lazyFurnitureArtGzipBytes": 10250,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/pdf-export-7GKW_zQO.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/pdf-export-B6G-AgbE.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 120369,
|
||||
"lazyPdfGzipBytes": 120364,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"sha256": "2e328f67a24ca37a17e9893fc409ec07059fa88ae3a6fb21f5863ba6f89d4090",
|
||||
"path": "houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"sha256": "650f25935f5a935e0f1c301b3bd03bb094331d1916c1094ea63c6f53866b8c45",
|
||||
"rawBytes": 21134,
|
||||
"gzipBytes": 7146,
|
||||
"gzipBytes": 7149,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"sha256": "e85cfc9cc9d6c1ad6040c8b00d6101160f55ee15c355ba7b41a6a2b92542ef27",
|
||||
"path": "houseplan-assets/de-BeD9SIYF.js",
|
||||
"sha256": "7d09210471855559b0fea7e7648794d75d120a32628c5d77811e9e7c7e6d9e08",
|
||||
"rawBytes": 91441,
|
||||
"gzipBytes": 27707,
|
||||
"gzipBytes": 27713,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"sha256": "e681dc33c5c444bff668f670a9556d80df8990df7d94d51185825d5ebe2fed36",
|
||||
"path": "houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"sha256": "8b59adf27c503ef36a00c2eb0a04395bfd6f5c2eac107e6ba12bc2fdc0c01d56",
|
||||
"rawBytes": 3837,
|
||||
"gzipBytes": 1584,
|
||||
"gzipBytes": 1586,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-DJM-kqNh.js",
|
||||
"sha256": "e66cdcb758adae07ede97bc1a641e6c818a82e69483f1e9384a19d929dba3925",
|
||||
"path": "houseplan-assets/fr-CNfLzzDS.js",
|
||||
"sha256": "b1e8ed99400065e906fcc31a1d1f44940f981fb50c2d09a2ff74cdac10dc689e",
|
||||
"rawBytes": 93719,
|
||||
"gzipBytes": 27137,
|
||||
"gzipBytes": 27148,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"sha256": "40613e8ae66251a6727d5570d89fc541228494e3edf6356f67b42fc01b18f1e5",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"sha256": "0c81d49c5e4c9d0b138090a99ca124361f75309ed582f05d07c69fc1b6b92d7f",
|
||||
"rawBytes": 33655,
|
||||
"gzipBytes": 10254,
|
||||
"gzipBytes": 10250,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"sha256": "b6f404fa3444217e5cf3db0de73ba45e532f63830fd0b42d1429d7befbfab533",
|
||||
"path": "houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"sha256": "2a75558ea50a3c91ab270154441b18f7d392989faae049db00c9af57b206e2c4",
|
||||
"rawBytes": 518,
|
||||
"gzipBytes": 368,
|
||||
"gzipBytes": 371,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"sha256": "9d5a72062970d4a61cb48695b47d1bf86e1bcb2015ddf3779dd54df9a733ca78",
|
||||
"rawBytes": 1075395,
|
||||
"gzipBytes": 297780,
|
||||
"path": "houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"sha256": "9202eb087cecb9012efd1360898e3687b53b6729f65605978a8b52d1ed177721",
|
||||
"rawBytes": 1075388,
|
||||
"gzipBytes": 297788,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"houseplan-assets/fr-DJM-kqNh.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-aYygDVQZ.js",
|
||||
"houseplan-assets/iso-scene-render-DH9iLerT.js",
|
||||
"houseplan-assets/live-interaction-runtime-CJemFdgc.js",
|
||||
"houseplan-assets/pdf-export-7GKW_zQO.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js"
|
||||
"houseplan-assets/de-BeD9SIYF.js",
|
||||
"houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"houseplan-assets/fr-CNfLzzDS.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DgPgbQG8.js",
|
||||
"houseplan-assets/iso-scene-render-9PxxIEfq.js",
|
||||
"houseplan-assets/live-interaction-runtime-OETM7GZm.js",
|
||||
"houseplan-assets/pdf-export-B6G-AgbE.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"sha256": "de651a6b8cd99d06fb5f8c422f02d6b7a01f6cfe1a32c310267da8036e714cbf",
|
||||
"rawBytes": 671979,
|
||||
"gzipBytes": 178867,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"sha256": "bd9b6667a2f78549c03e5293959a5ce7dd5ab215eee62420f58f3226d06e6109",
|
||||
"rawBytes": 671972,
|
||||
"gzipBytes": 178865,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js",
|
||||
"sha256": "cb9e998022ca8cf4844ca19806d587e61fcf3d71a2ba02c5897eecfb8209ba50",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js",
|
||||
"sha256": "8d2b5ba0b169d463192e7b8531c396f89512117701c7deaa6b2e0c83491504a7",
|
||||
"rawBytes": 28237,
|
||||
"gzipBytes": 7001,
|
||||
"gzipBytes": 7006,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-aYygDVQZ.js",
|
||||
"sha256": "d5cfc4368022da2122b30e2129d457f47b02764bb1b40865d5785ed65030ffd4",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-DgPgbQG8.js",
|
||||
"sha256": "ac3c9b34db5772235b1879861640c4be53b912a9e468a274276cf4d0bb8beb02",
|
||||
"rawBytes": 11034,
|
||||
"gzipBytes": 3728,
|
||||
"gzipBytes": 3730,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-DH9iLerT.js",
|
||||
"sha256": "36b6e0690dcd20bfa625b5cc51f173052d7fc082f9101f3f827545308af80e3b",
|
||||
"path": "houseplan-assets/iso-scene-render-9PxxIEfq.js",
|
||||
"sha256": "673ec1ceddb36f8f7db22c1038222726f4227ed84e9f355783c7fe2d037ddfdb",
|
||||
"rawBytes": 38562,
|
||||
"gzipBytes": 13086,
|
||||
"gzipBytes": 13091,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-CJemFdgc.js",
|
||||
"sha256": "57b4ca4e814764f8a836c62c4868dad0c6a2c4560dbfa8fe439189721d9464c0",
|
||||
"path": "houseplan-assets/live-interaction-runtime-OETM7GZm.js",
|
||||
"sha256": "5934f78ad823a530f1bb2c3cd08e053ebfdd0594f23fddadb9e57067388a3c12",
|
||||
"rawBytes": 5196,
|
||||
"gzipBytes": 2125,
|
||||
"gzipBytes": 2129,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-7GKW_zQO.js",
|
||||
"sha256": "bb3ff46017c926c0fc0818015c5f957d533011096535c5a101130593c9f14a2f",
|
||||
"path": "houseplan-assets/pdf-export-B6G-AgbE.js",
|
||||
"sha256": "d02cb2b142ed3d4e40f64993eff91e7a81ac5ed1eac8ce9c3edb9c4298e5a98d",
|
||||
"rawBytes": 237254,
|
||||
"gzipBytes": 110115,
|
||||
"gzipBytes": 110114,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-C2BhNB7f.js",
|
||||
"sha256": "c00bac66fdcfd86f4d34f2e95c330880594108f593e1130de61ff7d0dc1995ae",
|
||||
"path": "houseplan-assets/summary-panel-editor-Dme32gxk.js",
|
||||
"sha256": "d434810c15653a8ca694ce41c03cd47f60b9e3ce9f3213f11a333386695658d2",
|
||||
"rawBytes": 14811,
|
||||
"gzipBytes": 3387,
|
||||
"gzipBytes": 3390,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-4QsBXToe.js",
|
||||
"sha256": "554204c7e694484d7acb7ac3fd870c6525b64e251b2e7944c5460cbc35a42403",
|
||||
"path": "houseplan-assets/summary-panel-metrics-JJMWCHbb.js",
|
||||
"sha256": "39d084074a8865a58dc2875ea6a9baaa77b271cca9c9b27029421ca6f2112fcf",
|
||||
"rawBytes": 2195,
|
||||
"gzipBytes": 1119,
|
||||
"gzipBytes": 1124,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js",
|
||||
"sha256": "9a7471286f3e718bc5485e31761f0fa06aa76a1cc329a21e1c64ff5fc912c988",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js",
|
||||
"sha256": "c609232a40013bce973b3b61c0b9ce3f248bb097481d437ab16ae971d5f201c4",
|
||||
"rawBytes": 69530,
|
||||
"gzipBytes": 19034,
|
||||
"gzipBytes": 19035,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-C2BhNB7f.js",
|
||||
"houseplan-assets/summary-panel-metrics-4QsBXToe.js"
|
||||
"houseplan-assets/summary-panel-editor-Dme32gxk.js",
|
||||
"houseplan-assets/summary-panel-metrics-JJMWCHbb.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-jlevIGKY.js",
|
||||
"sha256": "9c3fad6386c2ac4234b35df437542aa40a64cdc79388fe694b15e38756e4e223",
|
||||
"path": "houseplan-assets/zigbee-topology-r_7fRPfa.js",
|
||||
"sha256": "8267766cadbaf205251335d92caa66bd52ffa045e30e6e5cf1c756416a4e37d7",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7426,
|
||||
"gzipBytes": 7432,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js",
|
||||
"sha256": "04648841aced409a412f775c41e05dcd3844dff99c070ef7f2e056d6cd622b0d",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js",
|
||||
"sha256": "db59921337f4f57b8514031b320f97a435a5de52bfb4ec1e83855e10701102a9",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1763,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "e58fba5c1a4d6159125805526cb1df145b5dd0e08b3b771edaccff4534787b88",
|
||||
"sha256": "af03812bb65afed2afaeaca3bac52eedbcf2d6683218b28e5f53cf78224721ba",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 801,
|
||||
"gzipBytes": 804,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "8ac8aa855eec35b1ef04c591d91a0f17f74e0debe57905439237370465d082a6",
|
||||
"sha256": "b7fcfa42f2b03ab3a356197655d34118879732907391b0e40c6b3b85c0e5ca7b",
|
||||
"rawBytes": 6124,
|
||||
"gzipBytes": 2302,
|
||||
"gzipBytes": 2306,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-card.js"
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+5
-5
@@ -1,14 +1,14 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{t as e,l as o,x as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,dV as r,b as c}from"./houseplan-card-CcuyI-r4.js";class f extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,f={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},h=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{t as e,l as o,x as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,dV as r,b as c}from"./houseplan-card-mOz0zLlc.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
.computeLabel=${e=>f[e.name]||e.name}
|
||||
.computeLabel=${e=>h[e.name]||e.name}
|
||||
@value-changed=${this._valueChanged}
|
||||
></ha-form>`;return c`
|
||||
${d(h.slice(0,3))}
|
||||
${d(f.slice(0,3))}
|
||||
${_?c`<div class="default-floor-error" role="alert"
|
||||
style="color:var(--error-color,#db4437);margin:-4px 0 12px;overflow-wrap:anywhere">
|
||||
${t(s,"editor.default_floor_missing",{id:_})}
|
||||
</div>`:a}
|
||||
${d(h.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}f.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",f);
|
||||
${d(f.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h);
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{dT as r,dU as t,dV as s}from"./houseplan-card-CcuyI-r4.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{dT as r,dU as t,dV as s}from"./houseplan-card-mOz0zLlc.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
+6
-6
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+4
-4
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{l as t,b2 as s,A as e,x as o,b as a,cl as l,cm as i,cn as h,co as c,a$ as n,cp as r,cu as p,cq as d,cr as _,cs as u,ct as g,cv as m,cw as b,dq as $,dr as f,ds as v,a_ as y,b0 as w,dt as D}from"./houseplan-card-CcuyI-r4.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-CwadwWPw.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{l as t,b2 as s,A as e,x as o,b as a,cl as l,cm as i,cn as h,co as c,a$ as n,cp as r,cu as p,cq as d,cr as _,cs as u,ct as g,cv as m,cw as b,dq as $,dr as v,ds as f,a_ as y,b0 as w,dt as D}from"./houseplan-card-mOz0zLlc.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-CE5VSDDA.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
.text=${o(h,l)} .ariaLabel=${o(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const o=l(e),a=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===o.fill?{...a||h,a:0}:a;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:o.showBorders,showNames:o.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:o.hideDecor,hideOpenings:o.hideOpenings,roomColor:o.color,roomOpacity:o.opacity,fillMode:"none"===o.fill?"custom":o.fill,customFill:p,glowEnabled:o.glow,bgColor:o.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:o.tempMin,tempMax:o.tempMax,showLqi:o.showLqi??this.host._config?.show_signal??!0,cardFontScale:o.cardFontScale,labelTemp:o.labelTemp,labelHum:o.labelHum,labelLqi:o.labelLqi,labelLight:o.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...m(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:_,tempMax:d,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const o=await k(e);if("reject"===o.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===o.kind)return void(this.host._backdropGuard=o.state);const a=await S(e,o.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:a})}_renderBackdropGuard(){return C(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),o=this.host._spaceDialog;return o&&o.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...o,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const o=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),a=this.host._spaceDialog,l=a?.saved?.find(s=>s.name===t);if(o&&a&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==a.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return a`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return a`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return a`<div class="savedplans">
|
||||
${s.map(s=>{return a`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
@@ -85,13 +85,13 @@ globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c
|
||||
max=${c(F,this.host._imperial)}
|
||||
step="0.1"
|
||||
.value=${t.cellCmInput??c(t.cellCm,this.host._imperial)}
|
||||
@input=${s=>{const e=s.target.value,o=x(e),a=null==o?null:f(o,this.host._imperial);this.host._spaceDialog={...t,cellCmInput:e,cellCmTouched:!0,cellCm:null!=a&&a>0?Math.max(.1,Math.min(F,a)):t.cellCm}}} />
|
||||
@input=${s=>{const e=s.target.value,o=x(e),a=null==o?null:v(o,this.host._imperial);this.host._spaceDialog={...t,cellCmInput:e,cellCmTouched:!0,cellCm:null!=a&&a>0?Math.max(.1,Math.min(F,a)):t.cellCm}}} />
|
||||
<span class="opl">${this.host._t(this.host._imperial?"space.scale_unit_imperial":"space.scale_unit")}</span>
|
||||
</div>
|
||||
|
||||
<label class="dispsection">${this.host._t("space.display_section")}</label>
|
||||
<label class="srcrow">
|
||||
${this._boolInput(t.showBorders,s=>{this.host._spaceDialog=v(t,"showBorders",s)})}
|
||||
${this._boolInput(t.showBorders,s=>{this.host._spaceDialog=f(t,"showBorders",s)})}
|
||||
<span>${this.host._t("space.show_borders")}</span>
|
||||
</label>
|
||||
<div class="helpfieldlabel">
|
||||
@@ -107,7 +107,7 @@ globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c
|
||||
</option>
|
||||
</select>
|
||||
<label class="srcrow">
|
||||
${this._boolInput(t.showNames,s=>{this.host._spaceDialog=v(t,"showNames",s)})}
|
||||
${this._boolInput(t.showNames,s=>{this.host._spaceDialog=f(t,"showNames",s)})}
|
||||
<span>${this.host._t("space.show_names")}</span>
|
||||
</label>
|
||||
<label class="srcrow">
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{b as a,A as e}from"./houseplan-card-CcuyI-r4.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-D2yd1q4n.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{b as a,A as e}from"./houseplan-card-mOz0zLlc.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-0R-S6cIO.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
<span class="summary-switch-caption"><strong>${b("summary.show_local")}</strong>
|
||||
<small id="summary-local-show-hint">${b("summary.show_local_hint")}</small></span>
|
||||
<input id="summary-local-show" data-summary-local-show type="checkbox"
|
||||
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{az as e,ea as t,eb as n,bs as i,ec as r,P as a,a5 as s,M as o,aq as c,N as d,bq as l,bp as u,ed as f}from"./houseplan-card-CcuyI-r4.js";function g(t){if(!t.registry.authoritative)return null;const n=new Set,i=e(t.markers);for(const e of Object.values(t.registry.devices||{}))e?.id&&"service"!==e.entry_type&&!i.devices.has(e.id)&&e.area_id&&t.areaToSpace[e.area_id]&&n.add(e.id);for(const e of t.markers||[]){if(e.removed||"virtual"===e.binding)continue;const r=String(e.binding||"").indexOf(":");if(r<1)continue;const a=e.binding.slice(0,r),s=e.binding.slice(r+1),o="device"===a?t.registry.devices?.[s]:null,c="entity"===a?t.registry.entities?.[s]:null,d="device"===a?s:c?.device_id,l="device"===a?o?.area_id:c?.area_id||d&&t.registry.devices?.[d]?.area_id,u="string"==typeof e.room_id&&e.room_id.length>0&&null===e.area?"":e.area||l||"",f=u&&t.areaToSpace[u]||e.space||t.firstSpaceId;d&&t.registry.devices?.[d]&&t.spaceIds.has(f)&&(!i.devices.has(d)||"entity"===a&&i.liveEntities.has(s))&&n.add(d)}return n}function m(e,t){return e?.length?t?.length?f(e,t):e:t}function v(e,t){try{let n=0;for(const i of t){const t=e.spaces.find(e=>String(e?.id)===i.id);if(!t)continue;const f=r(t,i);let g=null;for(const e of i.rooms){if(!e.id)continue;const t=a(e);if(!t)continue;const n=s(i.rooms,e.id,f.walls,f.openCuts,o,f.cellCm,c,d)||t;g=m(g,l(n,f.physicalBodies))}const v=f.cellCm/c;n+=u(g)*v*v/1e4}return n}catch{return null}}function y(e,t,n,r){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:i(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(r||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function _(e,i){const r=e?.states?.[i];if(!r)return null;const a=t(e,i);return a?n(a,String(r.attributes?.unit_of_measurement||"")):null}export{g as representedHaDeviceIds,_ as summaryEntityValue,y as summarySystemValue,v as totalCleanFloorAreaM2};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{az as e,ea as t,eb as n,bs as i,ec as r,P as a,a5 as s,M as o,aq as c,N as l,bq as d,bp as u,ed as f}from"./houseplan-card-mOz0zLlc.js";function g(t){if(!t.registry.authoritative)return null;const n=new Set,i=e(t.markers);for(const e of Object.values(t.registry.devices||{}))e?.id&&"service"!==e.entry_type&&!i.devices.has(e.id)&&e.area_id&&t.areaToSpace[e.area_id]&&n.add(e.id);for(const e of t.markers||[]){if(e.removed||"virtual"===e.binding)continue;const r=String(e.binding||"").indexOf(":");if(r<1)continue;const a=e.binding.slice(0,r),s=e.binding.slice(r+1),o="device"===a?t.registry.devices?.[s]:null,c="entity"===a?t.registry.entities?.[s]:null,l="device"===a?s:c?.device_id,d="device"===a?o?.area_id:c?.area_id||l&&t.registry.devices?.[l]?.area_id,u="string"==typeof e.room_id&&e.room_id.length>0&&null===e.area?"":e.area||d||"",f=u&&t.areaToSpace[u]||e.space||t.firstSpaceId;l&&t.registry.devices?.[l]&&t.spaceIds.has(f)&&(!i.devices.has(l)||"entity"===a&&i.liveEntities.has(s))&&n.add(l)}return n}function m(e,t){return e?.length?t?.length?f(e,t):e:t}function v(e,t){try{let n=0;for(const i of t){const t=e.spaces.find(e=>String(e?.id)===i.id);if(!t)continue;const f=r(t,i);let g=null;for(const e of i.rooms){if(!e.id)continue;const t=a(e);if(!t)continue;const n=s(i.rooms,e.id,f.walls,f.openCuts,o,f.cellCm,c,l)||t;g=m(g,d(n,f.physicalBodies))}const v=f.cellCm/c;n+=u(g)*v*v/1e4}return n}catch{return null}}function y(e,t,n,r){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:i(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(r||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function _(e,i){const r=e?.states?.[i];if(!r)return null;const a=t(e,i);return a?n(a,String(r.attributes?.unit_of_measurement||"")):null}export{g as representedHaDeviceIds,_ as summaryEntityValue,y as summarySystemValue,v as totalCleanFloorAreaM2};
|
||||
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{n as t,b as n}from"./zigbee-topology-jlevIGKY.js";import{F as e}from"./houseplan-card-CcuyI-r4.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function f(t){if(!0!==t?.user?.is_admin)throw a("permission")}function p(n){const e=i(n);return e?c(e,"zha",async()=>{if(f(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(f(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,p=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{p=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const f=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&p?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof f&&b.push(f),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{p as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{n as t,b as n}from"./zigbee-topology-r_7fRPfa.js";import{F as e}from"./houseplan-card-mOz0zLlc.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{f as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";try{await import("./houseplan-assets/houseplan-card-CcuyI-r4.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";try{await import("./houseplan-assets/houseplan-card-mOz0zLlc.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -20,5 +20,5 @@
|
||||
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
||||
"requirements": [],
|
||||
"single_config_entry": true,
|
||||
"version": "1.73.0-beta.8"
|
||||
"version": "1.73.0"
|
||||
}
|
||||
|
||||
Vendored
+142
-142
@@ -1,309 +1,309 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575",
|
||||
"fingerprint": "807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 298581,
|
||||
"initialViewGzipBytes": 298592,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-card.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 300883,
|
||||
"initialPanelGzipBytes": 300898,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2302,
|
||||
"initialPanelOnlyGzipBytes": 2306,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"houseplan-assets/fr-DJM-kqNh.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-aYygDVQZ.js",
|
||||
"houseplan-assets/iso-scene-render-DH9iLerT.js",
|
||||
"houseplan-assets/live-interaction-runtime-CJemFdgc.js",
|
||||
"houseplan-assets/pdf-export-7GKW_zQO.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/de-BeD9SIYF.js",
|
||||
"houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"houseplan-assets/fr-CNfLzzDS.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DgPgbQG8.js",
|
||||
"houseplan-assets/iso-scene-render-9PxxIEfq.js",
|
||||
"houseplan-assets/live-interaction-runtime-OETM7GZm.js",
|
||||
"houseplan-assets/pdf-export-B6G-AgbE.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js"
|
||||
],
|
||||
"lazyGzipBytes": 417341,
|
||||
"lazyGzipBytes": 417382,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 205645,
|
||||
"lazyEditorGzipBytes": 205653,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 14147,
|
||||
"lazyOnboardingGzipBytes": 14155,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"houseplan-assets/fr-DJM-kqNh.js"
|
||||
"houseplan-assets/de-BeD9SIYF.js",
|
||||
"houseplan-assets/fr-CNfLzzDS.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54844,
|
||||
"lazyLocaleGzipBytes": 54861,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/iso-scene-render-DH9iLerT.js"
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/iso-scene-render-9PxxIEfq.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 13454,
|
||||
"lazyIsometricGzipBytes": 13462,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 10254,
|
||||
"lazyFurnitureArtGzipBytes": 10250,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/pdf-export-7GKW_zQO.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/pdf-export-B6G-AgbE.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 120369,
|
||||
"lazyPdfGzipBytes": 120364,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"sha256": "2e328f67a24ca37a17e9893fc409ec07059fa88ae3a6fb21f5863ba6f89d4090",
|
||||
"path": "houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"sha256": "650f25935f5a935e0f1c301b3bd03bb094331d1916c1094ea63c6f53866b8c45",
|
||||
"rawBytes": 21134,
|
||||
"gzipBytes": 7146,
|
||||
"gzipBytes": 7149,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"sha256": "e85cfc9cc9d6c1ad6040c8b00d6101160f55ee15c355ba7b41a6a2b92542ef27",
|
||||
"path": "houseplan-assets/de-BeD9SIYF.js",
|
||||
"sha256": "7d09210471855559b0fea7e7648794d75d120a32628c5d77811e9e7c7e6d9e08",
|
||||
"rawBytes": 91441,
|
||||
"gzipBytes": 27707,
|
||||
"gzipBytes": 27713,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"sha256": "e681dc33c5c444bff668f670a9556d80df8990df7d94d51185825d5ebe2fed36",
|
||||
"path": "houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"sha256": "8b59adf27c503ef36a00c2eb0a04395bfd6f5c2eac107e6ba12bc2fdc0c01d56",
|
||||
"rawBytes": 3837,
|
||||
"gzipBytes": 1584,
|
||||
"gzipBytes": 1586,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-DJM-kqNh.js",
|
||||
"sha256": "e66cdcb758adae07ede97bc1a641e6c818a82e69483f1e9384a19d929dba3925",
|
||||
"path": "houseplan-assets/fr-CNfLzzDS.js",
|
||||
"sha256": "b1e8ed99400065e906fcc31a1d1f44940f981fb50c2d09a2ff74cdac10dc689e",
|
||||
"rawBytes": 93719,
|
||||
"gzipBytes": 27137,
|
||||
"gzipBytes": 27148,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"sha256": "40613e8ae66251a6727d5570d89fc541228494e3edf6356f67b42fc01b18f1e5",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"sha256": "0c81d49c5e4c9d0b138090a99ca124361f75309ed582f05d07c69fc1b6b92d7f",
|
||||
"rawBytes": 33655,
|
||||
"gzipBytes": 10254,
|
||||
"gzipBytes": 10250,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"sha256": "b6f404fa3444217e5cf3db0de73ba45e532f63830fd0b42d1429d7befbfab533",
|
||||
"path": "houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"sha256": "2a75558ea50a3c91ab270154441b18f7d392989faae049db00c9af57b206e2c4",
|
||||
"rawBytes": 518,
|
||||
"gzipBytes": 368,
|
||||
"gzipBytes": 371,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"sha256": "9d5a72062970d4a61cb48695b47d1bf86e1bcb2015ddf3779dd54df9a733ca78",
|
||||
"rawBytes": 1075395,
|
||||
"gzipBytes": 297780,
|
||||
"path": "houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"sha256": "9202eb087cecb9012efd1360898e3687b53b6729f65605978a8b52d1ed177721",
|
||||
"rawBytes": 1075388,
|
||||
"gzipBytes": 297788,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-Ca2zS-Tw.js",
|
||||
"houseplan-assets/editor-W2o7Dn-g.js",
|
||||
"houseplan-assets/fr-DJM-kqNh.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-aYygDVQZ.js",
|
||||
"houseplan-assets/iso-scene-render-DH9iLerT.js",
|
||||
"houseplan-assets/live-interaction-runtime-CJemFdgc.js",
|
||||
"houseplan-assets/pdf-export-7GKW_zQO.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js"
|
||||
"houseplan-assets/de-BeD9SIYF.js",
|
||||
"houseplan-assets/editor-C7LQ7Tds.js",
|
||||
"houseplan-assets/fr-CNfLzzDS.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DgPgbQG8.js",
|
||||
"houseplan-assets/iso-scene-render-9PxxIEfq.js",
|
||||
"houseplan-assets/live-interaction-runtime-OETM7GZm.js",
|
||||
"houseplan-assets/pdf-export-B6G-AgbE.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-D-oKNVtj.js",
|
||||
"sha256": "de651a6b8cd99d06fb5f8c422f02d6b7a01f6cfe1a32c310267da8036e714cbf",
|
||||
"rawBytes": 671979,
|
||||
"gzipBytes": 178867,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-BIh9fgX7.js",
|
||||
"sha256": "bd9b6667a2f78549c03e5293959a5ce7dd5ab215eee62420f58f3226d06e6109",
|
||||
"rawBytes": 671972,
|
||||
"gzipBytes": 178865,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-B30IfBfx.js",
|
||||
"sha256": "cb9e998022ca8cf4844ca19806d587e61fcf3d71a2ba02c5897eecfb8209ba50",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-B6gvpoQT.js",
|
||||
"sha256": "8d2b5ba0b169d463192e7b8531c396f89512117701c7deaa6b2e0c83491504a7",
|
||||
"rawBytes": 28237,
|
||||
"gzipBytes": 7001,
|
||||
"gzipBytes": 7006,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CwadwWPw.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/backdrop-pick-CE5VSDDA.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-aYygDVQZ.js",
|
||||
"sha256": "d5cfc4368022da2122b30e2129d457f47b02764bb1b40865d5785ed65030ffd4",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-DgPgbQG8.js",
|
||||
"sha256": "ac3c9b34db5772235b1879861640c4be53b912a9e468a274276cf4d0bb8beb02",
|
||||
"rawBytes": 11034,
|
||||
"gzipBytes": 3728,
|
||||
"gzipBytes": 3730,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-DH9iLerT.js",
|
||||
"sha256": "36b6e0690dcd20bfa625b5cc51f173052d7fc082f9101f3f827545308af80e3b",
|
||||
"path": "houseplan-assets/iso-scene-render-9PxxIEfq.js",
|
||||
"sha256": "673ec1ceddb36f8f7db22c1038222726f4227ed84e9f355783c7fe2d037ddfdb",
|
||||
"rawBytes": 38562,
|
||||
"gzipBytes": 13086,
|
||||
"gzipBytes": 13091,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/guard-Cnk6ijtT.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/guard-Cxp8QKxn.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-CJemFdgc.js",
|
||||
"sha256": "57b4ca4e814764f8a836c62c4868dad0c6a2c4560dbfa8fe439189721d9464c0",
|
||||
"path": "houseplan-assets/live-interaction-runtime-OETM7GZm.js",
|
||||
"sha256": "5934f78ad823a530f1bb2c3cd08e053ebfdd0594f23fddadb9e57067388a3c12",
|
||||
"rawBytes": 5196,
|
||||
"gzipBytes": 2125,
|
||||
"gzipBytes": 2129,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-7GKW_zQO.js",
|
||||
"sha256": "bb3ff46017c926c0fc0818015c5f957d533011096535c5a101130593c9f14a2f",
|
||||
"path": "houseplan-assets/pdf-export-B6G-AgbE.js",
|
||||
"sha256": "d02cb2b142ed3d4e40f64993eff91e7a81ac5ed1eac8ce9c3edb9c4298e5a98d",
|
||||
"rawBytes": 237254,
|
||||
"gzipBytes": 110115,
|
||||
"gzipBytes": 110114,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-YYgsMIln.js",
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-CxZ67Ud8.js",
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-C2BhNB7f.js",
|
||||
"sha256": "c00bac66fdcfd86f4d34f2e95c330880594108f593e1130de61ff7d0dc1995ae",
|
||||
"path": "houseplan-assets/summary-panel-editor-Dme32gxk.js",
|
||||
"sha256": "d434810c15653a8ca694ce41c03cd47f60b9e3ce9f3213f11a333386695658d2",
|
||||
"rawBytes": 14811,
|
||||
"gzipBytes": 3387,
|
||||
"gzipBytes": 3390,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-4QsBXToe.js",
|
||||
"sha256": "554204c7e694484d7acb7ac3fd870c6525b64e251b2e7944c5460cbc35a42403",
|
||||
"path": "houseplan-assets/summary-panel-metrics-JJMWCHbb.js",
|
||||
"sha256": "39d084074a8865a58dc2875ea6a9baaa77b271cca9c9b27029421ca6f2112fcf",
|
||||
"rawBytes": 2195,
|
||||
"gzipBytes": 1119,
|
||||
"gzipBytes": 1124,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-D2yd1q4n.js",
|
||||
"sha256": "9a7471286f3e718bc5485e31761f0fa06aa76a1cc329a21e1c64ff5fc912c988",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-0R-S6cIO.js",
|
||||
"sha256": "c609232a40013bce973b3b61c0b9ce3f248bb097481d437ab16ae971d5f201c4",
|
||||
"rawBytes": 69530,
|
||||
"gzipBytes": 19034,
|
||||
"gzipBytes": 19035,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-C2BhNB7f.js",
|
||||
"houseplan-assets/summary-panel-metrics-4QsBXToe.js"
|
||||
"houseplan-assets/summary-panel-editor-Dme32gxk.js",
|
||||
"houseplan-assets/summary-panel-metrics-JJMWCHbb.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-jlevIGKY.js",
|
||||
"sha256": "9c3fad6386c2ac4234b35df437542aa40a64cdc79388fe694b15e38756e4e223",
|
||||
"path": "houseplan-assets/zigbee-topology-r_7fRPfa.js",
|
||||
"sha256": "8267766cadbaf205251335d92caa66bd52ffa045e30e6e5cf1c756416a4e37d7",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7426,
|
||||
"gzipBytes": 7432,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-CyJsrZEY.js",
|
||||
"sha256": "04648841aced409a412f775c41e05dcd3844dff99c070ef7f2e056d6cd622b0d",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-DzxOfpWb.js",
|
||||
"sha256": "db59921337f4f57b8514031b320f97a435a5de52bfb4ec1e83855e10701102a9",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1763,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js",
|
||||
"houseplan-assets/zigbee-topology-jlevIGKY.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js",
|
||||
"houseplan-assets/zigbee-topology-r_7fRPfa.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "e58fba5c1a4d6159125805526cb1df145b5dd0e08b3b771edaccff4534787b88",
|
||||
"sha256": "af03812bb65afed2afaeaca3bac52eedbcf2d6683218b28e5f53cf78224721ba",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 801,
|
||||
"gzipBytes": 804,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-CcuyI-r4.js"
|
||||
"houseplan-assets/houseplan-card-mOz0zLlc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "8ac8aa855eec35b1ef04c591d91a0f17f74e0debe57905439237370465d082a6",
|
||||
"sha256": "b7fcfa42f2b03ab3a356197655d34118879732907391b0e40c6b3b85c0e5ca7b",
|
||||
"rawBytes": 6124,
|
||||
"gzipBytes": 2302,
|
||||
"gzipBytes": 2306,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-card.js"
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+5
-5
@@ -1,14 +1,14 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{t as e,l as o,x as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,dV as r,b as c}from"./houseplan-card-CcuyI-r4.js";class f extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,f={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},h=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{t as e,l as o,x as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,dV as r,b as c}from"./houseplan-card-mOz0zLlc.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
.computeLabel=${e=>f[e.name]||e.name}
|
||||
.computeLabel=${e=>h[e.name]||e.name}
|
||||
@value-changed=${this._valueChanged}
|
||||
></ha-form>`;return c`
|
||||
${d(h.slice(0,3))}
|
||||
${d(f.slice(0,3))}
|
||||
${_?c`<div class="default-floor-error" role="alert"
|
||||
style="color:var(--error-color,#db4437);margin:-4px 0 12px;overflow-wrap:anywhere">
|
||||
${t(s,"editor.default_floor_missing",{id:_})}
|
||||
</div>`:a}
|
||||
${d(h.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}f.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",f);
|
||||
${d(f.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h);
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{dT as r,dU as t,dV as s}from"./houseplan-card-CcuyI-r4.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{dT as r,dU as t,dV as s}from"./houseplan-card-mOz0zLlc.js";const e={},a=r(class extends t{constructor(){super(...arguments),this.ot=e}render(r,t){return t()}update(r,[t,e]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return s}else if(this.ot===t)return s;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,e)}});export{a as i};
|
||||
Vendored
+6
-6
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+4
-4
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{l as t,b2 as s,A as e,x as o,b as a,cl as l,cm as i,cn as h,co as c,a$ as n,cp as r,cu as p,cq as d,cr as _,cs as u,ct as g,cv as m,cw as b,dq as $,dr as f,ds as v,a_ as y,b0 as w,dt as D}from"./houseplan-card-CcuyI-r4.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-CwadwWPw.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{l as t,b2 as s,A as e,x as o,b as a,cl as l,cm as i,cn as h,co as c,a$ as n,cp as r,cu as p,cq as d,cr as _,cs as u,ct as g,cv as m,cw as b,dq as $,dr as v,ds as f,a_ as y,b0 as w,dt as D}from"./houseplan-card-mOz0zLlc.js";import{c as k,e as S,r as C,a as M}from"./backdrop-pick-CE5VSDDA.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
.text=${o(h,l)} .ariaLabel=${o(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const o=l(e),a=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===o.fill?{...a||h,a:0}:a;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:o.showBorders,showNames:o.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:o.hideDecor,hideOpenings:o.hideOpenings,roomColor:o.color,roomOpacity:o.opacity,fillMode:"none"===o.fill?"custom":o.fill,customFill:p,glowEnabled:o.glow,bgColor:o.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:o.tempMin,tempMax:o.tempMax,showLqi:o.showLqi??this.host._config?.show_signal??!0,cardFontScale:o.cardFontScale,labelTemp:o.labelTemp,labelHum:o.labelHum,labelLqi:o.labelLqi,labelLight:o.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...m(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:_,tempMax:d,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const o=await k(e);if("reject"===o.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===o.kind)return void(this.host._backdropGuard=o.state);const a=await S(e,o.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:a})}_renderBackdropGuard(){return C(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),o=this.host._spaceDialog;return o&&o.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...o,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const o=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),a=this.host._spaceDialog,l=a?.saved?.find(s=>s.name===t);if(o&&a&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==a.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return a`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return a`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return a`<div class="savedplans">
|
||||
${s.map(s=>{return a`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
@@ -85,13 +85,13 @@ globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c
|
||||
max=${c(F,this.host._imperial)}
|
||||
step="0.1"
|
||||
.value=${t.cellCmInput??c(t.cellCm,this.host._imperial)}
|
||||
@input=${s=>{const e=s.target.value,o=x(e),a=null==o?null:f(o,this.host._imperial);this.host._spaceDialog={...t,cellCmInput:e,cellCmTouched:!0,cellCm:null!=a&&a>0?Math.max(.1,Math.min(F,a)):t.cellCm}}} />
|
||||
@input=${s=>{const e=s.target.value,o=x(e),a=null==o?null:v(o,this.host._imperial);this.host._spaceDialog={...t,cellCmInput:e,cellCmTouched:!0,cellCm:null!=a&&a>0?Math.max(.1,Math.min(F,a)):t.cellCm}}} />
|
||||
<span class="opl">${this.host._t(this.host._imperial?"space.scale_unit_imperial":"space.scale_unit")}</span>
|
||||
</div>
|
||||
|
||||
<label class="dispsection">${this.host._t("space.display_section")}</label>
|
||||
<label class="srcrow">
|
||||
${this._boolInput(t.showBorders,s=>{this.host._spaceDialog=v(t,"showBorders",s)})}
|
||||
${this._boolInput(t.showBorders,s=>{this.host._spaceDialog=f(t,"showBorders",s)})}
|
||||
<span>${this.host._t("space.show_borders")}</span>
|
||||
</label>
|
||||
<div class="helpfieldlabel">
|
||||
@@ -107,7 +107,7 @@ globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c
|
||||
</option>
|
||||
</select>
|
||||
<label class="srcrow">
|
||||
${this._boolInput(t.showNames,s=>{this.host._spaceDialog=v(t,"showNames",s)})}
|
||||
${this._boolInput(t.showNames,s=>{this.host._spaceDialog=f(t,"showNames",s)})}
|
||||
<span>${this.host._t("space.show_names")}</span>
|
||||
</label>
|
||||
<label class="srcrow">
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{b as a,A as e}from"./houseplan-card-CcuyI-r4.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-D2yd1q4n.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{b as a,A as e}from"./houseplan-card-mOz0zLlc.js";import{s,n as t,a as l,m as r,b as o,c as i,d as u}from"./summary-panel-runtime-loaded-0R-S6cIO.js";const m=m=>{const{host:c,dialog:d,problems:n,t:b}=m,y=n.find(a=>"error"===a.kind),$=d.localShow!==d.baseLocalShow||!d.localOnly&&!s(t(d.draft),d.base),p=$&&!d.busy&&!y,v=a=>n.find(e=>e.path===a),h=a=>a?b(`summary.problem.${a.code}`):"",k=()=>m.close(),g=a`<label class="summary-switch" for="summary-local-show">
|
||||
<span class="summary-switch-caption"><strong>${b("summary.show_local")}</strong>
|
||||
<small id="summary-local-show-hint">${b("summary.show_local_hint")}</small></span>
|
||||
<input id="summary-local-show" data-summary-local-show type="checkbox"
|
||||
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{az as e,ea as t,eb as n,bs as i,ec as r,P as a,a5 as s,M as o,aq as c,N as d,bq as l,bp as u,ed as f}from"./houseplan-card-CcuyI-r4.js";function g(t){if(!t.registry.authoritative)return null;const n=new Set,i=e(t.markers);for(const e of Object.values(t.registry.devices||{}))e?.id&&"service"!==e.entry_type&&!i.devices.has(e.id)&&e.area_id&&t.areaToSpace[e.area_id]&&n.add(e.id);for(const e of t.markers||[]){if(e.removed||"virtual"===e.binding)continue;const r=String(e.binding||"").indexOf(":");if(r<1)continue;const a=e.binding.slice(0,r),s=e.binding.slice(r+1),o="device"===a?t.registry.devices?.[s]:null,c="entity"===a?t.registry.entities?.[s]:null,d="device"===a?s:c?.device_id,l="device"===a?o?.area_id:c?.area_id||d&&t.registry.devices?.[d]?.area_id,u="string"==typeof e.room_id&&e.room_id.length>0&&null===e.area?"":e.area||l||"",f=u&&t.areaToSpace[u]||e.space||t.firstSpaceId;d&&t.registry.devices?.[d]&&t.spaceIds.has(f)&&(!i.devices.has(d)||"entity"===a&&i.liveEntities.has(s))&&n.add(d)}return n}function m(e,t){return e?.length?t?.length?f(e,t):e:t}function v(e,t){try{let n=0;for(const i of t){const t=e.spaces.find(e=>String(e?.id)===i.id);if(!t)continue;const f=r(t,i);let g=null;for(const e of i.rooms){if(!e.id)continue;const t=a(e);if(!t)continue;const n=s(i.rooms,e.id,f.walls,f.openCuts,o,f.cellCm,c,d)||t;g=m(g,l(n,f.physicalBodies))}const v=f.cellCm/c;n+=u(g)*v*v/1e4}return n}catch{return null}}function y(e,t,n,r){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:i(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(r||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function _(e,i){const r=e?.states?.[i];if(!r)return null;const a=t(e,i);return a?n(a,String(r.attributes?.unit_of_measurement||"")):null}export{g as representedHaDeviceIds,_ as summaryEntityValue,y as summarySystemValue,v as totalCleanFloorAreaM2};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{az as e,ea as t,eb as n,bs as i,ec as r,P as a,a5 as s,M as o,aq as c,N as l,bq as d,bp as u,ed as f}from"./houseplan-card-mOz0zLlc.js";function g(t){if(!t.registry.authoritative)return null;const n=new Set,i=e(t.markers);for(const e of Object.values(t.registry.devices||{}))e?.id&&"service"!==e.entry_type&&!i.devices.has(e.id)&&e.area_id&&t.areaToSpace[e.area_id]&&n.add(e.id);for(const e of t.markers||[]){if(e.removed||"virtual"===e.binding)continue;const r=String(e.binding||"").indexOf(":");if(r<1)continue;const a=e.binding.slice(0,r),s=e.binding.slice(r+1),o="device"===a?t.registry.devices?.[s]:null,c="entity"===a?t.registry.entities?.[s]:null,l="device"===a?s:c?.device_id,d="device"===a?o?.area_id:c?.area_id||l&&t.registry.devices?.[l]?.area_id,u="string"==typeof e.room_id&&e.room_id.length>0&&null===e.area?"":e.area||d||"",f=u&&t.areaToSpace[u]||e.space||t.firstSpaceId;l&&t.registry.devices?.[l]&&t.spaceIds.has(f)&&(!i.devices.has(l)||"entity"===a&&i.liveEntities.has(s))&&n.add(l)}return n}function m(e,t){return e?.length?t?.length?f(e,t):e:t}function v(e,t){try{let n=0;for(const i of t){const t=e.spaces.find(e=>String(e?.id)===i.id);if(!t)continue;const f=r(t,i);let g=null;for(const e of i.rooms){if(!e.id)continue;const t=a(e);if(!t)continue;const n=s(i.rooms,e.id,f.walls,f.openCuts,o,f.cellCm,c,l)||t;g=m(g,d(n,f.physicalBodies))}const v=f.cellCm/c;n+=u(g)*v*v/1e4}return n}catch{return null}}function y(e,t,n,r){if("system"!==e.type)return null;if("device_count"===e.key)return null===t.deviceCount?null:String(t.deviceCount);if("total_area"===e.key)return null===t.areaM2?null:i(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(r||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function _(e,i){const r=e?.states?.[i];if(!r)return null;const a=t(e,i);return a?n(a,String(r.attributes?.unit_of_measurement||"")):null}export{g as representedHaDeviceIds,_ as summaryEntityValue,y as summarySystemValue,v as totalCleanFloorAreaM2};
|
||||
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";import{n as t,b as n}from"./zigbee-topology-jlevIGKY.js";import{F as e}from"./houseplan-card-CcuyI-r4.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function f(t){if(!0!==t?.user?.is_admin)throw a("permission")}function p(n){const e=i(n);return e?c(e,"zha",async()=>{if(f(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(f(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,p=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{p=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const f=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&p?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof f&&b.push(f),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{p as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";import{n as t,b as n}from"./zigbee-topology-r_7fRPfa.js";import{F as e}from"./houseplan-card-mOz0zLlc.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function g(t,n){let e;try{return await Promise.race([t,new Promise((t,o)=>{e=globalThis.setTimeout(()=>o(a("timeout")),Math.max(1,n))})])}finally{void 0!==e&&globalThis.clearTimeout(e)}}function m(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,m=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=t,m=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&m?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),await g(y,Math.min(4e3,Math.max(1,s-Date.now()))),c=!0,await t.callService("mqtt","publish",{topic:`${l}/bridge/request/networkmap`,payload:JSON.stringify({type:"raw",routes:!1,transaction:i}),qos:0,retain:!1});const v=await g(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{f as readZhaTopology,m as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="4c289ff2fbf0a2df9cd9ca8f6f3c286d9d2c67019a1ced4be717a7d101800575";try{await import("./houseplan-assets/houseplan-card-CcuyI-r4.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="807c2621b5e1c592548244ff5adb94281d1799a1481ada113e6938b375396c5c";try{await import("./houseplan-assets/houseplan-card-mOz0zLlc.js")}catch(e){if(!customElements.get("houseplan-card")){const l=String(navigator.language||"en").toLowerCase();const m=l.startsWith("ru")?"House Plan обновился — перезагрузите страницу (Ctrl+F5).":l.startsWith("de")?"House Plan wurde aktualisiert — bitte laden Sie die Seite neu (Strg+F5).":l.startsWith("fr")?"House Plan a été mis à jour — veuillez recharger la page (Ctrl+F5).":"House Plan was updated — please reload the page (Ctrl+F5).";customElements.define("houseplan-card",class extends HTMLElement{setConfig(){}getCardSize(){return 1}connectedCallback(){this.style.cssText="display:block;box-sizing:border-box;padding:16px;border:1px solid var(--divider-color,#e0e0e0);border-radius:var(--ha-card-border-radius,12px);background:var(--card-background-color,#fff);color:var(--primary-text-color,#212121);font:14px/1.4 var(--paper-font-body1_-_font-family,sans-serif)";this.textContent=m}})}console.error("[houseplan] stale houseplan-card.js: the implementation chunk is unavailable",e)}
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -2,6 +2,52 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.73.0 — 2026-09-09
|
||||
|
||||
- House Plan opens from its own page in the Home Assistant sidebar, without
|
||||
requiring a separate dashboard. The regular dashboard card remains available
|
||||
([#486](https://github.com/Matysh/houseplan-card/issues/486)).
|
||||
- A configurable summary panel shows current HA values, device count, room
|
||||
area, date and time. An administrator defines shared groups, while each user
|
||||
controls visibility independently on each card. The panel, header controls
|
||||
and wide settings dialog follow the designer's layout, with smooth opening
|
||||
and closing
|
||||
([#437](https://github.com/Matysh/houseplan-card/issues/437),
|
||||
[#505](https://github.com/Matysh/houseplan-card/issues/505)).
|
||||
- Export the current space as a single-page A4 PDF with architecture, room
|
||||
names and floor areas, dimensions, hatched walls and a compass. Background,
|
||||
furniture and decor are optional; devices and live states are excluded
|
||||
([#53](https://github.com/Matysh/houseplan-card/issues/53)).
|
||||
- The first presence-radar stage displays current observations on the plan
|
||||
and supports source mapping, placement and calibration. ESPHome LD2450 and
|
||||
explicit mapping of other observation formats are supported; diagnostic
|
||||
trails remain session-local, without long-term history
|
||||
([#485](https://github.com/Matysh/houseplan-card/issues/485)).
|
||||
- Rooms can override the lower and upper comfortable-temperature limits;
|
||||
each unset limit independently inherits from the space
|
||||
([#487](https://github.com/Matysh/houseplan-card/issues/487)).
|
||||
- Each accepted wall-chain segment is saved immediately as an ordinary wall;
|
||||
unfinished chains no longer need a separate recovery mode. Finishing,
|
||||
deleting and merging rooms consistently updates geometry, device bindings
|
||||
and vacuum maps through Undo/Redo
|
||||
([#478](https://github.com/Matysh/houseplan-card/issues/478),
|
||||
[#477](https://github.com/Matysh/houseplan-card/issues/477)).
|
||||
- Zigbee topology lines and labels stay above room names and unrelated
|
||||
markers, while connected devices remain above the lines. Grey dashes have a
|
||||
contrast outline, and colour pickers now have an explicit OK button
|
||||
([#464](https://github.com/Matysh/houseplan-card/issues/464),
|
||||
[#476](https://github.com/Matysh/houseplan-card/issues/476)).
|
||||
- Recovery from storage errors during import, optimisation and space removal
|
||||
is more reliable, and deleted robot routes no longer return after restart.
|
||||
Attachment quota accounting is corrected, with stronger SVG validation and
|
||||
support-package privacy checks
|
||||
([#491](https://github.com/Matysh/houseplan-card/issues/491),
|
||||
[#495](https://github.com/Matysh/houseplan-card/issues/495),
|
||||
[#498](https://github.com/Matysh/houseplan-card/issues/498)).
|
||||
- A stable set of UI hooks is documented for external end-to-end tests and
|
||||
card-mod rules, without depending on private CSS classes
|
||||
([#489](https://github.com/Matysh/houseplan-card/issues/489)).
|
||||
|
||||
## v1.73.0-beta.8 — 2026-09-09
|
||||
|
||||
- Attachment uploads no longer count their own in-flight file twice against
|
||||
|
||||
@@ -8,6 +8,53 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.73.0 — 2026-09-09
|
||||
|
||||
- House Plan открывается с собственной страницы в боковом меню Home Assistant;
|
||||
отдельный дашборд больше не обязателен. Обычная карточка сохранена
|
||||
([#486](https://github.com/Matysh/houseplan-card/issues/486)).
|
||||
- Настраиваемая сводная панель показывает текущие значения HA, количество
|
||||
устройств, площадь комнат, дату и время. Общие группы задаёт администратор,
|
||||
а показ на каждой карточке пользователь включает независимо. Панель,
|
||||
её кнопки и широкий диалог настроек оформлены по дизайнерскому макету;
|
||||
появление и скрытие плавные
|
||||
([#437](https://github.com/Matysh/houseplan-card/issues/437),
|
||||
[#505](https://github.com/Matysh/houseplan-card/issues/505)).
|
||||
- Текущее пространство можно экспортировать в одностраничный PDF A4:
|
||||
архитектура, названия и площади комнат, размеры, штриховка стен и компас.
|
||||
Подложка, мебель и декор добавляются по выбору; устройства и живые состояния
|
||||
в документ не входят
|
||||
([#53](https://github.com/Matysh/houseplan-card/issues/53)).
|
||||
- Первый этап поддержки радаров присутствия показывает актуальные наблюдения
|
||||
на плане и позволяет сопоставить источники, разместить и откалибровать радар.
|
||||
Поддерживаются ESPHome LD2450 и явная настройка других форматов наблюдений;
|
||||
диагностический след остаётся в текущей сессии, без долговременной истории
|
||||
([#485](https://github.com/Matysh/houseplan-card/issues/485)).
|
||||
- Для комнаты можно задать собственные нижнюю и верхнюю границы комфортной
|
||||
температуры; незаданные границы наследуются от пространства
|
||||
([#487](https://github.com/Matysh/houseplan-card/issues/487)).
|
||||
- Каждый принятый отрезок цепочки стен сразу сохраняется как обычная стена;
|
||||
незавершённые цепочки больше не требуют отдельного режима восстановления.
|
||||
Завершение, удаление и объединение комнат согласованно обновляют геометрию,
|
||||
привязки устройств и карты пылесоса через Undo/Redo
|
||||
([#478](https://github.com/Matysh/houseplan-card/issues/478),
|
||||
[#477](https://github.com/Matysh/houseplan-card/issues/477)).
|
||||
- Линии и подписи Zigbee-топологии видны поверх названий комнат и посторонних
|
||||
маркеров, а связанные устройства остаются над линиями. Серый пунктир получил
|
||||
контрастную обводку; в окнах выбора цвета появилась явная кнопка «ОК»
|
||||
([#464](https://github.com/Matysh/houseplan-card/issues/464),
|
||||
[#476](https://github.com/Matysh/houseplan-card/issues/476)).
|
||||
- Повышена надёжность восстановления после ошибок записи при импорте,
|
||||
оптимизации и удалении пространства; удалённые маршруты робота не возвращаются
|
||||
после перезапуска. Исправлен подсчёт квоты загрузки вложений и усилены проверки
|
||||
SVG и приватности пакетов поддержки
|
||||
([#491](https://github.com/Matysh/houseplan-card/issues/491),
|
||||
[#495](https://github.com/Matysh/houseplan-card/issues/495),
|
||||
[#498](https://github.com/Matysh/houseplan-card/issues/498)).
|
||||
- Опубликован стабильный набор UI-хуков для внешних end-to-end тестов и правил
|
||||
card-mod, без привязки к приватным CSS-классам
|
||||
([#489](https://github.com/Matysh/houseplan-card/issues/489)).
|
||||
|
||||
## v1.73.0-beta.8 — 2026-09-09
|
||||
|
||||
- Загрузка вложений больше не считает собственный ещё не сохранённый файл
|
||||
|
||||
+11
-10
@@ -1,19 +1,20 @@
|
||||
<!-- release: v1.73.0-beta.8 -->
|
||||
<!-- release: v1.73.0 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- Обновлены оформление боковой панели, её кнопки и диалог настроек по
|
||||
дизайнерскому макету. Панель плавно появляется и скрывается, а настройки
|
||||
удобнее на больших и маленьких экранах
|
||||
([#505](https://github.com/Matysh/houseplan-card/issues/505)).
|
||||
- House Plan теперь открывается отдельной страницей из бокового меню Home Assistant; новая настраиваемая сводная панель показывает состояния и итоги по дому ([#486](https://github.com/Matysh/houseplan-card/issues/486), [#437](https://github.com/Matysh/houseplan-card/issues/437)).
|
||||
- План можно выгрузить в PDF A4; отрезки цепочек стен сохраняются сразу, а сохранение и восстановление планов стали надёжнее ([#53](https://github.com/Matysh/houseplan-card/issues/53), [#478](https://github.com/Matysh/houseplan-card/issues/478), [#491](https://github.com/Matysh/houseplan-card/issues/491)).
|
||||
- Радары присутствия получили настройку источников, калибровку и живое отображение на плане — первый этап поддержки; границы комфортной температуры настраиваются отдельно для каждой комнаты ([#485](https://github.com/Matysh/houseplan-card/issues/485), [#487](https://github.com/Matysh/houseplan-card/issues/487)).
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- The summary panel, its controls and settings dialog now follow the designer's
|
||||
layout, with smooth opening and closing and settings that adapt to large and
|
||||
small screens ([#505](https://github.com/Matysh/houseplan-card/issues/505)).
|
||||
- Open House Plan as a standalone page from the Home Assistant sidebar; a new configurable summary panel shows household states and totals ([#486](https://github.com/Matysh/houseplan-card/issues/486), [#437](https://github.com/Matysh/houseplan-card/issues/437)).
|
||||
- Export your plan to an A4 PDF; wall-chain segments save immediately, and plan saving and recovery are more reliable ([#53](https://github.com/Matysh/houseplan-card/issues/53), [#478](https://github.com/Matysh/houseplan-card/issues/478), [#491](https://github.com/Matysh/houseplan-card/issues/491)).
|
||||
- Presence radars gain source setup, calibration and live on-plan observations in this first stage of support; each room can have its own comfort-temperature limits ([#485](https://github.com/Matysh/houseplan-card/issues/485), [#487](https://github.com/Matysh/houseplan-card/issues/487)).
|
||||
- Small fixes and improvements.
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.73.0-beta.8/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.73.0-beta.8/docs/CHANGELOG.md)
|
||||
Сообщество / Community: [Telegram](https://t.me/ha_houseplan)
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.73.0/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.73.0/docs/CHANGELOG.md)
|
||||
|
||||
+2
-2
@@ -21,8 +21,8 @@ metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.73.0-beta.8** everywhere (manifest, const.py, package.json, CARD_VERSION) |
|
||||
| Current local cycle | v1.73.0-beta.8 aligns the summary panel, split header control and wide settings dialog with the designer prototype, adds smooth hiding, removes redundant size controls and links mobile visibility to local panel visibility (#505). Backup imports report committed results reliably, and removed or re-targeted robot map routes no longer restore deleted runs after restart (#495). Upload quota accounting, SVG reference-depth limits and support-package palette privacy are hardened (#498). All three issues passed independent review and are merged into `dev`. Publication requires fresh reviewed documentation screenshots and green exact-SHA Validate; `main` remains at v1.72.0. |
|
||||
| Version | **v1.73.0** everywhere (manifest, const.py, package.json, CARD_VERSION) |
|
||||
| Current local cycle | Stable promotion of the eight published v1.73.0 betas, through v1.73.0-beta.8. Highlights: the native HA sidebar page (#486), configurable designer-aligned summary panel (#437/#505), PDF export (#53), presence-radar Stage 1 (#485), room comfort limits (#487), wall-chain simplification (#478/#477) and reliability improvements. No new product behaviour is added during promotion. The main-only workflow mirrors were merged without changing the beta.8 tree. Publication requires the complete local gate, reviewed golden frames where version text changes, and green Validate plus Full Performance on the exact release SHA; stable assets also require the compositor-continuity check. |
|
||||
| Hidden Alpha Stage | #89 Stage 1 ships in v1.63.0-beta.1, #122 Stage 2 in v1.64.0 and #160 Stage 3 in v1.73.0-beta.1. The same hidden `iso` view uses the fixed 4° camera, raised/tethered device-room-lock overlays, deeper openings and bounded theme materials; #471 removes the overlay plates from paint while retaining their safety geometry. Since #448 the experiment is enabled only through the single indefinite browser-local `hp_alpha` gate; it is not expiring and has no per-stage key. Flat remains default; editors, `houseplan-space-card`, floor effects, stored coordinates and HA actions remain unchanged. Stage 3 stays internal and is absent from public changelog/user documentation. |
|
||||
| Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/<NN>-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first); every bullet links its GitHub issue (#NN) so the #328 rules stay machine-checkable. A STABLE body aggregates the changelog since the PREVIOUS STABLE release (never since the last beta): features/fixes described across the line's beta changelogs must appear, while bugs that were introduced and fixed strictly inside the beta line (never shipped in any stable) are excluded — draft with `npm run release:notes -- <tag>`, curate by hand, then `npm run release:notes -- <tag> --verify` must pass. `Мелкие исправления и улучшения` / `Small fixes and improvements` is allowed only when the range really contains user-visible work not itemised in the body; a single-issue hotfix ships without it (the verifier enforces this). Every body ends with separate links to the Russian and English changelogs. Open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- <tag> --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand |
|
||||
| GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.73.0-beta.8",
|
||||
"version": "1.73.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.73.0-beta.8",
|
||||
"version": "1.73.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.73.0-beta.8",
|
||||
"version": "1.73.0",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -409,7 +409,7 @@ import {
|
||||
import { applyOpeningMoves, mergeCollinearPartitions, spaceMergeGeometry } from './wall-merge';
|
||||
import type { MarkerRoomReferenceSnapshot } from './room-reference-transaction';
|
||||
|
||||
const CARD_VERSION = '1.73.0-beta.8';
|
||||
const CARD_VERSION = '1.73.0';
|
||||
const ENTRY_BUILD_FINGERPRINT = '__HOUSEPLAN_SOURCE_FINGERPRINT__';
|
||||
const EDITOR_RETRY_ASSET = '__HOUSEPLAN_EDITOR_RETRY_ASSET__';
|
||||
const ISO_RETRY_ASSET = '__HOUSEPLAN_ISO_RETRY_ASSET__';
|
||||
|
||||
@@ -386,7 +386,7 @@ import {
|
||||
rewriteMarkerRoomReferences, type MarkerRoomReferenceSnapshot,
|
||||
} from './room-reference-transaction';
|
||||
|
||||
const CARD_VERSION = '1.73.0-beta.8';
|
||||
const CARD_VERSION = '1.73.0';
|
||||
|
||||
// #474: the editor imports the furniture artwork statically and hands it to
|
||||
// the page runtime the moment this chunk evaluates — before the loader's
|
||||
|
||||
Reference in New Issue
Block a user