mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-19 07:16:39 +00:00
Merge branch 'rc'
This commit is contained in:
commit
191feed920
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "home-assistant-frontend"
|
name = "home-assistant-frontend"
|
||||||
version = "20241127.2"
|
version = "20241127.3"
|
||||||
license = {text = "Apache-2.0"}
|
license = {text = "Apache-2.0"}
|
||||||
description = "The Home Assistant frontend"
|
description = "The Home Assistant frontend"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
@ -345,7 +345,7 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) {
|
|||||||
"ui.components.target-picker.expand"
|
"ui.components.target-picker.expand"
|
||||||
)}
|
)}
|
||||||
.path=${mdiUnfoldMoreVertical}
|
.path=${mdiUnfoldMoreVertical}
|
||||||
hideTooltip
|
hideTitle
|
||||||
.id=${id}
|
.id=${id}
|
||||||
.type=${type}
|
.type=${type}
|
||||||
@click=${this._handleExpand}
|
@click=${this._handleExpand}
|
||||||
@ -361,7 +361,7 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) {
|
|||||||
class="mdc-chip__icon mdc-chip__icon--trailing"
|
class="mdc-chip__icon mdc-chip__icon--trailing"
|
||||||
.label=${this.hass.localize("ui.components.target-picker.remove")}
|
.label=${this.hass.localize("ui.components.target-picker.remove")}
|
||||||
.path=${mdiClose}
|
.path=${mdiClose}
|
||||||
hideTooltip
|
hideTitle
|
||||||
.id=${id}
|
.id=${id}
|
||||||
.type=${type}
|
.type=${type}
|
||||||
@click=${this._handleRemove}
|
@click=${this._handleRemove}
|
||||||
|
@ -24,6 +24,7 @@ import type { HomeAssistant } from "../../types";
|
|||||||
import { documentationUrl } from "../../util/documentation-url";
|
import { documentationUrl } from "../../util/documentation-url";
|
||||||
import { AssistantSetupStyles } from "./styles";
|
import { AssistantSetupStyles } from "./styles";
|
||||||
import { STEP } from "./voice-assistant-setup-dialog";
|
import { STEP } from "./voice-assistant-setup-dialog";
|
||||||
|
import { nextRender } from "../../common/util/render-status";
|
||||||
|
|
||||||
@customElement("ha-voice-assistant-setup-step-local")
|
@customElement("ha-voice-assistant-setup-step-local")
|
||||||
export class HaVoiceAssistantSetupStepLocal extends LitElement {
|
export class HaVoiceAssistantSetupStepLocal extends LitElement {
|
||||||
@ -138,6 +139,7 @@ export class HaVoiceAssistantSetupStepLocal extends LitElement {
|
|||||||
}
|
}
|
||||||
if (this._localTts.length && this._localStt.length) {
|
if (this._localTts.length && this._localStt.length) {
|
||||||
this._pickOrCreatePipelineExists();
|
this._pickOrCreatePipelineExists();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (!isComponentLoaded(this.hass, "hassio")) {
|
if (!isComponentLoaded(this.hass, "hassio")) {
|
||||||
this._state = "NOT_SUPPORTED";
|
this._state = "NOT_SUPPORTED";
|
||||||
@ -148,38 +150,30 @@ export class HaVoiceAssistantSetupStepLocal extends LitElement {
|
|||||||
const { addons } = await fetchHassioAddonsInfo(this.hass);
|
const { addons } = await fetchHassioAddonsInfo(this.hass);
|
||||||
const whisper = addons.find((addon) => addon.slug === "core_whisper");
|
const whisper = addons.find((addon) => addon.slug === "core_whisper");
|
||||||
const piper = addons.find((addon) => addon.slug === "core_piper");
|
const piper = addons.find((addon) => addon.slug === "core_piper");
|
||||||
if (piper && !this._localTts.length) {
|
if (!this._localTts.length) {
|
||||||
if (piper.state !== "started") {
|
if (!piper) {
|
||||||
|
this._detailState = "Installing Piper add-on";
|
||||||
|
await installHassioAddon(this.hass, "core_piper");
|
||||||
|
}
|
||||||
|
if (!piper || piper.state !== "started") {
|
||||||
this._detailState = "Starting Piper add-on";
|
this._detailState = "Starting Piper add-on";
|
||||||
await startHassioAddon(this.hass, "core_piper");
|
await startHassioAddon(this.hass, "core_piper");
|
||||||
}
|
}
|
||||||
this._detailState = "Setting up Piper";
|
this._detailState = "Setting up Piper";
|
||||||
await this._setupConfigEntry("piper");
|
await this._setupConfigEntry("piper");
|
||||||
}
|
}
|
||||||
if (whisper && !this._localStt.length) {
|
if (!this._localStt.length) {
|
||||||
if (whisper.state !== "started") {
|
if (!whisper) {
|
||||||
|
this._detailState = "Installing Whisper add-on";
|
||||||
|
await installHassioAddon(this.hass, "core_whisper");
|
||||||
|
}
|
||||||
|
if (!whisper || whisper.state !== "started") {
|
||||||
this._detailState = "Starting Whisper add-on";
|
this._detailState = "Starting Whisper add-on";
|
||||||
await startHassioAddon(this.hass, "core_whisper");
|
await startHassioAddon(this.hass, "core_whisper");
|
||||||
}
|
}
|
||||||
this._detailState = "Setting up Whisper";
|
this._detailState = "Setting up Whisper";
|
||||||
await this._setupConfigEntry("whisper");
|
await this._setupConfigEntry("whisper");
|
||||||
}
|
}
|
||||||
if (!piper) {
|
|
||||||
this._detailState = "Installing Piper add-on";
|
|
||||||
await installHassioAddon(this.hass, "core_piper");
|
|
||||||
this._detailState = "Starting Piper add-on";
|
|
||||||
await startHassioAddon(this.hass, "core_piper");
|
|
||||||
this._detailState = "Setting up Piper";
|
|
||||||
await this._setupConfigEntry("piper");
|
|
||||||
}
|
|
||||||
if (!whisper) {
|
|
||||||
this._detailState = "Installing Whisper add-on";
|
|
||||||
await installHassioAddon(this.hass, "core_whisper");
|
|
||||||
this._detailState = "Starting Whisper add-on";
|
|
||||||
await startHassioAddon(this.hass, "core_whisper");
|
|
||||||
this._detailState = "Setting up Whisper";
|
|
||||||
await this._setupConfigEntry("whisper");
|
|
||||||
}
|
|
||||||
this._detailState = "Creating assistant";
|
this._detailState = "Creating assistant";
|
||||||
await this._findEntitiesAndCreatePipeline();
|
await this._findEntitiesAndCreatePipeline();
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
@ -259,6 +253,9 @@ export class HaVoiceAssistantSetupStepLocal extends LitElement {
|
|||||||
this._localTts[0].entity_id,
|
this._localTts[0].entity_id,
|
||||||
this._localStt[0].entity_id
|
this._localStt[0].entity_id
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// wait a render so the `hui-select-entity-row` is also updated and doesn't undo the select action
|
||||||
|
await nextRender();
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.hass.callService(
|
await this.hass.callService(
|
||||||
@ -340,6 +337,9 @@ export class HaVoiceAssistantSetupStepLocal extends LitElement {
|
|||||||
this._localStt[0].entity_id
|
this._localStt[0].entity_id
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// wait a render so the `hui-select-entity-row` is also updated and doesn't undo the select action
|
||||||
|
await nextRender();
|
||||||
|
|
||||||
await this.hass.callService(
|
await this.hass.callService(
|
||||||
"select",
|
"select",
|
||||||
"select_option",
|
"select_option",
|
||||||
|
@ -17,6 +17,7 @@ import type { HomeAssistant } from "../../types";
|
|||||||
import { AssistantSetupStyles } from "./styles";
|
import { AssistantSetupStyles } from "./styles";
|
||||||
import { STEP } from "./voice-assistant-setup-dialog";
|
import { STEP } from "./voice-assistant-setup-dialog";
|
||||||
import { documentationUrl } from "../../util/documentation-url";
|
import { documentationUrl } from "../../util/documentation-url";
|
||||||
|
import { nextRender } from "../../common/util/render-status";
|
||||||
|
|
||||||
@customElement("ha-voice-assistant-setup-step-pipeline")
|
@customElement("ha-voice-assistant-setup-step-pipeline")
|
||||||
export class HaVoiceAssistantSetupStepPipeline extends LitElement {
|
export class HaVoiceAssistantSetupStepPipeline extends LitElement {
|
||||||
@ -240,6 +241,9 @@ export class HaVoiceAssistantSetupStepPipeline extends LitElement {
|
|||||||
wake_word_entity: null,
|
wake_word_entity: null,
|
||||||
wake_word_id: null,
|
wake_word_id: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// wait a render so the `hui-select-entity-row` is also updated and doesn't undo the select action
|
||||||
|
await nextRender();
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.hass.callService(
|
await this.hass.callService(
|
||||||
|
@ -3896,14 +3896,14 @@
|
|||||||
"devices": {
|
"devices": {
|
||||||
"header": "Devices",
|
"header": "Devices",
|
||||||
"introduction": "Add the devices that you want to be included in your scene. Set all entities in each device to the state you want for this scene.",
|
"introduction": "Add the devices that you want to be included in your scene. Set all entities in each device to the state you want for this scene.",
|
||||||
"introduction_review": "To add the devices that you want to be included in your scene turn on the Live Preview mode.",
|
"introduction_review": "To add the devices that you want to be included in your scene switch to the Live Edit mode.",
|
||||||
"add": "Add a device",
|
"add": "Add a device",
|
||||||
"delete": "Delete device"
|
"delete": "Delete device"
|
||||||
},
|
},
|
||||||
"entities": {
|
"entities": {
|
||||||
"header": "Entities",
|
"header": "Entities",
|
||||||
"introduction": "Individual entities can be added here.",
|
"introduction": "Individual entities can be added here.",
|
||||||
"introduction_review": "To add individual entities to your scene turn on the Live Preview mode.",
|
"introduction_review": "To add individual entities to your scene switch to the Live Edit mode.",
|
||||||
"without_device": "Entities",
|
"without_device": "Entities",
|
||||||
"add": "Add an entity",
|
"add": "Add an entity",
|
||||||
"delete": "Delete entity"
|
"delete": "Delete entity"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user