logbook-card icon indicating copy to clipboard operation
logbook-card copied to clipboard

Logbook card for Home Assistant UI Lovelace

Logbook card

A custom Lovelace component for displaying history of an entity for Home Assistant.

logbook card example

hacs_badge GitHub version GitHub license

WARNING: Since 1.0.0, the resource type of the card is JavaScript Module and not JavaScript File anymore. In case of loading error, check if the resource type is JavaScript module.

Installation

HACS

This card is available in HACS (Home Assistant Community Store).

Manual

Download the logbook-card.js from the latest release and store it in your configuration/www folder. Configure Lovelace to load the card:

resources:
  - url: /local/logbook-card.js?v=1
    type: module

Using the card

Options

Card options

Name Type Required Since Deprecated Default Description
type string required v0.1 custom:logbook-card
entity string required v0.1 An entity_id.
title string optional v0.1 friendly_name History Card title
history integer optional v0.1 5 Numbers of days of history of the logbook
hiddenState string[] optional v0.1 [] States to hide. wildcards are supported.
desc bool optional v0.1 True is logbook ordered descending
no_event string optional v0.1 No event on the period message displayed if no event to display
max_items integer optional v0.2 -1 Number of items to display. Ignored if < 0
state_map state map object optional v0.2 [] List of entity states to convert
show list optional v0.2 List of UI elements to display/hide, for available items see available show options.
attributes attributes object optional v0.4 List of attributes to display.
duration_labels duration_labels object optional v0.5 v1.5.0 labels for duration.
date_format string optional v1.0 default date time format see fecha formatting token
separator_style separator_style object optional v1.0 see style for separator (if activated)
collapse number optional v1.2 Number of entities to show. Rest will be available in expandable section
duration duration object optional v1.5.0 duration configuration

State map object

Name Type Default Description
value (required) string Value to convert. wildcard is supported
label string same as value String to show as label.
icon string default state icon Icon to show.

If you use wildcard, make sure to put the more specific states first.

Available show options

All properties are optional.

Name Default Options Description
state true true / false Display state
duration true true / false Display duration
start_date true true / false Display start date
end_date true true / false Display end date
icon true true / false Display icon
separator false true / false Display separator

Attribute object

Name Type Default Description
value (required) string name of the attributes.
label string same as value String to show as label.
type string string Type of the value used for formatting. Only date is currently supported

Duration object

Name Type Default Description
largest number 1 Number representing the maximum number of units to display for the duration. Use full for no limitation
labels duration labels object Style of the separator.
units string array Array of strings to define which units are used to display the duration (if needed). Allowed values: ['y', 'mo', 'w', 'd', 'h', 'm', 's', 'ms']
delimiter string String to display between the previous unit and the next value.

Duration labels object

Until v1.4.1

This configuration is Deprecated since v.1.5.0.

Allows to have custom labels for duration. Must contains ${value} which will be replaced by the duration.

Name Type Default Description
second string ${value}s label for second.
seconds string ${value}s label for seconds.
minute string ${value}m label for minute.
minutes string ${value}m label for minutes.
hour string ${value}h label for hour.
hours string ${value}h label for hours.
day string ${value}d label for day.
days string ${value}d label for days.
FROM v1.5.0

Allows to have custom labels for duration.

Name Type Default Description
second string s label for second.
minute string m label for minute.
hour string h label for hour.
day string d label for day.
week string w label for week.
month string m label for month.

Separator style object

Name Type Default Description
width number 1 Width of the separator.
style string solid Style of the separator.
color string var(--divider-color) Color of the separator.

Example usage

Example with hidden states

type: 'custom:logbook-card'
desc: true
entity: sun.sun
hiddenState:
  - above_horizon
title: Day history

Example with state label

entity: binary_sensor.garage_opening_sensor
max_items: 10
state_map:
  - label: Open
    value: on
  - label: Closed
    value: off
title: 'Garage door history'
type: 'custom:logbook-card'
show:
  end_date: false
  start_date: true

Custom labels

Example with attributes and custom date format

type: 'custom:logbook-card'
desc: true
entity: sun.sun
title: Day history
attributes:
  - value: elevation
  - value: next_rising
    label: Next Rising
    type: date
date_format: dd/MM/YYYY hh:mm

Attributes and custom date format

Example with short duration labels:

type: 'custom:logbook-card'
desc: true
entity: binary_sensor.garage_opening_sensor
title: 'Garage'
duration_labels:
  second: 's'
  minute: 'm'
  hour: 'h'
  day: 'j'
  week: 'w'
  month: 'm'

Example with custom separator style:

type: 'custom:logbook-card'
desc: true
entity: binary_sensor.garage_opening_sensor
title: 'Garage Door History'
show:
  separator: true
separator_style:
  color: black
  style: dashed

Custom Separator

Example with custom icons:

entity: sensor.vacuum
hiddenState:
  - ''
state_map:
  - icon: 'mdi:stove'
    value: Kitchen
  - icon: 'mdi:hotel'
    value: Girls bedroom
  - icon: 'mdi:bed-double'
    value: Bedroom
  - icon: 'mdi:water-pump'
    value: Bathroom
  - icon: 'mdi:television'
    value: Living room
title: Vacuum History
type: 'custom:logbook-card'

custom icon

Example with collapsed view:

entity: sensor.vacuum
hiddenState:
  - ''
collapse: 5
title: Vacuum History
type: 'custom:logbook-card'

custom icon