refactor(device): без any на добавленных строках — ключ действия и событие пикера типизированы (#600)

Гейт «новый код не добавляет any» (#342) поймал две строки диалога устройства,
унаследованные от прежней разметки: ключ подписи действия собирается как
I18nKey, событие ha-icon-picker — CustomEvent<{ value?: string }>.

Issue: #600
User-Visible: no
This commit is contained in:
Claude
2026-09-20 13:09:19 +03:00
parent 101ae8935d
commit 504c160963
43 changed files with 356 additions and 358 deletions
@@ -1,312 +1,312 @@
{
"schema": 1,
"fingerprint": "8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea",
"fingerprint": "c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f",
"entry": "houseplan-card.js",
"panelEntry": "houseplan-panel.js",
"initialViewFiles": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-card.js"
],
"initialViewGzipBytes": 289855,
"initialViewGzipBytes": 289829,
"initialPanelFiles": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-panel.js"
],
"initialPanelGzipBytes": 291378,
"initialPanelGzipBytes": 291350,
"initialPanelOnlyFiles": [
"houseplan-panel.js"
],
"initialPanelOnlyGzipBytes": 2329,
"initialPanelOnlyGzipBytes": 2323,
"lazyFiles": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/de-CYIvGSeh.js",
"houseplan-assets/editor-ChOU0OWs.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/fr-B3ENjkek.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js",
"houseplan-assets/hp-zigbee-topology-overlay-CRnD4UCJ.js",
"houseplan-assets/iso-scene-render-Dvuggyn7.js",
"houseplan-assets/live-interaction-runtime-qCxhzKxB.js",
"houseplan-assets/pdf-export-p8LcY_0k.js",
"houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js",
"houseplan-assets/zigbee-topology-runtime-g1K5jnto.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/de-AkOtg0jq.js",
"houseplan-assets/editor-_VTHnoKH.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/fr-Ds3OdruH.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js",
"houseplan-assets/hp-zigbee-topology-overlay-jGSF0zVB.js",
"houseplan-assets/iso-scene-render-BfrsUAJf.js",
"houseplan-assets/live-interaction-runtime-CCfHOfT8.js",
"houseplan-assets/pdf-export-Bslsp3h0.js",
"houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js",
"houseplan-assets/zigbee-topology-runtime-BXasXMdL.js"
],
"lazyGzipBytes": 459748,
"lazyGzipBytes": 459663,
"lazyEditorFiles": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/editor-ChOU0OWs.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/editor-_VTHnoKH.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js"
],
"lazyEditorGzipBytes": 243159,
"lazyEditorGzipBytes": 243125,
"lazyOnboardingFiles": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js"
],
"lazyOnboardingGzipBytes": 33662,
"lazyOnboardingGzipBytes": 33646,
"lazyLocaleFiles": [
"houseplan-assets/de-CYIvGSeh.js",
"houseplan-assets/fr-B3ENjkek.js"
"houseplan-assets/de-AkOtg0jq.js",
"houseplan-assets/fr-Ds3OdruH.js"
],
"lazyLocaleGzipBytes": 55398,
"lazyLocaleGzipBytes": 55372,
"lazyIsometricFiles": [
"houseplan-assets/iso-scene-render-Dvuggyn7.js"
"houseplan-assets/iso-scene-render-BfrsUAJf.js"
],
"lazyIsometricGzipBytes": 17645,
"lazyIsometricGzipBytes": 17644,
"lazyFurnitureArtFiles": [
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js"
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js"
],
"lazyFurnitureArtGzipBytes": 16937,
"lazyFurnitureArtGzipBytes": 16945,
"lazyPdfFiles": [
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/pdf-export-p8LcY_0k.js"
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/pdf-export-Bslsp3h0.js"
],
"lazyPdfGzipBytes": 126811,
"lazyPdfGzipBytes": 126819,
"files": [
{
"path": "houseplan-assets/backdrop-pick-CP3QXHX8.js",
"sha256": "2df667466117f6b4739dfb0c014be1f8c6f8a04052341165331f16cdbdb7e40f",
"path": "houseplan-assets/backdrop-pick-CtZfmF4H.js",
"sha256": "0318781a07d46ab4852f6ab7b0fdc44c180a1b0271935e031f9a9f885de62991",
"rawBytes": 74764,
"gzipBytes": 24120,
"gzipBytes": 24114,
"isEntry": false,
"imports": [
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/de-CYIvGSeh.js",
"sha256": "c680bf3116cb468d7722afe44fa54ec1e98d61809fcf7bfeb645d3a4bb43d6ca",
"path": "houseplan-assets/de-AkOtg0jq.js",
"sha256": "21cadc32b989295b913052353b5c8049b844474028e72162f8564698c0bdb9db",
"rawBytes": 92513,
"gzipBytes": 27941,
"gzipBytes": 27927,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/editor-ChOU0OWs.js",
"sha256": "7d2cb1efdeb67becfb0bf2c532e1993469fce4b540c688ceb9b1f3d9cfbd306b",
"path": "houseplan-assets/editor-_VTHnoKH.js",
"sha256": "881257f965ba340ab8367a3a0ffbfaf7e4509a38997c7b3b33281ff27b700907",
"rawBytes": 3833,
"gzipBytes": 1585,
"gzipBytes": 1583,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/form-kit.styles-C72G_DR7.js",
"sha256": "7c3ab450080c56c2e81adfb880a780b80f5b24b636d83ed608372c1276edd615",
"path": "houseplan-assets/form-kit.styles-DcvCvE8g.js",
"sha256": "5068cd6f5bd37792a593096b142ea5e9b729b0f85a1cf4d3c5722f714ff64eb2",
"rawBytes": 23495,
"gzipBytes": 4707,
"gzipBytes": 4704,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/fr-B3ENjkek.js",
"sha256": "182b6ef58a19fe3299ddcea38abc0b58926c2142fa32a18840fc445b7ba9beb7",
"path": "houseplan-assets/fr-Ds3OdruH.js",
"sha256": "395585192b0478200785d46cb37805871bd0726088ca776e0f95150af595633c",
"rawBytes": 94824,
"gzipBytes": 27457,
"gzipBytes": 27445,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"sha256": "6b57797406757b1a9ed05af64faea3ec0b916acbbfa35878376b31e916cf25b8",
"path": "houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"sha256": "2f193022979145fe8544c3c498fb8f1e9b3690fa6500fcd70a6c4f34c8a13860",
"rawBytes": 52033,
"gzipBytes": 16937,
"gzipBytes": 16945,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-card-BFoRQ37T.js",
"sha256": "5e301696dd4f2b314b6a54db2d7a9b27c7d4853086214cc5716e3c48b441e0d4",
"path": "houseplan-assets/houseplan-card-BWAph8ZF.js",
"sha256": "ded6a4cd113062c60ed2086560b03f1cdba08884b0454c85f7140f5f51b284cb",
"rawBytes": 1027208,
"gzipBytes": 289049,
"gzipBytes": 289027,
"isEntry": false,
"imports": [],
"dynamicImports": [
"houseplan-assets/de-CYIvGSeh.js",
"houseplan-assets/editor-ChOU0OWs.js",
"houseplan-assets/fr-B3ENjkek.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js",
"houseplan-assets/hp-zigbee-topology-overlay-CRnD4UCJ.js",
"houseplan-assets/iso-scene-render-Dvuggyn7.js",
"houseplan-assets/live-interaction-runtime-qCxhzKxB.js",
"houseplan-assets/pdf-export-p8LcY_0k.js",
"houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js"
"houseplan-assets/de-AkOtg0jq.js",
"houseplan-assets/editor-_VTHnoKH.js",
"houseplan-assets/fr-Ds3OdruH.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js",
"houseplan-assets/hp-zigbee-topology-overlay-jGSF0zVB.js",
"houseplan-assets/iso-scene-render-BfrsUAJf.js",
"houseplan-assets/live-interaction-runtime-CCfHOfT8.js",
"houseplan-assets/pdf-export-Bslsp3h0.js",
"houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js"
]
},
{
"path": "houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"sha256": "da236f9e9fc65ae513fe117b544f049d4985a3b8edc6816c3de5f1707267fcb6",
"rawBytes": 677617,
"gzipBytes": 188376,
"path": "houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"sha256": "1af11a5d027eec8d8a0793eae9be1713b6387d3a15c239e83f8623f87877f8a1",
"rawBytes": 677599,
"gzipBytes": 188352,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js"
],
"dynamicImports": [
"houseplan-assets/zigbee-topology-runtime-g1K5jnto.js"
"houseplan-assets/zigbee-topology-runtime-BXasXMdL.js"
]
},
{
"path": "houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js",
"sha256": "187dd35ff1095fad4f94c1f87445cff05417651d904f631e9ed00503da7b85ef",
"path": "houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js",
"sha256": "a30a515e61b632b90005e296b23d5cc52d3266c91ce29760fbb7358180956d1c",
"rawBytes": 15667,
"gzipBytes": 4835,
"gzipBytes": 4828,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/hp-zigbee-topology-overlay-CRnD4UCJ.js",
"sha256": "1a6b8f6517309e4be645c3119cdfb9512644298d4b7a5b855323a3326d75d5fc",
"path": "houseplan-assets/hp-zigbee-topology-overlay-jGSF0zVB.js",
"sha256": "780e78bbb5e04de2042497fdea47f44c31f8abeef03ad7cae3aeaf0e776f0db5",
"rawBytes": 10759,
"gzipBytes": 3688,
"gzipBytes": 3684,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js",
"houseplan-assets/zigbee-topology-runtime-g1K5jnto.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js",
"houseplan-assets/zigbee-topology-runtime-BXasXMdL.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/iso-scene-render-Dvuggyn7.js",
"sha256": "34b73bee880d05afc2090a92751e7c2926cf955f5f7c1a16c8e518cf15d4a170",
"path": "houseplan-assets/iso-scene-render-BfrsUAJf.js",
"sha256": "2806544f1906569d9613087eea4ca3b7017d0394147d6913f9e9998b8b4b456b",
"rawBytes": 51983,
"gzipBytes": 17645,
"gzipBytes": 17644,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/live-interaction-runtime-qCxhzKxB.js",
"sha256": "0717812ff181966f68b1c9e9fc4b15f8a8e842d6a7038b1b0f2d155dde5c50f4",
"path": "houseplan-assets/live-interaction-runtime-CCfHOfT8.js",
"sha256": "5b905320a37ded5bfb1b52a4095e6a5821644d4ce0031d2ba2374b1418be2239",
"rawBytes": 8216,
"gzipBytes": 3210,
"gzipBytes": 3205,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/pdf-export-p8LcY_0k.js",
"sha256": "2d42e31a027fc7e22a0eb1535c4166747b571ae56d340eef894843126618df3c",
"path": "houseplan-assets/pdf-export-Bslsp3h0.js",
"sha256": "c7fc552565f6551b70366350399fbbe9bb849a588be6c293e6fb17602dabd0ae",
"rawBytes": 236247,
"gzipBytes": 109874,
"isEntry": false,
"imports": [
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-editor-ExLIonEe.js",
"sha256": "a912dbd815ac16a0eec0303796968ed88f74f6c07ac6741f950a76ae8011df0f",
"path": "houseplan-assets/summary-panel-editor-1TWzLmMH.js",
"sha256": "b6fad5dd728b4b6cfa4b4d54989a2d9d9dd9f37aba52301332a0bf3a4e69a66b",
"rawBytes": 14862,
"gzipBytes": 3429,
"gzipBytes": 3424,
"isEntry": false,
"imports": [
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js"
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-metrics-CmThtVNL.js",
"sha256": "af36cfcb9585e9680b343191bf10b14c19037ffdf4253e2a033cd1ecf2548e4b",
"path": "houseplan-assets/summary-panel-metrics-CsJSnPHD.js",
"sha256": "a9c4d54e9e1d168a3dd48fd8f09d8470eafa3b9dbc825fe6f9dda5bcb34a7029",
"rawBytes": 2611,
"gzipBytes": 1312,
"gzipBytes": 1306,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js",
"sha256": "a12730747e86f60c24882530a108eaf3b62dbb9b86d6137fe0a6b6860e4dbf4f",
"path": "houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js",
"sha256": "e3042c31f4e963a6c91fec76b05b1900e79360f60c246d8ce32291dd71201840",
"rawBytes": 72733,
"gzipBytes": 20172,
"gzipBytes": 20171,
"isEntry": false,
"imports": [
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": [
"houseplan-assets/summary-panel-editor-ExLIonEe.js",
"houseplan-assets/summary-panel-metrics-CmThtVNL.js"
"houseplan-assets/summary-panel-editor-1TWzLmMH.js",
"houseplan-assets/summary-panel-metrics-CsJSnPHD.js"
]
},
{
"path": "houseplan-assets/zigbee-topology-DjaCFgDx.js",
"sha256": "2ec980a5b900f748a21333e9f6ef24374f3ee76a2d51087ebe6c3e07e6518a84",
"path": "houseplan-assets/zigbee-topology-D0gydI7H.js",
"sha256": "abe70ae6d783881bc6e8bdaac98a7372d1263f206103bf7110348f83f4a8dc2a",
"rawBytes": 18962,
"gzipBytes": 7434,
"gzipBytes": 7427,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/zigbee-topology-runtime-g1K5jnto.js",
"sha256": "193033082562387fbb15d13b70ab7b724594157dfe9e521dca15fa5dfcc0baf4",
"path": "houseplan-assets/zigbee-topology-runtime-BXasXMdL.js",
"sha256": "c7dd23a95592651b462f8ef86d073b4aa98b6fad4ce3395b5bbeb0679bf0c76d",
"rawBytes": 3942,
"gzipBytes": 1767,
"gzipBytes": 1760,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
"sha256": "348f41dc485816c7b1d34cdf96d7d1e06033c9cad899d777034df945cfab1abe",
"sha256": "d5d8d4cbc7b0a71e4c6ba3f4cffb2fd412a9f8ce922200659ce96ee8f70d0bc0",
"rawBytes": 1205,
"gzipBytes": 806,
"gzipBytes": 802,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-panel.js",
"sha256": "7a5c296f6cc90fe5d7f5f731634e56ab192541447ac6fd2be2acc6696c94cc07",
"sha256": "a34d397053df4099bce9aca317cfa95619c4e031796d77a1da09c15aab69a132",
"rawBytes": 6165,
"gzipBytes": 2329,
"gzipBytes": 2323,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
}
@@ -1,4 +1,4 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{A as e,c as a,s as t,l as i,cG as n,d as s,dC as r,dD as o,cF as l,dE as c,cL as d,cK as p,dF as h,bn as u,bm as m,bo as _,ar as g,ay as b,az as f,dG as v}from"./houseplan-card-BFoRQ37T.js";import{c as w,f as y,C as k}from"./form-kit.styles-C72G_DR7.js";const $=w+y(k,{withSwitch:!1}),x=new WeakSet;let S=null;function M(e){const a=e.renderRoot;if(!a||x.has(a))return;const t=a.ownerDocument??globalThis.document,i=t?.defaultView?.CSSStyleSheet;if(i&&"adoptedStyleSheets"in a)return S||(S=new i,S.replaceSync($)),a.adoptedStyleSheets=[...a.adoptedStyleSheets,S],void x.add(a);if(a.querySelector("style[data-hp-form-kit]"))return void x.add(a);const n=t.createElement("style");n.dataset.hpFormKit="true",n.textContent=$,a.appendChild(n),x.add(a)}function C({title:t,help:i,body:n,id:s}){return a`<section class="hpf-card" data-card=${s??e}>
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{A as e,c as a,s as t,l as i,cG as n,d as s,dC as r,dD as o,cF as l,dE as c,cL as d,cK as p,dF as h,bn as u,bm as m,bo as _,ar as g,ay as b,az as f,dG as v}from"./houseplan-card-BWAph8ZF.js";import{c as w,f as y,C as k}from"./form-kit.styles-DcvCvE8g.js";const $=w+y(k,{withSwitch:!1}),x=new WeakSet;let S=null;function M(e){const a=e.renderRoot;if(!a||x.has(a))return;const t=a.ownerDocument??globalThis.document,i=t?.defaultView?.CSSStyleSheet;if(i&&"adoptedStyleSheets"in a)return S||(S=new i,S.replaceSync($)),a.adoptedStyleSheets=[...a.adoptedStyleSheets,S],void x.add(a);if(a.querySelector("style[data-hp-form-kit]"))return void x.add(a);const n=t.createElement("style");n.dataset.hpFormKit="true",n.textContent=$,a.appendChild(n),x.add(a)}function C({title:t,help:i,body:n,id:s}){return a`<section class="hpf-card" data-card=${s??e}>
${t?a`<div class="hpf-head"><h3>${t}</h3>${i??e}</div>`:e}
<div class="hpf-body">${n}</div>
</section>`}function z({title:t,help:i}){return a`<div class="hpf-sub"><h4>${t}</h4>${i??e}</div>`}function L({label:t,htmlFor:i,help:n,control:s,hint:r,error:o}){return a`<div class="hpf-field">
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{az as e,l as o,aC as t,e7 as s,A as a,e8 as i,e9 as l,ea as n,E as r,c}from"./houseplan-card-BFoRQ37T.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__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{az as e,l as o,aC as t,e7 as s,A as a,e8 as i,e9 as l,ea as n,E as r,c}from"./houseplan-card-BWAph8ZF.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}
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{c as a,A as e}from"./houseplan-card-BFoRQ37T.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-DoMZCfzL.js";import"./form-kit.styles-C72G_DR7.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__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{c as a,A as e}from"./houseplan-card-BWAph8ZF.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-BGIJeXIz.js";import"./form-kit.styles-DcvCvE8g.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 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{ed as e,K as t,aX as n,I as i,ab as o,a9 as r,bO as s,bN as a,aW as l,aV as c,aY as d,ee as u,ef as f,bQ as m,eg as g}from"./houseplan-card-BFoRQ37T.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=d(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,l="entity"===r?e.registry.entities?.[s]:null,c="device"===r?s:l?.device_id,d="device"===r?a?.area_id:l?.area_id||c&&e.registry.devices?.[c]?.area_id,u="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||d||"",f=u&&e.areaToSpace[u]||i.space||e.firstSpaceId;c&&e.registry.devices?.[c]&&e.spaceIds.has(f)&&(!n.devices.has(c)||"entity"===r&&n.liveEntities.has(s))&&t.add(c)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=l(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:c(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*h(l,c,d=_){try{let u=0;for(const f of c){const c=l.spaces.find(e=>String(e?.id)===f.id);if(!c)continue;const m=e(c,f),g=d(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const l=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(l,m.physicalBodies)),yield}const _=m.cellCm/o;u+=a(v)*_*_/1e4}return u}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function b(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=u(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{h as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,b as summarySystemValue,p as totalCleanFloorAreaM2};
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{ed as e,K as t,aX as n,I as i,ab as o,a9 as r,bO as a,bN as s,aW as c,aV as l,aY as d,ee as u,ef as f,bQ as m,eg as g}from"./houseplan-card-BWAph8ZF.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=d(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,d="device"===r?s?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,u="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||d||"",f=u&&e.areaToSpace[u]||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*h(c,l,d=_){try{let u=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=d(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;u+=s(v)*_*_/1e4}return u}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function b(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=u(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{h as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,b as summarySystemValue,p as totalCleanFloorAreaM2};
@@ -1 +1 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{n as t,b as n}from"./zigbee-topology-DjaCFgDx.js";import{aI as e}from"./houseplan-card-BFoRQ37T.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function f(t){if(!0!==t?.user?.is_admin)throw a("permission")}function p(n){const e=i(n);return e?c(e,"zha",async()=>{if(f(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function m(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 g(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(f(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,p=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{p=t,g=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const f=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&p?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof f&&b.push(f),await m(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 m(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{p as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{n as t,b as n}from"./zigbee-topology-D0gydI7H.js";import{aI as e}from"./houseplan-card-BWAph8ZF.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function f(t){if(!0!==t?.user?.is_admin)throw a("permission")}function p(n){const e=i(n);return e?c(e,"zha",async()=>{if(f(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function m(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 g(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(f(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,p=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{p=t,g=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const f=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&p?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof f&&b.push(f),await m(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 m(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{p as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
@@ -1 +1 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";try{await import("./houseplan-assets/houseplan-card-BFoRQ37T.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__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";try{await import("./houseplan-assets/houseplan-card-BWAph8ZF.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
+144 -144
View File
@@ -1,312 +1,312 @@
{
"schema": 1,
"fingerprint": "8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea",
"fingerprint": "c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f",
"entry": "houseplan-card.js",
"panelEntry": "houseplan-panel.js",
"initialViewFiles": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-card.js"
],
"initialViewGzipBytes": 289855,
"initialViewGzipBytes": 289829,
"initialPanelFiles": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-panel.js"
],
"initialPanelGzipBytes": 291378,
"initialPanelGzipBytes": 291350,
"initialPanelOnlyFiles": [
"houseplan-panel.js"
],
"initialPanelOnlyGzipBytes": 2329,
"initialPanelOnlyGzipBytes": 2323,
"lazyFiles": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/de-CYIvGSeh.js",
"houseplan-assets/editor-ChOU0OWs.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/fr-B3ENjkek.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js",
"houseplan-assets/hp-zigbee-topology-overlay-CRnD4UCJ.js",
"houseplan-assets/iso-scene-render-Dvuggyn7.js",
"houseplan-assets/live-interaction-runtime-qCxhzKxB.js",
"houseplan-assets/pdf-export-p8LcY_0k.js",
"houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js",
"houseplan-assets/zigbee-topology-runtime-g1K5jnto.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/de-AkOtg0jq.js",
"houseplan-assets/editor-_VTHnoKH.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/fr-Ds3OdruH.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js",
"houseplan-assets/hp-zigbee-topology-overlay-jGSF0zVB.js",
"houseplan-assets/iso-scene-render-BfrsUAJf.js",
"houseplan-assets/live-interaction-runtime-CCfHOfT8.js",
"houseplan-assets/pdf-export-Bslsp3h0.js",
"houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js",
"houseplan-assets/zigbee-topology-runtime-BXasXMdL.js"
],
"lazyGzipBytes": 459748,
"lazyGzipBytes": 459663,
"lazyEditorFiles": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/editor-ChOU0OWs.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/editor-_VTHnoKH.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js"
],
"lazyEditorGzipBytes": 243159,
"lazyEditorGzipBytes": 243125,
"lazyOnboardingFiles": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js"
],
"lazyOnboardingGzipBytes": 33662,
"lazyOnboardingGzipBytes": 33646,
"lazyLocaleFiles": [
"houseplan-assets/de-CYIvGSeh.js",
"houseplan-assets/fr-B3ENjkek.js"
"houseplan-assets/de-AkOtg0jq.js",
"houseplan-assets/fr-Ds3OdruH.js"
],
"lazyLocaleGzipBytes": 55398,
"lazyLocaleGzipBytes": 55372,
"lazyIsometricFiles": [
"houseplan-assets/iso-scene-render-Dvuggyn7.js"
"houseplan-assets/iso-scene-render-BfrsUAJf.js"
],
"lazyIsometricGzipBytes": 17645,
"lazyIsometricGzipBytes": 17644,
"lazyFurnitureArtFiles": [
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js"
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js"
],
"lazyFurnitureArtGzipBytes": 16937,
"lazyFurnitureArtGzipBytes": 16945,
"lazyPdfFiles": [
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/pdf-export-p8LcY_0k.js"
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/pdf-export-Bslsp3h0.js"
],
"lazyPdfGzipBytes": 126811,
"lazyPdfGzipBytes": 126819,
"files": [
{
"path": "houseplan-assets/backdrop-pick-CP3QXHX8.js",
"sha256": "2df667466117f6b4739dfb0c014be1f8c6f8a04052341165331f16cdbdb7e40f",
"path": "houseplan-assets/backdrop-pick-CtZfmF4H.js",
"sha256": "0318781a07d46ab4852f6ab7b0fdc44c180a1b0271935e031f9a9f885de62991",
"rawBytes": 74764,
"gzipBytes": 24120,
"gzipBytes": 24114,
"isEntry": false,
"imports": [
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/de-CYIvGSeh.js",
"sha256": "c680bf3116cb468d7722afe44fa54ec1e98d61809fcf7bfeb645d3a4bb43d6ca",
"path": "houseplan-assets/de-AkOtg0jq.js",
"sha256": "21cadc32b989295b913052353b5c8049b844474028e72162f8564698c0bdb9db",
"rawBytes": 92513,
"gzipBytes": 27941,
"gzipBytes": 27927,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/editor-ChOU0OWs.js",
"sha256": "7d2cb1efdeb67becfb0bf2c532e1993469fce4b540c688ceb9b1f3d9cfbd306b",
"path": "houseplan-assets/editor-_VTHnoKH.js",
"sha256": "881257f965ba340ab8367a3a0ffbfaf7e4509a38997c7b3b33281ff27b700907",
"rawBytes": 3833,
"gzipBytes": 1585,
"gzipBytes": 1583,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/form-kit.styles-C72G_DR7.js",
"sha256": "7c3ab450080c56c2e81adfb880a780b80f5b24b636d83ed608372c1276edd615",
"path": "houseplan-assets/form-kit.styles-DcvCvE8g.js",
"sha256": "5068cd6f5bd37792a593096b142ea5e9b729b0f85a1cf4d3c5722f714ff64eb2",
"rawBytes": 23495,
"gzipBytes": 4707,
"gzipBytes": 4704,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/fr-B3ENjkek.js",
"sha256": "182b6ef58a19fe3299ddcea38abc0b58926c2142fa32a18840fc445b7ba9beb7",
"path": "houseplan-assets/fr-Ds3OdruH.js",
"sha256": "395585192b0478200785d46cb37805871bd0726088ca776e0f95150af595633c",
"rawBytes": 94824,
"gzipBytes": 27457,
"gzipBytes": 27445,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"sha256": "6b57797406757b1a9ed05af64faea3ec0b916acbbfa35878376b31e916cf25b8",
"path": "houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"sha256": "2f193022979145fe8544c3c498fb8f1e9b3690fa6500fcd70a6c4f34c8a13860",
"rawBytes": 52033,
"gzipBytes": 16937,
"gzipBytes": 16945,
"isEntry": false,
"imports": [],
"dynamicImports": []
},
{
"path": "houseplan-assets/houseplan-card-BFoRQ37T.js",
"sha256": "5e301696dd4f2b314b6a54db2d7a9b27c7d4853086214cc5716e3c48b441e0d4",
"path": "houseplan-assets/houseplan-card-BWAph8ZF.js",
"sha256": "ded6a4cd113062c60ed2086560b03f1cdba08884b0454c85f7140f5f51b284cb",
"rawBytes": 1027208,
"gzipBytes": 289049,
"gzipBytes": 289027,
"isEntry": false,
"imports": [],
"dynamicImports": [
"houseplan-assets/de-CYIvGSeh.js",
"houseplan-assets/editor-ChOU0OWs.js",
"houseplan-assets/fr-B3ENjkek.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js",
"houseplan-assets/hp-zigbee-topology-overlay-CRnD4UCJ.js",
"houseplan-assets/iso-scene-render-Dvuggyn7.js",
"houseplan-assets/live-interaction-runtime-qCxhzKxB.js",
"houseplan-assets/pdf-export-p8LcY_0k.js",
"houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js"
"houseplan-assets/de-AkOtg0jq.js",
"houseplan-assets/editor-_VTHnoKH.js",
"houseplan-assets/fr-Ds3OdruH.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js",
"houseplan-assets/hp-zigbee-topology-overlay-jGSF0zVB.js",
"houseplan-assets/iso-scene-render-BfrsUAJf.js",
"houseplan-assets/live-interaction-runtime-CCfHOfT8.js",
"houseplan-assets/pdf-export-Bslsp3h0.js",
"houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js"
]
},
{
"path": "houseplan-assets/houseplan-editor-runtime-CrbIMKPJ.js",
"sha256": "da236f9e9fc65ae513fe117b544f049d4985a3b8edc6816c3de5f1707267fcb6",
"rawBytes": 677617,
"gzipBytes": 188376,
"path": "houseplan-assets/houseplan-editor-runtime-BlocE3XU.js",
"sha256": "1af11a5d027eec8d8a0793eae9be1713b6387d3a15c239e83f8623f87877f8a1",
"rawBytes": 677599,
"gzipBytes": 188352,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js"
],
"dynamicImports": [
"houseplan-assets/zigbee-topology-runtime-g1K5jnto.js"
"houseplan-assets/zigbee-topology-runtime-BXasXMdL.js"
]
},
{
"path": "houseplan-assets/houseplan-onboarding-runtime-APP-vRxu.js",
"sha256": "187dd35ff1095fad4f94c1f87445cff05417651d904f631e9ed00503da7b85ef",
"path": "houseplan-assets/houseplan-onboarding-runtime-DYojoXE_.js",
"sha256": "a30a515e61b632b90005e296b23d5cc52d3266c91ce29760fbb7358180956d1c",
"rawBytes": 15667,
"gzipBytes": 4835,
"gzipBytes": 4828,
"isEntry": false,
"imports": [
"houseplan-assets/backdrop-pick-CP3QXHX8.js",
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/backdrop-pick-CtZfmF4H.js",
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/hp-zigbee-topology-overlay-CRnD4UCJ.js",
"sha256": "1a6b8f6517309e4be645c3119cdfb9512644298d4b7a5b855323a3326d75d5fc",
"path": "houseplan-assets/hp-zigbee-topology-overlay-jGSF0zVB.js",
"sha256": "780e78bbb5e04de2042497fdea47f44c31f8abeef03ad7cae3aeaf0e776f0db5",
"rawBytes": 10759,
"gzipBytes": 3688,
"gzipBytes": 3684,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js",
"houseplan-assets/zigbee-topology-runtime-g1K5jnto.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js",
"houseplan-assets/zigbee-topology-runtime-BXasXMdL.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/iso-scene-render-Dvuggyn7.js",
"sha256": "34b73bee880d05afc2090a92751e7c2926cf955f5f7c1a16c8e518cf15d4a170",
"path": "houseplan-assets/iso-scene-render-BfrsUAJf.js",
"sha256": "2806544f1906569d9613087eea4ca3b7017d0394147d6913f9e9998b8b4b456b",
"rawBytes": 51983,
"gzipBytes": 17645,
"gzipBytes": 17644,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/live-interaction-runtime-qCxhzKxB.js",
"sha256": "0717812ff181966f68b1c9e9fc4b15f8a8e842d6a7038b1b0f2d155dde5c50f4",
"path": "houseplan-assets/live-interaction-runtime-CCfHOfT8.js",
"sha256": "5b905320a37ded5bfb1b52a4095e6a5821644d4ce0031d2ba2374b1418be2239",
"rawBytes": 8216,
"gzipBytes": 3210,
"gzipBytes": 3205,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/pdf-export-p8LcY_0k.js",
"sha256": "2d42e31a027fc7e22a0eb1535c4166747b571ae56d340eef894843126618df3c",
"path": "houseplan-assets/pdf-export-Bslsp3h0.js",
"sha256": "c7fc552565f6551b70366350399fbbe9bb849a588be6c293e6fb17602dabd0ae",
"rawBytes": 236247,
"gzipBytes": 109874,
"isEntry": false,
"imports": [
"houseplan-assets/furniture-plan-art.generated-BkioCT-s.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/furniture-plan-art.generated-Ck1wv9qF.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-editor-ExLIonEe.js",
"sha256": "a912dbd815ac16a0eec0303796968ed88f74f6c07ac6741f950a76ae8011df0f",
"path": "houseplan-assets/summary-panel-editor-1TWzLmMH.js",
"sha256": "b6fad5dd728b4b6cfa4b4d54989a2d9d9dd9f37aba52301332a0bf3a4e69a66b",
"rawBytes": 14862,
"gzipBytes": 3429,
"gzipBytes": 3424,
"isEntry": false,
"imports": [
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js"
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-metrics-CmThtVNL.js",
"sha256": "af36cfcb9585e9680b343191bf10b14c19037ffdf4253e2a033cd1ecf2548e4b",
"path": "houseplan-assets/summary-panel-metrics-CsJSnPHD.js",
"sha256": "a9c4d54e9e1d168a3dd48fd8f09d8470eafa3b9dbc825fe6f9dda5bcb34a7029",
"rawBytes": 2611,
"gzipBytes": 1312,
"gzipBytes": 1306,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/summary-panel-runtime-loaded-DoMZCfzL.js",
"sha256": "a12730747e86f60c24882530a108eaf3b62dbb9b86d6137fe0a6b6860e4dbf4f",
"path": "houseplan-assets/summary-panel-runtime-loaded-BGIJeXIz.js",
"sha256": "e3042c31f4e963a6c91fec76b05b1900e79360f60c246d8ce32291dd71201840",
"rawBytes": 72733,
"gzipBytes": 20172,
"gzipBytes": 20171,
"isEntry": false,
"imports": [
"houseplan-assets/form-kit.styles-C72G_DR7.js",
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/form-kit.styles-DcvCvE8g.js",
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": [
"houseplan-assets/summary-panel-editor-ExLIonEe.js",
"houseplan-assets/summary-panel-metrics-CmThtVNL.js"
"houseplan-assets/summary-panel-editor-1TWzLmMH.js",
"houseplan-assets/summary-panel-metrics-CsJSnPHD.js"
]
},
{
"path": "houseplan-assets/zigbee-topology-DjaCFgDx.js",
"sha256": "2ec980a5b900f748a21333e9f6ef24374f3ee76a2d51087ebe6c3e07e6518a84",
"path": "houseplan-assets/zigbee-topology-D0gydI7H.js",
"sha256": "abe70ae6d783881bc6e8bdaac98a7372d1263f206103bf7110348f83f4a8dc2a",
"rawBytes": 18962,
"gzipBytes": 7434,
"gzipBytes": 7427,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-assets/zigbee-topology-runtime-g1K5jnto.js",
"sha256": "193033082562387fbb15d13b70ab7b724594157dfe9e521dca15fa5dfcc0baf4",
"path": "houseplan-assets/zigbee-topology-runtime-BXasXMdL.js",
"sha256": "c7dd23a95592651b462f8ef86d073b4aa98b6fad4ce3395b5bbeb0679bf0c76d",
"rawBytes": 3942,
"gzipBytes": 1767,
"gzipBytes": 1760,
"isEntry": false,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js",
"houseplan-assets/zigbee-topology-DjaCFgDx.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js",
"houseplan-assets/zigbee-topology-D0gydI7H.js"
],
"dynamicImports": []
},
{
"path": "houseplan-card.js",
"sha256": "348f41dc485816c7b1d34cdf96d7d1e06033c9cad899d777034df945cfab1abe",
"sha256": "d5d8d4cbc7b0a71e4c6ba3f4cffb2fd412a9f8ce922200659ce96ee8f70d0bc0",
"rawBytes": 1205,
"gzipBytes": 806,
"gzipBytes": 802,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
},
{
"path": "houseplan-panel.js",
"sha256": "7a5c296f6cc90fe5d7f5f731634e56ab192541447ac6fd2be2acc6696c94cc07",
"sha256": "a34d397053df4099bce9aca317cfa95619c4e031796d77a1da09c15aab69a132",
"rawBytes": 6165,
"gzipBytes": 2329,
"gzipBytes": 2323,
"isEntry": true,
"imports": [
"houseplan-assets/houseplan-card-BFoRQ37T.js"
"houseplan-assets/houseplan-card-BWAph8ZF.js"
],
"dynamicImports": []
}
@@ -1,4 +1,4 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{A as e,c as a,s as t,l as i,cG as n,d as s,dC as r,dD as o,cF as l,dE as c,cL as d,cK as p,dF as h,bn as u,bm as m,bo as _,ar as g,ay as b,az as f,dG as v}from"./houseplan-card-BFoRQ37T.js";import{c as w,f as y,C as k}from"./form-kit.styles-C72G_DR7.js";const $=w+y(k,{withSwitch:!1}),x=new WeakSet;let S=null;function M(e){const a=e.renderRoot;if(!a||x.has(a))return;const t=a.ownerDocument??globalThis.document,i=t?.defaultView?.CSSStyleSheet;if(i&&"adoptedStyleSheets"in a)return S||(S=new i,S.replaceSync($)),a.adoptedStyleSheets=[...a.adoptedStyleSheets,S],void x.add(a);if(a.querySelector("style[data-hp-form-kit]"))return void x.add(a);const n=t.createElement("style");n.dataset.hpFormKit="true",n.textContent=$,a.appendChild(n),x.add(a)}function C({title:t,help:i,body:n,id:s}){return a`<section class="hpf-card" data-card=${s??e}>
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{A as e,c as a,s as t,l as i,cG as n,d as s,dC as r,dD as o,cF as l,dE as c,cL as d,cK as p,dF as h,bn as u,bm as m,bo as _,ar as g,ay as b,az as f,dG as v}from"./houseplan-card-BWAph8ZF.js";import{c as w,f as y,C as k}from"./form-kit.styles-DcvCvE8g.js";const $=w+y(k,{withSwitch:!1}),x=new WeakSet;let S=null;function M(e){const a=e.renderRoot;if(!a||x.has(a))return;const t=a.ownerDocument??globalThis.document,i=t?.defaultView?.CSSStyleSheet;if(i&&"adoptedStyleSheets"in a)return S||(S=new i,S.replaceSync($)),a.adoptedStyleSheets=[...a.adoptedStyleSheets,S],void x.add(a);if(a.querySelector("style[data-hp-form-kit]"))return void x.add(a);const n=t.createElement("style");n.dataset.hpFormKit="true",n.textContent=$,a.appendChild(n),x.add(a)}function C({title:t,help:i,body:n,id:s}){return a`<section class="hpf-card" data-card=${s??e}>
${t?a`<div class="hpf-head"><h3>${t}</h3>${i??e}</div>`:e}
<div class="hpf-body">${n}</div>
</section>`}function z({title:t,help:i}){return a`<div class="hpf-sub"><h4>${t}</h4>${i??e}</div>`}function L({label:t,htmlFor:i,help:n,control:s,hint:r,error:o}){return a`<div class="hpf-field">
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{az as e,l as o,aC as t,e7 as s,A as a,e8 as i,e9 as l,ea as n,E as r,c}from"./houseplan-card-BFoRQ37T.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__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{az as e,l as o,aC as t,e7 as s,A as a,e8 as i,e9 as l,ea as n,E as r,c}from"./houseplan-card-BWAph8ZF.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}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{c as a,A as e}from"./houseplan-card-BFoRQ37T.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-DoMZCfzL.js";import"./form-kit.styles-C72G_DR7.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__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{c as a,A as e}from"./houseplan-card-BWAph8ZF.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-BGIJeXIz.js";import"./form-kit.styles-DcvCvE8g.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 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{ed as e,K as t,aX as n,I as i,ab as o,a9 as r,bO as s,bN as a,aW as l,aV as c,aY as d,ee as u,ef as f,bQ as m,eg as g}from"./houseplan-card-BFoRQ37T.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=d(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,l="entity"===r?e.registry.entities?.[s]:null,c="device"===r?s:l?.device_id,d="device"===r?a?.area_id:l?.area_id||c&&e.registry.devices?.[c]?.area_id,u="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||d||"",f=u&&e.areaToSpace[u]||i.space||e.firstSpaceId;c&&e.registry.devices?.[c]&&e.spaceIds.has(f)&&(!n.devices.has(c)||"entity"===r&&n.liveEntities.has(s))&&t.add(c)}return t}function y(e,t){return e?.length?t?.length?g(e,t):e:t}function _(e,t){const n=l(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:c(e.rooms,t.walls,t.openCuts,i,t.cellCm,o,r)}}function*h(l,c,d=_){try{let u=0;for(const f of c){const c=l.spaces.find(e=>String(e?.id)===f.id);if(!c)continue;const m=e(c,f),g=d(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const a=t(e);if(!a)continue;const l=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,o,r,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(l,m.physicalBodies)),yield}const _=m.cellCm/o;u+=a(v)*_*_/1e4}return u}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function b(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=u(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{h as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,b as summarySystemValue,p as totalCleanFloorAreaM2};
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{ed as e,K as t,aX as n,I as i,ab as o,a9 as r,bO as a,bN as s,aW as c,aV as l,aY as d,ee as u,ef as f,bQ as m,eg as g}from"./houseplan-card-BWAph8ZF.js";function v(e){if(!e.registry.authoritative)return null;const t=new Set,n=d(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,d="device"===r?s?.area_id:c?.area_id||l&&e.registry.devices?.[l]?.area_id,u="string"==typeof i.room_id&&i.room_id.length>0&&null===i.area?"":i.area||d||"",f=u&&e.areaToSpace[u]||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*h(c,l,d=_){try{let u=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=d(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;u+=s(v)*_*_/1e4}return u}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let o=i.next();for(;!o.done;)o=i.next();return o.value}function b(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=u(e,t);return i?f(i,String(n.attributes?.unit_of_measurement||"")):null}export{h as cleanFloorAreaSteps,v as representedHaDeviceIds,_ as spaceWallGeometry,S as summaryEntityValue,b as summarySystemValue,p as totalCleanFloorAreaM2};
@@ -1 +1 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";import{n as t,b as n}from"./zigbee-topology-DjaCFgDx.js";import{aI as e}from"./houseplan-card-BFoRQ37T.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function f(t){if(!0!==t?.user?.is_admin)throw a("permission")}function p(n){const e=i(n);return e?c(e,"zha",async()=>{if(f(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function m(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 g(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(f(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,p=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{p=t,g=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const f=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&p?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof f&&b.push(f),await m(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 m(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{p as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";import{n as t,b as n}from"./zigbee-topology-D0gydI7H.js";import{aI as e}from"./houseplan-card-BWAph8ZF.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function f(t){if(!0!==t?.user?.is_admin)throw a("permission")}function p(n){const e=i(n);return e?c(e,"zha",async()=>{if(f(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function m(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 g(t,o,r=15e4){const s=i(t);if(!s)return Promise.resolve();const l=e(o);return c(s,`z2m:${l||String(o)}`,async()=>{if(f(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,p=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{p=t,g=n}),b=[];try{const r=await o.call(e,t=>{!0===d(t)?.retain&&h(t)&&u?.()},{type:"mqtt/subscribe",topic:`${l}/bridge/info`});"function"==typeof r&&b.push(r);const f=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&p?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof f&&b.push(f),await m(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 m(w,s-Date.now()),_=d(v)?.status;if(_&&"ok"!==_)throw a("provider");return n(v,l)}finally{for(const t of b)try{t()}catch{}}})}export{p as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
+1 -1
View File
@@ -1 +1 @@
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="8709935061feeb249124456f030f1896d23f2dab2d516112438258f3414728ea";try{await import("./houseplan-assets/houseplan-card-BFoRQ37T.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__="c6e9a7f9c0e3096b40b9ae51df9d052aeddc8359d008fd86a2e4cbef1aba717f";try{await import("./houseplan-assets/houseplan-card-BWAph8ZF.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)}
+1 -1
View File
File diff suppressed because one or more lines are too long
+4 -6
View File
@@ -401,11 +401,9 @@ export function renderMarkerDialog(this: HouseplanEditorRuntime): TemplateResult
};
this.host._markerDialog = this._announceToggleDraft(next);
}}>
${TAP_ACTIONS.map((v) => [v, 'tap.' + v.replace('-', '_')] as const).map(
([v, k]) => html`<option value=${v} ?selected=${v === effectiveTapAction}>
${t(k as any)}
</option>`,
)}
${TAP_ACTIONS.map((v) => html`<option value=${v} ?selected=${v === effectiveTapAction}>
${t(`tap.${v.replace('-', '_')}` as I18nKey)}
</option>`)}
</select>`,
hint: effectiveTapAction === 'toggle'
? html`<span id="marker-toggle-hint">${toggleHintLines.map((line) => html`<span class="hpf-hint-line">${line}</span>`)}</span>
@@ -591,7 +589,7 @@ export function renderMarkerDialog(this: HouseplanEditorRuntime): TemplateResult
? html`<ha-icon-picker id="marker-icon" .hass=${this.host.hass} .value=${d.icon || d.autoIcon}
.placeholder=${d.autoIcon || undefined}
.fallbackPath=${undefined}
@value-changed=${(e: any) => {
@value-changed=${(e: CustomEvent<{ value?: string }>) => {
const icon = e.detail.value || '';
// Some picker versions announce an assigned value. Do not
// let that turn the display-only auto icon into an override.