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 83a9303f6..b4ca43493 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 @@ -10,12 +10,44 @@ card_vacuum: ulm_card_vacuum_icon: "[[[ return entity.attributes.icon ]]]" ulm_card_vacuum_room: ulm_card_vacuum_room_icon: "[[[ return entity.attributes.icon ]]]" + ulm_card_vacuum_camera: + ulm_card_vacuum_camera_toggle: triggers_update: "all" styles: grid: - - grid-template-areas: "'item1' 'item2'" + - grid-template-areas: > + [[[ + if( variables.ulm_card_vacuum_camera ){ + if ( variables.ulm_card_vacuum_camera_toggle ) { + if( entity.state.toLowerCase() === 'cleaning' ){ + return "'item1' 'item3' 'item2'"; + } else { + return "'item1' 'item2'"; + } + } else { + return "'item1' 'item3' 'item2'"; + } + } else { + return "'item1' 'item2'"; + } + ]]] - grid-template-columns: "1fr" - - grid-template-rows: "min-content min-content" + - grid-template-rows: > + [[[ + if( variables.ulm_card_vacuum_camera ){ + if ( variables.ulm_card_vacuum_camera_toggle ) { + if( entity.state.toLowerCase() === 'cleaning' ){ + return "repeat(3, min-content)"; + } else { + return "repeat(2, min-content)"; + } + } else { + return "repeat(3, min-content)"; + } + } else { + return "repeat(2, min-content)"; + } + ]]] - row-gap: "12px" card: - border-radius: "var(--border-radius)" @@ -34,6 +66,24 @@ card_vacuum: return 'rgba(var(--color-purple),0.1)' } ]]] + custom_fields: + item3: + - display: > + [[[ + if( variables.ulm_card_vacuum_camera ){ + if ( variables.ulm_card_vacuum_camera_toggle ) { + if( entity.state.toLowerCase() === 'cleaning' ){ + return "block"; + } else { + return "none"; + } + } else { + return "block"; + } + } else { + return "none"; + } + ]]] custom_fields: item1: card: @@ -208,3 +258,10 @@ card_vacuum: service: "script.turn_on" service_data: entity_id: "[[[ return variables.ulm_card_vacuum_room ]]]" + item3: + card: + type: "picture-entity" + camera_view: "live" + entity: "[[[ return variables.ulm_card_vacuum_camera ]]]" + show_name: false + show_state: false diff --git a/docs/usage/cards/card_vacuum.md b/docs/usage/cards/card_vacuum.md index 7166b3e33..fec1efdae 100644 --- a/docs/usage/cards/card_vacuum.md +++ b/docs/usage/cards/card_vacuum.md @@ -23,6 +23,8 @@ This is a card to control your Robot-vacuum. It has support for all vacuums whic |`ulm_card_vacuum_label`| | :material-close: | Add a custom label | |`ulm_card_vacuum_room`| | :material-close: | Add a script to clean a specific room | |`ulm_card_vacuum_room_icon`| | :material-close: | Add custom icon to the room script | +|`ulm_card_vacuum_camera`| | :material-close: | Add a camera entity to the card to show the vacuum map | +|`ulm_card_vacuum_camera_toggle`| | :material-close: | Only show the camera entity while cleaning | ## Usage @@ -37,6 +39,8 @@ This is a card to control your Robot-vacuum. It has support for all vacuums whic variables: ulm_card_vacuum_room: "script.clean_kitchen" ulm_card_vacuum_room_icon: "mdi:table-chair" + ulm_card_vacuum_camera: "camera.vacuum_map" + ulm_card_vacuum_camera_toggle: true ``` ??? note "Template Code"