mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Prepare v1.77.0-beta.1
Package the reviewed furniture footprint fix with synchronized release metadata; the golden-manifest platform, composite CI proof, strict screenshot-freshness switch and stable Full Performance base ride along internally. Release: v1.77.0-beta.1 Issue: #571 Issue: #573 Issue: #584 Issue: #586 Issue: #587 User-Visible: yes
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.76.0"
|
||||
VERSION = "1.77.0-beta.1"
|
||||
DECOR_ASSETS_API_VERSION = 1
|
||||
SUMMARY_PANEL_API_VERSION = 1
|
||||
|
||||
|
||||
@@ -1,295 +1,295 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787",
|
||||
"fingerprint": "82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 291160,
|
||||
"initialViewGzipBytes": 291156,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 292683,
|
||||
"initialPanelGzipBytes": 292678,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2327,
|
||||
"initialPanelOnlyGzipBytes": 2325,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/de-BaSj7HzM.js",
|
||||
"houseplan-assets/editor-D8B3OQYD.js",
|
||||
"houseplan-assets/fr-4HoeVytE.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CpQn86-U.js",
|
||||
"houseplan-assets/iso-scene-render-BONN6ODJ.js",
|
||||
"houseplan-assets/live-interaction-runtime-CgqWId3n.js",
|
||||
"houseplan-assets/pdf-export-BPZM2cuP.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DJH5125h.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/de-BIKFm0nu.js",
|
||||
"houseplan-assets/editor-Btih960P.js",
|
||||
"houseplan-assets/fr-Dj-Pk_jJ.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js",
|
||||
"houseplan-assets/iso-scene-render-CALxqRmU.js",
|
||||
"houseplan-assets/live-interaction-runtime-C_kbCgWS.js",
|
||||
"houseplan-assets/pdf-export-BSpK2TsR.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-j85exgxX.js"
|
||||
],
|
||||
"lazyGzipBytes": 433647,
|
||||
"lazyGzipBytes": 433641,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/editor-D8B3OQYD.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/editor-Btih960P.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 218051,
|
||||
"lazyEditorGzipBytes": 218068,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 13918,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-BaSj7HzM.js",
|
||||
"houseplan-assets/fr-4HoeVytE.js"
|
||||
"houseplan-assets/de-BIKFm0nu.js",
|
||||
"houseplan-assets/fr-Dj-Pk_jJ.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54921,
|
||||
"lazyLocaleGzipBytes": 54913,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/iso-scene-render-BONN6ODJ.js"
|
||||
"houseplan-assets/iso-scene-render-CALxqRmU.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 15016,
|
||||
"lazyIsometricGzipBytes": 15015,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 23346,
|
||||
"lazyFurnitureArtGzipBytes": 23353,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/pdf-export-BPZM2cuP.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/pdf-export-BSpK2TsR.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 133220,
|
||||
"lazyPdfGzipBytes": 133225,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"sha256": "7366654abb5d7a9c273cbaf01b95bb5ce792f41a335dca6b520f8ef2e699ddf6",
|
||||
"path": "houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"sha256": "aa81af28bf4f25fe2b3765b741a6b6981c6c8e5b8acf20eb2692961ca9e4c0d9",
|
||||
"rawBytes": 19956,
|
||||
"gzipBytes": 6881,
|
||||
"gzipBytes": 6883,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-BaSj7HzM.js",
|
||||
"sha256": "104dd42e44f0a9fc7edd5d78bc7965dc706cb0722dd52a18347f1d738f3cf0b3",
|
||||
"path": "houseplan-assets/de-BIKFm0nu.js",
|
||||
"sha256": "0ae2f5d0afbf485c035cbde94094ce6d99d7fdd9870437af1d90c39fff776170",
|
||||
"rawBytes": 91590,
|
||||
"gzipBytes": 27743,
|
||||
"gzipBytes": 27739,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-D8B3OQYD.js",
|
||||
"sha256": "7785e1e4b736f6e3ed1fca97a2713b05bc52ee1199faf0ee7f7461f8c8669223",
|
||||
"path": "houseplan-assets/editor-Btih960P.js",
|
||||
"sha256": "692281371a9603f7647c653c320edaafa9f1f446c6eacff7495dfad8dd36bf51",
|
||||
"rawBytes": 3831,
|
||||
"gzipBytes": 1583,
|
||||
"gzipBytes": 1582,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-4HoeVytE.js",
|
||||
"sha256": "b748e68e439550a6cad6a85b250ae32f16b8cf3cb83621e68b8c39a38d0c7746",
|
||||
"path": "houseplan-assets/fr-Dj-Pk_jJ.js",
|
||||
"sha256": "3bdaf2b6bb4eb18b7b6afaf65a238e7c31c6ffba540b11a7d13f89a272a282e5",
|
||||
"rawBytes": 93884,
|
||||
"gzipBytes": 27178,
|
||||
"gzipBytes": 27174,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"sha256": "5565fd38519ff3d7c57dbaacb38daf041c0d2b8b810dccb601bf518e348254c0",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"sha256": "a0e124957c5d81e089bbdacf7619965157b1c28860a5cf6bedc1918d43982825",
|
||||
"rawBytes": 90517,
|
||||
"gzipBytes": 23346,
|
||||
"gzipBytes": 23353,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"sha256": "a2e6f4c2c11a06e9e93bd7bef54d179932f703c07e76141da18b82ad8c9de5dc",
|
||||
"rawBytes": 1034124,
|
||||
"gzipBytes": 290356,
|
||||
"path": "houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"sha256": "c5ad243829110642e76f2b9caeff58e354d9bdd2484d6ba3aeda0a66354fb4b7",
|
||||
"rawBytes": 1034131,
|
||||
"gzipBytes": 290353,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-BaSj7HzM.js",
|
||||
"houseplan-assets/editor-D8B3OQYD.js",
|
||||
"houseplan-assets/fr-4HoeVytE.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CpQn86-U.js",
|
||||
"houseplan-assets/iso-scene-render-BONN6ODJ.js",
|
||||
"houseplan-assets/live-interaction-runtime-CgqWId3n.js",
|
||||
"houseplan-assets/pdf-export-BPZM2cuP.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js"
|
||||
"houseplan-assets/de-BIKFm0nu.js",
|
||||
"houseplan-assets/editor-Btih960P.js",
|
||||
"houseplan-assets/fr-Dj-Pk_jJ.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js",
|
||||
"houseplan-assets/iso-scene-render-CALxqRmU.js",
|
||||
"houseplan-assets/live-interaction-runtime-C_kbCgWS.js",
|
||||
"houseplan-assets/pdf-export-BSpK2TsR.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"sha256": "2414ce2d9561c61b6ada65dbe98cd3b65eb92f1c3b4ce5ea3a3e7ea37c20fa82",
|
||||
"rawBytes": 670154,
|
||||
"gzipBytes": 178815,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"sha256": "393529f4d7b2bda81deb3cb478e6c8d7e5a940316e71ed8acd32e58ab13328d3",
|
||||
"rawBytes": 670161,
|
||||
"gzipBytes": 178821,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-DJH5125h.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-j85exgxX.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js",
|
||||
"sha256": "a02a4c3f1ffea7b70b6c447cad51cd9b206a6eec646b56a2b2bef180f5c193e0",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js",
|
||||
"sha256": "b301cf1f4a91250ca6163fb05c5421d1613dc65557ec6510d61ccc85ab258cc4",
|
||||
"rawBytes": 28287,
|
||||
"gzipBytes": 7037,
|
||||
"gzipBytes": 7035,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-CpQn86-U.js",
|
||||
"sha256": "5ab766472675b105499354752c02924afc9c00da0daa510bf6ae4dcc1c167953",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js",
|
||||
"sha256": "b9891e1d96dec35723cbf35955a5e75fa19292fd8398097aa46020595899e6e1",
|
||||
"rawBytes": 10756,
|
||||
"gzipBytes": 3686,
|
||||
"gzipBytes": 3683,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DJH5125h.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-j85exgxX.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-BONN6ODJ.js",
|
||||
"sha256": "71729dc9c99e6f742751159f60a14c873713bea6b1bf1a0acd407addf4e459a9",
|
||||
"path": "houseplan-assets/iso-scene-render-CALxqRmU.js",
|
||||
"sha256": "f4f66222fd36572fc34c694474daf248c040c5fb635160301bb4dd39ceaec446",
|
||||
"rawBytes": 44439,
|
||||
"gzipBytes": 15016,
|
||||
"gzipBytes": 15015,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-CgqWId3n.js",
|
||||
"sha256": "f14c3b58a2c9745d237c1cb2a9ccb5ccbc41e780ea031ffa322ae33c3c76a9d6",
|
||||
"path": "houseplan-assets/live-interaction-runtime-C_kbCgWS.js",
|
||||
"sha256": "7a6aacdb402472213bd6997f0bbb3fdbde4e25f8c9f0881e2bb0907fa2cd8108",
|
||||
"rawBytes": 8216,
|
||||
"gzipBytes": 3208,
|
||||
"gzipBytes": 3205,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-BPZM2cuP.js",
|
||||
"sha256": "8e53c48062204e7cff5a681a6ddb599e0477e98e5dfa1b777cee1ca5fe57ae14",
|
||||
"path": "houseplan-assets/pdf-export-BSpK2TsR.js",
|
||||
"sha256": "7e4b945d5a45e438dd7ef484651f182c09f6d3e40a3db72c52bd853bd8ba445e",
|
||||
"rawBytes": 236244,
|
||||
"gzipBytes": 109874,
|
||||
"gzipBytes": 109872,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-D4-1cfJa.js",
|
||||
"sha256": "4000d940ce12e9dba008bb0f85a28d201deb2bb955ffa8a7c197c793ea7dc1fa",
|
||||
"path": "houseplan-assets/summary-panel-editor-QJQxYKiA.js",
|
||||
"sha256": "97cecc2b4589331ca3b691705fcc637beff63fb02b152af66987803546a2d2d6",
|
||||
"rawBytes": 14824,
|
||||
"gzipBytes": 3401,
|
||||
"gzipBytes": 3395,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-DNBrlcVo.js",
|
||||
"sha256": "b05e3dc25fd75f13c3463ecc212bb29ad30fa2e9c670e161bbf0d81aa14c0b31",
|
||||
"path": "houseplan-assets/summary-panel-metrics-CuoIyiO4.js",
|
||||
"sha256": "ed3919d2ce63a029335b4a079821139cd365a860c0fb8e09c05eb9cc0e344b16",
|
||||
"rawBytes": 2610,
|
||||
"gzipBytes": 1306,
|
||||
"gzipBytes": 1304,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js",
|
||||
"sha256": "8daa20aafbb97a797f052f89a64a28e2acc284040ad9099fe0befa3fef92a2f0",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js",
|
||||
"sha256": "e5a6a1430e12b6f2f533d446a7fc33a0f5b2d78d7760f3fa06c5543cf12f2f7c",
|
||||
"rawBytes": 73366,
|
||||
"gzipBytes": 20089,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-D4-1cfJa.js",
|
||||
"houseplan-assets/summary-panel-metrics-DNBrlcVo.js"
|
||||
"houseplan-assets/summary-panel-editor-QJQxYKiA.js",
|
||||
"houseplan-assets/summary-panel-metrics-CuoIyiO4.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-D_LrAqE3.js",
|
||||
"sha256": "fec21590ff7137d1f7ababf97f83fa30e91af3979ec5759e3d971587bcf96ef0",
|
||||
"path": "houseplan-assets/zigbee-topology-De4vOxpt.js",
|
||||
"sha256": "cb567b3217e3e45bf943aea822e0b97310a60b96c48f3bedb9816c5a07d6a82a",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7426,
|
||||
"gzipBytes": 7429,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-DJH5125h.js",
|
||||
"sha256": "d16b09ae316f28f0704edc9ad893561bd4b2a8b3dd5c07051bcaceca17456c9c",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-j85exgxX.js",
|
||||
"sha256": "2874c621bd38d7f01054228604b6fded2f6047af80aa01b01efee95378592452",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1765,
|
||||
"gzipBytes": 1761,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "1204c95eabef5e07dfe73cfaf44226cbe18e85a5329836339090d36910941a52",
|
||||
"sha256": "3b101e0a9f209b044bc177318f28432cb95b9b85fb4f0803772cf018b8f90996",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 804,
|
||||
"gzipBytes": 803,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "cf3e9badfa13fcd73ee98adf32121a15676e848a90d5ee12a1f0472ad99233b6",
|
||||
"sha256": "22cc3ae9e23a17c016bc57a60f9cc0ab3bd23a2f84286775357ce10285737d86",
|
||||
"rawBytes": 6165,
|
||||
"gzipBytes": 2327,
|
||||
"gzipBytes": 2325,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+5
-5
@@ -1,14 +1,14 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{q as e,l as o,v as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,E as r,c}from"./houseplan-card-B0Q_XTHX.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{q as e,l as o,v as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,E as r,c}from"./houseplan-card-CwdwKGP9.js";class f extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,f={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},h=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
.computeLabel=${e=>h[e.name]||e.name}
|
||||
.computeLabel=${e=>f[e.name]||e.name}
|
||||
@value-changed=${this._valueChanged}
|
||||
></ha-form>`;return c`
|
||||
${d(f.slice(0,3))}
|
||||
${d(h.slice(0,3))}
|
||||
${_?c`<div class="default-floor-error" role="alert"
|
||||
style="color:var(--error-color,#db4437);margin:-4px 0 12px;overflow-wrap:anywhere">
|
||||
${t(s,"editor.default_floor_missing",{id:_})}
|
||||
</div>`:a}
|
||||
${d(f.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h);
|
||||
${d(h.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}f.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",f);
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+5
-5
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
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{c as a,A as e}from"./houseplan-card-B0Q_XTHX.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-BLYtOezP.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{c as a,A as e}from"./houseplan-card-CwdwKGP9.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-Crai8dhf.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
@@ -0,0 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{eb as e,P as t,a5 as n,M as i,aq as r,N as o,bs as s,br as a,a4 as c,a3 as l,aA as d,ec as u,ed as f,bu as m,ee as g}from"./houseplan-card-CwdwKGP9.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 r=String(i.binding||"").indexOf(":");if(r<1)continue;const o=i.binding.slice(0,r),s=i.binding.slice(r+1),a="device"===o?e.registry.devices?.[s]:null,c="entity"===o?e.registry.entities?.[s]:null,l="device"===o?s:c?.device_id,d="device"===o?a?.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"===o&&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,r,o);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,r,o)}}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 a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,r,o,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/r;u+=a(v)*_*_/1e4}return u}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let r=i.next();for(;!r.done;)r=i.next();return r.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 +0,0 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{eb as e,P as t,a5 as n,M as i,aq as r,N as o,bs as a,br as s,a4 as l,a3 as c,aA as u,ec as d,ed as f,bu as m,ee as g}from"./houseplan-card-B0Q_XTHX.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 r=String(i.binding||"").indexOf(":");if(r<1)continue;const o=i.binding.slice(0,r),a=i.binding.slice(r+1),s="device"===o?e.registry.devices?.[a]:null,l="entity"===o?e.registry.entities?.[a]:null,c="device"===o?a:l?.device_id,u="device"===o?s?.area_id:l?.area_id||c&&e.registry.devices?.[c]?.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;c&&e.registry.devices?.[c]&&e.spaceIds.has(f)&&(!n.devices.has(c)||"entity"===o&&n.liveEntities.has(a))&&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,r,o);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:c(e.rooms,t.walls,t.openCuts,i,t.cellCm,r,o)}}function*b(l,c,u=_){try{let d=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=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const s=t(e);if(!s)continue;const l=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,r,o,g.roomGeom,g.multiWallNodes)||s;v=y(v,a(l,m.physicalBodies)),yield}const _=m.cellCm/r;d+=s(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let r=i.next();for(;!r.done;)r=i.next();return r.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
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{n as t,b as n}from"./zigbee-topology-D_LrAqE3.js";import{F as e}from"./houseplan-card-B0Q_XTHX.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{n as t,b as n}from"./zigbee-topology-De4vOxpt.js";import{F as e}from"./houseplan-card-CwdwKGP9.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__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";try{await import("./houseplan-assets/houseplan-card-B0Q_XTHX.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";try{await import("./houseplan-assets/houseplan-card-CwdwKGP9.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.76.0"
|
||||
"version": "1.77.0-beta.1"
|
||||
}
|
||||
|
||||
Vendored
+133
-133
@@ -1,295 +1,295 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787",
|
||||
"fingerprint": "82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e",
|
||||
"entry": "houseplan-card.js",
|
||||
"panelEntry": "houseplan-panel.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 291160,
|
||||
"initialViewGzipBytes": 291156,
|
||||
"initialPanelFiles": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelGzipBytes": 292683,
|
||||
"initialPanelGzipBytes": 292678,
|
||||
"initialPanelOnlyFiles": [
|
||||
"houseplan-panel.js"
|
||||
],
|
||||
"initialPanelOnlyGzipBytes": 2327,
|
||||
"initialPanelOnlyGzipBytes": 2325,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/de-BaSj7HzM.js",
|
||||
"houseplan-assets/editor-D8B3OQYD.js",
|
||||
"houseplan-assets/fr-4HoeVytE.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CpQn86-U.js",
|
||||
"houseplan-assets/iso-scene-render-BONN6ODJ.js",
|
||||
"houseplan-assets/live-interaction-runtime-CgqWId3n.js",
|
||||
"houseplan-assets/pdf-export-BPZM2cuP.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DJH5125h.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/de-BIKFm0nu.js",
|
||||
"houseplan-assets/editor-Btih960P.js",
|
||||
"houseplan-assets/fr-Dj-Pk_jJ.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js",
|
||||
"houseplan-assets/iso-scene-render-CALxqRmU.js",
|
||||
"houseplan-assets/live-interaction-runtime-C_kbCgWS.js",
|
||||
"houseplan-assets/pdf-export-BSpK2TsR.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-j85exgxX.js"
|
||||
],
|
||||
"lazyGzipBytes": 433647,
|
||||
"lazyGzipBytes": 433641,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/editor-D8B3OQYD.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/editor-Btih960P.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 218051,
|
||||
"lazyEditorGzipBytes": 218068,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 13918,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-BaSj7HzM.js",
|
||||
"houseplan-assets/fr-4HoeVytE.js"
|
||||
"houseplan-assets/de-BIKFm0nu.js",
|
||||
"houseplan-assets/fr-Dj-Pk_jJ.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 54921,
|
||||
"lazyLocaleGzipBytes": 54913,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/iso-scene-render-BONN6ODJ.js"
|
||||
"houseplan-assets/iso-scene-render-CALxqRmU.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 15016,
|
||||
"lazyIsometricGzipBytes": 15015,
|
||||
"lazyFurnitureArtFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js"
|
||||
],
|
||||
"lazyFurnitureArtGzipBytes": 23346,
|
||||
"lazyFurnitureArtGzipBytes": 23353,
|
||||
"lazyPdfFiles": [
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/pdf-export-BPZM2cuP.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/pdf-export-BSpK2TsR.js"
|
||||
],
|
||||
"lazyPdfGzipBytes": 133220,
|
||||
"lazyPdfGzipBytes": 133225,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"sha256": "7366654abb5d7a9c273cbaf01b95bb5ce792f41a335dca6b520f8ef2e699ddf6",
|
||||
"path": "houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"sha256": "aa81af28bf4f25fe2b3765b741a6b6981c6c8e5b8acf20eb2692961ca9e4c0d9",
|
||||
"rawBytes": 19956,
|
||||
"gzipBytes": 6881,
|
||||
"gzipBytes": 6883,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-BaSj7HzM.js",
|
||||
"sha256": "104dd42e44f0a9fc7edd5d78bc7965dc706cb0722dd52a18347f1d738f3cf0b3",
|
||||
"path": "houseplan-assets/de-BIKFm0nu.js",
|
||||
"sha256": "0ae2f5d0afbf485c035cbde94094ce6d99d7fdd9870437af1d90c39fff776170",
|
||||
"rawBytes": 91590,
|
||||
"gzipBytes": 27743,
|
||||
"gzipBytes": 27739,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-D8B3OQYD.js",
|
||||
"sha256": "7785e1e4b736f6e3ed1fca97a2713b05bc52ee1199faf0ee7f7461f8c8669223",
|
||||
"path": "houseplan-assets/editor-Btih960P.js",
|
||||
"sha256": "692281371a9603f7647c653c320edaafa9f1f446c6eacff7495dfad8dd36bf51",
|
||||
"rawBytes": 3831,
|
||||
"gzipBytes": 1583,
|
||||
"gzipBytes": 1582,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-4HoeVytE.js",
|
||||
"sha256": "b748e68e439550a6cad6a85b250ae32f16b8cf3cb83621e68b8c39a38d0c7746",
|
||||
"path": "houseplan-assets/fr-Dj-Pk_jJ.js",
|
||||
"sha256": "3bdaf2b6bb4eb18b7b6afaf65a238e7c31c6ffba540b11a7d13f89a272a282e5",
|
||||
"rawBytes": 93884,
|
||||
"gzipBytes": 27178,
|
||||
"gzipBytes": 27174,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"sha256": "5565fd38519ff3d7c57dbaacb38daf041c0d2b8b810dccb601bf518e348254c0",
|
||||
"path": "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"sha256": "a0e124957c5d81e089bbdacf7619965157b1c28860a5cf6bedc1918d43982825",
|
||||
"rawBytes": 90517,
|
||||
"gzipBytes": 23346,
|
||||
"gzipBytes": 23353,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"sha256": "a2e6f4c2c11a06e9e93bd7bef54d179932f703c07e76141da18b82ad8c9de5dc",
|
||||
"rawBytes": 1034124,
|
||||
"gzipBytes": 290356,
|
||||
"path": "houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"sha256": "c5ad243829110642e76f2b9caeff58e354d9bdd2484d6ba3aeda0a66354fb4b7",
|
||||
"rawBytes": 1034131,
|
||||
"gzipBytes": 290353,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-BaSj7HzM.js",
|
||||
"houseplan-assets/editor-D8B3OQYD.js",
|
||||
"houseplan-assets/fr-4HoeVytE.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CpQn86-U.js",
|
||||
"houseplan-assets/iso-scene-render-BONN6ODJ.js",
|
||||
"houseplan-assets/live-interaction-runtime-CgqWId3n.js",
|
||||
"houseplan-assets/pdf-export-BPZM2cuP.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js"
|
||||
"houseplan-assets/de-BIKFm0nu.js",
|
||||
"houseplan-assets/editor-Btih960P.js",
|
||||
"houseplan-assets/fr-Dj-Pk_jJ.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js",
|
||||
"houseplan-assets/iso-scene-render-CALxqRmU.js",
|
||||
"houseplan-assets/live-interaction-runtime-C_kbCgWS.js",
|
||||
"houseplan-assets/pdf-export-BSpK2TsR.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-CXJl9W9o.js",
|
||||
"sha256": "2414ce2d9561c61b6ada65dbe98cd3b65eb92f1c3b4ce5ea3a3e7ea37c20fa82",
|
||||
"rawBytes": 670154,
|
||||
"gzipBytes": 178815,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js",
|
||||
"sha256": "393529f4d7b2bda81deb3cb478e6c8d7e5a940316e71ed8acd32e58ab13328d3",
|
||||
"rawBytes": 670161,
|
||||
"gzipBytes": 178821,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-DJH5125h.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-j85exgxX.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BtkZ0Mkc.js",
|
||||
"sha256": "a02a4c3f1ffea7b70b6c447cad51cd9b206a6eec646b56a2b2bef180f5c193e0",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js",
|
||||
"sha256": "b301cf1f4a91250ca6163fb05c5421d1613dc65557ec6510d61ccc85ab258cc4",
|
||||
"rawBytes": 28287,
|
||||
"gzipBytes": 7037,
|
||||
"gzipBytes": 7035,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-CeEIa4lG.js",
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/backdrop-pick-CfVEE1c3.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-CpQn86-U.js",
|
||||
"sha256": "5ab766472675b105499354752c02924afc9c00da0daa510bf6ae4dcc1c167953",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js",
|
||||
"sha256": "b9891e1d96dec35723cbf35955a5e75fa19292fd8398097aa46020595899e6e1",
|
||||
"rawBytes": 10756,
|
||||
"gzipBytes": 3686,
|
||||
"gzipBytes": 3683,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-DJH5125h.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-j85exgxX.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-BONN6ODJ.js",
|
||||
"sha256": "71729dc9c99e6f742751159f60a14c873713bea6b1bf1a0acd407addf4e459a9",
|
||||
"path": "houseplan-assets/iso-scene-render-CALxqRmU.js",
|
||||
"sha256": "f4f66222fd36572fc34c694474daf248c040c5fb635160301bb4dd39ceaec446",
|
||||
"rawBytes": 44439,
|
||||
"gzipBytes": 15016,
|
||||
"gzipBytes": 15015,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-CgqWId3n.js",
|
||||
"sha256": "f14c3b58a2c9745d237c1cb2a9ccb5ccbc41e780ea031ffa322ae33c3c76a9d6",
|
||||
"path": "houseplan-assets/live-interaction-runtime-C_kbCgWS.js",
|
||||
"sha256": "7a6aacdb402472213bd6997f0bbb3fdbde4e25f8c9f0881e2bb0907fa2cd8108",
|
||||
"rawBytes": 8216,
|
||||
"gzipBytes": 3208,
|
||||
"gzipBytes": 3205,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/pdf-export-BPZM2cuP.js",
|
||||
"sha256": "8e53c48062204e7cff5a681a6ddb599e0477e98e5dfa1b777cee1ca5fe57ae14",
|
||||
"path": "houseplan-assets/pdf-export-BSpK2TsR.js",
|
||||
"sha256": "7e4b945d5a45e438dd7ef484651f182c09f6d3e40a3db72c52bd853bd8ba445e",
|
||||
"rawBytes": 236244,
|
||||
"gzipBytes": 109874,
|
||||
"gzipBytes": 109872,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/furniture-plan-art.generated-CaYvEWnV.js",
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js",
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-editor-D4-1cfJa.js",
|
||||
"sha256": "4000d940ce12e9dba008bb0f85a28d201deb2bb955ffa8a7c197c793ea7dc1fa",
|
||||
"path": "houseplan-assets/summary-panel-editor-QJQxYKiA.js",
|
||||
"sha256": "97cecc2b4589331ca3b691705fcc637beff63fb02b152af66987803546a2d2d6",
|
||||
"rawBytes": 14824,
|
||||
"gzipBytes": 3401,
|
||||
"gzipBytes": 3395,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-metrics-DNBrlcVo.js",
|
||||
"sha256": "b05e3dc25fd75f13c3463ecc212bb29ad30fa2e9c670e161bbf0d81aa14c0b31",
|
||||
"path": "houseplan-assets/summary-panel-metrics-CuoIyiO4.js",
|
||||
"sha256": "ed3919d2ce63a029335b4a079821139cd365a860c0fb8e09c05eb9cc0e344b16",
|
||||
"rawBytes": 2610,
|
||||
"gzipBytes": 1306,
|
||||
"gzipBytes": 1304,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-BLYtOezP.js",
|
||||
"sha256": "8daa20aafbb97a797f052f89a64a28e2acc284040ad9099fe0befa3fef92a2f0",
|
||||
"path": "houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js",
|
||||
"sha256": "e5a6a1430e12b6f2f533d446a7fc33a0f5b2d78d7760f3fa06c5543cf12f2f7c",
|
||||
"rawBytes": 73366,
|
||||
"gzipBytes": 20089,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/summary-panel-editor-D4-1cfJa.js",
|
||||
"houseplan-assets/summary-panel-metrics-DNBrlcVo.js"
|
||||
"houseplan-assets/summary-panel-editor-QJQxYKiA.js",
|
||||
"houseplan-assets/summary-panel-metrics-CuoIyiO4.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-D_LrAqE3.js",
|
||||
"sha256": "fec21590ff7137d1f7ababf97f83fa30e91af3979ec5759e3d971587bcf96ef0",
|
||||
"path": "houseplan-assets/zigbee-topology-De4vOxpt.js",
|
||||
"sha256": "cb567b3217e3e45bf943aea822e0b97310a60b96c48f3bedb9816c5a07d6a82a",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7426,
|
||||
"gzipBytes": 7429,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-DJH5125h.js",
|
||||
"sha256": "d16b09ae316f28f0704edc9ad893561bd4b2a8b3dd5c07051bcaceca17456c9c",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-j85exgxX.js",
|
||||
"sha256": "2874c621bd38d7f01054228604b6fded2f6047af80aa01b01efee95378592452",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1765,
|
||||
"gzipBytes": 1761,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js",
|
||||
"houseplan-assets/zigbee-topology-D_LrAqE3.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js",
|
||||
"houseplan-assets/zigbee-topology-De4vOxpt.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "1204c95eabef5e07dfe73cfaf44226cbe18e85a5329836339090d36910941a52",
|
||||
"sha256": "3b101e0a9f209b044bc177318f28432cb95b9b85fb4f0803772cf018b8f90996",
|
||||
"rawBytes": 1205,
|
||||
"gzipBytes": 804,
|
||||
"gzipBytes": 803,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-panel.js",
|
||||
"sha256": "cf3e9badfa13fcd73ee98adf32121a15676e848a90d5ee12a1f0472ad99233b6",
|
||||
"sha256": "22cc3ae9e23a17c016bc57a60f9cc0ab3bd23a2f84286775357ce10285737d86",
|
||||
"rawBytes": 6165,
|
||||
"gzipBytes": 2327,
|
||||
"gzipBytes": 2325,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-B0Q_XTHX.js"
|
||||
"houseplan-assets/houseplan-card-CwdwKGP9.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+5
-5
@@ -1,14 +1,14 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{q as e,l as o,v as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,E as r,c}from"./houseplan-card-B0Q_XTHX.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{q as e,l as o,v as t,e5 as s,A as a,e6 as i,e7 as l,e8 as n,E as r,c}from"./houseplan-card-CwdwKGP9.js";class f extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,f={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},h=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
.computeLabel=${e=>h[e.name]||e.name}
|
||||
.computeLabel=${e=>f[e.name]||e.name}
|
||||
@value-changed=${this._valueChanged}
|
||||
></ha-form>`;return c`
|
||||
${d(f.slice(0,3))}
|
||||
${d(h.slice(0,3))}
|
||||
${_?c`<div class="default-floor-error" role="alert"
|
||||
style="color:var(--error-color,#db4437);margin:-4px 0 12px;overflow-wrap:anywhere">
|
||||
${t(s,"editor.default_floor_missing",{id:_})}
|
||||
</div>`:a}
|
||||
${d(f.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h);
|
||||
${d(h.slice(3))}
|
||||
`}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}f.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",f);
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+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
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+2
-2
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{c as a,A as e}from"./houseplan-card-B0Q_XTHX.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-BLYtOezP.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{c as a,A as e}from"./houseplan-card-CwdwKGP9.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-Crai8dhf.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"
|
||||
@@ -0,0 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{eb as e,P as t,a5 as n,M as i,aq as r,N as o,bs as s,br as a,a4 as c,a3 as l,aA as d,ec as u,ed as f,bu as m,ee as g}from"./houseplan-card-CwdwKGP9.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 r=String(i.binding||"").indexOf(":");if(r<1)continue;const o=i.binding.slice(0,r),s=i.binding.slice(r+1),a="device"===o?e.registry.devices?.[s]:null,c="entity"===o?e.registry.entities?.[s]:null,l="device"===o?s:c?.device_id,d="device"===o?a?.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"===o&&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,r,o);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:l(e.rooms,t.walls,t.openCuts,i,t.cellCm,r,o)}}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 a=t(e);if(!a)continue;const c=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,r,o,g.roomGeom,g.multiWallNodes)||a;v=y(v,s(c,m.physicalBodies)),yield}const _=m.cellCm/r;u+=a(v)*_*_/1e4}return u}catch{return null}}function p(e,t,n=_){const i=h(e,t,n);let r=i.next();for(;!r.done;)r=i.next();return r.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 +0,0 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{eb as e,P as t,a5 as n,M as i,aq as r,N as o,bs as a,br as s,a4 as l,a3 as c,aA as u,ec as d,ed as f,bu as m,ee as g}from"./houseplan-card-B0Q_XTHX.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 r=String(i.binding||"").indexOf(":");if(r<1)continue;const o=i.binding.slice(0,r),a=i.binding.slice(r+1),s="device"===o?e.registry.devices?.[a]:null,l="entity"===o?e.registry.entities?.[a]:null,c="device"===o?a:l?.device_id,u="device"===o?s?.area_id:l?.area_id||c&&e.registry.devices?.[c]?.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;c&&e.registry.devices?.[c]&&e.spaceIds.has(f)&&(!n.devices.has(c)||"entity"===o&&n.liveEntities.has(a))&&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,r,o);return{roomGeom:"ok"===n.status||"degraded-extra"===n.status?n.roomGeom:void 0,multiWallNodes:c(e.rooms,t.walls,t.openCuts,i,t.cellCm,r,o)}}function*b(l,c,u=_){try{let d=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=u(f,m);let v=null;for(const e of f.rooms){if(!e.id)continue;const s=t(e);if(!s)continue;const l=n(f.rooms,e.id,m.walls,m.openCuts,i,m.cellCm,r,o,g.roomGeom,g.multiWallNodes)||s;v=y(v,a(l,m.physicalBodies)),yield}const _=m.cellCm/r;d+=s(v)*_*_/1e4}return d}catch{return null}}function h(e,t,n=_){const i=b(e,t,n);let r=i.next();for(;!r.done;)r=i.next();return r.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
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";import{n as t,b as n}from"./zigbee-topology-D_LrAqE3.js";import{F as e}from"./houseplan-card-B0Q_XTHX.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{n as t,b as n}from"./zigbee-topology-De4vOxpt.js";import{F as e}from"./houseplan-card-CwdwKGP9.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};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="09fae293e9dee5623085ca73035bb09914a27ad744cffaa70dab64fb29b96787";try{await import("./houseplan-assets/houseplan-card-B0Q_XTHX.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__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";try{await import("./houseplan-assets/houseplan-card-CwdwKGP9.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.77.0-beta.1 — 2026-09-18
|
||||
|
||||
- Furniture items with the same dimensions now look the same: the width and
|
||||
depth you enter match the visible size on the plan. The artwork used to fill
|
||||
only about 88 % of its own box, so a 60 × 60 cm “Kitchen base unit” looked
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.77.0-beta.1 — 2026-09-18
|
||||
|
||||
- Предметы мебели с одинаковыми размерами теперь и выглядят одинаково: указанные
|
||||
ширина и глубина совпадают с видимым габаритом на плане. Раньше рисунок
|
||||
занимал внутри своего бокса около 88 % стороны, поэтому «Кухонный напольный
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
<!-- release: v1.76.0 -->
|
||||
<!-- release: v1.77.0-beta.1 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- Щипковое масштабирование в приложении Home Assistant больше не рвёт картинку: на больших планах с фоном «Следует за Солнцем» пропали фиксированные белые провалы в стенах и полу, план перестал мигать между режимами отрисовки, а щипок, начатый на значке устройства, больше не запускает его действие и не открывает два окна сразу ([#582](https://github.com/Matysh/houseplan-card/issues/582), [#579](https://github.com/Matysh/houseplan-card/issues/579), [#578](https://github.com/Matysh/houseplan-card/issues/578), [#563](https://github.com/Matysh/houseplan-card/issues/563)).
|
||||
- Свет и цвет стали управляемее: в общих настройках появился выбор, откуда начинаются солнечные лучи — от внутренних углов окна, как раньше, или от внешних; «Как у пространства» в настройках комнаты снова возвращает ей цвет пространства, а комнаты, застрявшие с чужим цветом, выздоравливают сами ([#577](https://github.com/Matysh/houseplan-card/issues/577), [#581](https://github.com/Matysh/houseplan-card/issues/581)).
|
||||
- Значки и план ведут себя предсказуемее: близко стоящие значки больше не перехватывают нажатие друг у друга, клавиатурный фокус показывает ту же подсказку, что и мышь, переключение пространств слышно в скринридере, план, изменённый в другом браузере, не откатывается к старой версии, а при перетаскивании у края не появляется пустая полоса ([#564](https://github.com/Matysh/houseplan-card/issues/564), [#565](https://github.com/Matysh/houseplan-card/issues/565), [#543](https://github.com/Matysh/houseplan-card/issues/543), [#544](https://github.com/Matysh/houseplan-card/issues/544)).
|
||||
- Предметы мебели с одинаковыми размерами теперь выглядят одинаково: заявленные ширина и глубина совпадают с видимым габаритом на плане, а значки «Лестница» и «Телевизор» в меню больше не выходят за свои границы ([#584](https://github.com/Matysh/houseplan-card/issues/584)).
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- Pinch-zoom in the Home Assistant app no longer tears the picture apart: large plans with the “Follows the Sun” background lost their fixed white gaps in walls and floors, the plan no longer flickers between rendering paths, and a pinch that starts on a device marker no longer runs its action or opens two dialogs at once ([#582](https://github.com/Matysh/houseplan-card/issues/582), [#579](https://github.com/Matysh/houseplan-card/issues/579), [#578](https://github.com/Matysh/houseplan-card/issues/578), [#563](https://github.com/Matysh/houseplan-card/issues/563)).
|
||||
- Light and colour became easier to control: general settings now choose where sunlight rays start — at the inner window corners, as before, or at the outer ones; “As the space” in room settings gives the room the space colour back again, and rooms stuck with a foreign colour heal on their own ([#577](https://github.com/Matysh/houseplan-card/issues/577), [#581](https://github.com/Matysh/houseplan-card/issues/581)).
|
||||
- Markers and the plan behave more predictably: closely placed markers no longer steal one another's tap, keyboard focus shows the same tooltip as the mouse, switching spaces is announced by screen readers, a plan edited in another browser no longer rolls back to an older version, and dragging no longer leaves an empty strip at the edge ([#564](https://github.com/Matysh/houseplan-card/issues/564), [#565](https://github.com/Matysh/houseplan-card/issues/565), [#543](https://github.com/Matysh/houseplan-card/issues/543), [#544](https://github.com/Matysh/houseplan-card/issues/544)).
|
||||
- Furniture pieces with equal sizes now look equal: the declared width and depth match the visible footprint on the plan, and the “Stairs” and “TV” icons in the menu no longer spill outside their bounds ([#584](https://github.com/Matysh/houseplan-card/issues/584)).
|
||||
- Small fixes and improvements.
|
||||
|
||||
Сообщество / Community: [Telegram](https://t.me/ha_houseplan)
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.76.0/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.76.0/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.77.0-beta.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.77.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-16)
|
||||
## Snapshot (2026-09-18)
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.76.0** everywhere (manifest, const.py, package.json, package-lock in both places, CARD_VERSION in the card and the editor runtime) |
|
||||
| Current local cycle | **Stable v1.76.0** — `main` is fast-forwarded to the tested `dev` SHA and the GitHub Release is public. The line aggregates from the stable v1.75.0: pinch-zoom in the Home Assistant app no longer tears the picture apart — large “Follows the Sun” plans lost their fixed white gaps (#582), the plan no longer moves between compositor paths mid gesture (#579), and a pinch that starts on a device marker no longer runs that device (#578, #563); sunlight can now start at the outer window corners as well as the inner ones (#577); “As the space” returns the room colour and heals rooms stuck with a foreign one (#581); closely placed markers stop stealing one another's tap and keyboard focus gets the same tooltip as hover (#564, #565); a plan edited in another browser no longer rolls back (#543) and dragging leaves no empty strip at the edge (#544). Smaller: #561, #554, #545, #580. Internal in the line: #583 (2.5D refinement plus the overlay-placement speed fix), #547, #556, #560, #566, #567, #568, #569. Recorded rather than silenced: the screenshot-freshness index is stale since `699ab471` and the Validate gate that was supposed to catch it only warns — the mode selection compares against a multi-line CLI output (#586). The eleven documentation frames cannot change from that commit: none of them renders the hidden 2.5D view, and the fingerprint covers all of `src/**`. |
|
||||
| Version | **v1.77.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.77.0-beta.1 candidate** — prepared from the exact integrated `dev` tree; `main` stays on v1.76.0. One user-visible fix: furniture pieces with equal declared sizes now have equal footprints on the plan and the “Stairs”/“TV” menu icons stay inside their bounds (#584). Internal in the line: the golden manifest records the capture platform rather than the acceptance one (#571); the CI proof separates the product tree from the accepted golden overlay and release consumers recompute it, so a baseline-only commit after a golden-red candidate reuses smoke, performance smoke, parity and backend and skips caught witnesses (#573); the candidate-only strict screenshot-freshness mode actually engages (#586); the stable Full Performance base is the previous stable tag instead of the `main` tip (#587). Open and tracked, not shipped: #585 — the hidden 2.5D overlay placement takes the 4 px lattice accepted for speed, so one dense scene stacks two markers until the boundary-walk fix lands. |
|
||||
| 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; #570 adds the Stage 4 designer handoff and #583 refines it on `dev`: only the building ambient shadow remains, door/gate volumes pivot on the selected host face without strokes, and devices/lock badges receive deterministic mutual collision correction while room labels remain passive below them. The same hidden `iso` view uses a fixed 0°/20° camera and scale-aware wall height 84, low screen-facing device/room/lock overlays without tethers or ground dots, neutral full-height window frames with blue glass, and bounded theme materials. 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 4 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 stable release is produced by `release.yml` (`workflow_dispatch` on `main` with the tag) — the only publisher of installable assets since #540: gates on the exact SHA (Validate, Full Performance, E2E on the candidate commit), one build, `houseplan.zip` archived from the committed tree, `SHA256SUMS`, draft → publish → read-back verification; a release published by hand in the GitHub form is turned back into a draft and walked through the same path, and a re-dispatch on a public tag is a repair that adds only missing assets. 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) |
|
||||
|
||||
@@ -139,6 +139,7 @@
|
||||
],
|
||||
"witnesses": 7,
|
||||
"floor": 2,
|
||||
"lastWriteWasFingerprintOnly": true
|
||||
"lastWriteWasFingerprintOnly": true,
|
||||
"identicalPixels": true
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.76.0",
|
||||
"version": "1.77.0-beta.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.76.0",
|
||||
"version": "1.77.0-beta.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.76.0",
|
||||
"version": "1.77.0-beta.1",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -427,7 +427,7 @@ import type { MarkerRoomReferenceSnapshot } from './room-reference-transaction';
|
||||
import { SummaryRuntimeSlot, summaryRuntimeLoader } from './summary-runtime-loader';
|
||||
import { displayVersion } from './card-version';
|
||||
|
||||
const CARD_VERSION = '1.76.0';
|
||||
const CARD_VERSION = '1.77.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__';
|
||||
|
||||
@@ -389,7 +389,7 @@ import {
|
||||
rewriteMarkerRoomReferences, type MarkerRoomReferenceSnapshot,
|
||||
} from './room-reference-transaction';
|
||||
|
||||
const CARD_VERSION = '1.76.0';
|
||||
const CARD_VERSION = '1.77.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