Back to all log entries

homelab · 24 October 2026

Home Command: The House, Homelab and Commute in Home Assistant

My custom Home Assistant dashboard now covers the house, homelab and media servers, with work and gaming routines, paid-power charts, traffic, phone locations and an astronomy planner.

I wanted a Home Assistant dashboard that looked good enough to leave on a screen, but also answered the questions I actually ask: what are the solar panels doing, how full is the battery, what does the drive to work look like, and is there any point getting the telescope ready tonight?

Home Command started there, inspired by another Home Assistant user's graphical dashboard and built with help from ChatGPT/Codex. It has since grown into eight sections: Overview, Energy, Cameras, Rooms, Weather, Maps, Compute and Media . The latest additions bring the computers and media servers into the same view, and turn a few everyday routines into useful controls.

Updated 26 October 2026 with the new screens, routines and map features. The gallery keeps the original overview image alongside the updated screens. Map positions and room-presence examples have been changed for this public preview.

A front end for the house I already had

Home Assistant runs as a virtual machine on Proxmox in my homelab. It already had the useful connections: house solar and Tesla Powerwall readings, separate Fronius solar for the shed, room sensors, lighting, cameras and observatory weather.

Home Command is a custom JavaScript card inside the existing authenticated Home Assistant interface. The original dashboards remain available. There is no separate dashboard server, although small background collectors supply the road, astronomy, computer and media summaries.

HACS supplies mini-graph-card for the overview's short power history. The overall design is custom code, rather than an installable theme. The house illustration is generated concept artwork; the readings and flow directions over it are real sensor data.

The overview now has larger camera previews, room temperatures and six quick controls: outside lights, fish tank lights, the shed door, Media server, Do work and Play games. Room badges use our iPhones' existing ESPresense proximity readings. That is room presence around the house, separate from the GPS positions on Maps.

Buttons that finish what they start

Do work shows green Active whenever my workstation is on. Tapping it then runs the existing Finish Work routine, which handles the computer, air conditioning and lighting. With the computer off, the same button starts the work setup. It no longer needs every light and the air-conditioning helper to agree before showing that the computer is running.

Play games wakes the gaming PC and lounge TV, waits for startup, then powers the receiver and selects its game input. Another tap requests a normal Windows shutdown. The TV switches off only after the PC is confirmed offline. If shutdown fails or Windows remains on, the TV stays on too.

That last part took a real test to establish. The first attempt stopped at SSH host-key verification before Windows received anything. After repairing the trusted connection, an authorised test completed PC shutdown followed by TV power-off. A successful button animation would not have proved that.

The Rooms page has the same Media server, Play games and Do work shortcuts. Media server starts storage before the server; the shed-door shortcut sends the existing button pulse and displays the separate door sensor's state.

Energy: count the electricity I pay for

The Energy page separates house and shed generation, Powerwall charge, daily grid use and the bill estimate. House stays cyan, shed stays amber, with seven- and thirty-day histories.

The grid charts now count paid electricity only , excluding my free period from 9 pm to midnight . They use the existing tariff-aware meters rather than subtracting a guessed allowance. Solar generation and live grid flow still show what the systems are actually doing.

That distinction matters: kW describes power now; kWh describes energy over time. Neither is automatically the amount on the bill. The bill comparison keeps house, shed and total on three rows, with incomplete historical periods explicitly labelled partial.

Compute: the homelab beside the house

The Compute tab puts the Proxmox hosts, virtual machines, household computers and network equipment together. Depending on the source, it shows reachability, CPU, memory, temperature, uptime, disk use and network rates. Small CPU and temperature histories make changes easier to spot than a single number.

Host temperatures are labelled when they belong to the physical machine underneath a VM. Storage focuses on the three volumes I actually want to watch. The Internet Usage section shows current Starlink download, upload and latency; the router and switch rows provide their own traffic readings.

Supported computers have startup and shutdown controls. Compute shutdown takes a second tap, and managed server shutdowns follow the established sequences. The general infrastructure view stays a monitoring page rather than offering a power button for everything it can see.

Media: playback, storage and downloads

Media brings together Plex playback and devices across the two media servers, free storage, and links to the services behind them. Seerr sits between the two server groups as the shared request service.

The SABnzbd panels show download status, speed, queue size and count, remaining data, an estimated completion time while downloading, and free space on the download disk. Those readings come from the existing Home Assistant integrations.

A stopped or unreachable server remains visibly unavailable. It does not turn into a reassuring zero queue or a playback session that appears to run forever. The dashboard displays download activity; it does not add queue-management controls.

Where “Your day, on the map” comes from

Maps now opens on Traffic . The screen combines several sources rather than relying on one integration:

What appears

Where it comes from

Base map

OpenStreetMap with Leaflet, using Home Assistant's built-in tile service

Congestion and road reports

NZTA Journey Planner data

Motorway cameras

NZTA camera locations and timestamped snapshots

Home-to-work driving times

Home Assistant's Waze Travel Time integration

Andrew and Sheryl's phone markers

The existing iPhone GPS trackers in Home Assistant

Rain radar

RainViewer observed radar frames

Nearby aircraft

The existing Flightradar24 integration

Local weather

MET Norway through Home Assistant

Waze Travel Time supplies the two home-to-work estimates, refreshed every five minutes in my setup. Arrival assumes leaving now. Adding phone markers has not changed those cards into routes from wherever our phones happen to be.

Tap either person's name to centre the map on their last reported position. The display includes report age and GPS accuracy, labels older readings Last known , and removes unavailable markers. It uses the phone data already shared with Home Assistant; it has not changed either phone's tracking settings.

NZTA colours describe delay against free-flow travel on covered roads. An uncoloured road has no congestion reading, which is different from a clear road. Local map adds camera and aircraft markers, while RainViewer provides a separate observed-rain animation. None of this requires a Google Maps API key.

Weather with an observing plan

Weather starts with the next seven hours, including humidity, followed by a compact strip of current observatory conditions and the evening astronomy planner.

Open-Meteo supplies the planner's hourly forecast. It looks for at least three consecutive hours with cloud cover at or below 25%, rain probability at or below 20%, and wind at or below 20 km/h. PyEphem calculates sunset, astronomical darkness, Moon conditions and target positions.

Three illustrated deep-sky suggestions are calculated for 10 pm from a curated southern-sky catalogue, including Messier objects. Credited ESO photographs and my own Pinnacle Hill Observatory images make the targets recognisable. They are illustrations of the objects, not promises about what an eyepiece will show. This page plans an evening; it does not operate the telescope.

The useful work underneath the graphics

The map's browser tile problem was resolved by using Home Assistant's own tile service. Astronomy now checks whether its display data survived a Home Assistant restart, without fetching a new forecast every minute. Extra sections load when opened, and hidden views stop unnecessary refresh work.

The recurring lesson has been to show what is known: a PC's observed power state, a phone's last report, paid energy rather than all imports, and an unavailable server rather than invented readings. Desktop and phone checks covered the new screens and controls, with physical shutdown tested separately.

The roughly 20-inch kiosk touchscreen remains the next hardware decision. The browser dashboard already brings much more of the house and homelab together, without requiring every question to start with a different app.

Screenshot gallery

These twelve captures include the original overview and the updated screens. Tap an image for the full-size view. Readings are snapshots; map positions and room-presence examples are illustrative, and precise addresses are omitted.

The original overview, bringing weather, energy flow, camera previews, quick controls and room temperatures together.

Rooms brings together the eight spaces, lighting, heater and shared routines. The example presence badges use room proximity, not GPS.

Paid grid electricity excludes the free 9 pm–midnight period. Live power, solar history and billing estimates remain separate.

Compute covers the homelab and household computers, with labelled metrics and explicit supported power actions.

The network section shows current download and upload rates. Starlink adds its latency reading.

Media combines both Plex servers, storage and service links, with Seerr shared between the two groups.

The new SABnzbd panels use the existing Home Assistant integrations. Missing readings remain unavailable.

Traffic is the default Maps view. Phone markers include report age and accuracy; positions and addresses are altered for this public preview.

Local map keeps the camera and aircraft layers alongside the phone markers. Home and phone positions are illustrative.

A motorway camera opens a larger timestamped snapshot. Imagery: NZ Transport Agency Waka Kotahi.

Weather adds the seven-hour forecast and humidity above the observatory readings, observing windows and tonight’s targets. Target credits appear in the screenshot and below.

The Cameras page has five feeds. These are snapshots, and their capture quality still depends on the actual cameras and conditions.

Map data © OpenStreetMap contributors; motorway imagery © NZ Transport Agency Waka Kotahi. Astronomy image credits are listed below.

Trifid Nebula (M20): Andrew Kirk, Pinnacle Hill Observatory .

Great Peacock Cluster: ESO , CC BY 4.0 , resized and cropped for display.

String of Pearls Galaxy: ESO , CC BY 4.0 , resized and cropped for display.

Kirk out.