From e1df50ad3b053b91a6272c956e6cbeb4d4eb0e2c Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 2 Jun 2020 22:25:11 +0200 Subject: [PATCH] Fix refresh when starting with generated on cast (#6072) --- cast/src/receiver/layout/hc-main.ts | 17 +++++++++++------ src/panels/lovelace/cards/hui-starting-card.ts | 10 ++-------- src/panels/lovelace/ha-panel-lovelace.ts | 9 +-------- src/translations/en.json | 3 +-- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/cast/src/receiver/layout/hc-main.ts b/cast/src/receiver/layout/hc-main.ts index 1b0504b759..564665846f 100644 --- a/cast/src/receiver/layout/hc-main.ts +++ b/cast/src/receiver/layout/hc-main.ts @@ -82,6 +82,7 @@ export class HcMain extends HassElement { .hass=${this.hass} .lovelaceConfig=${this._lovelaceConfig} .viewPath=${this._lovelacePath} + @config-refresh=${this._generateLovelaceConfig} > `; } @@ -193,12 +194,7 @@ export class HcMain extends HassElement { } catch (err) { // Generate a Lovelace config. this._unsubLovelace = () => undefined; - const { generateLovelaceConfigFromHass } = await import( - "../../../../src/panels/lovelace/common/generate-lovelace-config" - ); - this._handleNewLovelaceConfig( - await generateLovelaceConfigFromHass(this.hass!) - ); + await this._generateLovelaceConfig(); } } if (!resourcesLoaded) { @@ -218,6 +214,15 @@ export class HcMain extends HassElement { this._sendStatus(); } + private async _generateLovelaceConfig() { + const { generateLovelaceConfigFromHass } = await import( + "../../../../src/panels/lovelace/common/generate-lovelace-config" + ); + this._handleNewLovelaceConfig( + await generateLovelaceConfigFromHass(this.hass!) + ); + } + private _handleNewLovelaceConfig(lovelaceConfig: LovelaceConfig) { castContext.setApplicationState(lovelaceConfig.title!); this._lovelaceConfig = lovelaceConfig; diff --git a/src/panels/lovelace/cards/hui-starting-card.ts b/src/panels/lovelace/cards/hui-starting-card.ts index fc554d74e4..7b8c4218fe 100644 --- a/src/panels/lovelace/cards/hui-starting-card.ts +++ b/src/panels/lovelace/cards/hui-starting-card.ts @@ -15,7 +15,7 @@ import { LovelaceCard } from "../types"; import { LovelaceCardConfig } from "../../../data/lovelace"; import "@polymer/paper-spinner/paper-spinner-lite"; import { fireEvent } from "../../../common/dom/fire_event"; -import { STATE_STARTING, STATE_RUNNING } from "home-assistant-js-websocket"; +import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; @customElement("hui-starting-card") export class HuiStartingCard extends LitElement implements LovelaceCard { @@ -35,13 +35,7 @@ export class HuiStartingCard extends LitElement implements LovelaceCard { return; } - const oldHass = changedProperties.get("hass") as HomeAssistant | undefined; - - if ( - (!oldHass?.config || oldHass.config.state !== this.hass!.config.state) && - (this.hass!.config.state === STATE_STARTING || - this.hass!.config.state === STATE_RUNNING) - ) { + if (this.hass!.config.state !== STATE_NOT_RUNNING) { fireEvent(this, "config-refresh"); } } diff --git a/src/panels/lovelace/ha-panel-lovelace.ts b/src/panels/lovelace/ha-panel-lovelace.ts index 7cac078da7..0e802519ce 100644 --- a/src/panels/lovelace/ha-panel-lovelace.ts +++ b/src/panels/lovelace/ha-panel-lovelace.ts @@ -26,7 +26,6 @@ import { loadLovelaceResources } from "./common/load-resources"; import { showSaveDialog } from "./editor/show-save-config-dialog"; import "./hui-root"; import { Lovelace } from "./types"; -import { STATE_NOT_RUNNING } from "home-assistant-js-websocket"; (window as any).loadCardHelpers = () => import("./custom-card-helpers"); @@ -170,13 +169,7 @@ class LovelacePanel extends LitElement { } // reload lovelace on reconnect so we are sure we have the latest config window.addEventListener("connection-status", (ev) => { - if ( - ev.detail === "connected" && - !( - this.lovelace?.mode === "generated" && - this.hass!.config.state === STATE_NOT_RUNNING - ) - ) { + if (ev.detail === "connected") { this._fetchConfig(false); } }); diff --git a/src/translations/en.json b/src/translations/en.json index 3f4b6c5594..2bb5d2bade 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1683,8 +1683,7 @@ "description": "Home Assistant ran into trouble while loading your configuration and is now running in safe mode. Take a look at the error log to see what went wrong." }, "starting": { - "header": "Home Assistant is starting...", - "description": "Home Assistant is starting up, please wait." + "description": "Home Assistant is starting, please wait..." } }, "unused_entities": {