Skip to content
cataseven edited this page Jul 30, 2026 · 2 revisions

General Settings

Navigate: Configuration overview · Entity Settings · Visual Editor · Option Index

Card-level options, organized to match the six tabs in the visual editor.

General Settings tabs

Many rows below end with a mode restriction (Timeline mode only, Pie mode only, …). Since v3.32 the visual editor enforces those restrictions for you: an option that does nothing in the selected chart mode is hidden, down to the individual field. A section heading disappears once every field under it is hidden, a tab once all its sections are, and you are moved to the first surviving tab. Nothing is lost when a field is hidden — the option keeps its YAML value and reappears as soon as you switch back to a mode that uses it.

Chart

Chart mode, data window, aggregation density, scrolling, legends, animation, exports, and mode-specific presentation.

Option Type Default Description
chart_mode string "timeline" Chart visualization mode. See Chart Modes. timeline | scatter | pie | ranking | radialbar | polararea | radar | heatmap | calendar | gauge | box | waterfall | histogram
sparkline boolean false Compact mode — strips all chrome (header, axes, grid, toolbar) and renders tiny inline graphs. See Sparkline Mode. Only available in Timeline mode.
waterfall_total boolean true Waterfall mode only — append the automatic Total bar (running total from zero) at the end. Set false to hide it.
histogram_bins number auto Histogram mode only — fixed number of bins (2–80). Leave empty for automatic bin sizing via Freedman–Diaconis (clamped to 5–40).
hours_to_show number 24 Hours of history to load and display. Ignored whenever graph_start is set (day, tomorrow, week, month, year) — the anchored period defines the range instead.
points_per_hour number 2 Data points fetched per hour (global default). Integer only. The editor offers the common divisors of 60 (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60) so buckets tile an hour cleanly; YAML still accepts any integer.
auto_scale_points boolean false Automatically pick bucket size and group_by based on the visible time window. Falls back to the configured values when any entity uses offset, forecast_horizon, or data_attribute. See Auto Scale Points.
auto_scale_rules list null Custom thresholds for Auto Scale — only active when auto_scale_points: true. Each rule maps a visible period to a bucketing: up_to_hours (number, required), group_by (same values as the main group_byinterval, hour, any Nh like 2h, date [day is accepted as an alias], week, month, year, raw), and an optional points_per_hour (only meaningful for group_by: interval). The smallest matching threshold wins; periods beyond every threshold fall back to the built-in auto scale. While Auto Scale is on, the resolved rule fully overrides the main group_by (bucketing and data fetching); the main value only applies when Auto Scale is off. See Auto Scale Points.
group_by string "interval" Bucketing strategy: interval / hour / 2h / 3h / 4h / 6h / 12h (any Nh works) / date / week / month / year / raw. Multi-hour values create fixed-width buckets aligned like hour. When set to week, month, or year, data is fetched using native HA statistics periods for accuracy and performance. See Long-Range Views. raw skips bucketing entirely — every recorded sample is drawn at its exact timestamp and points_per_hour is ignored — ideal for step charts of binary/state sensors. See Raw Grouping.
update_interval number null Auto-refresh interval in seconds. Empty = HA events only.
extended_window_multiplier number null (new in v3.29) Scrollback for the selected period: renders N× the period and opens scrolled to the newest part — the screen shows exactly the period you picked (same scale and buckets as without scrolling) and you can scroll back through the extra history. Follows the date picker: a Week view with 2 keeps one extra week scrollable behind the current one; the picker's header and arrows stay on the selected period. 1/empty = off. Overrides max_visible_interval while active. Timeline mode.
bar_spacing number 4 Gap between bar columns in pixels. Timeline mode only.
stacked boolean false Stack entities on top of each other. Timeline mode only. See Stacked Mode.
pie_style string "donut" Pie chart visual preset: classic (full pie), thick (wide donut), donut (default), or thin (narrow ring). Pie mode only.
pie_spacing number 0 Gap between pie slices in degrees (0–15). Spaced slices automatically get rounded corners. Pie mode only, donut styles only.
pie_3d boolean false Adds depth and a perspective effect to the pie chart with subtle shadows and a glossy highlight on top. Works with any pie_style. Pie mode only.
pie_label_font_size number null Font size in pixels of slice value labels (the per-slice numbers like "21.1 kWh"). Leave empty for auto-size based on chart radius. Pie mode only.
pie_label_color string null Color for slice value labels. Accepts any CSS color (hex, rgba, name) or CSS variable like var(--accent-color). Leave empty for auto white (high contrast against any slice color). Pie mode only.
pie_label_format string "value" What to show inside each pie slice: value (number with unit, e.g. "42.0 kWh"), percentage (share of the total, e.g. "23%"), or both (value followed by percentage). Precision is controlled by the entity's decimals setting — affects both value and percentage display. Pie mode only.
pie_center_font_size number null Font size in pixels of the center total value shown in the donut hole. Requires show_tooltip_total: true. Leave empty for auto-size. Pie mode only.
pie_center_color string null Color of the center total value and its sub-label (which inherits the same color with reduced opacity). Accepts any CSS color or variable. Leave empty for the theme default. Pie mode only.
show_grid boolean true Show grid lines. Available in Timeline and Scatter modes.
period_highlight boolean false Highlight the period under the cursor on bar charts. Hovering a bar shades a background band spanning that whole period, making it easy to see where each period begins and ends — especially with multiple entities drawn side by side. Works whether or not show_tooltip is enabled. Timeline mode, bar charts. See Period Highlight.
period_highlight_color string null Color of the period-highlight band. Accepts any CSS color (hex, rgba, name) or variable; you can also theme it globally with the --sgc-period-highlight-color CSS variable. Leave empty for a subtle theme grey. Requires period_highlight: true.
show_legend boolean false Show a compact color-coded entity name key below the graph. Click any item to temporarily toggle that entity's visibility on the graph. For per-entity stats, use the entity-level Legend toggle.
auto_hide_entities boolean false Start every entity hidden — the plot begins empty and you reveal series by clicking them in the legend. Reveals stick for the session; entities added later also start hidden. Best paired with show_legend: true.
legend_position string "center" Position of the compact legend: left / center / right. The legend flows inline at the chosen alignment.
include_area_names boolean false Append each entity's Home Assistant area to its name across the state row, legend, tooltip, stats and exports — e.g. Heating Temperature · Lounge. Every entity with an area gets it (no duplicate detection, so the legend doesn't change shape when you add or remove an unrelated entity). The area comes from the entity's area, or its device's area as a fallback; if neither resolves the name is unchanged, and a name that already contains its area isn't doubled up. An explicit name: is never modified. Comparison ghosts inherit their parent's suffix. See Area names.
include_attribute_name boolean false Append the plotted attribute to each entity's name in the same places — e.g. Lounge Heating · Current temperature (v3.32). Rows that plot the entity state itself have no attribute and are left alone, as are entities with an explicit name:. Uses Home Assistant's own translated attribute name where one exists, otherwise a humanised form of the attribute key.
use_only_attribute_name boolean false Like include_attribute_name, but shows only the attribute — Current temperature instead of Lounge Heating · Current temperature (v3.32). The two are alternatives: the visual editor turns one off when you switch the other on, and in YAML this one wins if both are set. Combines with include_area_names to give Current temperature · Lounge.
animate_graph boolean false Draw-in animation on load (Timeline mode): lines sweep in along their length and bars grow up from the baseline. Also enables a grow-in animation on every data refresh for Pie, Radial Bar, Polar Area, Gauge, Radar, Ranking and Scatter modes — slices, arcs, bars and points sweep out from zero whenever the underlying values change.
max_visible_interval number null Maximum visible time range in hours. Enables horizontal scrolling. Works in Timeline and State Timeline modes.
scroll_mode string "scrollbar" How the scroll works when max_visible_interval is active. scrollbar (default) shows a bottom scrollbar; wheel hides it and lets the mouse wheel scroll horizontally.
state_timeline_corner_radius number 3 Roundness of state_timeline segment corners, in pixels. 0 = sharp edges. Larger values produce rounder / pill-shaped segments (capped at half the row height). State Timeline mode only. Advanced users can also target the sgc-stl-cell CSS class from card_mod for per-state styling.
state_timeline_show_labels boolean true Show the state labels drawn inside state_timeline segments. Set to false for clean, label-free color bands — the tooltip still names each state on hover. Labels only render in segments wide enough to fit them anyway. Accepts {{ }} templates — see Template Toggles. State Timeline mode only.
state_timeline_label_font_size number 10 / 11 Font size in pixels (6–40) of the state label inside each state_timeline segment and of the entity name in the label column on the left (v3.32). Defaults differ when unset: 10 inside segments, 11 for entity names. Both budgets scale with it — segments show fewer characters with an ellipsis, entity names wrap onto up to three lines and rows grow to fit. The segment label additionally requires state_timeline_show_labels. State Timeline mode only. (v3.31)
ranking_min_value number null Hide entities whose absolute value falls below this threshold. Ranking mode only. Useful for energy / power rankings where idle or standby devices would otherwise crowd the chart — set to e.g. 5 to drop appliances reading under 5 W. Leave empty for no filter.
gauge_columns number null Number of gauge columns in the grid (Gauge mode). Empty / 0 = auto (fits as many dials as the width allows).
gauge_span number 270 Arc sweep of each gauge in degrees, 90360. 180 = top semicircle; 270 = classic open-bottom dial. Gauge mode only.
gauge_value_position string "below" Where the value is drawn relative to the dial: below (default) or above. The value sits just outside the arc, clear of the needle. Gauge mode only.
gauge_value_size number null Font size of the gauge value in pixels. Empty = auto-size from the gauge. Gauge mode only.
gauge_show_minmax boolean false Show the dial's lower/upper bound labels at the two arc ends (e.g. 0 and 30). Gauge mode only.
show_export boolean false Show a small download icon overlaying the top-right corner of the card. Clicking it opens a menu — Download PNG (Chart) / Download PNG (Card) / Download CSV — exporting the current view ("export what you see": a zoomed chart exports the zoomed range). The Card variant captures the entire card — header, chart, state row, and legend. Hidden in sparkline mode. Accepts {{ }} templates — see Template Toggles. See PNG / CSV Export.

Card

Header, icon, card sizing, layout, borders, background, and typography.

card-mod: since v3.32 styles injected by card-mod survive a page reload — the card no longer discards them when it builds its insides on the first history fetch. Where a card_* option and a card-mod rule set the same property (e.g. card_background_color vs. ha-card { background: ... }), the built-in option wins, because the card writes it as an inline style. Use one or the other, or add !important to the card-mod rule.

Option Type Default Description
card_header string "" Title shown at the top. Leave empty to hide.
card_icon string null MDI icon next to the title, e.g. mdi:thermometer
card_icon_image string null URL to a custom image. Overrides card_icon.
card_icon_color string null Color of the header icon (CSS color). Set to "threshold" to color dynamically based on the first entity's value and its color threshold rules.
card_header_size string null Font size of the title and battery icon. The battery indicator scales proportionally with this value. Accepts CSS values like 16px or 1.2em.
card_icon_size string null Size of the header icon, e.g. 22px
card_icon_position string "left" Header icon position: left or right
card_shadow boolean true Show the default HA card drop shadow. Disable for a flat look or when the card sits on a decorated background.
card_border boolean true Show the default HA card border. Disable for a cleaner borderless appearance.
align_header string "left" Header alignment: left / center / right
state_layout string "default" State row layout: default (vertical stack) or horizontal. Horizontal flows entities side by side in a single row, wrapping if needed. Left/centre/right placement of individual rows is per entity, via the entity-level align_state option.
chart_align string "center" Horizontal alignment of the Ranking chart within the card. center (default) keeps the chart centered in the card. left pins it to the left edge — the name-label strip shrinks so bars start closer to the left. right mirrors the layout to the right edge — bars grow from right to left with name labels on the right. Ranking mode only.
height number / auto 150 Graph area height in pixels. Set to auto (or leave the editor's Height field empty) to fill the grid cell instead — the card then participates in Home Assistant's Sections layout sizing. See Sections Auto-height.
card_background_color color null Custom background color for the card. Accepts any CSS color (hex, rgba, name). Use rgba(R, G, B, A) for translucent cards. Replaces card_mod workarounds — this value persists across re-renders.
card_padding string/number null Inner spacing of the card. Accepts a single number (treated as px) or any CSS shorthand like 8px 16px or 0. Leave empty for theme default.
card_border_radius string/number null Roundness of the card corners. Accepts a number (px) or any CSS value like 12px, 1rem, 0. Leave empty for theme default.
card_border_color color null Custom color for the card border. Only effective when card_border is true. Accepts any CSS color or variable.
card_border_width string/number null Border thickness. Accepts a number (px) or any CSS value like 2px. Only effective when card_border is true.
card_background_image string null URL of an image to use as the card background. Local files in /config/www/ resolve via friendly paths — local/photos/sunset.jpg, photos/sunset.jpg, and /local/photos/sunset.jpg all work, as do external URLs (https://...). The image overlays the background color (use rgba(...) colors for translucent overlays that show the image through).
card_background_blur number null Blur amount in pixels applied to card_background_image only. The chart, header, and other content stay sharp. 0 or empty = no blur. Useful for soft, atmospheric backgrounds (try 412).
card_header_color color null Custom color for the header title text. Accepts any CSS color or variable. Leave empty for theme default.
card_header_weight string/number null Header text font weight. Accepts CSS keywords (light, normal, bold) or numbers (300, 400, 600, 700). Leave empty for theme default.
card_header_letter_spacing string/number null Header letter spacing. Accepts a number (treated as px) or any CSS value like 0.5px, normal, -0.02em. Leave empty for theme default.

Overlay

Tooltips, on-card controls, synchronization, annotations, and battery status.

Option Type Default Description
battery_entity string null Entity ID reporting battery level (0–100%). Shows a color-coded battery icon with percentage in the header (when header exists) or state row (when no header). See Battery Icon.
battery_low_threshold string/number 20 Battery percentage below which the icon turns red. Accepts a number, entity ID (sensor.x), or entity attribute (sensor.x.attribute).
show_tooltip boolean true Show hover tooltip with crosshair
show_tooltip_total boolean true Controls total/summary displays across chart modes. Timeline: Total row in tooltip — the unit is appended when every visible entity shares it (e.g. "6.20 kWh"). Pie/Polar Area: total in donut center (off = full pie). Radial Bar: average in center. Ranking: percentage labels on bars and Share row in tooltip. Waterfall: Running total row in tooltip. Histogram: Share row (bin's share of all samples) in tooltip. Not used in Scatter.
tooltip_stacked_total boolean true When the chart is stacked with 2+ stack groups, adds a per-group total row to the tooltip — labelled with the group name (e.g. "Apples Total") — for each named group. Independent of show_tooltip_total: with both on, the tooltip shows the per-group totals and the grand Total of all entities. Timeline mode. See Stacked Groups.
tooltip_match_axis boolean false Format the tooltip's date header exactly like the X-axis labels. On long-range views shows e.g. "May 26" instead of a full timestamp (ignoring datetime_format, just as the axis does). It never appends a time to a date: Month / Year / day views show the date only, intraday (hour) views show the clock only. Timeline mode.
tooltip_order string "default" Order of the entity rows inside the tooltip: default (configuration order, first entity on top), reverse (bottom-to-top — matches a stacked chart's visual order so the topmost stacked segment is listed first), or alphabetic (A→Z by display name). The Total row, when shown, always stays at the bottom. Timeline mode.
show_interval_picker boolean false Show quick-select time range buttons on the card. Default set: 1H, 2H, 4H, 8H, 12H, 24H, 7D. Customize with interval_options.
interval_picker_position string "left" Position of the interval picker: left / center / right
interval_picker_group string null Named group for interval picker sync — works exactly like date_picker_group: cards sharing the name follow the selected interval together, and receivers don't need show_interval_picker.
interval_options list null Which interval buttons to show. Example: ["2H", "12H", "24H", "7D"]. When not set, the default compact set (1H–24H + 7D) is used. Available labels: 1H, 2H, 4H, 8H, 12H, 24H, 3D, 7D, 14D, 30D, 90D, 6M, 1Y.
show_attribute_list boolean false Show per-entity attribute dropdown selectors on the card
attribute_list_position string "left" Position of the attribute list: left / center / right
show_pph_picker boolean false Show a Points/Hour dropdown on the card itself. The pick persists per card, takes priority over Auto Scale, and Auto returns to the configured value.
pph_picker_position string "left" Position of the Points/Hour picker: left / center / right
pph_picker_group string null Named group syncing the Points/Hour selection across cards — receivers don't need the picker visible. Independent from group_by_picker_group.
show_group_by_picker boolean false Show a Group By dropdown on the card (Interval, Hour, 2H–12H, Date, Week, Month, Year). Persists per card; Auto returns to the configured value.
group_by_picker_position string "left" Position of the Group By picker: left / center / right
group_by_picker_group string null Named group syncing the Group By selection across cards. Independent from pph_picker_group.
tooltip_sync boolean false Broadcast hovered timestamp to other synced cards. Timeline mode only.
tooltip_sync_group string null Named group for tooltip sync. Cards with the same name sync only with each other. Leave empty to sync with other ungrouped cards only — an empty group never matches a named one.
drill_down boolean false Click a single bucket on the graph to reload the card for just that bucket, at the finer resolution the shorter window allows — click a month bar to see its days, a day to see its hours. Each click pushes a level onto a stack (20 deep); double-click steps back out one level, unwinding any brush zoom first. Unlike zooming this refetches history at the finer resolution, so it shows detail the original chart did not contain. Clicking empty space, a bucket under a minute long, or a bucket that already fills the view, does nothing. Any date picker or interval picker change — including one arriving from a synced card — drops every drill level and returns to that period. Shares the click handler with Brush Zooming, so it does nothing while brush_zoom: false. Timeline mode only. Broadcasts through zoom_sync when that is on. See Drill Down.
zoom_sync boolean false When you brush-zoom (or double-click to reset) on this card, the same time window is applied to all other cards sharing the group. Broadcasting requires Brush Zooming, which is Timeline-only — but State Timeline cards can receive and follow a synced window, so the option is available in Timeline and State Timeline. See Zoom Sync.
zoom_sync_group string null Named group for zoom sync. Cards with the same name sync only with each other. Leave empty to sync with other ungrouped cards only — an empty group never matches a named one.
scroll_sync boolean false Mirror horizontal scrolling across all other cards in the same group. Most useful when max_visible_interval is set so the chart is actually scrollable. Works in Timeline and State Timeline modes. See Scroll Sync.
scroll_sync_group string null Named group for scroll sync. Cards with the same name sync only with each other. Leave empty to sync with other ungrouped cards only — an empty group never matches a named one.
energy_date_sync boolean false Sync the card's time range with HA's Energy dashboard date picker or the energy-period-selector-plus custom card. When the user selects a date range, this card automatically updates to show the same period. See Energy Date Sync.
annotations list [] Reference lines and markers on the graph. Timeline mode only. See Annotations.

X Axis

Time labels, tick spacing, visibility, grid styling, and the current-time marker.

Option Type Default Description
x_axis_font_size number null Font size of X-axis time labels in pixels. Default is 10 (9 in Heatmap). Applies in Timeline, State Timeline, Scatter, Heatmap and Calendar.
x_axis_font_opacity number null Opacity of X-axis labels. 0 = invisible, 1 = fully opaque. Default is 0.5 in Timeline / State Timeline (0.55 in Scatter, 1 in Heatmap and Calendar). Applies in Timeline, State Timeline, Scatter, Heatmap and Calendar.
x_axis_color string null Custom color for X-axis time labels and tick marks. Accepts any CSS color or CSS variable. Leave empty for theme default. Applies in Timeline, State Timeline, Scatter, Heatmap and Calendar.
x_axis_date_color string null Custom color for X-axis date markers (the bold date dividers shown in 12+ hour views). Defaults to --primary-color so dates stand out. Set to match x_axis_color for a uniform axis. In State Timeline it colors the labels when the visible range spans more than a day, and defaults to the X label color there.
x_axis_interval string null Manual X-axis tick spacing. Values: 1h12h, 1d, 2d, 7d, 1w, 2w, 1M, 3M. Ticks snap to clean boundaries (hour starts, midnight, Mondays, 1st of month). Leave empty for auto.
datetime_format string "system" Controls how timestamps appear on the X-axis, tooltips, and extrema labels. See Date Formats.
x_grid_style string "dashed" Line pattern for vertical (X-axis) grid lines: dashed, solid, dotted, or long-dash.
x_grid_width number 1 Thickness of vertical grid lines in pixels.
x_grid_color string null Color of vertical grid lines. Accepts any CSS color, variable, or {{ }} template.
x_grid_opacity number 0.15 Opacity of vertical grid lines, from 0 (invisible) to 1 (fully opaque).
show_x_axis boolean true Show X axis labels (time in Timeline, values in Scatter). Available in Timeline and Scatter modes.
show_x_ticks boolean false Draw small tick marks at each X-axis label position.
show_now_line boolean true Show a vertical line marking the current moment on the graph. Timeline mode only.
now_line_color string null Color of the now line. Accepts any CSS color or variable. Leave empty for theme default.
now_line_opacity number null Opacity of the now line (0–1). Leave empty for default.
now_line_width number null Thickness of the now line in pixels. Leave empty for default.
now_line_style string null Line pattern for the now line: solid, dashed, dotted, or long-dash. Leave empty for default.

Y Axis

Primary and secondary scales, bounds, ticks, number formats, labels, and horizontal grid styling.

Option Type Default Description
min_bound_range number null Minimum span of the primary Y axis
min_bound_range_secondary number null Minimum span of the secondary Y axis. When combined with a locked lower_bound_secondary / upper_bound_secondary, the range grows only away from the locked edge — it won't push a locked bound past zero.
lower_bound string/number null Hard or soft minimum for the primary Y axis. See Bounds.
upper_bound string/number null Hard or soft maximum for the primary Y axis. See Bounds.
lower_bound_secondary string/number null Hard or soft minimum for the secondary Y axis. See Bounds.
upper_bound_secondary string/number null Hard or soft maximum for the secondary Y axis. See Bounds.
y_axis_ticks number 4 Number of tick marks (grid lines + labels) on the Y axis.
y_axis_decimals number null Number of decimal places for Y-axis labels. Overrides per-entity decimals for axis labels only — state row values are not affected. Leave empty for auto.
y_axis_number_format string "system" Controls how Y-axis tick numbers are formatted. system follows HA's locale (default); comma forces European style (1.234,56); dot forces American style (1,234.56). Independent from per-entity number_format, which still drives state row, tooltip and data label formatting. Pick the one that matches the audience of the dashboard.
y_axis_round_ticks boolean true Snap Y-axis tick values to clean round numbers (e.g. 0, 500, 1000, 1500) that fit within the data range without expanding it. Produces tidy, evenly-spaced labels similar to Excel's default. Disable to let tick values follow the exact data range.
show_y_axis_label boolean false Show vertical unit labels on the left and/or right edge of the graph. When enabled, defaults to the unit of measurement of the first entity on each axis.
y_axis_label string null Custom text for the left (primary) vertical axis label. Overrides the auto-detected unit. Requires show_y_axis_label: true.
y2_axis_label string null Custom text for the right (secondary) vertical axis label. Overrides the auto-detected unit. Requires show_y_axis_label: true.
y_axis_format string null Custom label format for the primary axis: a duration shorthand (h:mm, h:mm:ss, mm:ss, d h:mm) or a safe {expression} template (e.g. {fixed(value/1000,1)} kW). Also drives tooltips, data labels, the state row and the average-line label for entities on this axis. See Y-Axis Label Formats.
y2_axis_format string null Same as y_axis_format, for the secondary (right) axis and the entities plotted on it.
duration_unit string "s" Unit of the raw sensor value when a duration shorthand is used: s / ms / min / h — e.g. 5400 with h:mm shows 1:30. Ignored by {expression} templates.
y_axis_font_size number null Font size of Y-axis numeric labels in pixels. Default is 10.
y_axis_font_opacity number null Opacity of Y-axis labels. 0 = invisible, 1 = fully opaque. Default is 0.65.
y_axis_color string null Custom color for Y-axis labels and tick marks. Accepts any CSS color (hex, rgba, color name) or a CSS variable like var(--my-color). Leave empty for theme default.
y_grid_style string "dashed" Line pattern for horizontal (Y-axis) grid lines: dashed, solid, dotted, or long-dash. Also accepts a custom SVG stroke-dasharray like 6 2 2 2.
y_grid_width number 1 Thickness of horizontal grid lines in pixels. Accepts decimals like 0.5.
y_grid_color string null Color of horizontal grid lines. Accepts any CSS color, variable, or {{ }} template. Leave empty for theme default.
y_grid_opacity number 0.15 Opacity of horizontal grid lines, from 0 (invisible) to 1 (fully opaque). Lower values keep the grid subtle without competing with the data.
show_y_axis boolean true Show primary (left) Y axis value labels. Available in Timeline and Scatter modes.
show_y2_axis boolean false Show secondary (right) Y axis value labels independently. Hidden by default — enable it to show right-side labels. Only relevant when at least one entity uses y_axis: secondary; those entities stay plotted even while the axis labels are hidden.
show_y_ticks boolean false Draw small tick marks at each Y-axis label position.
logarithmic boolean false Logarithmic Y axis scale. Timeline mode only.

Calendar

Daily hour filtering, calendar anchoring, full-period display, and the built-in date picker.

Option Type Default Description
graph_start_hour number / entity null Daily start hour filter. Points before this hour each day are hidden, creating natural line breaks between days. Accepts a fixed number (6 = 06:00, 6.5 = 06:30) or a sensor entity ID (sensor.sunrise_hour) for dynamic values. Works with Date Picker: in Day mode trims the X-axis, in Week/Month/Year modes filters per day. See Dynamic Graph Hours.
graph_end_hour number / entity null Daily end hour filter. Points after this hour each day are hidden. Same format as graph_start_hour. Use with sensor.sunset_hour for sunrise-to-sunset views.
graph_start string null Snaps the graph start to a calendar boundary: day (today 00:00 — shown as Today in the editor; today is accepted as an alias), tomorrow (tomorrow 00:00 — ideal for next-day spot prices via data_attribute), week (Monday 00:00), month (1st of month), year (Jan 1st). When set to tomorrow, the window automatically extends to cover the full next day even without show_full_period. Ignored when the interval picker is active. See Long-Range Views.
show_full_period boolean false Extends the X-axis to cover the full calendar period instead of stopping at "now". A dashed vertical line marks the current time. Works with graph_start (week/month/year) and energy_date_sync. Not required for graph_start: tomorrow — that extends automatically. See Show Full Period.
show_date_picker boolean false Show a built-in date navigation bar with Day/Week/Month/Year buttons, arrow navigation, calendar popup, and preset ranges. Cannot be used together with energy_date_sync. See Date Picker.
date_picker_position string top Position of the date picker bar. top or bottom.
date_picker_nav_position string "left" Horizontal position of the ‹ period › navigator inside the picker bar: left / center / right.
date_picker_shortcuts_position string "right" Position of the D/W/M/Y shortcuts and the calendar icon: left / center / right. Sharing a zone with the navigator places the navigator first.
date_picker_group string null Named group for date picker sync. Cards with the same group name share date selection — change the date on one card and all cards in the group update together. Works even on cards without show_date_picker — a single card with a visible picker can control all other cards in the group.
date_picker_modes list null Which period buttons to show: day, week, month, year. Also accepts rolling modes (last_24h, last_3d, last_7d, last_15d, last_30d, last_90d, last_180d, last_12m) to show them as extra buttons (24H12M) next to D/W/M/Y. Example: [month, year] or [day, last_7d, last_30d]. When only one mode is listed, the buttons are hidden and the navigation is centered. Default (null) = the four calendar modes (rolling ones off).
date_picker_default_mode string null Forces the date picker to always open in a specific mode regardless of the last-used state. Calendar modes: day, week, month, year. Rolling windows that end at now: last_24h, last_3d, last_7d, last_15d, last_30d, last_90d, last_180d, last_12m (e.g. last_7d = the last 7 days; prev/next jumps a full period). Leave empty (default) for Auto — the picker remembers the last mode you selected. Useful on shared dashboards where you always want the picker to start on, say, Month or the last 30 days.
date_picker_step number 1 Window width in units of the selected mode. 1 = single-unit window (legacy behavior — one day, one month, etc.). >1 turns the picker into a rolling N-unit window: prev/next buttons jump a full N units at a time. Example: 4 with week mode shows the last 4 weeks and navigates back/forward 4 weeks per click. See Date Picker → Window Step.

Related pages

Clone this wiki locally