Hi everyone! I wanted to share the main dashboard of my smart home.
Home Assistant runs on Ubuntu 24.04 installed on an HP t630 Thin Client. The dashboard is permanently displayed on an inexpensive 16-inch Chinese monitor.
Most cards were built manually with custom:button-card, JavaScript, and CSS. My goal was not just to display a lot of numbers, but to create an interface that remains readable from across the room.
Here is a quick overview, starting from the top left.
1. Core device monitoring
The first section contains three system monitoring cards:
- Ubuntu Server, running Home Assistant: CPU load and temperature, RAM usage, disk usage, and the last boot time.
- MikroTik hAP ax²: CPU load and temperature, memory, storage usage, and uptime.
- Mac mini M4: CPU load, CPU/GPU temperatures, RAM usage, disk usage, and uptime.
I only included metrics that help me quickly understand the overall health of my home infrastructure.
2. MikroTik and internet monitoring
The larger network card displays current download and upload speeds, a traffic history graph, packet loss, current and average latency, jitter, and the route to an external host.
A custom service running on Ubuntu continuously executes MTR, short for My Traceroute, to 1.1.1.1. It collects statistics for the last hour and exposes the results to Home Assistant.
This helps distinguish between problems inside my network, the ISP network, a transit node, or the destination. Notifications are based on actual end-to-end packet loss rather than ICMP rate limiting on an intermediate router.
Home Assistant sends an alert when the connection becomes genuinely unstable.
3. Family phones
These cards show each phone’s battery level, charging status, model, and approximate location.
There is also a compact family section with battery indicators and quick access to location information.
4. Camera status
Two small cards show whether each camera is online, its Wi-Fi signal in dBm, and its LIVE status.
One camera also records continuously to a separate drive. Recordings are split into manageable files, and older footage is removed automatically.
5. Inverter and battery
This card monitors an Afore inverter and a Dyness LiFePO4 battery. It displays:
- grid voltage, current, and frequency;
- AC and DC temperatures;
- current household load;
- battery state of charge, voltage, current, and temperature;
- daily household consumption;
- energy imported from the grid.
The voltage scale changes according to the current value, while the power paths have subtle animations.
Separate automations send notifications when grid voltage remains below or above configured limits.
6. Lighting
At the bottom are three compact controls:
- a smart corridor light triggered by motion at night;
- an LED strip indicating whether an air-raid alert is active;
- TV ambient lighting.
Each button reflects the actual color currently used by the corresponding light.
7. Clock
Just a large clock. Nothing particularly clever here, but it is readable from the other side of the room.
8. Notification card
This compact widget shows the latest Home Assistant notification, including doors, sensors, water leaks, air quality, air-raid alerts, and other events.
Messages are automatically classified and receive different colors and icons depending on their category and severity.
9. Air-raid alert and threat radar
This is the most complicated and, unfortunately, the most useful part of the dashboard.
Special “thanks” to our neighbors in Russia. Without their missiles and drones, this would never have become the most advanced widget in my smart home. I would much rather have spent this time building something more cheerful, but this is the reality we live in.
The card uses an air-raid alert integration along with separate helper entities that store the start and end time of each alert and calculate its duration.
A custom script also processes data from NEPTUN. It receives a list of active aerial targets and determines:
- target type;
- nearest locality;
- approximate distance from home;
- position and reported heading;
- total number of active targets;
- number of UAVs, FPV drones, missiles, guided bombs, reconnaissance drones, aircraft, and other threats.
I created a separate transparent PNG icon for every target type, including UAVs, FPV drones, reconnaissance drones, missiles, ballistic threats, guided aerial bombs, and aircraft.
When an air-raid alert is active and the nearest target is within 100 km, the regular illustration is replaced by an animated radar. It displays the approximate direction, distance, and position of nearby targets.
The radar is calibrated to match the physical orientation of the wall-mounted monitor, so a quick glance gives me an approximate idea of which side the threat is coming from.
When a target crosses the 100, 50, or 20 km threshold, Home Assistant sends critical mobile and Telegram notifications together with a fresh screenshot of the alert widget.
This is only an additional visualization. It does not replace official air-raid alerts, government warnings, or instructions from the authorities.
10. Weather
The current outdoor temperature comes from my own sensor. The remaining data comes from a weather station located approximately 50 meters from the building.
The card displays current temperature, a multi-day forecast, humidity, atmospheric pressure, wind speed, AQI, sunrise, and sunset.
11. Indoor climate
Separate room and kitchen cards show temperature and humidity.
The thermometer image changes depending on the temperature range: cold, comfortable, or hot.
12. Sleep tracking
Sleep cards use data from Garmin and show sleep duration, score, and overall quality for family members.
Colors change automatically according to the result.
13. Spotify
The music card displays album artwork, track name, artist, playback progress, and basic controls.
14. Telegram air-threat monitoring
Another custom script parses messages from four public Telegram channels reporting aerial threats.
The widget displays the latest relevant message. If the text indicates a direct threat to my area, the card flashes red, Home Assistant sends notifications, and a TTS warning is played through the speakers.
This is only my main dashboard. I also have separate pages for cameras, energy, alert maps, device controls, and technical information, but they are used less often and are not as polished yet.
Voice announcements are also configured for:
- the beginning and end of air-raid alerts;
- nearby aerial threats;
- doors opening and closing;
- water leaks;
- sensor activity;
- abnormal grid voltage;
- unstable internet connectivity.
The project is constantly evolving. I add things, remove things, and occasionally spend half an evening moving one element by three pixels because it looks wrong on the smaller screen.
I would appreciate feedback, constructive criticism, and ideas for future improvements.
Please do not roast me too hard. I have only been using Home Assistant for a few months.