diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 6bc830afb59..59920f2a60a 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -62,6 +62,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 1d5f4d1107c..46c17081047 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -57,11 +57,234 @@ 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. + type: string +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 Confirmation + +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: + required: true + description: User id that can see the view tab. + type: string +{% endconfiguration %} + +#### Example + +View config: + +```yaml +- title: Living room + badges: + - device_tracker.demo_paulus + - entity: light.ceiling_lights + name: Ceiling Lights + icon: mdi:bulb + - entity: switch.decorative_lights + 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. @@ -78,32 +301,62 @@ 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 Visible +#### Options For state_filter -If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab: +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 badges %} -user: +{% configuration state_filter %} +value: required: true - description: User id that can see the view tab. + 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 %} -### Example +#### Examples -View config: +Show only active switches or lights in the house ```yaml -- title: Living room - badges: - - device_tracker.demo_paulus - - entity: light.ceiling_lights - name: Ceiling Lights - icon: mdi:bulb - - entity: switch.decorative_lights - image: /local/lights.png +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