diff --git a/brand/icon.png b/custom_components/houseplan/brand/icon.png similarity index 100% rename from brand/icon.png rename to custom_components/houseplan/brand/icon.png diff --git a/brand/icon@2x.png b/custom_components/houseplan/brand/icon@2x.png similarity index 100% rename from brand/icon@2x.png rename to custom_components/houseplan/brand/icon@2x.png diff --git a/brand/logo.png b/custom_components/houseplan/brand/logo.png similarity index 100% rename from brand/logo.png rename to custom_components/houseplan/brand/logo.png diff --git a/brand/logo@2x.png b/custom_components/houseplan/brand/logo@2x.png similarity index 100% rename from brand/logo@2x.png rename to custom_components/houseplan/brand/logo@2x.png diff --git a/custom_components/houseplan/const.py b/custom_components/houseplan/const.py index 3a64ba3..cc8fb39 100755 --- a/custom_components/houseplan/const.py +++ b/custom_components/houseplan/const.py @@ -10,7 +10,7 @@ PLANS_DIR = "houseplan/plans" # relative to the HA configuration directory FILES_URL = "/houseplan_files/files" FILES_DIR = "houseplan/files" CONF_ADMIN_ONLY = "admin_only" -VERSION = "1.11.0" +VERSION = "1.11.1" DEFAULT_CONFIG: dict = { "spaces": [], diff --git a/custom_components/houseplan/frontend/houseplan-card.js b/custom_components/houseplan/frontend/houseplan-card.js index d7f07c3..6990ffe 100755 --- a/custom_components/houseplan/frontend/houseplan-card.js +++ b/custom_components/houseplan/frontend/houseplan-card.js @@ -1038,4 +1038,4 @@ const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow - `}}Nt.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_markup:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Nt.styles=Pt,customElements.get("houseplan-card")||customElements.define("houseplan-card",Nt),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.11.0 ","background:#3ea6ff;color:#04121f;font-weight:700",""); + `}}Nt.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_markup:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Nt.styles=Pt,customElements.get("houseplan-card")||customElements.define("houseplan-card",Nt),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.11.1 ","background:#3ea6ff;color:#04121f;font-weight:700",""); diff --git a/custom_components/houseplan/manifest.json b/custom_components/houseplan/manifest.json index d0e03ff..a8c0014 100755 --- a/custom_components/houseplan/manifest.json +++ b/custom_components/houseplan/manifest.json @@ -15,5 +15,5 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/Matysh/houseplan-card/issues", "requirements": [], - "version": "1.11.0" + "version": "1.11.1" } \ No newline at end of file diff --git a/dist/houseplan-card.js b/dist/houseplan-card.js index d7f07c3..6990ffe 100755 --- a/dist/houseplan-card.js +++ b/dist/houseplan-card.js @@ -1038,4 +1038,4 @@ const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow - `}}Nt.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_markup:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Nt.styles=Pt,customElements.get("houseplan-card")||customElements.define("houseplan-card",Nt),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.11.0 ","background:#3ea6ff;color:#04121f;font-weight:700",""); + `}}Nt.properties={hass:{attribute:!1},_config:{state:!0},_space:{state:!0},_layout:{state:!0},_devices:{state:!0},_tip:{state:!0},_selId:{state:!0},_toast:{state:!0},_serverCfg:{state:!0},_markup:{state:!0},_tool:{state:!0},_path:{state:!0},_cursorPt:{state:!0},_areaSel:{state:!0},_nameSel:{state:!0},_roomDialog:{state:!0},_spaceDialog:{state:!0},_infoCard:{state:!0},_markerDialog:{state:!0},_zoom:{state:!0},_view:{state:!0}},Nt.styles=Pt,customElements.get("houseplan-card")||customElements.define("houseplan-card",Nt),window.customCards=window.customCards||[],window.customCards.find(t=>"houseplan-card"===t.type)||window.customCards.push({type:"houseplan-card",name:"House Plan Card",description:"Interactive house plan: spaces, rooms and devices with live states and drag layout."}),console.info("%c HOUSEPLAN-CARD %c v1.11.1 ","background:#3ea6ff;color:#04121f;font-weight:700",""); diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 7e6f8bd..3c2ec6f 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## v1.11.1 — 2026-07-05 (brand images shipped inside the integration) +- Brand icon and logo (256/512, transparent background) now live in + `custom_components/houseplan/brand/` — the native mechanism for custom + integrations since Home Assistant 2026.3 (served via `/api/brands/...`, + local images take priority over the brands CDN). The former root `brand/` + directory is gone, and no home-assistant/brands PR is needed (theirs bot + closes such PRs as obsolete). + ## v1.11.0 — 2026-07-05 (full English translation + UI localization) - **UI localization (en/ru)**: every card string moved to `src/i18n.ts` dictionaries. The language follows the HA user profile (`hass.locale`) automatically; a new diff --git a/package.json b/package.json index 21e8c70..9c2a827 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "houseplan-card", - "version": "1.11.0", + "version": "1.11.1", "description": "Interactive house plan Lovelace card for Home Assistant", "license": "MIT", "type": "module", diff --git a/src/houseplan-card.ts b/src/houseplan-card.ts index 1223f11..72c0f2a 100755 --- a/src/houseplan-card.ts +++ b/src/houseplan-card.ts @@ -20,7 +20,7 @@ import './editor'; import { cardStyles } from './styles'; import { langOf, t, type I18nKey } from './i18n'; -const CARD_VERSION = '1.11.0'; +const CARD_VERSION = '1.11.1'; const LS_KEY = 'houseplan_card_layout_v1'; const LS_CFG = 'houseplan_card_cfg_v1'; // cache of the server config+layout for instant rendering const LS_ZOOM = 'houseplan_card_zoom_v1';