From bddbaf057285a99481edd00840edb13dc7a34566 Mon Sep 17 00:00:00 2001 From: basbruss <68892092+basbruss@users.noreply.github.com> Date: Sat, 2 Jul 2022 08:52:35 +0200 Subject: [PATCH 01/15] Fix icon_action --- .../ulm_templates/card_templates/cards/card_battery.yaml | 2 -- .../ulm_templates/card_templates/cards/card_binary_sensor.yaml | 1 - .../card_templates/cards/card_binary_sensor_alert.yaml | 1 - .../lovelace/ulm_templates/card_templates/cards/card_cover.yaml | 2 -- .../ulm_templates/card_templates/cards/card_generic.yaml | 2 -- .../ulm_templates/card_templates/cards/card_generic_swap.yaml | 2 -- .../ulm_templates/card_templates/cards/card_input_boolean.yaml | 1 - .../lovelace/ulm_templates/card_templates/cards/card_light.yaml | 2 -- .../ulm_templates/card_templates/cards/card_media_player.yaml | 2 -- .../ulm_templates/card_templates/cards/card_power_outlet.yaml | 1 - .../ulm_templates/card_templates/cards/card_thermostat.yaml | 2 -- .../ulm_templates/card_templates/cards/card_vacuum.yaml | 2 -- 12 files changed, 20 deletions(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml index b34431fc6..499cfb2fc 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml @@ -20,8 +20,6 @@ card_battery: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml index 5d3fcef41..781db4a35 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml @@ -16,7 +16,6 @@ card_binary_sensor: card: type: "custom:button-card" template: - - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml index b1ff4f492..01020386e 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml @@ -16,7 +16,6 @@ card_binary_sensor_alert: card: type: "custom:button-card" template: - - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml index 1981897ce..a48a2f544 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml @@ -85,8 +85,6 @@ card_cover: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml index 5c66826ae..61a33675e 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml @@ -12,8 +12,6 @@ card_generic: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml index d58aa4c63..58c80b476 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml @@ -12,8 +12,6 @@ card_generic_swap: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml index 5bf07475c..32a9c4522 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml @@ -14,7 +14,6 @@ card_input_boolean: card: type: "custom:button-card" template: - - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml index 188555bcc..a5e0e5c1f 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml @@ -98,8 +98,6 @@ card_light: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml index ba094115a..6fafb3018 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml @@ -90,8 +90,6 @@ card_media_player: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml index 749b6af49..695735cd3 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml @@ -16,7 +16,6 @@ card_power_outlet: card: type: "custom:button-card" template: - - "icon_more_info" - "yellow" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml index 3ba759dda..f4c433f77 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml @@ -143,8 +143,6 @@ card_thermostat: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml index 81ce86c4f..08c92502d 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml @@ -73,8 +73,6 @@ card_vacuum: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: From e1f2b350a5491792c9ac53a42f544609c5dfc6ec Mon Sep 17 00:00:00 2001 From: basbruss <68892092+basbruss@users.noreply.github.com> Date: Sat, 2 Jul 2022 08:54:38 +0200 Subject: [PATCH 02/15] Revert "Fix icon_action" This reverts commit bddbaf057285a99481edd00840edb13dc7a34566. --- .../ulm_templates/card_templates/cards/card_battery.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_binary_sensor.yaml | 1 + .../card_templates/cards/card_binary_sensor_alert.yaml | 1 + .../lovelace/ulm_templates/card_templates/cards/card_cover.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_generic.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_generic_swap.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_input_boolean.yaml | 1 + .../lovelace/ulm_templates/card_templates/cards/card_light.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_media_player.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_power_outlet.yaml | 1 + .../ulm_templates/card_templates/cards/card_thermostat.yaml | 2 ++ .../ulm_templates/card_templates/cards/card_vacuum.yaml | 2 ++ 12 files changed, 20 insertions(+) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml index 499cfb2fc..b34431fc6 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml @@ -20,6 +20,8 @@ card_battery: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml index 781db4a35..5d3fcef41 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml @@ -16,6 +16,7 @@ card_binary_sensor: card: type: "custom:button-card" template: + - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml index 01020386e..b1ff4f492 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml @@ -16,6 +16,7 @@ card_binary_sensor_alert: card: type: "custom:button-card" template: + - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml index a48a2f544..1981897ce 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml @@ -85,6 +85,8 @@ card_cover: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml index 61a33675e..5c66826ae 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml @@ -12,6 +12,8 @@ card_generic: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml index 58c80b476..d58aa4c63 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml @@ -12,6 +12,8 @@ card_generic_swap: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml index 32a9c4522..5bf07475c 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml @@ -14,6 +14,7 @@ card_input_boolean: card: type: "custom:button-card" template: + - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml index a5e0e5c1f..188555bcc 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml @@ -98,6 +98,8 @@ card_light: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml index 6fafb3018..ba094115a 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml @@ -90,6 +90,8 @@ card_media_player: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml index 695735cd3..749b6af49 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml @@ -16,6 +16,7 @@ card_power_outlet: card: type: "custom:button-card" template: + - "icon_more_info" - "yellow" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml index f4c433f77..3ba759dda 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml @@ -143,6 +143,8 @@ card_thermostat: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml index 08c92502d..81ce86c4f 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml @@ -73,6 +73,8 @@ card_vacuum: item1: card: type: "custom:button-card" + template: + - "icon_more_info" custom_fields: item1: card: From 10c5bf1c267e765178576d2fe66523c626a7e765 Mon Sep 17 00:00:00 2001 From: basbruss <68892092+basbruss@users.noreply.github.com> Date: Sat, 2 Jul 2022 08:58:11 +0200 Subject: [PATCH 03/15] Fix Icon tap action --- .../ulm_templates/card_templates/2-line_cards/card_graph.yaml | 2 -- .../ulm_templates/card_templates/cards/card_battery.yaml | 2 -- .../ulm_templates/card_templates/cards/card_binary_sensor.yaml | 1 - .../card_templates/cards/card_binary_sensor_alert.yaml | 1 - .../lovelace/ulm_templates/card_templates/cards/card_cover.yaml | 2 -- .../ulm_templates/card_templates/cards/card_generic.yaml | 2 -- .../ulm_templates/card_templates/cards/card_generic_swap.yaml | 2 -- .../ulm_templates/card_templates/cards/card_input_boolean.yaml | 1 - .../lovelace/ulm_templates/card_templates/cards/card_light.yaml | 2 -- .../ulm_templates/card_templates/cards/card_media_player.yaml | 2 -- .../ulm_templates/card_templates/cards/card_power_outlet.yaml | 1 - .../ulm_templates/card_templates/cards/card_thermostat.yaml | 2 -- .../ulm_templates/card_templates/cards/card_vacuum.yaml | 2 -- 13 files changed, 22 deletions(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/2-line_cards/card_graph.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/2-line_cards/card_graph.yaml index 96fecf981..878bc8244 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/2-line_cards/card_graph.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/2-line_cards/card_graph.yaml @@ -39,8 +39,6 @@ card_graph: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml index b34431fc6..499cfb2fc 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_battery.yaml @@ -20,8 +20,6 @@ card_battery: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml index 5d3fcef41..781db4a35 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor.yaml @@ -16,7 +16,6 @@ card_binary_sensor: card: type: "custom:button-card" template: - - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml index b1ff4f492..01020386e 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_binary_sensor_alert.yaml @@ -16,7 +16,6 @@ card_binary_sensor_alert: card: type: "custom:button-card" template: - - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml index 1981897ce..a48a2f544 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_cover.yaml @@ -85,8 +85,6 @@ card_cover: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml index 5c66826ae..61a33675e 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic.yaml @@ -12,8 +12,6 @@ card_generic: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml index d58aa4c63..58c80b476 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_generic_swap.yaml @@ -12,8 +12,6 @@ card_generic_swap: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml index 5bf07475c..32a9c4522 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_input_boolean.yaml @@ -14,7 +14,6 @@ card_input_boolean: card: type: "custom:button-card" template: - - "icon_more_info" - "blue" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml index 188555bcc..a5e0e5c1f 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_light.yaml @@ -98,8 +98,6 @@ card_light: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml index ba094115a..6fafb3018 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_media_player.yaml @@ -90,8 +90,6 @@ card_media_player: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml index 749b6af49..695735cd3 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_power_outlet.yaml @@ -16,7 +16,6 @@ card_power_outlet: card: type: "custom:button-card" template: - - "icon_more_info" - "yellow" custom_fields: item1: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml index 3ba759dda..f4c433f77 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_thermostat.yaml @@ -143,8 +143,6 @@ card_thermostat: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml index 81ce86c4f..08c92502d 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml @@ -73,8 +73,6 @@ card_vacuum: item1: card: type: "custom:button-card" - template: - - "icon_more_info" custom_fields: item1: card: From 117c2bc8138f47262bbf7407b367d4ba1fe20c38 Mon Sep 17 00:00:00 2001 From: Michel Peterson Date: Sat, 2 Jul 2022 18:19:13 +0300 Subject: [PATCH 04/15] Make inside temp optional in chip_temperature Not all use cases have the need for an inside temperature as well as an outside one. This change makes it that only outside temperature can be provided. --- .../card_templates/chips/chip_temperature.yaml | 10 ++++++++-- docs/usage/chips/chip_temperature.md | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml index 510c97e94..34387bb53 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml @@ -30,6 +30,12 @@ chip_temperature: return temp; } var outside_temp = states[variables.ulm_chip_temperature_outside].state; - var inside_temp = states[variables.ulm_chip_temperature_inside].state; - return (icon[state] || icon["default"]) + " " + convertTemperature(outside_temp) + "° / " + convertTemperature(inside_temp) + "°" ; + var inside_temp = null; + if (variables.ulm_chip_temperature_inside) { + var inside_temp = states[variables.ulm_chip_temperature_inside].state; + } + var label = (icon[state] || icon["default"]) + " " + convertTemperature(outside_temp) + "°"; + if (inside_temp) { + label = label + " / " + convertTemperature(inside_temp) + "°"; + } ]]] diff --git a/docs/usage/chips/chip_temperature.md b/docs/usage/chips/chip_temperature.md index 1630158bc..5a175482f 100644 --- a/docs/usage/chips/chip_temperature.md +++ b/docs/usage/chips/chip_temperature.md @@ -9,14 +9,14 @@ hide: ![example-image](../../assets/img/ulm_chips/chip_temperature.png){ width="500" } -This `chip` is to display a weather icon together with the outside and inside temperature. +This `chip` is to display a weather icon together with the outside and inside temperature, where the latter is optional. ## Variables | Variable | Default | Required | Notes | |----------|---------|------------------|-------------------| | ulm_chip_temperature_outside | | :material-check: | This is the sensor that provides your outside temperature. If you want to use eg. a temperature value from your weather provider, you'd need to setup a template sensor first. The state of this sensor should represent a numeric value (°C or °F doesn't matter). | -|ulm_chip_temperature_inside| | :material-check: | This is the sensor that provides your inside temperature. The state of this sensor should represent a numeric value (°C or °F doesn't matter). | +|ulm_chip_temperature_inside| | :material-close: | This is the sensor that provides your inside temperature. The state of this sensor should represent a numeric value (°C or °F doesn't matter). | |ulm_chip_temperature_weather| | :material-check: | This is the sensor for your weather entity for showing current weather conditions| ## Usage From d436caa5330a4075069914cae00888b8869d7bf9 Mon Sep 17 00:00:00 2001 From: Michel Peterson Date: Sat, 2 Jul 2022 18:26:02 +0300 Subject: [PATCH 05/15] Fix small things --- .../ulm_templates/card_templates/chips/chip_temperature.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml index 34387bb53..fca9b2e7b 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml @@ -32,9 +32,9 @@ chip_temperature: var outside_temp = states[variables.ulm_chip_temperature_outside].state; var inside_temp = null; if (variables.ulm_chip_temperature_inside) { - var inside_temp = states[variables.ulm_chip_temperature_inside].state; + inside_temp = states[variables.ulm_chip_temperature_inside].state; } - var label = (icon[state] || icon["default"]) + " " + convertTemperature(outside_temp) + "°"; + var label = (icon[state] || icon["default"]) + " " + convertTemperature(outside_temp) + "°"; if (inside_temp) { label = label + " / " + convertTemperature(inside_temp) + "°"; } From 04978094ec965c8cc43926a727f05add73b389f7 Mon Sep 17 00:00:00 2001 From: Michel Peterson Date: Sun, 3 Jul 2022 18:12:41 +0300 Subject: [PATCH 06/15] small very important fix --- .../ulm_templates/card_templates/chips/chip_temperature.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml index fca9b2e7b..6674a83bb 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/chips/chip_temperature.yaml @@ -38,4 +38,5 @@ chip_temperature: if (inside_temp) { label = label + " / " + convertTemperature(inside_temp) + "°"; } + return label; ]]] From 1531413a0358c62045e818c6d65edccca9e6cc61 Mon Sep 17 00:00:00 2001 From: schumijo Date: Thu, 7 Jul 2022 16:55:08 +0200 Subject: [PATCH 07/15] Add navigate action --- .../ulm_templates/actions/actions_card.yaml | 3 ++ .../ulm_templates/actions/actions_icon.yaml | 3 ++ .../ulm_templates/actions/actions_name.yaml | 3 ++ docs/setup/custom_actions.md | 38 +++++++++++++++++++ 4 files changed, 47 insertions(+) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_card.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_card.yaml index e519c28d3..9c9c42d63 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_card.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_card.yaml @@ -30,6 +30,7 @@ ulm_actions_card: return action ]]] + navigation_path: "[[[ return variables.ulm_card_tap_action == 'navigate' ? variables.ulm_card_tap_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" @@ -84,6 +85,7 @@ ulm_actions_card: return action ]]] + navigation_path: "[[[ return variables.ulm_card_hold_action == 'navigate' ? variables.ulm_card_hold_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" @@ -137,6 +139,7 @@ ulm_actions_card: return action ]]] + navigation_path: "[[[ return variables.ulm_card_double_tap_action == 'navigate' ? variables.ulm_card_double_tap_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_icon.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_icon.yaml index 7356e56e7..eccbc286c 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_icon.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_icon.yaml @@ -30,6 +30,7 @@ ulm_actions_icon: return action ]]] + navigation_path: "[[[ return variables.ulm_icon_tap_action == 'navigate' ? variables.ulm_icon_tap_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" @@ -84,6 +85,7 @@ ulm_actions_icon: return action ]]] + navigation_path: "[[[ return variables.ulm_icon_hold_action == 'navigate' ? variables.ulm_icon_hold_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" @@ -137,6 +139,7 @@ ulm_actions_icon: return action ]]] + navigation_path: "[[[ return variables.ulm_icon_double_tap_action == 'navigate' ? variables.ulm_icon_double_tap_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_name.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_name.yaml index a7a91b9ee..3210625c7 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_name.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/actions/actions_name.yaml @@ -30,6 +30,7 @@ ulm_actions_name: return action ]]] + navigation_path: "[[[ return variables.ulm_name_tap_action == 'navigate' ? variables.ulm_name_tap_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" @@ -84,6 +85,7 @@ ulm_actions_name: return action ]]] + navigation_path: "[[[ return variables.ulm_name_hold_action == 'navigate' ? variables.ulm_name_hold_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" @@ -137,6 +139,7 @@ ulm_actions_name: return action ]]] + navigation_path: "[[[ return variables.ulm_name_double_tap_action == 'navigate' ? variables.ulm_name_double_tap_navigate_path : '/0' ]]]" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" diff --git a/docs/setup/custom_actions.md b/docs/setup/custom_actions.md index d71631b94..b8a5d6ecc 100644 --- a/docs/setup/custom_actions.md +++ b/docs/setup/custom_actions.md @@ -37,12 +37,50 @@ Possible values for each variables are : | more-info | Display more-info window | | popup | Display UI LOVELACE MINIMALIST popup if available and enabled on card (if not `more-info` action is used) | | adaptive | Switch UI LOVELACE MINIMALIST popup on adaptive dashboard
if current dashboard is adaptive (if not `popup` action is used) | +| navigate | Navigate to an other UI LOVELACE MINIMALIST view. Need additionnal variable (see below) | !!! tip "Reloading" Once you have edited `custom_actions.yaml` file, you must reload `"UI LOVELACE MINIMALIST"` configuration. Just go to `"Configuration" --> "Settings"` in Home Assistant and press the `"UI_LOVELACE_MINIMALIST"` button within the "YAML configuration reloading" section. +## Navigate action + +To define the path of `navigate` action, add one of the following depending on your action : + - ulm_card_tap_navigate_path + - ulm_card_hold_navigate_path + - ulm_card_double_tap_navigate_path + - ulm_icon_tap_navigate_path + - ulm_icon_hold_navigate_path + - ulm_icon_double_tap_navigate_path + - ulm_name_tap_navigate_path + - ulm_name_hold_navigate_path + - ulm_name_double_tap_navigate_path + +```yaml +- type: "custom:button-card" + template: "card_cover" + entity: "cover.somfy_portail" + variables: + ulm_name_hold_action: "navigate" + ulm_name_hold_navigate_path: "/adaptive-dash/Livingroom" + +``` + +## Overwrite custom actions + +When creating a dashboard, custom actions can be overwritten on your card definition. +For example, this code will overwrite the tap action on card with `more-info` action : + +```yaml +- type: "custom:button-card" + template: "card_cover" + entity: "cover.somfy_portail" + variables: + ulm_card_tap_action: "more-info" + +``` + ## For developpers To enable action customization on your custom cards, use the following templates `icon_more_info_new` and `ulm_actions_card` From 5b575239103e7df163d924f4682d538465b1f4d3 Mon Sep 17 00:00:00 2001 From: schumijo Date: Thu, 7 Jul 2022 16:59:27 +0200 Subject: [PATCH 08/15] Fix quality check --- docs/setup/custom_actions.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/setup/custom_actions.md b/docs/setup/custom_actions.md index b8a5d6ecc..b60e93f55 100644 --- a/docs/setup/custom_actions.md +++ b/docs/setup/custom_actions.md @@ -47,15 +47,15 @@ Possible values for each variables are : ## Navigate action To define the path of `navigate` action, add one of the following depending on your action : - - ulm_card_tap_navigate_path - - ulm_card_hold_navigate_path - - ulm_card_double_tap_navigate_path - - ulm_icon_tap_navigate_path - - ulm_icon_hold_navigate_path - - ulm_icon_double_tap_navigate_path - - ulm_name_tap_navigate_path - - ulm_name_hold_navigate_path - - ulm_name_double_tap_navigate_path +- ulm_card_tap_navigate_path +- ulm_card_hold_navigate_path +- ulm_card_double_tap_navigate_path +- ulm_icon_tap_navigate_path +- ulm_icon_hold_navigate_path +- ulm_icon_double_tap_navigate_path +- ulm_name_tap_navigate_path +- ulm_name_hold_navigate_path +- ulm_name_double_tap_navigate_path ```yaml - type: "custom:button-card" From 1ac09b94a70963b14efe44793e47223be099513a Mon Sep 17 00:00:00 2001 From: schumijo Date: Thu, 7 Jul 2022 17:03:06 +0200 Subject: [PATCH 09/15] Fix quality --- docs/setup/custom_actions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/setup/custom_actions.md b/docs/setup/custom_actions.md index b60e93f55..afe872bf0 100644 --- a/docs/setup/custom_actions.md +++ b/docs/setup/custom_actions.md @@ -56,7 +56,7 @@ To define the path of `navigate` action, add one of the following depending on y - ulm_name_tap_navigate_path - ulm_name_hold_navigate_path - ulm_name_double_tap_navigate_path - + ```yaml - type: "custom:button-card" template: "card_cover" @@ -71,7 +71,7 @@ To define the path of `navigate` action, add one of the following depending on y When creating a dashboard, custom actions can be overwritten on your card definition. For example, this code will overwrite the tap action on card with `more-info` action : - + ```yaml - type: "custom:button-card" template: "card_cover" From 5be5b497c0a34dae0917140a20df1d492dae2247 Mon Sep 17 00:00:00 2001 From: schumijo Date: Thu, 7 Jul 2022 17:06:21 +0200 Subject: [PATCH 10/15] Update custom_actions.md --- docs/setup/custom_actions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/setup/custom_actions.md b/docs/setup/custom_actions.md index afe872bf0..88aa66271 100644 --- a/docs/setup/custom_actions.md +++ b/docs/setup/custom_actions.md @@ -47,6 +47,7 @@ Possible values for each variables are : ## Navigate action To define the path of `navigate` action, add one of the following depending on your action : + - ulm_card_tap_navigate_path - ulm_card_hold_navigate_path - ulm_card_double_tap_navigate_path From ebb11f451e226c53b42400286af4e58b8c88bf3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Valli=C3=A8res?= Date: Fri, 8 Jul 2022 00:39:54 -0400 Subject: [PATCH 11/15] Refactoring, cleanup and new features. Code refactoring to fit framework structure. Simplified and cleaned up code logic. New features: - Now support from 0 to 4 "subicons". - If less than 4 "subicons", the "subicons" divide the vertical space into 3 squares instead of 4. - No need to have an entity for the "Room entity". Only the and icon is needed and a default icon (mdi:sofa-single) is now defined. - "more-info" is now the default behavior for "subicons" "hold_action". --- .../card_templates/cards/card_room.yaml | 216 +++++++----------- docs/assets/img/ulm_cards/room-card.png | Bin 22704 -> 79541 bytes docs/usage/cards/card_room.md | 4 +- 3 files changed, 88 insertions(+), 132 deletions(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_room.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_room.yaml index ea43fb67b..18ba7b7b0 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_room.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_room.yaml @@ -5,43 +5,32 @@ card_room: variables: label_use_temperature: true label_use_brightness: false - color: "var(--google-grey-500)" - show_icon: true - show_name: true - show_label: true - size: "45%" double_tap_action: action: "call-service" service: "input_select.select_option" service_data: option: "[[[ return variables.ulm_input_select_option ]]]" entity_id: "[[[ return variables.ulm_input_select ]]]" + color: "var(--google-grey-500)" + size: "45%" aspect_ratio: "1/1" + show_icon: true + show_label: true + show_name: true + icon: "mdi:sofa-single" label: |- [[[ if (variables.label_use_temperature) { - return (entity.attributes.current_temperature || entity.attributes.temperature || entity.state || '-') + (entity.attributes.unit_of_measurement || '°C'); - } else if (variables.label_use_brightness) { - if (entity.state){ - if (entity.state == "off"){ - return variables.ulm_translation_state; - } else if (entity.state == "on"){ - if (entity.attributes.brightness != null){ - var bri = Math.round(entity.attributes.brightness / 2.55); - return (bri ? bri : "0") + "%"; - } else { - return variables.ulm_translation_state; - } - } - } else { - return variables.ulm_translation_state; - } - } else { - return variables.ulm_translation_state; + return (entity?.attributes?.current_temperature || entity?.attributes?.temperature || entity?.state || '-') + (entity?.attributes?.unit_of_measurement || '°C'); + } else if (variables.label_use_brightness && entity?.state == "on" && entity?.attributes?.brightness != null) { + let bri = Math.round(entity?.attributes?.brightness / 2.55); + return (bri ? bri : "0") + "%"; } + return variables.ulm_translation_state; ]]] state: - - styles: + - value: "unavailable" + styles: custom_fields: notification: - border-radius: "50%" @@ -56,220 +45,182 @@ card_room: - margin-left: "-35%" - line-height: 0 - display: "grid" - - background-color: > - [[[ - return "rgba(var(--color-red),1)"; - ]]] - value: "unavailable" + - background-color: "[[[ return 'rgba(var(--color-red),1)'; ]]]" styles: - card: - - border-radius: "20px" - - box-shadow: "var(--box-shadow)" - - padding: "5px" - grid: - - grid-template-areas: "'n n n i1' 'l l l i2' 'i i . i3' 'i i . i4'" - - grid-template-columns: "1fr 1fr 1fr 1fr" - - grid-template-rows: "1fr 1fr 1fr 1fr" - - justify-items: "center" icon: - color: "rgba(var(--color-theme),0.2)" - img_cell: - - background-color: "rgba(var(--color-theme),0.05)" - - border-radius: "50%" - - width: "75%" - - height: "75%" - - max-width: "none" - - max-height: "none" - - position: "absolute" - - left: "50%" - - top: "50%" - - transform: "translate(-50%,-50%)" - - margin-top: "25%" - - margin-left: "-25%" - name: + label: - justify-self: "start" - - align-self: "end" + - align-self: "start" - font-weight: "bold" - font-size: "14px" + - filter: "opacity(40%)" - margin-left: "12px" - - margin-bottom: "10%" - label: + - max-width: "[[[ return `calc(100% - (12px + ${!variables?.entity_1 && !variables?.entity_2 ? 5 : 0}px))`; ]]]" + - text-overflow: "ellipsis" + - overflow: "hidden" + - margin-top: "[[[ return !variables?.entity_1 ? '-24%' : '-10%'; ]]]" + name: - justify-self: "start" - - align-self: "start" + - align-self: "end" - font-weight: "bold" - - font-size: "12px" - - filter: "opacity(40%)" + - font-size: "18px" - margin-left: "12px" - - margin-top: "-10%" + - margin-bottom: "[[[ return !variables?.entity_1 ? (!variables?.entity_2 ? '15.8%' : '24%') : '10%'; ]]]" + - max-width: "[[[ return `calc(100% - (12px + ${!variables?.entity_2 ? 5 : 0}px))`; ]]]" + - text-overflow: "ellipsis" + - overflow: "hidden" state: - justify-self: "start" - font-weight: "bold" - font-size: "12px" - filter: "opacity(40%)" - margin-left: "6px" + img_cell: + - background-color: "rgba(var(--color-theme),0.05)" + - border-radius: "50%" + - width: "75%" + - height: "75%" + - max-width: "none" + - max-height: "none" + - position: "absolute" + - left: "50%" + - top: "50%" + - transform: "translate(-50%,-50%)" + - margin-top: "25%" + - margin-left: "-25%" + grid: + - grid-template-areas: "[[[ return !variables?.entity_1 ? (!variables?.entity_2 ? `'n n n' 'l l i3' 'i i i4'` : `'n n i2' 'l l i3' 'i i i4'`) : `'n n n i1' 'l l l i2' 'i i . i3' 'i i . i4'`; ]]]" + - grid-template-columns: "[[[ return !variables?.entity_1 ? '1fr 1fr 1fr' : '1fr 1fr 1fr 1fr'; ]]]" + - grid-template-rows: "[[[ return !variables?.entity_1 ? '1fr 1fr 1fr' : '1fr 1fr 1fr 1fr'; ]]]" + - justify-items: "center" + card: + - border-radius: "20px" + - box-shadow: "var(--box-shadow)" + - padding: "5px" custom_fields: - i1: - - border-radius: "50%" - - width: "80%" - - height: "80%" - - line-height: 0 - - display: "grid" - i2: - - border-radius: "50%" - - width: "80%" - - height: "80%" - - line-height: 0 - - display: "grid" - i3: - - border-radius: "50%" - - width: "80%" - - height: "80%" - - line-height: 0 - - display: "grid" - i4: + i1: &widget_icon_room_styling - border-radius: "50%" - width: "80%" - height: "80%" - line-height: 0 - display: "grid" + i2: *widget_icon_room_styling + i3: *widget_icon_room_styling + i4: *widget_icon_room_styling custom_fields: notification: > [[[ - if (entity.state =='unavailable'){ - return `` + if (entity?.state == 'unavailable'){ + return ''; } ]]] + i1: card: type: "custom:button-card" template: > [[[ - var templates = ['widget_icon_room']; + let templates = [ 'widget_icon_room' ]; if (variables?.entity_1?.templates?.length) { - return ['widget_icon_room'].concat(variables.entity_1.templates); + templates.push(...variables.entity_1.templates); } return templates; ]]] - variables: "[[[ return variables.entity_1; ]]]" - entity: > - [[[ - if (variables.entity_1.entity_id) { - return variables.entity_1.entity_id; - } - ]]] + variables: "[[[ return variables?.entity_1; ]]]" state: - operator: "template" value: "[[[ return !variables.entity_1; ]]]" styles: card: - display: "none" + entity: "[[[ return variables?.entity_1?.entity_id; ]]]" i2: card: type: "custom:button-card" template: > [[[ - var templates = ['widget_icon_room']; + let templates = [ 'widget_icon_room' ]; if (variables?.entity_2?.templates?.length) { - return ['widget_icon_room'].concat(variables.entity_2.templates); + templates.push(...variables.entity_2.templates); } return templates; ]]] - variables: "[[[ return variables.entity_2; ]]]" - entity: > - [[[ - if (variables?.entity_2?.entity_id) { - return variables.entity_2.entity_id; - } - ]]] + variables: "[[[ return variables?.entity_2; ]]]" state: - operator: "template" value: "[[[ return !variables.entity_2; ]]]" styles: card: - display: "none" + entity: "[[[ return variables?.entity_2?.entity_id; ]]]" i3: card: type: "custom:button-card" template: > [[[ - var templates = ['widget_icon_room']; + let templates = [ 'widget_icon_room' ]; if (variables?.entity_3?.templates?.length) { - return ['widget_icon_room'].concat(variables.entity_3.templates); + templates.push(...variables.entity_3.templates); } return templates; ]]] - variables: "[[[ return variables.entity_3; ]]]" - entity: > - [[[ - if (variables?.entity_3?.entity_id) { - return variables.entity_3.entity_id; - } - ]]] + variables: "[[[ return variables?.entity_3; ]]]" state: - operator: "template" value: "[[[ return !variables.entity_3; ]]]" styles: card: - display: "none" + entity: "[[[ return variables?.entity_3?.entity_id; ]]]" + i4: card: type: "custom:button-card" template: > [[[ - var templates = ['widget_icon_room']; + let templates = [ 'widget_icon_room' ]; if (variables?.entity_4?.templates?.length) { - return ['widget_icon_room'].concat(variables.entity_4.templates); + templates.push(...variables.entity_4.templates); } return templates; ]]] - variables: "[[[ return variables.entity_4; ]]]" - entity: > - [[[ - if (variables?.entity_4?.entity_id) { - return variables.entity_4.entity_id; - } - ]]] + variables: "[[[ return variables?.entity_4; ]]]" state: - operator: "template" value: "[[[ return !variables.entity_4; ]]]" styles: card: - display: "none" + entity: "[[[ return variables?.entity_4?.entity_id; ]]]" widget_icon_room: variables: tap_action: action: "toggle" hold_action: - action: "none" + action: "more-info" tap_action: - action: > - [[[ if (variables?.tap_action?.action) return variables.tap_action.action; else return 'none'; ]]] + action: "[[[ return variables?.tap_action?.action ? variables.tap_action.action : 'none'; ]]]" entity: "[[[ return variables.tap_action.entity; ]]]" navigation_path: "[[[ return variables.tap_action.navigation_path; ]]]" url_path: "[[[ return variables.tap_action.url_path; ]]]" service: "[[[ return variables.tap_action.service; ]]]" service_data: "[[[ return variables.tap_action.service_data; ]]]" hold_action: - action: > - [[[ if (variables?.hold_action?.action) return variables.hold_action.action; else return 'none'; ]]] + action: "[[[ return variables?.hold_action?.action ? variables.hold_action.action : 'none'; ]]]" entity: "[[[ return variables.hold_action.entity; ]]]" navigation_path: "[[[ return variables.hold_action.navigation_path; ]]]" url_path: "[[[ return variables.hold_action.url_path; ]]]" service: "[[[ return variables.hold_action.service; ]]]" service_data: "[[[ return variables.hold_action.service_data; ]]]" + size: "15px" + color: "var(--google-grey)" show_icon: true show_name: false styles: - grid: - - grid-template-areas: "'i'" - card: - - height: "100%" - - box-shadow: "none" - - padding: "0px" - - border-radius: "50%" icon: - width: "50%" - height: "50%" @@ -278,5 +229,10 @@ widget_icon_room: img_cell: - border-radius: "50%" - background-color: "rgba(var(--color-theme),0.05)" - size: "15px" - color: "var(--google-grey)" + grid: + - grid-template-areas: "'i'" + card: + - height: "100%" + - box-shadow: "none" + - padding: "0px" + - border-radius: "50%" diff --git a/docs/assets/img/ulm_cards/room-card.png b/docs/assets/img/ulm_cards/room-card.png index 39cdcf18fe183b5b4ddbdebdde2be1e8c3453055..ab8646a9ecdc3bf6c2c74a65805a345deaf5e6df 100644 GIT binary patch literal 79541 zcmYg%1ymeM6Yk>5SVQp&;0x>1}C5p&)i4%n{|B#brrg6u1>Q~8Pg$D4aG81%2TC-H|89VP% za$C!)>60N$2ZxA7YakI?8j$NFNSq*bkNti(CN1~C{;C>!8n;fdbieeu=@^u&YEm@I z15=o8{%wtmD?<+-t{iz3-hz{g>%H{8dEl4Ll;8e(Ly3!(T zUtrw5tR)bIy{ij~-mhgihWRYiKAOZ%{E7C~8YK+ wAP84l4QXo;uJq0}W)6hyo? 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

f6RK$90i)H4KGWHlX;rY3b^kEW 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 z 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

3syURm8# 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 diff --git a/docs/usage/cards/card_room.md b/docs/usage/cards/card_room.md index 111ab2d50..424ff1bd6 100644 --- a/docs/usage/cards/card_room.md +++ b/docs/usage/cards/card_room.md @@ -10,7 +10,7 @@ hide: ![Image title](../../assets/img/ulm_cards/room-card.png){ width="500" } This is the `room-card`, used to show the state of single room in a quick glance. -The card has support for 4 subicons at the right side of the card. These can be configured using custom colors and tap actions. +The card has support for up to 4 subicons at the right side of the card. These can be configured using custom colors and tap actions. ## Variables @@ -33,7 +33,7 @@ The card has support for 4 subicons at the right side of the card. These can be | Variable | Default | Required | Notes | Requirement | |----------------------------------------|-----------------|------------------|----------------|-------------| -| entity_id | | :material-check: | The entity_id of the status icon | | +| entity_id | | :material-close: | The entity_id of the status icon | | | templates | | :material-close: | List of the additional button card templates to apply to this icon | | | tap_action | | :material-close: | tap_action for the icon (see button card documentation for options) | | | hold_action | | :material-close: | tap_action for the icon (see button card documentation for options) | | From 9483ae7eaec3c55e1a75106cb7158ff648fb296d Mon Sep 17 00:00:00 2001 From: schumijo Date: Tue, 12 Jul 2022 16:21:49 +0200 Subject: [PATCH 12/15] Add french translation to integration workflow --- .../translations/fr.json | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 custom_components/ui_lovelace_minimalist/translations/fr.json diff --git a/custom_components/ui_lovelace_minimalist/translations/fr.json b/custom_components/ui_lovelace_minimalist/translations/fr.json new file mode 100644 index 000000000..0081f8b3c --- /dev/null +++ b/custom_components/ui_lovelace_minimalist/translations/fr.json @@ -0,0 +1,49 @@ +{ + "title": "UI Lovelace Minimalist", + "config": { + "step": { + "user": { + "title": "UI Lovelace Minimalist Configuration", + "description": "", + "data": { + "language": "Langue", + "sidepanel_enabled": "Activer le tableau de bord dans la barre latérale.", + "sidepanel_icon": "Icône dans la barre latérale", + "sidepanel_title": "Titre dans la barre latérale", + "adaptive_ui_enabled": "Activer le tableau de bord adaptatif avec vue splittée", + "adaptive_ui_title": "Titre du TdB adaptatif dans la barre latérale", + "adaptive_ui_icon": "Icône du TdB adaptatif dans la barre latérale", + "theme": "Thème", + "include_other_cards": "Inclure les custom-cards dépendantes." + } + } + }, + "abort": { + "single_instance_allowed": "Une seule instance UI Lovelace Minimalist est autorisée.", + "not_setup": "UI Lovelace Minimalist n'est pas configuré." + } + }, + "options": { + "step": { + "user": { + "title": "UI Lovelace Minimalist Configuration", + "description": "", + "data": { + "language": "Langue", + "sidepanel_enabled": "Activer le tableau de bord dans la barre latérale.", + "sidepanel_icon": "Icône dans la barre latérale", + "sidepanel_title": "Titre dans la barre latérale", + "adaptive_ui_enabled": "Activer le tableau de bord adaptatif avec vue splittée", + "adaptive_ui_title": "Titre du TdB adaptatif dans la barre latérale", + "adaptive_ui_icon": "Icône du TdB adaptatif dans la barre latérale", + "theme": "Thème", + "include_other_cards": "Inclure les custom-cards dépendantes." + } + } + }, + "abort": { + "single_instance_allowed": "Une seule instance UI Lovelace Minimalist est autorisée.", + "not_setup": "UI Lovelace Minimalist n'est pas configuré." + } + } +} From 13dbb6fbf39c0c665f63b9a1446ea9eb25ceb9bb Mon Sep 17 00:00:00 2001 From: Michel Peterson Date: Wed, 20 Jul 2022 13:29:42 +0300 Subject: [PATCH 13/15] Make hvac_action optional on ulm_translation_hvac Some climate entities do not have the hvac_action attribute and in those cases the translation ends up with '(undefined)' as the mode part. This is undesirable, and thus this PR removes it from the translation in case there is no hvac_action attribute. --- .../ui_lovelace_minimalist/lovelace/translations/default.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/translations/default.yaml b/custom_components/ui_lovelace_minimalist/lovelace/translations/default.yaml index c3ff59423..fc7cfaeb8 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/translations/default.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/translations/default.yaml @@ -43,7 +43,7 @@ ulm_translation_engine: } var label = hass.resources[lang]["component." + domain + ".state._." + state]; var translation = label ? label : state; - return (entity.attributes.current_temperature ) + '°' + ' • ' + translation + (entity.state !='off' ? ' (' + mode + ')' : ''); + return (entity.attributes.current_temperature ) + '°' + ' • ' + translation + ((entity.state !='off' && mode !== undefined) ? ' (' + mode + ')' : ''); } ]]] ulm_translation_off: "[[[ return hass.resources[hass['language']]['state.default.off']; ]]]" From 0beae96280929aa84a817d06010b0cbc68913d7c Mon Sep 17 00:00:00 2001 From: Petapton Date: Sun, 10 Jul 2022 16:08:09 +0200 Subject: [PATCH 14/15] Improve card_person card: - Use zone friendly name in label when state is a real zone - Match zone1 and zone2 by checking if person is in zone.attributes.persons --- .../ulm_templates/card_templates/cards/card_person.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_person.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_person.yaml index a7a602585..048127b20 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_person.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_person.yaml @@ -22,7 +22,7 @@ card_person: } else { let state = states[variables.ulm_card_person_entity].state; let option = ["home", "not_home", "unavailable", "unknown"] - return (option.includes(state)) ? variables.ulm_translation_state : state + return (option.includes(state)) ? variables.ulm_translation_state : (states["zone."+state]?.attributes?.friendly_name || state) } ]]] name: "[[[ return states[variables.ulm_card_person_entity].attributes.friendly_name ]]]" @@ -61,10 +61,10 @@ card_person: notification: > [[[ if (states[variables.ulm_card_person_entity].state !== 'home') { - if (states[variables.ulm_card_person_entity].state === states[variables.ulm_card_person_zone1]?.attributes?.friendly_name) { + if (states[variables.ulm_card_person_zone1]?.attributes?.persons.includes(variables.ulm_card_person_entity)) { var icon = states[variables.ulm_card_person_zone1].attributes.icon !== null ? states[variables.ulm_card_person_zone1].attributes.icon : 'mdi:help-circle' return ''; - } else if (states[variables.ulm_card_person_entity].state === states[variables.ulm_card_person_zone2]?.attributes?.friendly_name) { + } else if (states[variables.ulm_card_person_zone2]?.attributes?.persons.includes(variables.ulm_card_person_entity)) { var icon = states[variables.ulm_card_person_zone2].attributes.icon !== null ? states[variables.ulm_card_person_zone2].attributes.icon : 'mdi:help-circle' return ''; } else { From 58b068aaed2eef0066bdff0bdf6874c669ce5fa4 Mon Sep 17 00:00:00 2001 From: Eliseo Juan Quintanilla Date: Thu, 21 Jul 2022 17:20:21 +0200 Subject: [PATCH 15/15] Update es.yaml --- .../ui_lovelace_minimalist/lovelace/translations/es.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/custom_components/ui_lovelace_minimalist/lovelace/translations/es.yaml b/custom_components/ui_lovelace_minimalist/lovelace/translations/es.yaml index 0bc2062ad..bc8952353 100644 --- a/custom_components/ui_lovelace_minimalist/lovelace/translations/es.yaml +++ b/custom_components/ui_lovelace_minimalist/lovelace/translations/es.yaml @@ -4,6 +4,9 @@ ulm_language_variables: ulm_currency: "€" ulm_updates_available: "¡Actualización disponible!" ulm_no_updates_available: "No hay actualizaciones" + ulm_ophaling: "¡Recogida de basura!" + ulm_geen_ophaling: "Sin recogida" + ulm_volgende_ophaling: "Próxima recogida" ulm_morning: "Buenos días" ulm_afternoon: "Buenas tardes" ulm_evening: "Buenas noches"