Custom entity row for Home Assistant, providing additional types of data to be displayed in the secondary info sections of the Lovelace Entities card.
- Home Assistant >= 0.88 (last tested against 2021.4.4)
- Thomas Lovén’s card-tools.js >= 2.0 (tested against 11)
This card is available as a plugin in the default community store of HACS
Search for the card-tools
plugin in HACS and install. This is available in the default HACS community store.
Search for the secondaryinfo-entity-row
plugin in HACS and install.
resources:
url: /hacsfiles/card-tools.js
type: module
url: /hacsfiles/secondaryinfo-entity-row.js
type: module
The standard Lovelace configuration for entities remains valid, with the exception of secondary_info
.
To utilize card-tools Jinja2 API, secondary_info
should be a string value with at least one Jinja2 tag (either starting with {{
or
{%
). In addition, every user that should be able to see secondary_info
content, must be an admin. This constraint comes from
card-tools.
For card-tools old templating support, secondary_info
should be a string value, enclosed in double-quotes, which supports the parseTemplate syntax defined in card-tools.js. Per the documentation:
Two things are important:
- Template must start with [[<space> and end with <space>]]
- This is not in any way the same kind of template as used in the Home Assistant configuration
The templates are parsed by reading one step at a time from the `hass.states` object.
Thus, the first part must be an entity with domain and id, e.g. `light.bed_light`, `media_player.bedroom` etc.
Next is one of:
- entity_id
- state
- attributes.<attribute>
- last_changed
- last_updated
Also see details of the new conditional syntax at useful-markdown-card:
if
Syntax: [[ if(<condition>, <then>, <else>) ]] Simply put, if <condition> is satisfied, the template will be replaced with <then>, otherwise it will be replaced with <else>.
Both <then> and <else> can in turn be <template> expressions, and <else> can even be another if(!).
Conditions are in the form <left> <comparison> <right> where <left> and <right> are <template>, strings or numeric values.
<comparison> is one of ==, !=, <, >, <= or >=.
type: entities
title: Custom Secondary Info
entities:
- entity: sun.sun
name: Entity ID with wrapped in tag
type: "custom:secondaryinfo-entity-row"
secondary_info: "<b style='color:red'>[[ sun.sun.entity_id ]]</b>"
- entity: sun.sun
name: Absolute time for last-changed
type: "custom:secondaryinfo-entity-row"
secondary_info: "[[ sun.sun.last_changed ]]"
- entity: sun.sun
name: Static text
type: "custom:secondaryinfo-entity-row"
secondary_info: "This is the entity row for the Sun"
- entity: sun.sun
name: Entity attribute
type: "custom:secondaryinfo-entity-row"
secondary_info: "Next Dawn: [[ sun.sun.attributes.next_dawn ]]"
- entity: sun.sun
name: Templated entity object
type: "custom:secondaryinfo-entity-row"
secondary_info: "Next Dawn: [[ {entity}.attributes.next_dawn ]]"
- entity: sun.sun
name: Conditional template
type: "custom:secondaryinfo-entity-row"
secondary_info: '[[ if(sun.sun.attributes.elevation < 0, "Below", "Above") ]] the horizon'
- entity: sun.sun
name: Jinja2 template
type: "custom:secondaryinfo-entity-row"
secondary_info: "Next Dawn: {{ state_attr('sun.sun', 'next_dawn') }}"
0.5
- Jinja2 templates support from card-tools
0.4.1
- Updated HACS support files and documentation
0.4
- Compatible with latest card-tools
- Updated README with HACS install info
0.3.1
- Replaced deprecated card-tools functions
- Added example image to GitHub
0.3
- The configured entity object can now be referenced as
{entity}
inside a template. This enables compatibility with dynamic entity list generators such as auto-entities. - Requires card-tools 0.4, which introduces conditional statements in the template. See useful-markdown-card.
- Examples updated
0.2
- Compatibility with Home Assistant 0.88
0.1.1
- Add custom_cards.json for custom_updater integration
0.1
- New release based on card-tools