Back to all log entries

homelab · 24 October 2026

Home Command: Bringing the House, Commute and Night Sky into Home Assistant

I built a graphical Home Assistant dashboard that brings together solar, the Powerwall, Auckland traffic, motorway cameras and a nightly 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?

After seeing another Home Assistant user's graphical dashboard, I used it as inspiration for Home Command . I built it with help from ChatGPT/Codex, starting with a dark overview and then working through the parts that needed more explanation. The finished dashboard has Overview, Energy, Cameras, Rooms, Weather and Maps tabs.

I posted a few screenshots, and one of the questions was how I got “Your day, on the map” and its data. That is worth answering properly, because there isn't one integration supplying the whole screen.

A new front end for the existing house

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

Home Command sits inside Home Assistant as a custom JavaScript card. It uses the existing authenticated connection for readings and controls. The original dashboards are still available, and there is no separate dashboard server to maintain.

HACS was already installed, and the small overview history graph uses mini-graph-card . The overall design is custom code, rather than a single HACS theme that can be installed to reproduce everything. Built-in Home Assistant cards still handle useful details such as the heater and room lighting.

The illustrated house in the middle is generated concept artwork, not a photograph of our home. The numbers and flow directions over it come from real sensors. That distinction matters rather more than whether the roof looks suitably cinematic.

Making the energy page readable

The first house-power graph put too much on the same set of axes. Solar, demand, grid exchange and battery charging were all technically there, but decoding the lines was work.

I asked for a simpler page centred on house and shed generation, Powerwall charge, grid electricity used over time, and the estimated bill. House stays cyan and shed stays amber. Solar generation and grid imports have separate daily bar charts, with seven- and thirty-day views.

That also separates two different questions: kW tells me what is happening now; kWh tells me how much energy was generated or used over a period. The battery percentage gets its own prominent display.

The bill section has just three rows: house, shed and total. It uses my existing estimates and shows the previous billing period alongside them. The screenshot labels that previous period as partial because tracking started partway through it and some readings have gaps. A tidy comparison should not imply savings the data cannot establish.

Where “Your day, on the map” comes from

The Maps tab combines several sources around our South Auckland commute:

What appears

Where it comes from

Base map and location markers

OpenStreetMap, displayed with Leaflet; map tiles come through Home Assistant's built-in tile service

Motorway congestion and road reports

NZTA Journey Planner data, collected into a Home Assistant display sensor

Motorway cameras

NZTA camera locations and timestamped snapshots

Driving time to each workplace

Home Assistant's Waze Travel Time integration

Rain radar animation

RainViewer's observed radar frames

Nearby aircraft

My existing Flightradar24 integration

Local weather

Home Assistant's MET Norway weather integration

The two commute cards show the drive from home to my workplace and Sheryl's. Waze Travel Time supplies the route and estimate; the displayed arrival assumes we leave now. My integrations refresh every five minutes.

The coloured roads are a separate NZTA layer. Green, amber and red describe increasing delay against free-flow travel on covered road segments. An uncoloured road means there is no congestion reading available there. It does not mean the road is clear.

Camera markers open a larger snapshot, with a selector for other cameras along the corridor. Nearby aircraft come from the area already configured in my Flightradar24 integration, so this is a local view rather than a claim to show every aircraft over Auckland.

RainViewer adds a separate radar view with roughly two hours of observed frames and playback controls. It shows where rain has been moving; I haven't presented that history as a future forecast.

This dashboard does not need a Google Maps API key. The useful part is combining the feeds and keeping their meanings and refresh times visible.

Weather with an observing plan

The Weather tab goes beyond the normal forecast. It checks hourly conditions from 6 pm through midnight, looking for a run of at least three good hours before 1 am. My thresholds are cloud cover at or below 25%, rain probability at or below 20%, and wind at or below 20 km/h.

That planner uses Open-Meteo weather data. PyEphem calculates sunset, astronomical darkness, Moon conditions and target positions for the location configured in Home Assistant. Good weather and a dark sky are shown separately: a clear evening with a bright Moon is still a different prospect from a dark one.

Underneath are three bright deep-sky targets calculated for 10 pm, with photographs, short descriptions, altitude and separation from the Moon. The selection rotates through a curated southern-sky catalogue, stays stable for the evening and includes Messier objects. It gives me some variety without suggesting something below the horizon.

The catalogue includes credited ESO images and some of my own Pinnacle Hill Observatory photographs. The images illustrate the objects; they aren't a promise of what an eyepiece will show. This page plans an evening and doesn't operate the telescope or observatory.

The details that needed fixing

The map initially worked in the mobile app but showed OpenStreetMap access-blocked tiles in a browser. Moving the basemap requests through Home Assistant's existing tile service resolved the browser tile problem in our checks.

A restart exposed another gap. The astronomy collector had published its display sensor, then Home Assistant restarted and cleared it. Waiting for the next thirty-minute forecast refresh left the page empty. It now checks availability every minute, while reusing a complete forecast for thirty minutes, so recovery doesn't require fetching new weather on every check.

The extra tabs now load their code when opened, rather than delaying the whole overview. Desktop, tablet and phone checks covered the layouts, forecast slots, photographs and missing-data messages. Camera previews remain labelled snapshots, and an unavailable feed stays visibly unavailable.

A screen worth leaving on

The next physical step is a roughly 20-inch touchscreen running a browser in kiosk mode. I'm still considering the screen and client hardware; the dashboard itself already runs in the browser and Home Assistant app.

What I have now brings the house, the commute and the evening sky together in a way I can read quickly. The graphics were the starting point. Separating the data into useful questions made it worth keeping open.

Screenshot gallery

All eight screenshots below are from this build. Tap any image to open it at full size. Values and forecasts are snapshots from the time they were captured.

The Home screen: weather, energy, cameras and rooms in one view. The house artwork is a concept illustration.

Rooms and spaces, with lighting controls and the existing heater card.

Your day, on the map: camera locations, nearby aircraft and the two commutes.

Traffic conditions from NZTA, with directional congestion details and motorway camera previews.

Opening a motorway camera gives a larger snapshot and a selector for other locations. Imagery: NZ Transport Agency Waka Kotahi.

Weather and sky: observing conditions, darkness, Moon context and three targets for 10 pm. Target photographs: ESO, CC BY 4.0.

The camera page keeps unavailable previews visible rather than suggesting every feed is working.

House and shed energy, seven-day histories and a three-row bill comparison. The previous period is labelled partial.

Map data © OpenStreetMap contributors; motorway imagery © NZ Transport Agency Waka Kotahi. The astronomy screenshot includes ESO photographs of the Lagoon Nebula, Great Peacock Cluster and Sculptor Galaxy, under CC BY 4.0 , displayed within the dashboard. Original image credits are linked below.

Great Peacock Cluster: ESO

Sculptor Galaxy: ESO

Lagoon Nebula · M8: ESO

Kirk out.