diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 62feacd31db7..fdea3ed7d1fb 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -58,6 +58,111 @@ title: required: false description: State badge tooltip. Set to null to hide. type: string +tap_action: + required: false + description: Action to take on tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`toggle`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +hold_action: + required: false + description: Action to take on tap-and-hold + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" {% endconfiguration %} ### Icon representing an entity state diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown index 1d5f4d1107cb..46c170810479 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -57,11 +57,33 @@ views: default: true {% endconfiguration %} -## Options For Badges +## Options For Visible -If you define badges as objects instead of strings (by adding `entity:` before entity ID), allowing you to add more customizations: +If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab: {% configuration badges %} +user: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + +## Badges + +### State Label Badge + +The State Label badge allows you to dislay a state badge + +```yaml +type: state-label +entity: light.living_room +``` + +{% configuration state_label %} +type: + required: true + description: entity-button + type: string entity: required: true description: Home Assistant entity ID. @@ -70,19 +92,148 @@ name: required: false description: Overwrites friendly name. type: string + default: Name of Entity icon: required: false description: Overwrites icon or entity picture. type: string + default: Entity Domain Icon image: required: false description: The URL of an image. type: string +show_name: + required: false + description: Show name. + type: boolean + default: "true" +show_icon: + required: false + description: Show icon. + type: boolean + default: "true" +tap_action: + required: false + description: Action to take on tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`toggle`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +hold_action: + required: false + description: Action to take on tap-and-hold + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" +double_tap_action: + required: false + description: Action to take on double tap + type: map + keys: + action: + required: true + description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)" + type: string + default: "`more-info`" + navigation_path: + required: false + description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`" + type: string + default: none + url_path: + required: false + description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`" + type: string + default: none + service: + required: false + description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`" + type: string + default: none + service_data: + required: false + description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`" + type: string + default: none + confirmation: + required: false + description: "Present a confirmation dialog to confirm the action. See `confirmation` object below" + type: [boolean, map] + default: "false" {% endconfiguration %} -## Options For Visible +#### Options For Confirmation -If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab: +If you define confirmation as an object instead of boolean, you can add more customization and configurations: +{% configuration confirmation %} +text: + required: false + description: Text to present in the confirmation dialog. + type: string +exemptions: + required: false + description: "List of `exemption` objects. See below" + type: list +{% endconfiguration %} + +#### Options For Exemptions {% configuration badges %} user: @@ -91,7 +242,7 @@ user: type: string {% endconfiguration %} -### Example +#### Example View config: @@ -106,6 +257,108 @@ View config: image: /local/lights.png ``` +### Entity Filter Badge + +This badge allows you to define a list of entities that you want to track only when in a certain state. Very useful for showing lights that you forgot to turn off or show a list of people only when they're at home. + +{% configuration filter_badge %} +type: + required: true + description: entity-filter + type: string +entities: + required: true + description: A list of entity IDs or `entity` objects, see below. + type: list +state_filter: + required: true + description: List of strings representing states or `filter` objects, see below. + type: list +{% endconfiguration %} + +#### Options For Entities + +If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configurations: + +{% configuration entities %} +type: + required: false + description: "Sets a custom badge type: `custom:my-custom-badge`" + type: string +entity: + required: true + description: Home Assistant entity ID. + type: string +name: + required: false + description: Overwrites friendly name. + type: string +icon: + required: false + description: Overwrites icon or entity picture. + type: string +image: + required: false + description: The URL of an image. + type: string +state_filter: + required: false + description: List of strings representing states or `filter` objects, see below. + type: list +{% endconfiguration %} + +#### Options For state_filter + +If you define state_filter as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter: + +{% configuration state_filter %} +value: + required: true + description: String representing the state. + type: string +operator: + required: false + description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`. + type: string +attribute: + required: false + description: Attribute of the entity to use instead of the state. + type: string +{% endconfiguration %} + +#### Examples + +Show only active switches or lights in the house + +```yaml +type: entity-filter +entities: + - entity: light.bed_light + name: Bed + - light.kitchen_lights + - light.ceiling_lights +state_filter: + - "on" +``` + +Specify filter for a single entity + +```yaml +type: entity-filter +state_filter: + - "on" + - operator: ">" + value: 90 +entities: + - sensor.water_leak + - sensor.outside_temp + - entity: sensor.humidity_and_temp + state_filter: + - operator: ">" + value: 50 + attribute: humidity +``` + ## Paths You can link to one view from another view by its path. For this use cards that support navigation (`navigation_path`). Do not use special characters in paths.