From 32ba8f47319b83212621d4fd09fbe6985fa997b5 Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Thu, 25 Feb 2021 14:17:31 +0100 Subject: [PATCH] Make clear that automation run button skips conditions + remove word "execute" from UI (#8259) * Do not skip conditions when triggering an automation * Remove usage of word "execute" * More concise function names --- src/data/automation.ts | 6 +++++- src/data/script.ts | 2 +- .../more-info/controls/more-info-automation.ts | 8 ++++---- .../automation/blueprint-automation-editor.ts | 8 ++++---- .../config/automation/ha-automation-editor.ts | 8 ++++---- .../config/automation/ha-automation-picker.ts | 13 ++++++++----- .../config/automation/manual-automation-editor.ts | 8 ++++---- src/panels/config/script/ha-script-editor.ts | 10 ++++++---- .../lovelace/entity-rows/hui-script-entity-row.ts | 10 +++++----- src/state-summary/state-card-script.ts | 10 +++++----- src/translations/en.json | 13 ++++++------- 11 files changed, 52 insertions(+), 44 deletions(-) diff --git a/src/data/automation.ts b/src/data/automation.ts index 058ea73223..f8ebcc2a05 100644 --- a/src/data/automation.ts +++ b/src/data/automation.ts @@ -205,9 +205,13 @@ export type Condition = | DeviceCondition | LogicalCondition; -export const triggerAutomation = (hass: HomeAssistant, entityId: string) => { +export const triggerAutomationActions = ( + hass: HomeAssistant, + entityId: string +) => { hass.callService("automation", "trigger", { entity_id: entityId, + skip_condition: true, }); }; diff --git a/src/data/script.ts b/src/data/script.ts index c4b518e820..10f32a549e 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -117,7 +117,7 @@ export const triggerScript = ( variables?: Record ) => hass.callService("script", computeObjectId(entityId), variables); -export const canExcecute = (state: ScriptEntity) => { +export const canRun = (state: ScriptEntity) => { if (state.state === "off") { return true; } diff --git a/src/dialogs/more-info/controls/more-info-automation.ts b/src/dialogs/more-info/controls/more-info-automation.ts index 283ccc6084..d71eb25b10 100644 --- a/src/dialogs/more-info/controls/more-info-automation.ts +++ b/src/dialogs/more-info/controls/more-info-automation.ts @@ -10,7 +10,7 @@ import { TemplateResult, } from "lit-element"; import "../../../components/ha-relative-time"; -import { triggerAutomation } from "../../../data/automation"; +import { triggerAutomationActions } from "../../../data/automation"; import { UNAVAILABLE_STATES } from "../../../data/entity"; import { HomeAssistant } from "../../../types"; @@ -36,7 +36,7 @@ class MoreInfoAutomation extends LitElement {
${this.hass.localize("ui.card.automation.trigger")} @@ -45,8 +45,8 @@ class MoreInfoAutomation extends LitElement { `; } - private handleAction() { - triggerAutomation(this.hass, this.stateObj!.entity_id); + private _runActions() { + triggerAutomationActions(this.hass, this.stateObj!.entity_id); } static get styles(): CSSResult { diff --git a/src/panels/config/automation/blueprint-automation-editor.ts b/src/panels/config/automation/blueprint-automation-editor.ts index 37221fe56a..28f4832d86 100644 --- a/src/panels/config/automation/blueprint-automation-editor.ts +++ b/src/panels/config/automation/blueprint-automation-editor.ts @@ -21,7 +21,7 @@ import "../../../components/ha-selector/ha-selector"; import "../../../components/ha-settings-row"; import { BlueprintAutomationConfig, - triggerAutomation, + triggerAutomationActions, } from "../../../data/automation"; import { BlueprintOrError, @@ -105,7 +105,7 @@ export class HaBlueprintAutomationEditor extends LitElement { )}
${this.hass.localize("ui.card.automation.trigger")} @@ -197,8 +197,8 @@ export class HaBlueprintAutomationEditor extends LitElement { this._blueprints = await fetchBlueprints(this.hass, "automation"); } - private _excuteAutomation(ev: Event) { - triggerAutomation(this.hass, (ev.target as any).stateObj.entity_id); + private _runActions(ev: Event) { + triggerAutomationActions(this.hass, (ev.target as any).stateObj.entity_id); } private _blueprintChanged(ev) { diff --git a/src/panels/config/automation/ha-automation-editor.ts b/src/panels/config/automation/ha-automation-editor.ts index 9349c17610..dca916a6d0 100644 --- a/src/panels/config/automation/ha-automation-editor.ts +++ b/src/panels/config/automation/ha-automation-editor.ts @@ -38,7 +38,7 @@ import { deleteAutomation, getAutomationEditorInitData, showAutomationEditor, - triggerAutomation, + triggerAutomationActions, } from "../../../data/automation"; import { showAlertDialog, @@ -256,7 +256,7 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { )} ${this.hass.localize( @@ -381,8 +381,8 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) { this._errors = undefined; } - private _excuteAutomation(ev: Event) { - triggerAutomation(this.hass, (ev.target as any).stateObj.entity_id); + private _runActions(ev: Event) { + triggerAutomationActions(this.hass, (ev.target as any).stateObj.entity_id); } private _preprocessYaml() { diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index d6ef6d9667..87f5896443 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -20,7 +20,10 @@ import { DataTableColumnContainer } from "../../../components/data-table/ha-data import "../../../components/entity/ha-entity-toggle"; import "../../../components/ha-fab"; import "../../../components/ha-svg-icon"; -import { AutomationEntity, triggerAutomation } from "../../../data/automation"; +import { + AutomationEntity, + triggerAutomationActions, +} from "../../../data/automation"; import { UNAVAILABLE_STATES } from "../../../data/entity"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import "../../../layouts/hass-tabs-subpage-data-table"; @@ -88,12 +91,12 @@ class HaAutomationPicker extends LitElement { }, }; if (!narrow) { - columns.execute = { + columns.trigger = { title: "", template: (_info, automation: any) => html` this._execute(ev)} + @click=${(ev) => this._runActions(ev)} .disabled=${UNAVAILABLE_STATES.includes(automation.state)} > ${this.hass.localize("ui.card.automation.trigger")} @@ -210,9 +213,9 @@ class HaAutomationPicker extends LitElement { }); } - private _execute(ev) { + private _runActions(ev) { const entityId = ev.currentTarget.automation.entity_id; - triggerAutomation(this.hass, entityId); + triggerAutomationActions(this.hass, entityId); } private _createNew() { diff --git a/src/panels/config/automation/manual-automation-editor.ts b/src/panels/config/automation/manual-automation-editor.ts index 19071ae06c..9081ef415c 100644 --- a/src/panels/config/automation/manual-automation-editor.ts +++ b/src/panels/config/automation/manual-automation-editor.ts @@ -18,7 +18,7 @@ import { Condition, ManualAutomationConfig, Trigger, - triggerAutomation, + triggerAutomationActions, } from "../../../data/automation"; import { Action, MODES, MODES_MAX } from "../../../data/script"; import { haStyle } from "../../../resources/styles"; @@ -140,7 +140,7 @@ export class HaManualAutomationEditor extends LitElement { )} ${this.hass.localize("ui.card.automation.trigger")} @@ -240,8 +240,8 @@ export class HaManualAutomationEditor extends LitElement { `; } - private _excuteAutomation(ev: Event) { - triggerAutomation(this.hass, (ev.target as any).stateObj.entity_id); + private _runActions(ev: Event) { + triggerAutomationActions(this.hass, (ev.target as any).stateObj.entity_id); } private _valueChanged(ev: CustomEvent) { diff --git a/src/panels/config/script/ha-script-editor.ts b/src/panels/config/script/ha-script-editor.ts index 167e96d57e..16c90ebc1e 100644 --- a/src/panels/config/script/ha-script-editor.ts +++ b/src/panels/config/script/ha-script-editor.ts @@ -299,12 +299,12 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) { ${this.hass.localize( - "ui.card.script.execute" + "ui.panel.config.script.picker.run_script" )} @@ -375,11 +375,13 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) { - ${this.hass.localize("ui.card.script.execute")} + ${this.hass.localize( + "ui.panel.config.script.picker.run_script" + )} ` diff --git a/src/panels/lovelace/entity-rows/hui-script-entity-row.ts b/src/panels/lovelace/entity-rows/hui-script-entity-row.ts index ede34bc208..3be834a4b0 100644 --- a/src/panels/lovelace/entity-rows/hui-script-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-script-entity-row.ts @@ -11,7 +11,7 @@ import { TemplateResult, } from "lit-element"; import { UNAVAILABLE_STATES } from "../../../data/entity"; -import { canExcecute, ScriptEntity } from "../../../data/script"; +import { canRun, ScriptEntity } from "../../../data/script"; import { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import "../components/hui-generic-entity-row"; @@ -66,12 +66,12 @@ class HuiScriptEntityRow extends LitElement implements LovelaceRow { : ""} ${stateObj.state === "off" || stateObj.attributes.max ? html` ${this._config.action_name || - this.hass!.localize("ui.card.script.execute")} + this.hass!.localize("ui.card.script.run")} ` : ""} @@ -91,7 +91,7 @@ class HuiScriptEntityRow extends LitElement implements LovelaceRow { this._callService("turn_off"); } - private _executeScript(ev): void { + private _runScript(ev): void { ev.stopPropagation(); this._callService("turn_on"); } diff --git a/src/state-summary/state-card-script.ts b/src/state-summary/state-card-script.ts index 3bb84d9933..afd839c569 100644 --- a/src/state-summary/state-card-script.ts +++ b/src/state-summary/state-card-script.ts @@ -10,7 +10,7 @@ import { import "../components/entity/ha-entity-toggle"; import "../components/entity/state-info"; import { UNAVAILABLE_STATES } from "../data/entity"; -import { canExcecute, ScriptEntity } from "../data/script"; +import { canRun, ScriptEntity } from "../data/script"; import { haStyle } from "../resources/styles"; import { HomeAssistant } from "../types"; @@ -45,11 +45,11 @@ export class StateCardScript extends LitElement { : ""} ${stateObj.state === "off" || stateObj.attributes.max ? html` - ${this.hass!.localize("ui.card.script.execute")} + ${this.hass!.localize("ui.card.script.run")} ` : ""} @@ -61,7 +61,7 @@ export class StateCardScript extends LitElement { this._callService("turn_off"); } - private _executeScript(ev: Event) { + private _runScript(ev: Event) { ev.stopPropagation(); this._callService("turn_on"); } diff --git a/src/translations/en.json b/src/translations/en.json index a6f7348bf0..74ffdd9260 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -120,7 +120,7 @@ }, "automation": { "last_triggered": "Last triggered", - "trigger": "Execute" + "trigger": "Run Actions" }, "camera": { "not_available": "Image not available" @@ -199,7 +199,7 @@ "activate": "Activate" }, "script": { - "execute": "Execute", + "run": "[%key:ui::card::service::run%]", "cancel": "Cancel", "cancel_multiple": "Cancel {number}" }, @@ -1337,7 +1337,7 @@ "conditions": { "name": "Condition", "header": "Conditions", - "introduction": "Conditions are optional and will prevent further execution unless all conditions are satisfied.", + "introduction": "Conditions are optional and will prevent the automation from running unless all conditions are satisfied.", "learn_more": "Learn more about conditions", "add": "Add condition", "duplicate": "[%key:ui::panel::config::automation::editor::triggers::duplicate%]", @@ -1553,7 +1553,6 @@ "no_scripts": "We couldn’t find any editable scripts", "add_script": "Add script", "show_info": "Show info about script", - "trigger_script": "Trigger script", "run_script": "Run script", "edit_script": "Edit script", "headers": { @@ -1568,7 +1567,7 @@ "id": "Entity ID", "id_already_exists_save_error": "You can't save this script because the ID is not unique, pick another ID or leave it blank to automatically generate one.", "id_already_exists": "This ID already exists", - "introduction": "Use scripts to execute a sequence of actions.", + "introduction": "Use scripts to run a sequence of actions.", "header": "Script: {name}", "default_name": "New Script", "modes": { @@ -2559,12 +2558,12 @@ "cards": { "confirm_delete": "Are you sure you want to delete this card?", "actions": { - "action_confirmation": "Are you sure you want to execute action \"{action}\"?", + "action_confirmation": "Are you sure you want to run action \"{action}\"?", "no_entity_more_info": "No entity provided for more info dialog", "no_entity_toggle": "No entity provided to toggle", "no_navigation_path": "No navigation path specified", "no_url": "No URL to open specified", - "no_service": "No service for execution specified" + "no_service": "No service to run specified" }, "empty_state": { "title": "Welcome Home",