mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Prepare v1.75.0-beta.1
Seven version sources move together to 1.75.0-beta.1, both changelogs close their section over what has landed since the stable v1.74.0, the release notes carry the one shipped bullet on each side with the grouped small-fixes bullet last, and STATUS says what this beta is. What the user gets: the House Plan sidebar page can no longer serve a previous version of the card. The panel entry fetched it through `./houseplan-card.js` — a relative specifier, and relative resolution does not inherit the `?v=` a dashboard gets from its Lovelace resource, while the entry files carry no Cache-Control at all. A browser was free to answer from its own heuristic cache for hours, and a stale loader named a stale immutable chunk, so the panel ran an old card against the current backend with nothing but the version banner to show for it — and reloading could not help, because the address never changed (#535). Internal in the line: #536 — the version banner now asks the host to repaint when it drops the notice on disconnect, instead of leaving its removal to whatever unrelated update happened to run next. npm test 2532/2530/0 fail (the #349 manifest-tracking check goes green with this commit), release contract green on all seven sources, bundle 287 323 B gzip inside the ceiling, docs strict green. The `Release:` trailer is what asks CI for the heavy gates — smokes, golden and the full performance comparison — on this exact SHA (#479). Issue: #535 User-Visible: yes Release: v1.75.0-beta.1
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.74.0"
|
||||
VERSION = "1.75.0-beta.1"
|
||||
DECOR_ASSETS_API_VERSION = 1
|
||||
SUMMARY_PANEL_API_VERSION = 1
|
||||
|
||||
|
||||
@@ -1,311 +1,311 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0",
|
||||
"fingerprint": "db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 287309,
|
||||
"initialViewGzipBytes": 287323,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 288832,
|
||||
"initialPanelGzipBytes": 288847,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2326,
|
||||
"initialPanelOnlyGzipBytes": 2330,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/de-CTRMxnqa.js",
|
||||
"houseplan-assets/editor-C4D4NL2W.js",
|
||||
"houseplan-assets/fr-BlK161My.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-B-pc_DQw.js",
|
||||
"houseplan-assets/iso-scene-render-CeiPinyk.js",
|
||||
"houseplan-assets/live-interaction-runtime-D3AdWQzC.js",
|
||||
"houseplan-assets/pdf-export-_bO9a48Z.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/de-DXQkfSq9.js",
|
||||
"houseplan-assets/editor-AlCJ01bj.js",
|
||||
"houseplan-assets/fr-CM1oO_To.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-Brgd1XkC.js",
|
||||
"houseplan-assets/iso-scene-render-CRiQjWrR.js",
|
||||
"houseplan-assets/live-interaction-runtime-DwsMmPYz.js",
|
||||
"houseplan-assets/pdf-export-CuTSM2Xy.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js"
|
||||
],
|
||||
"lazyGzipBytes": 417421,
|
||||
"lazyGzipBytes": 417451,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/editor-C4D4NL2W.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/editor-AlCJ01bj.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 205001,
|
||||
"lazyEditorGzipBytes": 205007,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 13914,
|
||||
"lazyOnboardingGzipBytes": 13920,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-CTRMxnqa.js",
|
||||
"houseplan-assets/fr-BlK161My.js"
|
||||
"houseplan-assets/de-DXQkfSq9.js",
|
||||
"houseplan-assets/fr-CM1oO_To.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54819,
|
||||
"lazyLocaleGzipBytes": 54827,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/iso-scene-render-CeiPinyk.js"
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/iso-scene-render-CRiQjWrR.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 13458,
|
||||
"lazyIsometricGzipBytes": 13461,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 10253,
|
||||
"lazyFurnitureArtGzipBytes": 10252,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/pdf-export-_bO9a48Z.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/pdf-export-CuTSM2Xy.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 120125,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"sha256": "ab05be070ca4533911d1d59e4e486c8ec3f27402a3203aa6bf0adb52337e79e8",
|
||||
"path": "houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"sha256": "ac5e0897e94b25b9f0fda874031d9d8c5398e60244773b21572065b33be8cc36",
|
||||
"rawBytes": 19956,
|
||||
"gzipBytes": 6878,
|
||||
"gzipBytes": 6881,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-CTRMxnqa.js",
|
||||
"sha256": "aee191277d6ac672b534df85aeab802fb8c3ed2d62e60c77c468e89ac54c3158",
|
||||
"path": "houseplan-assets/de-DXQkfSq9.js",
|
||||
"sha256": "bd87b557e1f1241c425fcdb3956b5ddc7a64869e5d89e4c0a9a00c608623d39c",
|
||||
"rawBytes": 91402,
|
||||
"gzipBytes": 27693,
|
||||
"gzipBytes": 27697,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-C4D4NL2W.js",
|
||||
"sha256": "d25d626bd42a4c029b0984a5eb8a3642359a48f6d5522a0f5f8779fdc4421179",
|
||||
"path": "houseplan-assets/editor-AlCJ01bj.js",
|
||||
"sha256": "7d8bb9c49a2b3c709a96935d5ed99a4936a0145ce8b7def421ad6b3a7ae0bfa4",
|
||||
"rawBytes": 3832,
|
||||
"gzipBytes": 1585,
|
||||
"gzipBytes": 1586,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-BlK161My.js",
|
||||
"sha256": "960c9a7a904c131feeedbf508d30ac6741090c3c1497c997c0be5684f8bb8c40",
|
||||
"path": "houseplan-assets/fr-CM1oO_To.js",
|
||||
"sha256": "0fcfc984eee7c4005732d04999b62d7bc91cc56d37992dff1213704723328c86",
|
||||
"rawBytes": 93667,
|
||||
"gzipBytes": 27126,
|
||||
"gzipBytes": 27130,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"sha256": "ab5ff3c3e382ef0d41196c1d311dff2bbcc90667364ca55079c20c2b512ff0d5",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"sha256": "82487bfda9d400d33a939f7e8ca64917df624e98987727e8ae45c6c1a599744d",
|
||||
"rawBytes": 33655,
|
||||
"gzipBytes": 10253,
|
||||
"gzipBytes": 10252,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/guard-B4LMSU6J.js",
|
||||
"sha256": "768897ac5bdd21d64027b74563aab5e15f1cf26054a2d6600e1fd704105eb801",
|
||||
"path": "houseplan-assets/guard-DJKZsv11.js",
|
||||
"sha256": "273b0fbd23206b4618234e63750dc1416d45dcd48018d7a9353ca0cd93f2ab37",
|
||||
"rawBytes": 518,
|
||||
"gzipBytes": 372,
|
||||
"gzipBytes": 371,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"sha256": "fef5ddebd1c9e17bdf475d2eda28d6f53663bbb8f0fbab1d3327f817e1e5957a",
|
||||
"rawBytes": 1021215,
|
||||
"gzipBytes": 286506,
|
||||
"path": "houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"sha256": "17c4fe3e77f0c9a6cfd66fa227e18748d55ab2d674b0ca903b97ccb8ad525d89",
|
||||
"rawBytes": 1021222,
|
||||
"gzipBytes": 286517,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-CTRMxnqa.js",
|
||||
"houseplan-assets/editor-C4D4NL2W.js",
|
||||
"houseplan-assets/fr-BlK161My.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-B-pc_DQw.js",
|
||||
"houseplan-assets/iso-scene-render-CeiPinyk.js",
|
||||
"houseplan-assets/live-interaction-runtime-D3AdWQzC.js",
|
||||
"houseplan-assets/pdf-export-_bO9a48Z.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js"
|
||||
"houseplan-assets/de-DXQkfSq9.js",
|
||||
"houseplan-assets/editor-AlCJ01bj.js",
|
||||
"houseplan-assets/fr-CM1oO_To.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-Brgd1XkC.js",
|
||||
"houseplan-assets/iso-scene-render-CRiQjWrR.js",
|
||||
"houseplan-assets/live-interaction-runtime-DwsMmPYz.js",
|
||||
"houseplan-assets/pdf-export-CuTSM2Xy.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"sha256": "95e727ba027f7c639e47e6900c0cd347c1f829515304adfaaff7ee3189a81915",
|
||||
"rawBytes": 668813,
|
||||
"gzipBytes": 178483,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"sha256": "2a0e17d5070a0d59ce9489c044a580ad8613327fec1d5f1e8db565599a1e940a",
|
||||
"rawBytes": 668820,
|
||||
"gzipBytes": 178489,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js",
|
||||
"sha256": "553134e94ec66e0c00941a3537ec0e574e843ced1eb7013d5e7116604f8365ba",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js",
|
||||
"sha256": "8f4e90a95d86e8e6f08e269a3b773053d92ea9d0f4a4790a5961d466c57134f2",
|
||||
"rawBytes": 28287,
|
||||
"gzipBytes": 7036,
|
||||
"gzipBytes": 7039,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-B-pc_DQw.js",
|
||||
"sha256": "6a636f03fe51a95eceaea915e18bd4714119a93f6c8c7d81b7285fcc31344744",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-Brgd1XkC.js",
|
||||
"sha256": "e7559502c578608954dd7d0f0d5f37986be195d4f5482378704f5d4343877f20",
|
||||
"rawBytes": 10756,
|
||||
"gzipBytes": 3682,
|
||||
"gzipBytes": 3684,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-CeiPinyk.js",
|
||||
"sha256": "5f5f10d84d9fc3183cff6a9de22dd3c8deb10a480f2f2835dd9b43e16e29cdae",
|
||||
"path": "houseplan-assets/iso-scene-render-CRiQjWrR.js",
|
||||
"sha256": "28db416e756a24dd9f519ac455875cc42ecdd9d596b1b62385d15eb3f57e500e",
|
||||
"rawBytes": 38562,
|
||||
"gzipBytes": 13086,
|
||||
"gzipBytes": 13090,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-D3AdWQzC.js",
|
||||
"sha256": "0b9a21deeede84cdc27ecf3ec5449e8fb3d296339315b8c1c6a8655a7b87afa7",
|
||||
"path": "houseplan-assets/live-interaction-runtime-DwsMmPYz.js",
|
||||
"sha256": "d2e30f3a1307339a011eb83a4b2da44aa2bce1d1ff06059e5aa9b12c0e11fa7c",
|
||||
"rawBytes": 6032,
|
||||
"gzipBytes": 2433,
|
||||
"gzipBytes": 2435,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-_bO9a48Z.js",
|
||||
"sha256": "505e1f6d21fb7d66a48c66044f4668485deea1fab8ce892e1e70ebb26bfb479e",
|
||||
"path": "houseplan-assets/pdf-export-CuTSM2Xy.js",
|
||||
"sha256": "12992685f882a72f6366fafdefdd00dd2a2255aeca95c59d9e8e5a381872a333",
|
||||
"rawBytes": 236244,
|
||||
"gzipBytes": 109872,
|
||||
"gzipBytes": 109873,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-2CUB_hEH.js",
|
||||
"sha256": "da64b8059c7796d8c719ddf71b7cf0f438e36d7c105bd5882ca1e91b4e84c324",
|
||||
"path": "houseplan-assets/summary-panel-editor-CuJRJ1sK.js",
|
||||
"sha256": "01e7022dd28df2509b5b3ec9f18b8abe54f6ae81801bf0df55b40c24089e0445",
|
||||
"rawBytes": 14824,
|
||||
"gzipBytes": 3398,
|
||||
"gzipBytes": 3404,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-LZqdk4ee.js",
|
||||
"sha256": "e0c27424d773e4259390ee65bca1cd3582a99509c073340ffaf2111bb4ecad67",
|
||||
"path": "houseplan-assets/summary-panel-metrics-BT_P8XGQ.js",
|
||||
"sha256": "5f29ca33bd8ca605c66f1950de7e5e7037dbf9cb18a9351d5c8dbb88191b86c9",
|
||||
"rawBytes": 2610,
|
||||
"gzipBytes": 1306,
|
||||
"gzipBytes": 1308,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js",
|
||||
"sha256": "ccd4ee51c257ced6a3c09e4205e2c310f479f101c37fc32f672021cb932a82b3",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js",
|
||||
"sha256": "e0bcc760e475ee325d2ef450d46dd01c8be36199115c524f07786256a79b9004",
|
||||
"rawBytes": 72272,
|
||||
"gzipBytes": 19728,
|
||||
"gzipBytes": 19731,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-2CUB_hEH.js",
|
||||
"houseplan-assets/summary-panel-metrics-LZqdk4ee.js"
|
||||
"houseplan-assets/summary-panel-editor-CuJRJ1sK.js",
|
||||
"houseplan-assets/summary-panel-metrics-BT_P8XGQ.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-BIfw_L0a.js",
|
||||
"sha256": "2b4144291f42cf49b717ff2ff5995e4158a9f4da4152e4b812428ecebf8f13ec",
|
||||
"path": "houseplan-assets/zigbee-topology-DqRTR7Hc.js",
|
||||
"sha256": "379a9d8b8693aa623adaa648e79e0d135c4166b93d18c86543437d4b0b017311",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7430,
|
||||
"gzipBytes": 7428,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js",
|
||||
"sha256": "8acee9a0016ee1cd15f30a3f72de93b5af9fd5966b81a126db332315af775df0",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js",
|
||||
"sha256": "8864917ffffe701dca49ad77b101afa10e1c54302c36202952495de62698c8be",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1764,
|
||||
"gzipBytes": 1765,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "834f5758f9e122a890a25e8a717c95b66f5ea92c109dd59e0a3efb4587441065",
|
||||
"sha256": "b2e8054db0fe3273040d9a41756a436ee46542572cbe9577b5b4c926d6b0235e",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 803,
|
||||
"gzipBytes": 806,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "742aff52d46d65daebc3b794c374fad49badc9d21c606cadfa7b5fa9771f6002",
|
||||
"sha256": "21ed6dc9b757c5dc74560f8c53e1ec35658850469cc817b7a3e3a6ad7efa35b9",
|
||||
"rawBytes": 6165,
|
||||
"gzipBytes": 2326,
|
||||
"gzipBytes": 2330,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
+6
-6
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,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-kxu4PK0e.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
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-D16ZAY2E.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}
|
||||
+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 +0,0 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{dS as r,dT as t,dU as s}from"./houseplan-card-kxu4PK0e.js";const a={},e=r(class extends t{constructor(){super(...arguments),this.ot=a}render(r,t){return t()}update(r,[t,a]){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,a)}});export{e as i};
|
||||
@@ -0,0 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{dS as r,dT as t,dU as e}from"./houseplan-card-D16ZAY2E.js";const s={},a=r(class extends t{constructor(){super(...arguments),this.ot=s}render(r,t){return t()}update(r,[t,s]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return e}else if(this.ot===t)return e;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,s)}});export{a as i};
|
||||
+5
-5
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+28
-28
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+33
-33
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__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{b as a,A as e}from"./houseplan-card-kxu4PK0e.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-_3sR_2sH.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__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{b as a,A as e}from"./houseplan-card-D16ZAY2E.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-BMSiGS2Q.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__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as a,bn as s,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-kxu4PK0e.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),a=i.binding.slice(o+1),s="device"===r?e.registry.devices?.[a]:null,c="entity"===r?e.registry.entities?.[a]:null,l="device"===r?a:c?.device_id,u="device"===r?s?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(a))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*b(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const s=t(e);if(!s)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||s;v=y(v,a(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=s(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function p(e,t,n,i){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:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{b as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,p as summarySystemValue,h as totalCleanFloorAreaM2};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as s,bn as a,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-D16ZAY2E.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),s=i.binding.slice(o+1),a="device"===r?e.registry.devices?.[s]:null,c="entity"===r?e.registry.entities?.[s]:null,l="device"===r?s:c?.device_id,u="device"===r?a?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(s))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*b(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=a(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function p(e,t,n,i){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:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{b as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,p as summarySystemValue,h 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
@@ -0,0 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{n as t,b as n}from"./zigbee-topology-DqRTR7Hc.js";import{B as e}from"./houseplan-card-D16ZAY2E.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 +0,0 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{n as t,b as n}from"./zigbee-topology-BIfw_L0a.js";import{B as o}from"./houseplan-card-kxu4PK0e.js";const e=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 o=e.get(n);return o||(o={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},e.set(n,o)),o}function r(t,n,o){t.states={...t.states,[n]:o},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 o=String(t?.message||"").toLowerCase();return o.includes("unauthor")||o.includes("permission")?"permission":o.includes("unknown_command")||o.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,o){const e=t.inflight.get(n);if(e)return e;r(t,n,{phase:"loading"});const i=o().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(o=>{r(t,n,{phase:"error",error:s(o)})}).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 o=i(t);return o?(o.listeners.add(n),()=>o.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const o=i(n);return o?c(o,"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),o=n?.payload??t;if("string"!=typeof o)return o;try{return JSON.parse(o)}catch{return null}}async function g(t,n){let o;try{return await Promise.race([t,new Promise((t,e)=>{o=globalThis.setTimeout(()=>e(a("timeout")),Math.max(1,n))})])}finally{void 0!==o&&globalThis.clearTimeout(o)}}function m(t,e,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=o(e);return c(s,`z2m:${l||String(e)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const o=t.connection,e=o?.subscribeMessage;if("function"!=typeof e||"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 e.call(o,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await e.call(o,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),o=n?.transaction??d(n?.data)?.transaction;return"string"==typeof o||"number"==typeof o?String(o):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__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";try{await import("./houseplan-assets/houseplan-card-kxu4PK0e.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__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";try{await import("./houseplan-assets/houseplan-card-D16ZAY2E.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.74.0"
|
||||
"version": "1.75.0-beta.1"
|
||||
}
|
||||
|
||||
Vendored
+143
-143
@@ -1,311 +1,311 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0",
|
||||
"fingerprint": "db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 287309,
|
||||
"initialViewGzipBytes": 287323,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 288832,
|
||||
"initialPanelGzipBytes": 288847,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2326,
|
||||
"initialPanelOnlyGzipBytes": 2330,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/de-CTRMxnqa.js",
|
||||
"houseplan-assets/editor-C4D4NL2W.js",
|
||||
"houseplan-assets/fr-BlK161My.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-B-pc_DQw.js",
|
||||
"houseplan-assets/iso-scene-render-CeiPinyk.js",
|
||||
"houseplan-assets/live-interaction-runtime-D3AdWQzC.js",
|
||||
"houseplan-assets/pdf-export-_bO9a48Z.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/de-DXQkfSq9.js",
|
||||
"houseplan-assets/editor-AlCJ01bj.js",
|
||||
"houseplan-assets/fr-CM1oO_To.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-Brgd1XkC.js",
|
||||
"houseplan-assets/iso-scene-render-CRiQjWrR.js",
|
||||
"houseplan-assets/live-interaction-runtime-DwsMmPYz.js",
|
||||
"houseplan-assets/pdf-export-CuTSM2Xy.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js"
|
||||
],
|
||||
"lazyGzipBytes": 417421,
|
||||
"lazyGzipBytes": 417451,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/editor-C4D4NL2W.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/editor-AlCJ01bj.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 205001,
|
||||
"lazyEditorGzipBytes": 205007,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 13914,
|
||||
"lazyOnboardingGzipBytes": 13920,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-CTRMxnqa.js",
|
||||
"houseplan-assets/fr-BlK161My.js"
|
||||
"houseplan-assets/de-DXQkfSq9.js",
|
||||
"houseplan-assets/fr-CM1oO_To.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54819,
|
||||
"lazyLocaleGzipBytes": 54827,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/iso-scene-render-CeiPinyk.js"
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/iso-scene-render-CRiQjWrR.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 13458,
|
||||
"lazyIsometricGzipBytes": 13461,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 10253,
|
||||
"lazyFurnitureArtGzipBytes": 10252,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/pdf-export-_bO9a48Z.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/pdf-export-CuTSM2Xy.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 120125,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"sha256": "ab05be070ca4533911d1d59e4e486c8ec3f27402a3203aa6bf0adb52337e79e8",
|
||||
"path": "houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"sha256": "ac5e0897e94b25b9f0fda874031d9d8c5398e60244773b21572065b33be8cc36",
|
||||
"rawBytes": 19956,
|
||||
"gzipBytes": 6878,
|
||||
"gzipBytes": 6881,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-CTRMxnqa.js",
|
||||
"sha256": "aee191277d6ac672b534df85aeab802fb8c3ed2d62e60c77c468e89ac54c3158",
|
||||
"path": "houseplan-assets/de-DXQkfSq9.js",
|
||||
"sha256": "bd87b557e1f1241c425fcdb3956b5ddc7a64869e5d89e4c0a9a00c608623d39c",
|
||||
"rawBytes": 91402,
|
||||
"gzipBytes": 27693,
|
||||
"gzipBytes": 27697,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-C4D4NL2W.js",
|
||||
"sha256": "d25d626bd42a4c029b0984a5eb8a3642359a48f6d5522a0f5f8779fdc4421179",
|
||||
"path": "houseplan-assets/editor-AlCJ01bj.js",
|
||||
"sha256": "7d8bb9c49a2b3c709a96935d5ed99a4936a0145ce8b7def421ad6b3a7ae0bfa4",
|
||||
"rawBytes": 3832,
|
||||
"gzipBytes": 1585,
|
||||
"gzipBytes": 1586,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-BlK161My.js",
|
||||
"sha256": "960c9a7a904c131feeedbf508d30ac6741090c3c1497c997c0be5684f8bb8c40",
|
||||
"path": "houseplan-assets/fr-CM1oO_To.js",
|
||||
"sha256": "0fcfc984eee7c4005732d04999b62d7bc91cc56d37992dff1213704723328c86",
|
||||
"rawBytes": 93667,
|
||||
"gzipBytes": 27126,
|
||||
"gzipBytes": 27130,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"sha256": "ab5ff3c3e382ef0d41196c1d311dff2bbcc90667364ca55079c20c2b512ff0d5",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"sha256": "82487bfda9d400d33a939f7e8ca64917df624e98987727e8ae45c6c1a599744d",
|
||||
"rawBytes": 33655,
|
||||
"gzipBytes": 10253,
|
||||
"gzipBytes": 10252,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/guard-B4LMSU6J.js",
|
||||
"sha256": "768897ac5bdd21d64027b74563aab5e15f1cf26054a2d6600e1fd704105eb801",
|
||||
"path": "houseplan-assets/guard-DJKZsv11.js",
|
||||
"sha256": "273b0fbd23206b4618234e63750dc1416d45dcd48018d7a9353ca0cd93f2ab37",
|
||||
"rawBytes": 518,
|
||||
"gzipBytes": 372,
|
||||
"gzipBytes": 371,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"sha256": "fef5ddebd1c9e17bdf475d2eda28d6f53663bbb8f0fbab1d3327f817e1e5957a",
|
||||
"rawBytes": 1021215,
|
||||
"gzipBytes": 286506,
|
||||
"path": "houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"sha256": "17c4fe3e77f0c9a6cfd66fa227e18748d55ab2d674b0ca903b97ccb8ad525d89",
|
||||
"rawBytes": 1021222,
|
||||
"gzipBytes": 286517,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-CTRMxnqa.js",
|
||||
"houseplan-assets/editor-C4D4NL2W.js",
|
||||
"houseplan-assets/fr-BlK161My.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-B-pc_DQw.js",
|
||||
"houseplan-assets/iso-scene-render-CeiPinyk.js",
|
||||
"houseplan-assets/live-interaction-runtime-D3AdWQzC.js",
|
||||
"houseplan-assets/pdf-export-_bO9a48Z.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js"
|
||||
"houseplan-assets/de-DXQkfSq9.js",
|
||||
"houseplan-assets/editor-AlCJ01bj.js",
|
||||
"houseplan-assets/fr-CM1oO_To.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-Brgd1XkC.js",
|
||||
"houseplan-assets/iso-scene-render-CRiQjWrR.js",
|
||||
"houseplan-assets/live-interaction-runtime-DwsMmPYz.js",
|
||||
"houseplan-assets/pdf-export-CuTSM2Xy.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-C0L0xpVR.js",
|
||||
"sha256": "95e727ba027f7c639e47e6900c0cd347c1f829515304adfaaff7ee3189a81915",
|
||||
"rawBytes": 668813,
|
||||
"gzipBytes": 178483,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-fgKUHLHF.js",
|
||||
"sha256": "2a0e17d5070a0d59ce9489c044a580ad8613327fec1d5f1e8db565599a1e940a",
|
||||
"rawBytes": 668820,
|
||||
"gzipBytes": 178489,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-Bu2ebkJb.js",
|
||||
"sha256": "553134e94ec66e0c00941a3537ec0e574e843ced1eb7013d5e7116604f8365ba",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-CydxVyX1.js",
|
||||
"sha256": "8f4e90a95d86e8e6f08e269a3b773053d92ea9d0f4a4790a5961d466c57134f2",
|
||||
"rawBytes": 28287,
|
||||
"gzipBytes": 7036,
|
||||
"gzipBytes": 7039,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-asz5q_OU.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/backdrop-pick-CyY8a1an.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-B-pc_DQw.js",
|
||||
"sha256": "6a636f03fe51a95eceaea915e18bd4714119a93f6c8c7d81b7285fcc31344744",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-Brgd1XkC.js",
|
||||
"sha256": "e7559502c578608954dd7d0f0d5f37986be195d4f5482378704f5d4343877f20",
|
||||
"rawBytes": 10756,
|
||||
"gzipBytes": 3682,
|
||||
"gzipBytes": 3684,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-CeiPinyk.js",
|
||||
"sha256": "5f5f10d84d9fc3183cff6a9de22dd3c8deb10a480f2f2835dd9b43e16e29cdae",
|
||||
"path": "houseplan-assets/iso-scene-render-CRiQjWrR.js",
|
||||
"sha256": "28db416e756a24dd9f519ac455875cc42ecdd9d596b1b62385d15eb3f57e500e",
|
||||
"rawBytes": 38562,
|
||||
"gzipBytes": 13086,
|
||||
"gzipBytes": 13090,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/guard-B4LMSU6J.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/guard-DJKZsv11.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-D3AdWQzC.js",
|
||||
"sha256": "0b9a21deeede84cdc27ecf3ec5449e8fb3d296339315b8c1c6a8655a7b87afa7",
|
||||
"path": "houseplan-assets/live-interaction-runtime-DwsMmPYz.js",
|
||||
"sha256": "d2e30f3a1307339a011eb83a4b2da44aa2bce1d1ff06059e5aa9b12c0e11fa7c",
|
||||
"rawBytes": 6032,
|
||||
"gzipBytes": 2433,
|
||||
"gzipBytes": 2435,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-_bO9a48Z.js",
|
||||
"sha256": "505e1f6d21fb7d66a48c66044f4668485deea1fab8ce892e1e70ebb26bfb479e",
|
||||
"path": "houseplan-assets/pdf-export-CuTSM2Xy.js",
|
||||
"sha256": "12992685f882a72f6366fafdefdd00dd2a2255aeca95c59d9e8e5a381872a333",
|
||||
"rawBytes": 236244,
|
||||
"gzipBytes": 109872,
|
||||
"gzipBytes": 109873,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-Co1oFVBb.js",
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-DznZ2Fx_.js",
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-2CUB_hEH.js",
|
||||
"sha256": "da64b8059c7796d8c719ddf71b7cf0f438e36d7c105bd5882ca1e91b4e84c324",
|
||||
"path": "houseplan-assets/summary-panel-editor-CuJRJ1sK.js",
|
||||
"sha256": "01e7022dd28df2509b5b3ec9f18b8abe54f6ae81801bf0df55b40c24089e0445",
|
||||
"rawBytes": 14824,
|
||||
"gzipBytes": 3398,
|
||||
"gzipBytes": 3404,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-LZqdk4ee.js",
|
||||
"sha256": "e0c27424d773e4259390ee65bca1cd3582a99509c073340ffaf2111bb4ecad67",
|
||||
"path": "houseplan-assets/summary-panel-metrics-BT_P8XGQ.js",
|
||||
"sha256": "5f29ca33bd8ca605c66f1950de7e5e7037dbf9cb18a9351d5c8dbb88191b86c9",
|
||||
"rawBytes": 2610,
|
||||
"gzipBytes": 1306,
|
||||
"gzipBytes": 1308,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-_3sR_2sH.js",
|
||||
"sha256": "ccd4ee51c257ced6a3c09e4205e2c310f479f101c37fc32f672021cb932a82b3",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BMSiGS2Q.js",
|
||||
"sha256": "e0bcc760e475ee325d2ef450d46dd01c8be36199115c524f07786256a79b9004",
|
||||
"rawBytes": 72272,
|
||||
"gzipBytes": 19728,
|
||||
"gzipBytes": 19731,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-2CUB_hEH.js",
|
||||
"houseplan-assets/summary-panel-metrics-LZqdk4ee.js"
|
||||
"houseplan-assets/summary-panel-editor-CuJRJ1sK.js",
|
||||
"houseplan-assets/summary-panel-metrics-BT_P8XGQ.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-BIfw_L0a.js",
|
||||
"sha256": "2b4144291f42cf49b717ff2ff5995e4158a9f4da4152e4b812428ecebf8f13ec",
|
||||
"path": "houseplan-assets/zigbee-topology-DqRTR7Hc.js",
|
||||
"sha256": "379a9d8b8693aa623adaa648e79e0d135c4166b93d18c86543437d4b0b017311",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7430,
|
||||
"gzipBytes": 7428,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-CWPOu5RF.js",
|
||||
"sha256": "8acee9a0016ee1cd15f30a3f72de93b5af9fd5966b81a126db332315af775df0",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-BiW5fF3W.js",
|
||||
"sha256": "8864917ffffe701dca49ad77b101afa10e1c54302c36202952495de62698c8be",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1764,
|
||||
"gzipBytes": 1765,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js",
|
||||
"houseplan-assets/zigbee-topology-BIfw_L0a.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js",
|
||||
"houseplan-assets/zigbee-topology-DqRTR7Hc.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "834f5758f9e122a890a25e8a717c95b66f5ea92c109dd59e0a3efb4587441065",
|
||||
"sha256": "b2e8054db0fe3273040d9a41756a436ee46542572cbe9577b5b4c926d6b0235e",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 803,
|
||||
"gzipBytes": 806,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "742aff52d46d65daebc3b794c374fad49badc9d21c606cadfa7b5fa9771f6002",
|
||||
"sha256": "21ed6dc9b757c5dc74560f8c53e1ec35658850469cc817b7a3e3a6ad7efa35b9",
|
||||
"rawBytes": 6165,
|
||||
"gzipBytes": 2326,
|
||||
"gzipBytes": 2330,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-kxu4PK0e.js"
|
||||
"houseplan-assets/houseplan-card-D16ZAY2E.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
Vendored
+6
-6
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,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-kxu4PK0e.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
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{m as e,l as o,t,e3 as s,A as a,e4 as i,e5 as l,e6 as n,dU as r,b as c}from"./houseplan-card-D16ZAY2E.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}
|
||||
+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 +0,0 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{dS as r,dT as t,dU as s}from"./houseplan-card-kxu4PK0e.js";const a={},e=r(class extends t{constructor(){super(...arguments),this.ot=a}render(r,t){return t()}update(r,[t,a]){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,a)}});export{e as i};
|
||||
+1
@@ -0,0 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{dS as r,dT as t,dU as e}from"./houseplan-card-D16ZAY2E.js";const s={},a=r(class extends t{constructor(){super(...arguments),this.ot=s}render(r,t){return t()}update(r,[t,s]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,t)=>r===this.ot[t]))return e}else if(this.ot===t)return e;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,s)}});export{a as i};
|
||||
Vendored
+5
-5
File diff suppressed because one or more lines are too long
+3
-3
File diff suppressed because one or more lines are too long
+28
-28
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+33
-33
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__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{b as a,A as e}from"./houseplan-card-kxu4PK0e.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-_3sR_2sH.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__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{b as a,A as e}from"./houseplan-card-D16ZAY2E.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-BMSiGS2Q.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__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as a,bn as s,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-kxu4PK0e.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),a=i.binding.slice(o+1),s="device"===r?e.registry.devices?.[a]:null,c="entity"===r?e.registry.entities?.[a]:null,l="device"===r?a:c?.device_id,u="device"===r?s?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(a))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*b(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const s=t(e);if(!s)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||s;v=y(v,a(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=s(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function p(e,t,n,i){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:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{b as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,p as summarySystemValue,h as totalCleanFloorAreaM2};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{e9 as e,L as t,a2 as n,J as i,an as o,N as r,bo as s,bn as a,a1 as c,a0 as l,ax as u,ea as d,eb as f,bq as m,ec as g}from"./houseplan-card-D16ZAY2E.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=u(e.markers);for(const i of Object.values(e.registry.devices||{}))i?.id&&"service"!==i.entry_type&&!n.devices.has(i.id)&&i.area_id&&e.areaToSpace[i.area_id]&&t.add(i.id);for(const i of e.markers||[]){if(i.removed||"virtual"===i.binding)continue;const o=String(i.binding||"").indexOf(":");if(o<1)continue;const r=i.binding.slice(0,o),s=i.binding.slice(o+1),a="device"===r?e.registry.devices?.[s]:null,c="entity"===r?e.registry.entities?.[s]:null,l="device"===r?s:c?.device_id,u="device"===r?a?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,d="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||u||"",f=d&&e.areaToSpace[d]||i.space||e.firstSpaceId;l&&e.registry.devices?.[l]&&e.spaceIds.has(f)&&(!n.devices.has(l)||"entity"===r&&n.liveEntities.has(s))&&t.add(l)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=c(e.rooms,t.walls,t.openCuts,[],i,t.cellCm,o,r);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*b(c,l,u=_){try{let d=0;for(const f of l){const l=c.spaces.find(e=>String(e?.id)===f.id);if(!l)continue;const m=e(l,f),g=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/o;d+=a(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function p(e,t,n,i){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:m(t.areaM2,"mi"===n?.config?.unit_system?.length);try{return new Intl.DateTimeFormat(i||void 0,{dateStyle:"short",timeStyle:"short",timeZone:n?.config?.time_zone||void 0}).format(t.now)}catch{return t.now.toLocaleString()}}function S(e,t){const n=e?.states?.[t];if(!n)return null;const i=d(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{b as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,p as summarySystemValue,h 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
@@ -0,0 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";import{n as t,b as n}from"./zigbee-topology-DqRTR7Hc.js";import{B as e}from"./houseplan-card-D16ZAY2E.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 +0,0 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";import{n as t,b as n}from"./zigbee-topology-BIfw_L0a.js";import{B as o}from"./houseplan-card-kxu4PK0e.js";const e=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 o=e.get(n);return o||(o={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},e.set(n,o)),o}function r(t,n,o){t.states={...t.states,[n]:o},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 o=String(t?.message||"").toLowerCase();return o.includes("unauthor")||o.includes("permission")?"permission":o.includes("unknown_command")||o.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,o){const e=t.inflight.get(n);if(e)return e;r(t,n,{phase:"loading"});const i=o().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(o=>{r(t,n,{phase:"error",error:s(o)})}).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 o=i(t);return o?(o.listeners.add(n),()=>o.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const o=i(n);return o?c(o,"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),o=n?.payload??t;if("string"!=typeof o)return o;try{return JSON.parse(o)}catch{return null}}async function g(t,n){let o;try{return await Promise.race([t,new Promise((t,e)=>{o=globalThis.setTimeout(()=>e(a("timeout")),Math.max(1,n))})])}finally{void 0!==o&&globalThis.clearTimeout(o)}}function m(t,e,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=o(e);return c(s,`z2m:${l||String(e)}`,async()=>{if(p(t),!l)throw a("invalid_topic");const o=t.connection,e=o?.subscribeMessage;if("function"!=typeof e||"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 e.call(o,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const p=await e.call(o,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),o=n?.transaction??d(n?.data)?.transaction;return"string"==typeof o||"number"==typeof o?String(o):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__="d7a38cd5f4809a942720bb9c568487f3cac52b8c8b804a00fa9a38d56b02b0b0";try{await import("./houseplan-assets/houseplan-card-kxu4PK0e.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__="db6c6f74397f8a289b9b9f17e93918b2a256bec80eedc4062181514c5d795434";try{await import("./houseplan-assets/houseplan-card-D16ZAY2E.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,8 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.75.0-beta.1 — 2026-09-12
|
||||
|
||||
- The House Plan sidebar page can no longer get stuck on a previous version of
|
||||
the card. It used to fetch the card through the one address in the
|
||||
distribution that carries no version, and entries are served with no caching
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.75.0-beta.1 — 2026-09-12
|
||||
|
||||
- Пункт меню House Plan больше не может застрять на прошлой версии карточки.
|
||||
Он тянул её по единственному адресу в дистрибутиве, у которого нет версии, а
|
||||
входные файлы отдаются без указаний по кэшированию — и браузер был вправе
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
<!-- release: v1.74.0 -->
|
||||
<!-- release: v1.75.0-beta.1 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- План стал заметно плавнее, а в Firefox разница разительная: фон «Следует за Солнцем» больше не перерисовывает весь лист на каждое движение мыши, перетаскивание сдвигает уже нарисованное вместо полной перерисовки, тень маркера не запускает анимацию сразу у всех значков, а переключение между этажами на большом плане перестало пересобирать маркеры самым долгим способом ([#532](https://github.com/Matysh/houseplan-card/issues/532), [#531](https://github.com/Matysh/houseplan-card/issues/531), [#524](https://github.com/Matysh/houseplan-card/issues/524), [#534](https://github.com/Matysh/houseplan-card/issues/534)).
|
||||
- Печатный план стал крупнее примерно на треть: размеры встали на сам чертёж, а столбец выносов сбоку убран ([#530](https://github.com/Matysh/houseplan-card/issues/530)).
|
||||
- План, доставшийся от времён «комнат без стен», снова редактируется: наследие снимается при первом сохранении, а не запирает план наглухо ([#529](https://github.com/Matysh/houseplan-card/issues/529)).
|
||||
- Пункт меню House Plan больше не застревает на прошлой версии карточки: он тянул её по единственному адресу без версии, и браузер был вправе часами отдавать копию из кэша ([#535](https://github.com/Matysh/houseplan-card/issues/535)).
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- The plan is noticeably smoother, and in Firefox the difference is dramatic: the “Follows the sun” background no longer repaints the whole sheet on every mouse move, dragging shifts what is already drawn instead of redrawing it, a marker's shadow no longer restarts an animation on every marker at once, and switching floors on a large plan stopped rebuilding the markers the slow way ([#532](https://github.com/Matysh/houseplan-card/issues/532), [#531](https://github.com/Matysh/houseplan-card/issues/531), [#524](https://github.com/Matysh/houseplan-card/issues/524), [#534](https://github.com/Matysh/houseplan-card/issues/534)).
|
||||
- The printed plan is about a third larger: the dimensions now sit on the drawing itself and the separate column beside it is gone ([#530](https://github.com/Matysh/houseplan-card/issues/530)).
|
||||
- A plan left over from the era of “rooms without walls” can be edited again: the leftover is cleaned up on the first save instead of locking the plan completely ([#529](https://github.com/Matysh/houseplan-card/issues/529)).
|
||||
- The House Plan sidebar page no longer gets stuck on a previous version of the card: it fetched the card through the one address that carries no version, and a browser was free to serve a cached copy for hours ([#535](https://github.com/Matysh/houseplan-card/issues/535)).
|
||||
- Small fixes and improvements.
|
||||
|
||||
Сообщество / Community: [Telegram](https://t.me/ha_houseplan)
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.74.0/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.74.0/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.75.0-beta.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.75.0-beta.1/docs/CHANGELOG.md)
|
||||
|
||||
+3
-3
@@ -17,12 +17,12 @@ change must pass through a published beta/RC before stable. Stable release
|
||||
commits are promotion-only (versions, generated bundles and release/changelog
|
||||
metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
|
||||
## Snapshot (2026-09-11)
|
||||
## Snapshot (2026-09-12)
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.74.0** everywhere (manifest, const.py, package.json, CARD_VERSION in the card and the editor runtime) |
|
||||
| Current local cycle | **Stable v1.74.0** — `main` is fast-forwarded to the tested `dev` SHA and the GitHub Release is public. The line aggregates from the stable v1.73.0: the plan is noticeably smoother and in Firefox dramatically so — a pan frame now moves what is already drawn by a composited transform with the scene re-rasterizing on a budget (#531), and a marker shadow sized in container units no longer restarts a non-composited animation on every marker at once (#524); the printed plan is about a third larger because the in-plan dimension labels shrank and the separate column of external dimensions is gone (#530); a plan left over from the era of rooms without walls can be edited again, the leftover cleaned up on the first save (#529, reported in #527); plus alignment guides that follow the gesture (#521), a summary panel that neither freezes the first frame nor claims an unavailable source (#509) and whose settings dialog scrolls again (#508), no replayed door leaf on a space switch (#525), and 12.8 KB less on a cold start (#526). Internal in the line: #528, #518, #517, #512, #511, #510. The speed verdict for #531 is deliberately NOT claimed by the sandbox — headless Firefox and Chromium hold 60 fps on both the old and the new path; it is owed by a Firefox profile from the owner's machine on the same pan. The first release candidate was held back by a flaky witness, not by a product defect: `demo/smoke_room_resize.mjs` fixed its screen coordinates once, up front, while the card converts them back at event time, so a late layout made the gesture commit the wrong amount — red on the runner, green locally. The witness now converts inside the same frame as the dispatch, checks that every event was delivered and pins the mapping itself (#533). |
|
||||
| Version | **v1.75.0-beta.1** everywhere (manifest, const.py, package.json, package-lock in both places, CARD_VERSION in the card and the editor runtime) |
|
||||
| Current local cycle | **Beta v1.75.0-beta.1** — the first beta of the line after the stable v1.74.0, published from `dev`; `main` stays on v1.74.0. One user-visible fix: the House Plan sidebar page could serve a previous version of the card for hours, because the panel entry fetched the card through `./houseplan-card.js` — a relative specifier, and relative resolution does not inherit the `?v=` a dashboard gets from its Lovelace resource, while the entry files carry no `Cache-Control` at all. The panel now imports the implementation by its content-hashed name, so either the matching card arrives or the panel says out loud that the page is stale (#535). Internal in the line: #536 — the version banner now asks the host to repaint when it drops the notice on disconnect, instead of relying on some unrelated update to remove it. The banner still offers only "reload the page", which cannot help when the frontend is newer than the backend (files updated, Home Assistant not yet restarted) — that distinction is not yet an issue. |
|
||||
| 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.74.0",
|
||||
"version": "1.75.0-beta.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.74.0",
|
||||
"version": "1.75.0-beta.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.74.0",
|
||||
"version": "1.75.0-beta.1",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -417,7 +417,7 @@ import type { MarkerRoomReferenceSnapshot } from './room-reference-transaction';
|
||||
import { SummaryRuntimeSlot, summaryRuntimeLoader } from './summary-runtime-loader';
|
||||
import { displayVersion } from './card-version';
|
||||
|
||||
const CARD_VERSION = '1.74.0';
|
||||
const CARD_VERSION = '1.75.0-beta.1';
|
||||
const ENTRY_BUILD_FINGERPRINT = '__HOUSEPLAN_SOURCE_FINGERPRINT__';
|
||||
const EDITOR_RETRY_ASSET = '__HOUSEPLAN_EDITOR_RETRY_ASSET__';
|
||||
const ISO_RETRY_ASSET = '__HOUSEPLAN_ISO_RETRY_ASSET__';
|
||||
|
||||
@@ -388,7 +388,7 @@ import {
|
||||
rewriteMarkerRoomReferences, type MarkerRoomReferenceSnapshot,
|
||||
} from './room-reference-transaction';
|
||||
|
||||
const CARD_VERSION = '1.74.0';
|
||||
const CARD_VERSION = '1.75.0-beta.1';
|
||||
|
||||
// #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