Skip to content

Examples

Andrew Blackburn edited this page Aug 27, 2026 · 11 revisions

Examples

These examples are starting points. Replace entity ids and paths with your own Home Assistant setup.

Screenshot Gallery

See Screenshots for the full screenshot gallery.

Area Card: Simple Room Navigation

type: custom:orbit-area-card
area: lounge
area_name: Lounge
color: gold
main_entity: climate.lounge_heating
tap_action:
  action: navigate
  navigation_path: /dashboard-main/lounge
status1: sensor.lounge_temperature
status2: sensor.lounge_humidity
button1: light.lounge_lights
curve_button1: scene.movie_time
curve_button2: script.good_night

Area Card: Light Colour Accent

type: custom:orbit-area-card
area: kitchen
area_name: Kitchen
main_entity: light.kitchen_lights
color: light
tap_action:
  action: navigate
  navigation_path: /dashboard-main/kitchen
button1: light.kitchen_cabinets
button2: switch.kitchen_sockets

Area Card: Curved Button Actions

type: custom:orbit-area-card
area: bedroom
main_entity: light.bedroom_lights
curve_buttons_lock_position: true
curve_button1: scene.bedtime
curve_button1_icon: mdi:weather-night
curve_button1_tap_action:
  action: call-service
  service: scene.turn_on
  service_data:
    entity_id: scene.bedtime
curve_button2: cover.bedroom_blind
curve_button2_tap_action:
  action: toggle
curve_button2_hold_action:
  action: more-info

Status Card: Heating Status

type: custom:orbit-status-card
mode: standard
state_source: entity
entity: sensor.heating_state
name: Heating
color_on: red
color_off: theme
tap_action:
  action: navigate
  navigation_path: /dashboard-heating/heating-control
entity_tap_action:
  action: more-info

Status Card: Collection Day Badge

type: custom:orbit-status-card
mode: icon_only
state_source: template
icon: mdi:recycle
color_on: green
color_off: theme
state_template: >-
  {{ state_attr('sensor.recycle_collection', 'daysTo') }}
active_template: >-
  {{ state_attr('sensor.recycle_collection', 'daysTo') | int < 2 }}

Status Card: Area Light Count

type: custom:orbit-status-card
mode: standard
state_source: area_count
area:
  - kitchen
  - dining_room
domain: light
name: Lights on
color_on: amber

The card defaults to Current activity (24-hour logbook with Current/All scope), while the icon defaults to the Current state details/control dialog.

Status Card: High Power Sensors

type: custom:orbit-status-card
mode: standard
state_source: area_count
area: utility_room
domain: sensor
device_class: power
thresholds:
  power:
    value: 1000
    direction: above
name: High power
color_on: red

Power values are normalized to watts before comparison, so sensors reported in kW can be counted against the same threshold.

Status Card: Mixed Icon Group

type: custom:orbit-status-card
mode: icon_only
wrap: true
items_per_row: 3
separate_cards: true
entities:
  - state_source: entity
    entity: sensor.unavailable_entities
    icon: mdi:alert-circle-outline
    color_on: red
  - state_source: area_count
    area: kitchen
    domain: light
    color_on: amber
  - state_source: template
    state_template: >-
      {{ states('sensor.consumer_unit_power') | float(0) | round(0) }}
    active_template: >-
      {{ states('sensor.consumer_unit_power') | float(0) > 50 }}
    icon: mdi:flash
    color_on: blue

Status Badge: Area Light Count

type: custom:orbit-status-badge
state_source: area_count
area:
  - kitchen
  - dining_room
domain: light
hide:
  - hidden
  - label: maintenance

Tap uses the built-in Current state action by default, opening a dialog with active entity details and supported off/close/lock controls.

Status Badge: Low Batteries

type: custom:orbit-status-badge
state_source: area_count
area:
  - ground_floor
  - first_floor
domain: sensor
device_class: battery
threshold: 15
hide:
  - hidden

The count uses each device's percentage sensor when available and falls back to its binary low-battery sensor otherwise. Add low to hide to exclude those binary fallbacks.

Status Badge: Live Template

type: custom:orbit-status-badge
state_source: template
name: Net power
state_template: >-
  {{ (states('sensor.consumer_unit_power') | float(0)
      - states('sensor.boiler_power') | float(0)) | round(2) }} kW
active_template: >-
  {{ states('sensor.consumer_unit_power') | float(0) > 50 }}

Status Badge: Overlay Badge With Template Visibility

type: custom:orbit-status-badge
display_style: badge
card_visibility: template
state_source: template
entity: sensor.consumer_unit_power
active_template: >-
  {{ states('sensor.consumer_unit_power') | float(0) > 50 }}
inactive_template: >-
  {{ states('sensor.consumer_unit_power') | float(0) <= 50 }}
card_color: primary-color

Status Card: Icon Group

type: custom:orbit-status-card
mode: icon_only
wrap: true
items_per_row: 6
separate_cards: true
entities:
  - state_source: entity
    entity: sensor.unavailable_entities
    icon: mdi:alert-circle-outline
    color_on: red
  - state_source: entity
    entity: sensor.number_of_lights_on
    icon: mdi:lightbulb-group
    color_on: amber
  - state_source: entity
    entity: sensor.number_of_doors_open
    icon: mdi:door-open
    color_on: blue

Status Card: Person

type: custom:orbit-status-card
mode: person
entity: person.andrew
tracker_entity: device_tracker.andrew_phone
eta_entity: sensor.andrew_eta
battery_entity_1: sensor.andrew_phone_battery
battery_entity_2: sensor.andrew_watch_battery
tap_action:
  action: more-info

Action Card: Scene

type: custom:orbit-action-card
main_entity: scene.movie_time
color: purple
icon: mdi:movie-open

Action Card: Group

type: custom:orbit-action-card
wrap: true
actions_per_row: 4
separate_cards: true
entities:
  - entity: scene.movie_time
    color: purple
    icon: mdi:movie-open
  - entity: script.good_night
    color: blue
    icon: mdi:weather-night
  - entity: automation.motion_lights
    color: amber
    icon: mdi:motion-sensor
  - entity: button.restart_router
    color: red
    icon: mdi:router-wireless-settings

Deck Card: Wrapped Cards

Use Deck Card when you want several normal Lovelace cards to behave like one grouped layout.

type: custom:orbit-deck-card
layout: wrap
items_per_row: 4
separate_cards: false
decks:
  - attributes: {}
    card:
      type: tile
      entity: light.kitchen_lights
      vertical: true
  - attributes: {}
    card:
      type: tile
      entity: light.office_lights
      vertical: true
  - attributes: {}
    card:
      type: tile
      entity: light.wetroom_lights
      vertical: true

Deck Card: Joined Gauge Group

Use separate_cards: false when child cards should appear as a single grouped surface.

type: custom:orbit-deck-card
layout: wrap
items_per_row: 4
separate_cards: false
decks:
  - attributes:
      padding_top: 5px
      padding_bottom: 0px
      padding_left: 0px
      padding_right: 0px
    card:
      type: gauge
      entity: sensor.main_import_power
      name: Electric
  - attributes: {}
    card:
      type: gauge
      entity: sensor.boiler_power
      name: Boiler
  - attributes: {}
    card:
      type: gauge
      entity: sensor.ups_battery
      name: UPS Battery
  - attributes: {}
    card:
      type: gauge
      entity: sensor.ups_runtime
      name: UPS Time

Deck Card: Tabs

Tabs let you keep several cards in the same dashboard position and switch between them.

type: custom:orbit-deck-card
layout: tabs
decks:
  - attributes:
      icon: mdi:home
      name: Home
      default: true
    card:
      type: entities
      entities:
        - light.lounge
        - light.kitchen
  - attributes:
      icon: mdi:flash
      name: Energy
    card:
      type: history-graph
      entities:
        - sensor.main_import_power

Deck Card: Per-Tab Action Override

Deck Card actions live under each item's attributes. If no Deck Card action is configured, the child card keeps its own default action.

type: custom:orbit-deck-card
layout: tabs
decks:
  - attributes:
      icon: mdi:flash
      name: Energy
      tap_action:
        action: navigate
        navigation_path: /dashboard-energy
    card:
      type: entities
      entities:
        - sensor.main_import_power
        - sensor.main_export_power
  - attributes:
      icon: mdi:thermometer
      name: Climate
    card:
      type: thermostat
      entity: climate.lounge

Deck Card: Overlay Controls

Overlay layout uses the first item as the main card and places later cards or badges over it. Position values are pixels from the main card's top-left corner.

type: custom:orbit-deck-card
layout: overlay
decks:
  - attributes:
      force_padding: true
      padding_right: 72px
    card:
      type: picture-entity
      entity: camera.front_door
  - attributes:
      left: 12
      top: 12
      width: 48
      height: 48
      transparent_background: true
    badge:
      type: entity
      entity: binary_sensor.front_door
  - attributes:
      left: 240
      top: 72
      width: 64
      fit: resize
      transparent_background: true
    card:
      type: button
      entity: light.porch

Leave width and height unset to keep the child's natural size. Use fit: crop when the configured dimensions should clip rather than scale the child.

Browser Mod Popup

type: custom:orbit-status-card
mode: icon_only
entity: sensor.number_of_lights_on
icon: mdi:lightbulb-group
tap_action:
  action: popup
  popup_title: Lights
  popup_content:
    type: vertical-stack
    cards:
      - type: tile
        entity: light.living_room
      - type: tile
        entity: light.kitchen

Clone this wiki locally