mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
build: prepare v1.73.0-beta.1 candidate
Issue: #160 Issue: #464 User-Visible: yes Release: v1.73.0-beta.1
This commit is contained in:
@@ -51,7 +51,7 @@ SCHEDULED_GRACE_S = 30 * 24 * 3600
|
||||
FILES_DIR = "houseplan/files"
|
||||
ASSETS_DIR = "houseplan/assets"
|
||||
CONF_ADMIN_ONLY = "admin_only"
|
||||
VERSION = "1.72.0"
|
||||
VERSION = "1.73.0-beta.1"
|
||||
DECOR_ASSETS_API_VERSION = 1
|
||||
|
||||
# #43: the support transport is deliberately not configurable. A user supplied
|
||||
|
||||
@@ -1,199 +1,199 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d",
|
||||
"fingerprint": "f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2",
|
||||
"entry": "houseplan-card.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 299495,
|
||||
"initialViewGzipBytes": 299501,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/de-9rJdVNqo.js",
|
||||
"houseplan-assets/editor-B9JBe9YT.js",
|
||||
"houseplan-assets/fr-B1YMVVHy.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJvwogZl.js",
|
||||
"houseplan-assets/iso-scene-render-BacpVxOg.js",
|
||||
"houseplan-assets/live-interaction-runtime-CLqXDVvg.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/de-CFmFuWzq.js",
|
||||
"houseplan-assets/editor-D3B9FzoG.js",
|
||||
"houseplan-assets/fr-DL7YEG9b.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CsCY64EP.js",
|
||||
"houseplan-assets/iso-scene-render-BJIdcXVS.js",
|
||||
"houseplan-assets/live-interaction-runtime-DMHKsxrG.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js"
|
||||
],
|
||||
"lazyGzipBytes": 263411,
|
||||
"lazyGzipBytes": 263425,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/editor-B9JBe9YT.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/editor-D3B9FzoG.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 186628,
|
||||
"lazyEditorGzipBytes": 186635,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 14321,
|
||||
"lazyOnboardingGzipBytes": 14326,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-9rJdVNqo.js",
|
||||
"houseplan-assets/fr-B1YMVVHy.js"
|
||||
"houseplan-assets/de-CFmFuWzq.js",
|
||||
"houseplan-assets/fr-DL7YEG9b.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 50152,
|
||||
"lazyLocaleGzipBytes": 50157,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/iso-scene-render-BacpVxOg.js"
|
||||
"houseplan-assets/iso-scene-render-BJIdcXVS.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 12043,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"sha256": "85e78b3b7e19b6fbc9cd7f5f9eeabf60c143e8d84361ce4ae51dcf39eed34ca1",
|
||||
"path": "houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"sha256": "0a8698a964c832d2c3bb0511bd8ba8b6c61815d3446efe137827d27341b4f22a",
|
||||
"rawBytes": 21592,
|
||||
"gzipBytes": 7356,
|
||||
"gzipBytes": 7359,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-9rJdVNqo.js",
|
||||
"sha256": "bc7a8a69292c1cbf12d063ac1c92569660679446dad3b08d783a42a3ecf0fea2",
|
||||
"path": "houseplan-assets/de-CFmFuWzq.js",
|
||||
"sha256": "13e330d5f6bf8eb869b16b908ad22e86a2b43950b74b8a27713dadc8926857c2",
|
||||
"rawBytes": 84232,
|
||||
"gzipBytes": 25353,
|
||||
"gzipBytes": 25356,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-B9JBe9YT.js",
|
||||
"sha256": "dc1d6039050ae2135e3608e118a19065a827024e26a3f32363afa5db40f7e7ed",
|
||||
"path": "houseplan-assets/editor-D3B9FzoG.js",
|
||||
"sha256": "46b0c5cbb84829f75d00f69765f82399cc8b5e6c54bba54a27ce4bb9210467cf",
|
||||
"rawBytes": 3831,
|
||||
"gzipBytes": 1584,
|
||||
"gzipBytes": 1586,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-B1YMVVHy.js",
|
||||
"sha256": "af1be2253d149fb4888961067211a6f77ff5d05f44bdb9dfd75f1b710962a1d8",
|
||||
"path": "houseplan-assets/fr-DL7YEG9b.js",
|
||||
"sha256": "93194b66ec63e5923a0da05b8d93f7ca5cbee2f896cbaa291d3225b15bb3dd13",
|
||||
"rawBytes": 86273,
|
||||
"gzipBytes": 24799,
|
||||
"gzipBytes": 24801,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"sha256": "2d088763554fb5194378ef7a615b1b4022a6e9eaf7c7adb6a8e2c0b32b6073a5",
|
||||
"rawBytes": 1072052,
|
||||
"gzipBytes": 298700,
|
||||
"path": "houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"sha256": "9d84d3866d723ee7edad4c49f4f83f4c6a35331c5b4b942470d3745752ee0a9c",
|
||||
"rawBytes": 1072059,
|
||||
"gzipBytes": 298704,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-9rJdVNqo.js",
|
||||
"houseplan-assets/editor-B9JBe9YT.js",
|
||||
"houseplan-assets/fr-B1YMVVHy.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJvwogZl.js",
|
||||
"houseplan-assets/iso-scene-render-BacpVxOg.js",
|
||||
"houseplan-assets/live-interaction-runtime-CLqXDVvg.js"
|
||||
"houseplan-assets/de-CFmFuWzq.js",
|
||||
"houseplan-assets/editor-D3B9FzoG.js",
|
||||
"houseplan-assets/fr-DL7YEG9b.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CsCY64EP.js",
|
||||
"houseplan-assets/iso-scene-render-BJIdcXVS.js",
|
||||
"houseplan-assets/live-interaction-runtime-DMHKsxrG.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"sha256": "969d84a3adeb14e3f1b5ca1c1cd9dd6c0e173dba9a20577c2585eab65ac520d3",
|
||||
"rawBytes": 639580,
|
||||
"gzipBytes": 170264,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"sha256": "6b4ac9f766aa97c463707544e20e18b9e5a8513fdfb481dbd38e881afa4b23c8",
|
||||
"rawBytes": 639587,
|
||||
"gzipBytes": 170265,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js",
|
||||
"sha256": "f6da0d6184406def22e1e7e2e0aad25e60499f04a326deafc835d109c79b4c92",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js",
|
||||
"sha256": "908d4ad5f067a7dfcb299e810c790063bce1e8b32e9b40c509e829510a330478",
|
||||
"rawBytes": 28071,
|
||||
"gzipBytes": 6965,
|
||||
"gzipBytes": 6967,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-BJvwogZl.js",
|
||||
"sha256": "5ea4c8d30c1b21395080ae3cd12311a2daad0c4cd263ed00da805ab67da3a3c9",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-CsCY64EP.js",
|
||||
"sha256": "f2393f6191fe920e57df088e39332e9aafc7367b63cb49e08f9054ec94a4be1c",
|
||||
"rawBytes": 11034,
|
||||
"gzipBytes": 3734,
|
||||
"gzipBytes": 3732,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-BacpVxOg.js",
|
||||
"sha256": "6a86291c3c1399b13c0e9693bbe47be0f4f50113a8ec3f234fe25efa2cfe98b1",
|
||||
"path": "houseplan-assets/iso-scene-render-BJIdcXVS.js",
|
||||
"sha256": "10d7c04fb74c4a70252bc2a218459a18beb1fc4e6c1316da9a08a66bc80bd05f",
|
||||
"rawBytes": 35885,
|
||||
"gzipBytes": 12043,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-CLqXDVvg.js",
|
||||
"sha256": "bd74a816bde6b4327ba1a2fb3da462b3d113028540d656c1caa7f8738a4d40ab",
|
||||
"path": "houseplan-assets/live-interaction-runtime-DMHKsxrG.js",
|
||||
"sha256": "63d582dfee60251af1f1afb393328fdc86a44379d0fe7536c5f7e71a26c3c5c0",
|
||||
"rawBytes": 5196,
|
||||
"gzipBytes": 2126,
|
||||
"gzipBytes": 2127,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-BPCx22ZF.js",
|
||||
"sha256": "32a5fef33e2255f51bdd928a999245a548a4c7a9d180bf700559235a8f2779fd",
|
||||
"path": "houseplan-assets/zigbee-topology-hm8kNj1e.js",
|
||||
"sha256": "7f91d6086813f4ad1a8644943080b53a4474bb698b81328a2ee8bf288558cd62",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7424,
|
||||
"gzipBytes": 7425,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js",
|
||||
"sha256": "59e3eee3dcfea4b2e02bf54391ea9617777c9a52df6602951b7f25dbe3da9abb",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js",
|
||||
"sha256": "fb63090585f8d45e8a0c0fddc10d4f37682126fe2b54717bb4c73d0314a4888b",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1763,
|
||||
"gzipBytes": 1764,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "8331dfd72f55bc93e145b767aa88fff0f99ef6a046d8bd48ee184b082550361f",
|
||||
"sha256": "75189cf8f3426b9235fcf3c844e53293670633f06eca9fb852ec61463b75e240",
|
||||
"rawBytes": 1183,
|
||||
"gzipBytes": 795,
|
||||
"gzipBytes": 797,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
+7
-7
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";import{v as e,l as o,z as t,dK as s,A as a,dL as i,dM as l,dN as n,E as r,c}from"./houseplan-card-h7CLgil-.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__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";import{v as e,l as o,z as t,dK as s,A as a,dL as i,dM as l,dN as n,E as r,c}from"./houseplan-card-D6Qc0AL6.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+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
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";import{l as t,b0 as s,A as e,z as o,c as a,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as _,cp as d,cq as u,cr as g,dj as m,aY as b,a_ as $,dk as v}from"./houseplan-card-h7CLgil-.js";import{i as f,c as y,e as w,r as D,a as k,b as S,g as C,t as M}from"./backdrop-pick-BdNxo7sy.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";import{l as t,b0 as s,A as e,z as o,c as a,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as _,cp as d,cq as u,cr as g,dj as m,aY as b,a_ as $,dk as v}from"./houseplan-card-D6Qc0AL6.js";import{i as f,c as y,e as w,r as D,a as k,b as S,g as C,t as M}from"./backdrop-pick-BdfZNhPk.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
.text=${o(h,l)} .ariaLabel=${o(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const o=l(e),a=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===o.fill?{...a||h,a:0}:a;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:o.showBorders,showNames:o.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:o.hideDecor,hideOpenings:o.hideOpenings,roomColor:o.color,roomOpacity:o.opacity,fillMode:"none"===o.fill?"custom":o.fill,customFill:p,glowEnabled:o.glow,bgColor:o.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:o.tempMin,tempMax:o.tempMax,showLqi:o.showLqi??this.host._config?.show_signal??!0,cardFontScale:o.cardFontScale,labelTemp:o.labelTemp,labelHum:o.labelHum,labelLqi:o.labelLqi,labelLight:o.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...f(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:d,tempMax:_,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const o=await y(e);if("reject"===o.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===o.kind)return void(this.host._backdropGuard=o.state);const a=await w(e,o.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:a})}_renderBackdropGuard(){return D(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),o=this.host._spaceDialog;return o&&o.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...o,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const o=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),a=this.host._spaceDialog,l=a?.saved?.find(s=>s.name===t);if(o&&a&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==a.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return a`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return a`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return a`<div class="savedplans">
|
||||
${s.map(s=>{return a`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
+7
-7
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
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";import{n as t,b as n}from"./zigbee-topology-BPCx22ZF.js";import{I as e}from"./houseplan-card-h7CLgil-.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function 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(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=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 p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),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{f as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";import{n as t,b as n}from"./zigbee-topology-hm8kNj1e.js";import{I as e}from"./houseplan-card-D6Qc0AL6.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function 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(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=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 p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),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{f as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";try{await import("./houseplan-assets/houseplan-card-h7CLgil-.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 entry: the main chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";try{await import("./houseplan-assets/houseplan-card-D6Qc0AL6.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 entry: the main chunk is unavailable",e)}
|
||||
|
||||
@@ -19,5 +19,5 @@
|
||||
"issue_tracker": "https://github.com/Matysh/houseplan-card/issues",
|
||||
"requirements": [],
|
||||
"single_config_entry": true,
|
||||
"version": "1.72.0"
|
||||
"version": "1.73.0-beta.1"
|
||||
}
|
||||
|
||||
Vendored
+91
-91
@@ -1,199 +1,199 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"fingerprint": "ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d",
|
||||
"fingerprint": "f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2",
|
||||
"entry": "houseplan-card.js",
|
||||
"initialViewFiles": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-card.js"
|
||||
],
|
||||
"initialViewGzipBytes": 299495,
|
||||
"initialViewGzipBytes": 299501,
|
||||
"lazyFiles": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/de-9rJdVNqo.js",
|
||||
"houseplan-assets/editor-B9JBe9YT.js",
|
||||
"houseplan-assets/fr-B1YMVVHy.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJvwogZl.js",
|
||||
"houseplan-assets/iso-scene-render-BacpVxOg.js",
|
||||
"houseplan-assets/live-interaction-runtime-CLqXDVvg.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/de-CFmFuWzq.js",
|
||||
"houseplan-assets/editor-D3B9FzoG.js",
|
||||
"houseplan-assets/fr-DL7YEG9b.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CsCY64EP.js",
|
||||
"houseplan-assets/iso-scene-render-BJIdcXVS.js",
|
||||
"houseplan-assets/live-interaction-runtime-DMHKsxrG.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js"
|
||||
],
|
||||
"lazyGzipBytes": 263411,
|
||||
"lazyGzipBytes": 263425,
|
||||
"lazyEditorFiles": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/editor-B9JBe9YT.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/editor-D3B9FzoG.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js"
|
||||
],
|
||||
"lazyEditorGzipBytes": 186628,
|
||||
"lazyEditorGzipBytes": 186635,
|
||||
"lazyOnboardingFiles": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js"
|
||||
],
|
||||
"lazyOnboardingGzipBytes": 14321,
|
||||
"lazyOnboardingGzipBytes": 14326,
|
||||
"lazyLocaleFiles": [
|
||||
"houseplan-assets/de-9rJdVNqo.js",
|
||||
"houseplan-assets/fr-B1YMVVHy.js"
|
||||
"houseplan-assets/de-CFmFuWzq.js",
|
||||
"houseplan-assets/fr-DL7YEG9b.js"
|
||||
],
|
||||
"lazyLocaleGzipBytes": 50152,
|
||||
"lazyLocaleGzipBytes": 50157,
|
||||
"lazyIsometricFiles": [
|
||||
"houseplan-assets/iso-scene-render-BacpVxOg.js"
|
||||
"houseplan-assets/iso-scene-render-BJIdcXVS.js"
|
||||
],
|
||||
"lazyIsometricGzipBytes": 12043,
|
||||
"files": [
|
||||
{
|
||||
"path": "houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"sha256": "85e78b3b7e19b6fbc9cd7f5f9eeabf60c143e8d84361ce4ae51dcf39eed34ca1",
|
||||
"path": "houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"sha256": "0a8698a964c832d2c3bb0511bd8ba8b6c61815d3446efe137827d27341b4f22a",
|
||||
"rawBytes": 21592,
|
||||
"gzipBytes": 7356,
|
||||
"gzipBytes": 7359,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/de-9rJdVNqo.js",
|
||||
"sha256": "bc7a8a69292c1cbf12d063ac1c92569660679446dad3b08d783a42a3ecf0fea2",
|
||||
"path": "houseplan-assets/de-CFmFuWzq.js",
|
||||
"sha256": "13e330d5f6bf8eb869b16b908ad22e86a2b43950b74b8a27713dadc8926857c2",
|
||||
"rawBytes": 84232,
|
||||
"gzipBytes": 25353,
|
||||
"gzipBytes": 25356,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/editor-B9JBe9YT.js",
|
||||
"sha256": "dc1d6039050ae2135e3608e118a19065a827024e26a3f32363afa5db40f7e7ed",
|
||||
"path": "houseplan-assets/editor-D3B9FzoG.js",
|
||||
"sha256": "46b0c5cbb84829f75d00f69765f82399cc8b5e6c54bba54a27ce4bb9210467cf",
|
||||
"rawBytes": 3831,
|
||||
"gzipBytes": 1584,
|
||||
"gzipBytes": 1586,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/fr-B1YMVVHy.js",
|
||||
"sha256": "af1be2253d149fb4888961067211a6f77ff5d05f44bdb9dfd75f1b710962a1d8",
|
||||
"path": "houseplan-assets/fr-DL7YEG9b.js",
|
||||
"sha256": "93194b66ec63e5923a0da05b8d93f7ca5cbee2f896cbaa291d3225b15bb3dd13",
|
||||
"rawBytes": 86273,
|
||||
"gzipBytes": 24799,
|
||||
"gzipBytes": 24801,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"sha256": "2d088763554fb5194378ef7a615b1b4022a6e9eaf7c7adb6a8e2c0b32b6073a5",
|
||||
"rawBytes": 1072052,
|
||||
"gzipBytes": 298700,
|
||||
"path": "houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"sha256": "9d84d3866d723ee7edad4c49f4f83f4c6a35331c5b4b942470d3745752ee0a9c",
|
||||
"rawBytes": 1072059,
|
||||
"gzipBytes": 298704,
|
||||
"isEntry": false,
|
||||
"imports": [],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/de-9rJdVNqo.js",
|
||||
"houseplan-assets/editor-B9JBe9YT.js",
|
||||
"houseplan-assets/fr-B1YMVVHy.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-BJvwogZl.js",
|
||||
"houseplan-assets/iso-scene-render-BacpVxOg.js",
|
||||
"houseplan-assets/live-interaction-runtime-CLqXDVvg.js"
|
||||
"houseplan-assets/de-CFmFuWzq.js",
|
||||
"houseplan-assets/editor-D3B9FzoG.js",
|
||||
"houseplan-assets/fr-DL7YEG9b.js",
|
||||
"houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js",
|
||||
"houseplan-assets/hp-zigbee-topology-overlay-CsCY64EP.js",
|
||||
"houseplan-assets/iso-scene-render-BJIdcXVS.js",
|
||||
"houseplan-assets/live-interaction-runtime-DMHKsxrG.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-BQxfLmCJ.js",
|
||||
"sha256": "969d84a3adeb14e3f1b5ca1c1cd9dd6c0e173dba9a20577c2585eab65ac520d3",
|
||||
"rawBytes": 639580,
|
||||
"gzipBytes": 170264,
|
||||
"path": "houseplan-assets/houseplan-editor-runtime-B1Pz5Qxl.js",
|
||||
"sha256": "6b4ac9f766aa97c463707544e20e18b9e5a8513fdfb481dbd38e881afa4b23c8",
|
||||
"rawBytes": 639587,
|
||||
"gzipBytes": 170265,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js"
|
||||
],
|
||||
"dynamicImports": [
|
||||
"houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js"
|
||||
"houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-BkPkAgsT.js",
|
||||
"sha256": "f6da0d6184406def22e1e7e2e0aad25e60499f04a326deafc835d109c79b4c92",
|
||||
"path": "houseplan-assets/houseplan-onboarding-runtime-w3Taqb-I.js",
|
||||
"sha256": "908d4ad5f067a7dfcb299e810c790063bce1e8b32e9b40c509e829510a330478",
|
||||
"rawBytes": 28071,
|
||||
"gzipBytes": 6965,
|
||||
"gzipBytes": 6967,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/backdrop-pick-BdNxo7sy.js",
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/backdrop-pick-BdfZNhPk.js",
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-BJvwogZl.js",
|
||||
"sha256": "5ea4c8d30c1b21395080ae3cd12311a2daad0c4cd263ed00da805ab67da3a3c9",
|
||||
"path": "houseplan-assets/hp-zigbee-topology-overlay-CsCY64EP.js",
|
||||
"sha256": "f2393f6191fe920e57df088e39332e9aafc7367b63cb49e08f9054ec94a4be1c",
|
||||
"rawBytes": 11034,
|
||||
"gzipBytes": 3734,
|
||||
"gzipBytes": 3732,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js",
|
||||
"houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/iso-scene-render-BacpVxOg.js",
|
||||
"sha256": "6a86291c3c1399b13c0e9693bbe47be0f4f50113a8ec3f234fe25efa2cfe98b1",
|
||||
"path": "houseplan-assets/iso-scene-render-BJIdcXVS.js",
|
||||
"sha256": "10d7c04fb74c4a70252bc2a218459a18beb1fc4e6c1316da9a08a66bc80bd05f",
|
||||
"rawBytes": 35885,
|
||||
"gzipBytes": 12043,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/live-interaction-runtime-CLqXDVvg.js",
|
||||
"sha256": "bd74a816bde6b4327ba1a2fb3da462b3d113028540d656c1caa7f8738a4d40ab",
|
||||
"path": "houseplan-assets/live-interaction-runtime-DMHKsxrG.js",
|
||||
"sha256": "63d582dfee60251af1f1afb393328fdc86a44379d0fe7536c5f7e71a26c3c5c0",
|
||||
"rawBytes": 5196,
|
||||
"gzipBytes": 2126,
|
||||
"gzipBytes": 2127,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-BPCx22ZF.js",
|
||||
"sha256": "32a5fef33e2255f51bdd928a999245a548a4c7a9d180bf700559235a8f2779fd",
|
||||
"path": "houseplan-assets/zigbee-topology-hm8kNj1e.js",
|
||||
"sha256": "7f91d6086813f4ad1a8644943080b53a4474bb698b81328a2ee8bf288558cd62",
|
||||
"rawBytes": 18961,
|
||||
"gzipBytes": 7424,
|
||||
"gzipBytes": 7425,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-PXmJ-UR0.js",
|
||||
"sha256": "59e3eee3dcfea4b2e02bf54391ea9617777c9a52df6602951b7f25dbe3da9abb",
|
||||
"path": "houseplan-assets/zigbee-topology-runtime-C-ybyrNs.js",
|
||||
"sha256": "fb63090585f8d45e8a0c0fddc10d4f37682126fe2b54717bb4c73d0314a4888b",
|
||||
"rawBytes": 3941,
|
||||
"gzipBytes": 1763,
|
||||
"gzipBytes": 1764,
|
||||
"isEntry": false,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js",
|
||||
"houseplan-assets/zigbee-topology-BPCx22ZF.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js",
|
||||
"houseplan-assets/zigbee-topology-hm8kNj1e.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
},
|
||||
{
|
||||
"path": "houseplan-card.js",
|
||||
"sha256": "8331dfd72f55bc93e145b767aa88fff0f99ef6a046d8bd48ee184b082550361f",
|
||||
"sha256": "75189cf8f3426b9235fcf3c844e53293670633f06eca9fb852ec61463b75e240",
|
||||
"rawBytes": 1183,
|
||||
"gzipBytes": 795,
|
||||
"gzipBytes": 797,
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"houseplan-assets/houseplan-card-h7CLgil-.js"
|
||||
"houseplan-assets/houseplan-card-D6Qc0AL6.js"
|
||||
],
|
||||
"dynamicImports": []
|
||||
}
|
||||
|
||||
Vendored
+7
-7
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";import{v as e,l as o,z as t,dK as s,A as a,dL as i,dM as l,dN as n,E as r,c}from"./houseplan-card-h7CLgil-.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__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";import{v as e,l as o,z as t,dK as s,A as a,dL as i,dM as l,dN as n,E as r,c}from"./houseplan-card-D6Qc0AL6.js";class h extends e{constructor(){super(...arguments),this._spaces=null,this._spacesLoading=!1,this._spacesAuthoritative=!1}setConfig(e){this._config=e}async _loadSpaces(){if(!this._spaces&&!this._spacesLoading&&this.hass){this._spacesLoading=!0;try{const e=await this.hass.callWS({type:"houseplan/config/get"});this._spaces=(e?.config?.spaces||[]).map(e=>({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`<ha-form
|
||||
.hass=${this.hass}
|
||||
.data=${this._formData}
|
||||
.schema=${e}
|
||||
+1
-1
File diff suppressed because one or more lines are too long
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
+1
-1
@@ -1,4 +1,4 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";import{l as t,b0 as s,A as e,z as o,c as a,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as _,cp as d,cq as u,cr as g,dj as m,aY as b,a_ as $,dk as v}from"./houseplan-card-h7CLgil-.js";import{i as f,c as y,e as w,r as D,a as k,b as S,g as C,t as M}from"./backdrop-pick-BdNxo7sy.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";import{l as t,b0 as s,A as e,z as o,c as a,cj as l,ck as i,cl as h,cm as c,aZ as n,cn as r,cs as p,co as _,cp as d,cq as u,cr as g,dj as m,aY as b,a_ as $,dk as v}from"./houseplan-card-D6Qc0AL6.js";import{i as f,c as y,e as w,r as D,a as k,b as S,g as C,t as M}from"./backdrop-pick-BdfZNhPk.js";const F=1e3,x=t=>{if(!t.trim())return null;const s=Number(t.replace(",","."));return Number.isFinite(s)?s:null},T="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";class L{constructor(t){this.host=t,this._toggleServerPlans=async()=>{const t=this.host._spaceDialog;if(t)if(t.pickSaved)this.host._spaceDialog={...t,pickSaved:!1};else{this.host._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.host.hass.callWS({type:"houseplan/plans/list"}),s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:t?.plans||[],savedBusy:!1})}catch(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,saved:[],savedBusy:!1}),this.host._showToast(this.host._t("toast.plans_list_failed",{err:this.host._errText(t)}))}}}}_help(l){const i=`${l}.aria`,h=t(this.host.hass,this.host._config?.language);return s(h,l)&&s(h,i)?a`<hp-help data-help-key=${l}
|
||||
.text=${o(h,l)} .ariaLabel=${o(h,i)}></hp-help>`:e}_openSpaceDialog(t,s){if(!this.host._serverStorage||!this.host._serverCfg)return void this.host._showToast(this.host._t("toast.integration_missing"));if("edit"===t){const e=this.host._serverCfg.spaces.find(t=>t.id===s);if(!e)return;const o=l(e),a=e.settings?.custom_fill&&"object"==typeof e.settings.custom_fill?i(e.settings.custom_fill):null,p="none"===o.fill?{...a||h,a:0}:a;return void(this.host._spaceDialog={mode:t,spaceId:s,title:e.title,planUrl:e.plan_url||null,planFile:null,source:e.plan_url?"file":"draw",showBorders:o.showBorders,showNames:o.showNames,zeroWallStyle:r(e),displayTouched:!0,hideDecor:o.hideDecor,hideOpenings:o.hideOpenings,roomColor:o.color,roomOpacity:o.opacity,fillMode:"none"===o.fill?"custom":o.fill,customFill:p,glowEnabled:o.glow,bgColor:o.bgColor,bgMode:"static"===e.settings?.bg_mode||"daynight"===e.settings?.bg_mode?e.settings.bg_mode:null,northDeg:n({},e.settings),sunRays:"boolean"==typeof e.settings?.sun_rays?e.settings.sun_rays:null,tempMin:o.tempMin,tempMax:o.tempMax,showLqi:o.showLqi??this.host._config?.show_signal??!0,cardFontScale:o.cardFontScale,labelTemp:o.labelTemp,labelHum:o.labelHum,labelLqi:o.labelLqi,labelLight:o.labelLight,cellCm:Number(e.cell_cm)>0?Number(e.cell_cm):5,cellCmInput:c(Number(e.cell_cm)>0?Number(e.cell_cm):5,this.host._imperial),cellCmTouched:!1,busy:!1})}const e=p(this.host._imperial);this.host._spaceDialog={mode:t,title:"",planUrl:null,planFile:null,...f(),hideDecor:!1,hideOpenings:!1,zeroWallStyle:"dashed",roomColor:g,roomOpacity:u,fillMode:"custom",customFill:{...h,a:0},glowEnabled:!0,bgColor:null,bgMode:"daynight",northDeg:null,sunRays:null,tempMin:d,tempMax:_,showLqi:this.host._config?.show_signal??!0,cardFontScale:1,labelTemp:!1,labelHum:!1,labelLqi:!1,labelLight:!1,cellCm:e,cellCmInput:c(e,this.host._imperial),cellCmTouched:!1,busy:!1}}async _pickPlanFile(t){const s=t.target,e=s.files?.[0];if(!e||!this.host._spaceDialog)return;s.value="";const o=await y(e);if("reject"===o.kind)return void this.host._showToast(this.host._t("toast.plan_formats"));if("guard"===o.kind)return void(this.host._backdropGuard=o.state);const a=await w(e,o.ext,e.name);this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:a})}_renderBackdropGuard(){return D(this.host,t=>{this.host._spaceDialog&&(this.host._spaceDialog={...this.host._spaceDialog,planFile:t})},()=>{this.host._backdropGuard=null},this.host.hass)??e}_useServerPlan(t){const s=this.host._spaceDialog;s&&(this.host._spaceDialog={...s,planUrl:t,planFile:null,pickSaved:!1,savedAspect:void 0},this.host._aspectJob=this._readPlanAspect(t))}async _readPlanAspect(t){for(let s=0;s<40;s++){const s=this.host._display(t);if(s){const e=await new Promise(t=>{const e=new Image;e.onload=()=>t(e.naturalWidth&&e.naturalHeight?e.naturalWidth/e.naturalHeight:0),e.onerror=()=>t(0),e.src=s}),o=this.host._spaceDialog;return o&&o.planUrl===t&&Number.isFinite(e)&&e>0?(this.host._spaceDialog={...o,savedAspect:e},e):0}if(await new Promise(t=>setTimeout(t,150)),this.host._spaceDialog?.planUrl!==t)return 0}return 0}async _deleteServerPlan(t){const s=this.host._spaceDialog,e=s?.saved?.find(s=>s.name===t);if(!s||!e||e.used_by.length||e.url===s.planUrl)return;const o=await this.host._confirmDanger({key:"delete-plan",kind:"destructive",title:this.host._t("confirm.delete_plan_title"),message:this.host._t("confirm.delete_plan_body"),objectName:t,confirmLabel:this.host._t("btn.delete"),cancelLabel:this.host._t("btn.cancel")}),a=this.host._spaceDialog,l=a?.saved?.find(s=>s.name===t);if(o&&a&&l&&l.url===e.url&&l.modified===e.modified&&!l.used_by.length&&l.url!==a.planUrl)try{await this.host.hass.callWS({type:"houseplan/plans/delete",name:t});const s=this.host._spaceDialog;s?.saved&&(this.host._spaceDialog={...s,saved:s.saved.filter(s=>s.name!==t)})}catch(t){this.host._showToast(this.host._t("toast.plan_delete_failed",{err:this.host._errText(t)}))}}_renderServerPlans(t){if(t.savedBusy)return a`<div class="savedplans muted">${this.host._t("space.loading")}</div>`;const s=t.saved||[];if(!s.length)return a`<div class="savedplans muted">${this.host._t("space.no_saved")}</div>`;return a`<div class="savedplans">
|
||||
${s.map(s=>{return a`
|
||||
<div class="savedplan ${s.url===t.planUrl?"cur":""}">
|
||||
+7
-7
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
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";import{n as t,b as n}from"./zigbee-topology-BPCx22ZF.js";import{I as e}from"./houseplan-card-h7CLgil-.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function 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(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=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 p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),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{f as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";import{n as t,b as n}from"./zigbee-topology-hm8kNj1e.js";import{I as e}from"./houseplan-card-D6Qc0AL6.js";const o=new WeakMap;function i(t){const n=function(t){const n=t?.connection||t;return!n||"object"!=typeof n&&"function"!=typeof n?null:n}(t);if(!n)return null;let e=o.get(n);return e||(e={revision:0,topologies:[],states:{},listeners:new Set,inflight:new Map},o.set(n,e)),e}function r(t,n,e){t.states={...t.states,[n]:e},function(t){t.revision++;for(const n of t.listeners)n()}(t)}function s(t){const n=t?.code;if("permission"===n||"unsupported"===n||"timeout"===n||"invalid_topic"===n||"invalid_payload"===n)return n;const e=String(t?.message||"").toLowerCase();return e.includes("unauthor")||e.includes("permission")?"permission":e.includes("unknown_command")||e.includes("not found")?"unsupported":"provider"}function a(t){return Object.assign(new Error(t),{code:t})}function c(t,n,e){const o=t.inflight.get(n);if(o)return o;r(t,n,{phase:"loading"});const i=e().then(n=>{if(!n.nodes.length&&n.warnings.some(t=>"invalid_payload"===t.code))throw a("invalid_payload");!function(t,n){t.topologies=[...t.topologies.filter(t=>!(t.provider===n.provider&&t.instanceId===n.instanceId)),n],r(t,"zha"===n.provider?"zha":`z2m:${n.instanceId}`,{phase:"ready",obtainedAt:n.obtainedAt,partial:n.warnings.length>0})}(t,n)}).catch(e=>{r(t,n,{phase:"error",error:s(e)})}).finally(()=>t.inflight.delete(n));return t.inflight.set(n,i),i}function l(t){const n=i(t);return n?{revision:n.revision,topologies:n.topologies,states:n.states}:{revision:0,topologies:[],states:{}}}function u(t,n){const e=i(t);return e?(e.listeners.add(n),()=>e.listeners.delete(n)):()=>{}}function p(t){if(!0!==t?.user?.is_admin)throw a("permission")}function f(n){const e=i(n);return e?c(e,"zha",async()=>{if(p(n),"function"!=typeof n?.callWS)throw a("unsupported");return t(await n.callWS({type:"zha/devices"}))}):Promise.resolve()}function d(t){return null!==t&&"object"==typeof t?t:null}function h(t){const n=d(t),e=n?.payload??t;if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}}async function 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(p(t),!l)throw a("invalid_topic");const e=t.connection,o=e?.subscribeMessage;if("function"!=typeof o||"function"!=typeof t?.callService)throw a("unsupported");const i=function(){const t=globalThis.crypto;return"function"==typeof t?.randomUUID?`houseplan-${t.randomUUID()}`:`houseplan-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}(),s=Date.now()+Math.max(1,r);let c=!1,u=null,f=null,g=null;const y=new Promise(t=>{u=t}),w=new Promise((t,n)=>{f=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 p=await o.call(e,t=>{if(!0===d(t)?.retain)return;const n=h(t);null!==n?n&&function(t){const n=d(t),e=n?.transaction??d(n?.data)?.transaction;return"string"==typeof e||"number"==typeof e?String(e):null}(n)===i&&f?.(n):c&&g?.(a("invalid_payload"))},{type:"mqtt/subscribe",topic:`${l}/bridge/response/networkmap`});"function"==typeof p&&b.push(p),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{f as readZhaTopology,g as refreshZ2mTopology,u as subscribeZigbeeTopology,l as zigbeeTopologyRuntimeSnapshot};
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="ee07f194e535fbbe6bcab60998a32b7bd32025914663740939ae9f7942b5cd0d";try{await import("./houseplan-assets/houseplan-card-h7CLgil-.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 entry: the main chunk is unavailable",e)}
|
||||
globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="f5cac791d009713cb86ce941810e43fba4976300e3e5f0310074b65d585e42f2";try{await import("./houseplan-assets/houseplan-card-D6Qc0AL6.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 entry: the main chunk is unavailable",e)}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## v1.73.0-beta.1 — 2026-09-06
|
||||
|
||||
- Active Zigbee topology links and route bubbles now stay readable above room
|
||||
names and unrelated device markers, while the complete linked device markers
|
||||
— including the one under the pointer — remain on top. Unknown-quality dashed
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
## v1.73.0-beta.1 — 2026-09-06
|
||||
|
||||
- Активные линии и подписи Zigbee-топологии теперь читаются поверх названий
|
||||
комнат и посторонних маркеров, а полные маркеры связанных устройств остаются
|
||||
сверху, включая маркер прямо под курсором. У серого пунктира неизвестного
|
||||
|
||||
+11
-39
@@ -1,48 +1,20 @@
|
||||
<!-- release: v1.72.0 -->
|
||||
<!-- release: v1.73.0-beta.1 -->
|
||||
|
||||
## Основное
|
||||
|
||||
- В плане появилась контекстная диагностика связей ZHA и Zigbee2MQTT:
|
||||
прямые соседи, качество связи и путь к координатору показываются только
|
||||
по запросу и не захламляют план
|
||||
([#54](https://github.com/Matysh/houseplan-card/issues/54),
|
||||
[#450](https://github.com/Matysh/houseplan-card/issues/450),
|
||||
[#457](https://github.com/Matysh/houseplan-card/issues/457),
|
||||
[#459](https://github.com/Matysh/houseplan-card/issues/459)).
|
||||
- Клик или тап по комнате теперь вписывает её в экран, двойное нажатие по фону
|
||||
вписывает весь план, а настройки пространства умеют создать копию без комнат
|
||||
([#152](https://github.com/Matysh/houseplan-card/issues/152),
|
||||
[#449](https://github.com/Matysh/houseplan-card/issues/449),
|
||||
[#456](https://github.com/Matysh/houseplan-card/issues/456)).
|
||||
- Большие планы и цепочки стен работают заметно плавнее, а House Plan теперь сам
|
||||
диагностирует проблемы обновления и надёжно восстанавливает карточку и диалоги
|
||||
после переподключения
|
||||
([#451](https://github.com/Matysh/houseplan-card/issues/451),
|
||||
[#461](https://github.com/Matysh/houseplan-card/issues/461),
|
||||
[#462](https://github.com/Matysh/houseplan-card/issues/462),
|
||||
[#463](https://github.com/Matysh/houseplan-card/issues/463)).
|
||||
- Активная Zigbee-топология теперь остаётся читаемой поверх названий комнат и
|
||||
посторонних маркеров, не перекрывая маркеры связанных устройств; пунктирные
|
||||
связи с неизвестным качеством получили контрастную обводку
|
||||
([#464](https://github.com/Matysh/houseplan-card/issues/464)).
|
||||
- Мелкие исправления и улучшения.
|
||||
|
||||
## Highlights
|
||||
|
||||
- Contextual ZHA and Zigbee2MQTT diagnostics now show direct neighbours, link
|
||||
quality and the route towards the coordinator only on demand, without covering
|
||||
the plan ([#54](https://github.com/Matysh/houseplan-card/issues/54),
|
||||
[#450](https://github.com/Matysh/houseplan-card/issues/450),
|
||||
[#457](https://github.com/Matysh/houseplan-card/issues/457),
|
||||
[#459](https://github.com/Matysh/houseplan-card/issues/459)).
|
||||
- Clicking or tapping a room now fits it on screen, double-activating free
|
||||
background fits the complete plan, and space settings can create a room-free
|
||||
copy ([#152](https://github.com/Matysh/houseplan-card/issues/152),
|
||||
[#449](https://github.com/Matysh/houseplan-card/issues/449),
|
||||
[#456](https://github.com/Matysh/houseplan-card/issues/456)).
|
||||
- Large plans and wall chains respond noticeably more smoothly, while House Plan
|
||||
diagnoses update problems and reliably restores the card and its dialogs after
|
||||
reconnects ([#451](https://github.com/Matysh/houseplan-card/issues/451),
|
||||
[#461](https://github.com/Matysh/houseplan-card/issues/461),
|
||||
[#462](https://github.com/Matysh/houseplan-card/issues/462),
|
||||
[#463](https://github.com/Matysh/houseplan-card/issues/463)).
|
||||
- Active Zigbee topology now stays readable above room names and unrelated
|
||||
markers without covering linked-device markers; unknown-quality dashed links
|
||||
gained a contrasting outline
|
||||
([#464](https://github.com/Matysh/houseplan-card/issues/464)).
|
||||
- Small fixes and improvements.
|
||||
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.72.0/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.72.0/docs/CHANGELOG.md)
|
||||
[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.73.0-beta.1/docs/CHANGELOG.ru.md)
|
||||
· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.73.0-beta.1/docs/CHANGELOG.md)
|
||||
|
||||
+3
-3
@@ -21,9 +21,9 @@ metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.72.0** everywhere (manifest, const.py, package.json, CARD_VERSION) |
|
||||
| Current local cycle | v1.72.0 promotes the published beta.1-beta.5 line: contextual Zigbee topology (#54), room and whole-plan focus gestures (#152, #449), room-free space copies (#456), large-plan responsiveness (#451, #461), and update/dialog recovery (#462, #463). The stable tag and `main` may point to this promotion commit only after the complete local gate plus exact-SHA Validate and Full Performance are green. |
|
||||
| Hidden Alpha Stage | #89 Stage 1 ships in v1.63.0-beta.1 and #122 Stage 2 in v1.64.0. #160 Stage 3 is in progress on its issue branch: the same hidden `iso` view gains the fixed 4° camera, raised/tethered device-room-lock overlays, deeper openings 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 3 stays internal and is absent from public changelog/user documentation. |
|
||||
| Version | **v1.73.0-beta.1** everywhere (manifest, const.py, package.json, CARD_VERSION) |
|
||||
| Current local cycle | v1.73.0-beta.1 keeps active Zigbee topology readable above room names and unrelated markers while preserving linked-device markers on top (#464). The same candidate carries hidden isometric Stage 3 (#160) without public enablement or changelog entry. Publish from `dev` only after exact-SHA Validate is green; `main` remains at v1.72.0. |
|
||||
| Hidden Alpha Stage | #89 Stage 1 ships in v1.63.0-beta.1, #122 Stage 2 in v1.64.0 and #160 Stage 3 in v1.73.0-beta.1. The same hidden `iso` view now uses the fixed 4° camera, raised/tethered device-room-lock overlays, deeper openings 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 3 stays internal and is absent from public changelog/user documentation. |
|
||||
| Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/<NN>-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first); every bullet links its GitHub issue (#NN) so the #328 rules stay machine-checkable. A STABLE body aggregates the changelog since the PREVIOUS STABLE release (never since the last beta): features/fixes described across the line's beta changelogs must appear, while bugs that were introduced and fixed strictly inside the beta line (never shipped in any stable) are excluded — draft with `npm run release:notes -- <tag>`, curate by hand, then `npm run release:notes -- <tag> --verify` must pass. `Мелкие исправления и улучшения` / `Small fixes and improvements` is allowed only when the range really contains user-visible work not itemised in the body; a single-issue hotfix ships without it (the verifier enforces this). Every body ends with separate links to the Russian and English changelogs. Open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- <tag> --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand |
|
||||
| GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
|
||||
| CI | Prerelease publication requires a green exact-SHA Validate: frontend/backend, smoke (including the #73 rAF frame sampler), golden, HACS/Hassfest and a short absolute-ceiling performance smoke. Obsolete same-ref Validate runs are cancelled. Full seven-sample base/candidate performance moved to `performance.yml` (`main` push, weekly, manual); stable release assets fail closed unless Validate and Full Performance are green for the exact tagged SHA and the stable-only CDP compositor screencast finds no empty/black presented frame. |
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.72.0",
|
||||
"version": "1.73.0-beta.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "houseplan-card",
|
||||
"version": "1.72.0",
|
||||
"version": "1.73.0-beta.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lit": "^3.1.3",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "houseplan-card",
|
||||
"version": "1.72.0",
|
||||
"version": "1.73.0-beta.1",
|
||||
"description": "Interactive house plan Lovelace card for Home Assistant",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
|
||||
@@ -144,8 +144,14 @@ export const LOW_HEADROOM_WARNING_BYTES = 15_000;
|
||||
* больше не загружает renderer/overlay/opening graph. Измеренный initial факт
|
||||
* 299 495 Б оставляет 505 Б сверху и 1 495 Б до нижней границы полосы;
|
||||
* lazy-isometric graph отдельно измеряется манифестом (12 043 Б gzip).
|
||||
*
|
||||
* 2026-09-06, v1.73.0-beta.1: потолок перецентрирован 300 000 → 300 500
|
||||
* без изменения общего бюджета. Более длинная prerelease-версия подняла
|
||||
* измеренный initial факт до 299 501 Б и оставила лишь 499 Б сверху — меньше
|
||||
* обязательного шумового запаса. Новый центр оставляет 999 Б сверху и
|
||||
* 1 001 Б снизу; продуктовый граф при этом не расширялся.
|
||||
*/
|
||||
export const INITIAL_VIEW_GZIP_CEILING = 300_000;
|
||||
export const INITIAL_VIEW_GZIP_CEILING = 300_500;
|
||||
export const INITIAL_VIEW_CEILING_BAND = 2_000;
|
||||
|
||||
/**
|
||||
|
||||
@@ -402,7 +402,7 @@ import {
|
||||
} from './space-order';
|
||||
import { applyOpeningMoves, mergeCollinearPartitions, spaceMergeGeometry } from './wall-merge';
|
||||
|
||||
const CARD_VERSION = '1.72.0';
|
||||
const CARD_VERSION = '1.73.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__';
|
||||
|
||||
@@ -366,7 +366,7 @@ import {
|
||||
} from './space-order';
|
||||
import { applyOpeningMoves, mergeCollinearPartitions, spaceMergeGeometry } from './wall-merge';
|
||||
|
||||
const CARD_VERSION = '1.72.0';
|
||||
const CARD_VERSION = '1.73.0-beta.1';
|
||||
|
||||
type ResizeLiveLabel = {
|
||||
kind: 'length';
|
||||
|
||||
Reference in New Issue
Block a user