From ed12b19a383044020e1e1d9eafcab3a6a3a75afd Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 27 Apr 2023 12:22:33 +0200 Subject: [PATCH] Fix Home Assistant 2023.4 Lovelace issues Change fetch of Lovelace Panel: this has been changed in 2023.4 --- flex-horseshoe-card.js | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/flex-horseshoe-card.js b/flex-horseshoe-card.js index e4fdf90..46c39e8 100644 --- a/flex-horseshoe-card.js +++ b/flex-horseshoe-card.js @@ -1813,6 +1813,19 @@ import { return (Math.min(Math.max(val, start), end) - start) / (end - start); } + _getLovelacePanel() { + var root = document.querySelector('home-assistant'); + root = root && root.shadowRoot; + root = root && root.querySelector('home-assistant-main'); + root = root && root.shadowRoot; + root = root && root.querySelector('app-drawer-layout partial-panel-resolver, ha-drawer partial-panel-resolver'); + root = (root && root.shadowRoot) || root; + root = root && root.querySelector('ha-panel-lovelace'); + if (root) { + return root; + } + return null; + } /******************************************************************************* * _getColorVariable() * @@ -1826,11 +1839,12 @@ import { const newColor = inColor.substr(4, inColor.length-5); if (!this.lovelace) { - const root = document.querySelector('home-assistant'); - const main = root.shadowRoot.querySelector('home-assistant-main'); - const drawer_layout = main.shadowRoot.querySelector('app-drawer-layout'); - const pages = drawer_layout.querySelector('partial-panel-resolver'); - this.lovelace = pages.querySelector('ha-panel-lovelace'); + this.lovelace = this._getLovelacePanel(); + // const root = document.querySelector('home-assistant'); + // const main = root.shadowRoot.querySelector('home-assistant-main'); + // const drawer_layout = main.shadowRoot.querySelector('app-drawer-layout'); + // const pages = drawer_layout.querySelector('partial-panel-resolver'); + // this.lovelace = pages.querySelector('ha-panel-lovelace'); } else { } const returnColor = window.getComputedStyle(this.lovelace).getPropertyValue(newColor); @@ -1939,4 +1953,4 @@ import { } customElements.define('flex-horseshoe-card', FlexHorseshoeCard); - + \ No newline at end of file