PulseLine Card: compact metric and trend card for Lovelace dashboards

Hi everyone,

I’ve been working on a custom Lovelace card called PulseLine Card.

It’s meant for dashboards where you want a compact metric card, but still want a little more context than a basic entity card provides. PulseLine combines a primary value with optional supporting information like Kudos labels, deltas, sparklines, progress bars, and dual value display.

GitHub:

PulseLine is currently installable through HACS as a custom repository while it waits for default HACS inclusion.

What it does

PulseLine is designed for compact sensor cards where the current value matters, but so does a small amount of context.

It supports:

  • compact single value cards
  • optional Kudos labels based on value ranges
  • optional Kudos icons and colors
  • optional accent override based on the active Kudos range
  • delta rows for recent change
  • recent values sparklines
  • recent days sparklines
  • progress bars for score style cards
  • dual mode for paired values
  • graceful unavailable and unknown handling
  • a visual preview in the Home Assistant card picker

Some examples of where it can be useful:

  • sleep scores
  • steps
  • air quality
  • battery levels
  • weight
  • temperature or humidity
  • blood pressure
  • any numeric sensor where a compact trend or status label is helpful

Installation

Until it is available directly in the default HACS store, install it as a HACS custom repository.

Repository:

https://github.com/mtwhitley/pulseline-card

Category:

Dashboard

Then search for PulseLine Card in HACS and download it.

Minimal example

type: custom:pulseline-card
entity: sensor.sleep_score
name: Sleep Score



Example with Kudos and sparkline

type: custom:pulseline-card
entity: sensor.pm25
name: PM 2.5
icon: mdi:dots-grid
accent_color: "#00ff00"
supporting_row:
  type: kudos
  kudos_rules:
    - min: 0
      max: 50
      label: Good
    - min: 51
      max: 100
      label: Fair
      color: "#ffff00"
      icon: mdi:arrow-top-right-thick
      accent_override: true
    - min: 101
      label: Poor
      color: "#ff0000"
      icon: mdi:arrow-up-bold
      accent_override: true
footer_row:
  type: sparkline_values
  x_values: 7



Example with Recent Days sparkline

type: custom:pulseline-card
entity: sensor.sleep_score
name: Sleep Score
icon: mdi:power-sleep
accent_color: "#8b5cf6"
display_style: score
score_max: 100
footer_row:
  type: sparkline_days



Dual mode with Kudos example

type: custom:pulseline-card
card_mode: dual
entity: sensor.systolic
entity_2: sensor.diastolic
icon: mdi:arrow-expand-horizontal
accent_color: "#ff0000"
value_precision: 0
supporting_row:
  type: kudos
  kudos_rules:
    - min: 0
      max: 120
      label: Normal
    - min: 121
      max: 139
      label: Elevated
    - min: 140
      label: High

The full README has more examples and configuration details: