Skip to content

Custom entity row for HomeAssistant, providing additional types of data to be displayed in the secondary info area of the Lovelace Entities card

Notifications You must be signed in to change notification settings

custom-cards/secondaryinfo-entity-row

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

secondaryinfo-entity-row

Custom entity row for Home Assistant, providing additional types of data to be displayed in the secondary info sections of the Lovelace Entities card.

Prerequisites

  • Home Assistant >= 0.88 (last tested against 2021.4.4)
  • Thomas Lovén’s card-tools.js >= 2.0 (tested against 11)

Installation Instructions

This card is available as a plugin in the default community store of HACS

1) Install the latest Card Tools via HACS (Prerequisite)

Search for the card-tools plugin in HACS and install. This is available in the default HACS community store.

2) Install Secondary Info Entity Row via HACS

Search for the secondaryinfo-entity-row plugin in HACS and install.

3) Update the Lovelace configuration to use the plugins

resources:
  url: /hacsfiles/card-tools.js
  type: module
  url: /hacsfiles/secondaryinfo-entity-row.js
  type: module

Options

The standard Lovelace configuration for entities remains valid, with the exception of secondary_info.

New way - Home Assistant rendering

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.

Old way - Custom template language

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 >=.

Examples

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') }}"

example

Changelog

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

About

Custom entity row for HomeAssistant, providing additional types of data to be displayed in the secondary info area of the Lovelace Entities card

Resources

Stars

Watchers

Forks

Packages

No packages published