diff --git a/src/panels/config/automation/blueprint-automation-editor.ts b/src/panels/config/automation/blueprint-automation-editor.ts index 43b0ccf681..3131a44b26 100644 --- a/src/panels/config/automation/blueprint-automation-editor.ts +++ b/src/panels/config/automation/blueprint-automation-editor.ts @@ -194,7 +194,14 @@ export class HaBlueprintAutomationEditor extends LitElement { } const input = { ...this.config.use_blueprint.input, [key]: value }; - if (value === "" || value === undefined) { + const blueprint = this._blueprint; + const metaValue = + !blueprint || "error" in blueprint + ? undefined + : blueprint?.metadata.input && blueprint?.metadata?.input[key]; + const keyDefault = metaValue && metaValue.default; + + if ((value === "" && !keyDefault) || value === undefined) { delete input[key]; } diff --git a/src/panels/config/script/blueprint-script-editor.ts b/src/panels/config/script/blueprint-script-editor.ts index d6057373af..453a639746 100644 --- a/src/panels/config/script/blueprint-script-editor.ts +++ b/src/panels/config/script/blueprint-script-editor.ts @@ -173,7 +173,14 @@ export class HaBlueprintScriptEditor extends LitElement { } const input = { ...this.config.use_blueprint.input, [key]: value }; - if (value === "" || value === undefined) { + const blueprint = this._blueprint; + const metaValue = + !blueprint || "error" in blueprint + ? undefined + : blueprint?.metadata.input && blueprint?.metadata?.input[key]; + const keyDefault = metaValue && metaValue.default; + + if ((value === "" && !keyDefault) || value === undefined) { delete input[key]; }