Skip to content

r0n0c/mornin_dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ… Morning Launchpad (v3.0)

A high-visibility, "lean-back" dashboard designed for a 1080p kitchen TV. The Morning Launchpad guides children through their morning routine using a dynamic countdown, weather-aware clothing advice, and daily activity reminders.
Designed specifically for deployment via Home Assistant to a Google Chromecast.

Dashboard Running

๐Ÿš€ Features

  • Mission Control UI: Massive high-contrast countdown timer and progress bars designed for legibility from across the room.
  • Smart Weather Engine: Integrates with the National Weather Service (NWS) API to calculate "Common Sense" gear advice (e.g., advising rain boots if it's over 40ยฐF and raining, or a winter coat if below 32ยฐF).
  • Auto-Scrolling Routine: Displays the full morning schedule. Past tasks are greyed out, and the current task is automatically centered and highlighted.
  • Daily Specials: A custom reminders table that changes based on the day of the week (e.g., "Library Day," "Gym Shoes Needed," etc.).
  • Visual State Machine:
    • Green/Normal: Steady progress.
    • Orange/Warning: 2 minutes remaining (Timer begins to pulse).
    • Red/Critical: 30 seconds remaining (Rapid pulse to encourage speed).
  • Success State: A full-screen "Doorway Hub" at 07:25 with confetti, weather summaries, and final departure checks.

๐Ÿ› ๏ธ Installation

1. Host the File

Place the dash.html file into your Home Assistant /config/www/ directory.

2. Access the Dashboard

In Home Assistant, this folder is served under the /local/ path. You can verify it by navigating to: https://your-ha-url:8123/local/dash.html

3. Deploy to Chromecast

For the best experience on a TV (bypassing browser autoplay/security blocks), use the DashCast receiver or a Home Assistant Action:
Example Action Call:
action: media_player.play_media
target:
entity_id: media_player.kitchen_tv
data:
media_content_id: "http://YOUR_HA_INTERNAL_IP:8123/local/dash.html"
media_content_type: "website"

โš™๏ธ Configuration

You can easily customize the routine and reminders by editing the constant objects at the top of the <script> tag:

The Routine

Adjust the ROUTINE array to match your family's schedule:
const ROUTINE = [
{ id: "EAT", start: "06:50", end: "07:10", title: "Breakfast", list: ["๐Ÿณ Fuel your Body"] },
// ...
];

Daily Specials

Update the DAILY_SPECIALS object for your weekly recurring events:
const DAILY_SPECIALS = {
1: "๐ŸŽป Anderson Orchestra", // Monday
3: "๐Ÿ“š Henny Library", // Wednesday
// ...
};

๐Ÿงช Debugging & Testing

The dashboard includes a built-in simulation engine. Append URL parameters to test different times and weather conditions without waiting for the actual morning.

  • Test a specific time: ?start=06:44
  • Fast-forward (Simulation): ?accel=60 (1 real second = 1 minute of dashboard time)
  • Test Weather: ?temp=28&condition=snow

Ultimate Test URL: https://.../dash.html?start=06:30&accel=60&debug=true

๐Ÿ“บ Technical Notes

  • Overscan Protection: The UI includes a 4vh 4vw padding buffer to ensure elements aren't cut off by physical TV bezels.
  • Single File: All HTML, CSS (Tailwind), and JS are contained in one file for easy management.
  • NWS API: Requires internet access to fetch live weather data for Monona/Madison, WI coordinates (adjustable in the script).

Created to turn morning chaos into a mission-driven success.

About

Castable Dashboard with morning information to get the kids out the door in time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages