diff --git a/src/panels/config/script/ha-script-editor.ts b/src/panels/config/script/ha-script-editor.ts index b3195e0cf7..9e4ce3cc07 100644 --- a/src/panels/config/script/ha-script-editor.ts +++ b/src/panels/config/script/ha-script-editor.ts @@ -18,12 +18,14 @@ import { navigate } from "../../../common/navigate"; import { computeRTL } from "../../../common/util/compute_rtl"; import "../../../components/ha-card"; import "../../../components/ha-icon-input"; +import { showToast } from "../../../util/toast"; import "@material/mwc-fab"; import { Action, deleteScript, getScriptEditorInitData, ScriptConfig, + triggerScript, MODES, MODES_MAX, } from "../../../data/script"; @@ -193,6 +195,22 @@ export class HaScriptEditor extends LitElement { ` : html``} + ${this.scriptEntityId + ? html` +
+ + + ${this.hass.localize("ui.card.script.execute")} + +
+ ` + : ``} @@ -301,6 +319,18 @@ export class HaScriptEditor extends LitElement { } } + private async _runScript(ev) { + ev.stopPropagation(); + await triggerScript(this.hass, this.scriptEntityId); + showToast(this, { + message: this.hass.localize( + "ui.notification_toast.triggered", + "name", + this._config!.alias + ), + }); + } + private _modeChanged(ev: CustomEvent) { const mode = ((ev.target as PaperListboxElement)?.selectedItem as any) ?.mode;