Allow override entity_id in more-info action (#22147)

This commit is contained in:
karwosts 2024-10-09 05:14:03 -07:00 committed by GitHub
parent 67a93013c7
commit 23a33b10a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 6 deletions

View File

@ -28,6 +28,7 @@ export interface UrlActionConfig extends BaseActionConfig {
export interface MoreInfoActionConfig extends BaseActionConfig { export interface MoreInfoActionConfig extends BaseActionConfig {
action: "more-info"; action: "more-info";
entity_id?: string;
} }
export interface AssistActionConfig extends BaseActionConfig { export interface AssistActionConfig extends BaseActionConfig {

View File

@ -94,12 +94,13 @@ export const handleAction = async (
switch (actionConfig.action) { switch (actionConfig.action) {
case "more-info": { case "more-info": {
if (config.entity || config.camera_image || config.image_entity) { const entityId =
fireEvent(node, "hass-more-info", { actionConfig.entity_id ||
entityId: (config.entity || config.entity ||
config.camera_image || config.camera_image ||
config.image_entity)!, config.image_entity;
}); if (entityId) {
fireEvent(node, "hass-more-info", { entityId });
} else { } else {
showToast(node, { showToast(node, {
message: hass.localize( message: hass.localize(

View File

@ -61,6 +61,11 @@ const actionConfigStructAssist = type({
start_listening: optional(boolean()), start_listening: optional(boolean()),
}); });
const actionConfigStructMoreInfo = type({
action: literal("more-info"),
entity_id: optional(string()),
});
export const actionConfigStructType = object({ export const actionConfigStructType = object({
action: enums([ action: enums([
"none", "none",
@ -93,6 +98,9 @@ export const actionConfigStruct = dynamic<any>((value) => {
case "assist": { case "assist": {
return actionConfigStructAssist; return actionConfigStructAssist;
} }
case "more-info": {
return actionConfigStructMoreInfo;
}
} }
} }