You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Carlo Costanzo b06565e0a7
Refine BearClaw infrastructure health alerts
1 month ago
..
bedroom feat: add purpose-built bedroom and kitchen kiosks 2 months ago
infrastructure Refine BearClaw infrastructure health alerts 1 month ago
kiosk feat: add purpose-built bedroom and kitchen kiosks 2 months ago
kiosk_satellite_staging Expand Rheem diagnostics and Kiosk Satellite staging 1 month ago
overview Defer family route history retest 1 month ago
shared Add YAML dashboards and enable Lovelace YAML mode 8 months ago
README.md Expand Rheem diagnostics and Kiosk Satellite staging 1 month ago
SCRATCHPAD.md Dashboards: HA 2026.8 Lovelace wiring + validation 8 months ago
resources.yaml feat(kiosk): add contextual event detail views 2 months ago

README.md

Bear Stone Smart Home
Bear Stone Smart Home Documentation

Be sure to ⭐ my configuration repo so you can keep up to date on any daily progress!

X Follow YouTube Subscribe GitHub Stars
HA Version Badge Last Commit Commit Activity

Dashboards (Lovelace YAML)

This folder holds YAML-managed Home Assistant Lovelace dashboards and UI resources.

Walkthrough

  • Mobile quick-access video: Watch on YouTube
  • Mobile quick-access companion post: vCloudInfo Blog Post
  • Video: Watch on YouTube
  • Companion post: vCloudInfo Blog Post
  • Kiosk camera tablet video: Watch on YouTube

Why this exists

  • Home Assistant stores dashboards and resources in config/.storage/ by default (runtime state).
  • YAML dashboards make the UI version-controllable and editable by automation tools (including Codex).

What is in here

  • resources.yaml
    • Lovelace JS resources used by custom cards (HACS and local resources).
    • This is used when lovelace.resource_mode: yaml is enabled.
  • SCRATCHPAD.md
    • Parking lot for multi-step dashboard work and patterns.
  • <dashboard>/
    • One folder per dashboard (example: overview/, infrastructure/, kiosk/).
    • dashboard.yaml is the dashboard entrypoint.
    • views/ contains one YAML file per view.
    • partials/ is reusable card lists included into views.
    • popups/ is reusable standalone popup cards (typically bubble-card) included into views.
    • card_mod/ is CSS overrides (use only when card-native options are insufficient).
  • shared/
    • Cross-dashboard reuse only. If something is only used by one dashboard, keep it in that dashboard folder.

Mobile Quick Access

  • Mobile is the second visible Overview view, directly after Home and before Cameras.
  • Two-column controls use large labels, states, icons, and touch targets for quick use without glasses.
  • Primary actions cover garage doors, the front-door lock, thermostats, household alerts, and entry-point status.
  • Packages opens the doorbell camera; Systems opens the desktop control center; destination views place a large Back to Home control at the top.

Event-Driven Kiosk Dashboards

  • Logic and recovery package: YAML source: kiosk_tablet
  • Bedroom dashboard: YAML source: dashboard
  • Bedroom landscape view: YAML source: 01_home
  • Android 5 renderer: HTML source: bedroom-kiosk
  • Kiosk Satellite preview: YAML source: dashboard
  • Kitchen tablet view: YAML source: 01_home
  • Automatic day/night theme: YAML source: kiosk_satellite

The displays share only the reusable event and screen-policy state they need. Kitchen keeps its clock/current-weather/forecast banner and rotating household context, including the next confirmed cruise countdown, while the fixed-landscape Bedroom dashboard omits the redundant clock and uses that space for the next wake alarm, security/weather context, larger Front Lawn and Driveway feeds, and a readable household alert. Both use the same Garage-then-Front-Door event priority, with Garage held for three minutes after both doors close before the default dashboard returns. The canonical Bedroom Lovelace view and its Android 5 lightweight renderer consume the same camera, header, and alert sensors; the renderer bypasses only the unsupported Home Assistant frontend on the frozen Fire WebView. Kitchen uses native Kiosk Satellite camera overlays and idle dimming; Home Assistant handles only household sleep/away enforcement, volume, and event-camera wake instead of periodically forcing the screen on. Nearby rain or lightning starts one five-minute NOAA radar takeover during daylight; afterward, the rotating Storms Approaching banner can replay the latest 20-minute radar loop while the weather event remains active. Actionable NWS, package, family-location, entry-point, Phyn, and low-hot-water slides open a shared short-lived detail surface; the family map centers only the person named by the tapped slide and shows that person's prior 24-hour trail, while a closed Phyn main valve can be restored only from its detail view after explicit confirmation. The ambient wall remains in place after sunset. True idle panel-off remains disabled until the Crown LineageOS device has a reliable motion-wake input. Its device schedule changes the Home Assistant theme between light at 07:00 and dark at 19:00. Other clients follow their own system preference.

Kitchen's native Kiosk Satellite overlays use the imported Home Assistant camera entities, with HLS preferred over WebRTC on the Fire/WebView-class Kitchen Show display.

How it is wired into Home Assistant

This folder is referenced from config/configuration.yaml via:

  • lovelace.resource_mode: yaml
  • lovelace.resources: !include dashboards/resources.yaml
  • lovelace.dashboards: ...
  • frontend.themes: !include_dir_merge_named themes loads the tablet palettes; the Kitchen Show uses the fixed-dark theme while the Bedroom Lovelace view can still follow client light/dark mode.
    • Default Overview YAML dashboard: lovelace.dashboards.lovelace.filename: ui-lovelace.yaml
    • Additional YAML dashboards: filename: dashboards/<dashboard>/dashboard.yaml
    • dashboard-bedroom is the canonical Bedroom desktop-review and future-hardware route; it is hidden from the sidebar and linked from the Bedroom Tablet snapshot on Systems' Kiosks tab. The current Android 5 Fire uses the equivalent lightweight renderer under www/.
    • dashboard-kiosk-satellite-staging is the hidden validation surface for the shared Kiosk Satellite camera view.
    • Systems' visible Kiosks tab sits immediately before Joanna and combines attention telemetry with the latest Bedroom Tablet and Kitchen Show screenshots; tapping either snapshot opens that display's live dashboard.
    • The Systems Joanna page links to BearClaw Admin from Dispatch Trend and to a hidden AI Diagnostics subview that shows the latest OpenAI instructions and response together; LLM Vision production diagnostics and retired QMD health telemetry are not shown.
    • Overview's second visible view is Mobile, a phone-first quick-control surface for garage doors, the front-door lock, thermostats, and compact household alerts.
    • Overview Home uses ordered production sections under overview/sections/; approved pilot edits now apply directly there.
    • Overview Home's Windows ribbon opens a dedicated GPIO entry-point subview with perimeter, MQTT, and individual contact status.
    • dashboard-infrastructure is presented as Systems while retaining its stable URL; it owns Home Water, Vacuum, network, compute, storage, and service drill-downs, including hidden WAN/Pi-hole/website detail views.

Note:

  • Do not use legacy lovelace.mode: yaml (removed in Home Assistant 2026.8).

Lovelace resources are loaded from:

  • config/dashboards/resources.yaml (referenced by lovelace.resources)

Migration / Cutover Notes

  • During migration you may have both storage dashboards (from the UI) and YAML dashboards (from this folder) at the same time.
  • Do not try to create YAML dashboards with the same dashboard ID/key as an existing storage dashboard; remove/disable the storage version first in the UI.
  • Once you confirm the YAML dashboards render correctly:
    • Hide or delete the old storage dashboards in Settings -> Dashboards.
    • Keep strategies/dynamic dashboards in storage (Map, Areas, etc.) unless you intentionally export them.

Conventions

  • Include paths in Lovelace YAML should use absolute container paths starting with /config/.
    • Example: !include /config/dashboards/overview/partials/some_cards.yaml
  • Views are loaded using !include_dir_list and ordered by filename (prefix with 01_, 02_, etc.).
  • Systems views are desktop-first and dense by default: use type: sections, max_columns: 4, and dense_section_placement: true on every standard view.
    • Use responsive layout-card grids with min-content rows inside full-width section wrappers so panels pack tightly without fixed-height gaps.
    • Keep related panels similar in height, avoid spacer cards, and verify both desktop and single-column mobile layouts.
    • Keep WAN telemetry, compact dual Pi-hole controls, and current website health together on the Network view; reserve hidden subviews for detailed Pi-hole analytics and domain/monitor telemetry.
    • Use primary KPI tiles as the canonical drill-down entry point instead of repeating navigation rows at the bottom of a view.
    • Treat NAS long-term statistics as the Docker capacity source of truth; keep host cleanup controls in full-width, single-column maintenance popups.
  • Major Overview redesigns use a hidden -staging dashboard for review and keep production view paths unchanged until explicit promotion approval.
  • Overview is the daily home page: preserve people, climate, lighting, cameras, weather, and frequently used controls while bubbling up a compact mix of actionable system state and key household context.
  • Home Water and Vacuum live under Systems; personal Health remains under Overview. Detailed Salt Trends, Sprinklers, and Vacuum Map views are Systems subviews.
  • Prefer card-native styling; treat card_mod as a last resort.
  • Prefer CSS variables (var(--*)) over hardcoded hex colors.
  • When using the Stitch MCP for inspiration, generation may exceed the tool timeout; wait and then fetch results via stitch/list_screens and stitch/get_screen.

Notes

  • Do not edit config/.storage by hand. Export once, then maintain the YAML files here.
  • It is safe to restart Home Assistant after dashboard changes as long as a configuration check passes first.

All of my configuration files are tested against the most stable version of home-assistant.

Still have questions on my Config?
Message me on X : Follow CCostan

Buy me a coffeeYou can buy me a coffeeBuy me a coffee

Affiliate Disclosure

Powered by TurnKey Linux.