Home automation
A whole-house Home Assistant deployment covering climate, lighting, energy, presence, and voice. All running locally, all observed.
- Smart devices
- 30+
- Integrations
- 20+
- Automations
- 60+
- Dashboard panels
- 23
A live snapshot
A small, deliberately abstracted view of the kind of dashboard that sits across the whole setup. Climate per zone, solar production, and the device grid that lets every switch and sensor be operated from one screen.
What it does
Home Assistant sits at the centre and orchestrates every connected thing in the house. The interesting bit isn’t any single integration. It’s the patterns that emerge when they all talk to each other.
- Climate. Per-zone setpoints that adjust by time of day, presence, outdoor temperature, and which side of the house the sun is on. Air-conditioner outdoor unit, indoor head units and any heating loop all coordinate rather than fight each other.
- Energy. Solar production, grid import/export and per-device draw are all logged. Heavy loads (washing, dishwasher, EV-style charging) are scheduled into cheaper tariff windows automatically, and the AGL solar feed-in compensation is tracked as a real dollar value rather than a vague vibe.
- Lighting & switches. Automated by presence + sun position + override, never “motion timeout” alone. The lights that come on at sunset don’t come on if the room is already empty.
- Presence. BLE beacons + phone integrations give per-person presence without relying on a single signal. The house knows the difference between “everyone’s home but asleep” and “everyone’s actually out.”
- Voice. A local TTS / STT pipeline (xtts + Whisper-class STT) gives the house voice control without sending audio to a cloud and without a monthly fee. Wake-word lives on dedicated mic satellites; LLM intent parsing is optional and also local.
- Air, security, misc. Air quality sensors trigger ventilation; cameras run on a private NVR (Scrypted + Coral Edge TPU for object detection); UPS / power outage events fire automations that gracefully shed load.
The patterns that pay back
A few automation shapes turn up over and over. Once these land, the house gets meaningfully calmer to live in.
- If-this-and-that-and-also-the-other. The valuable automations are almost never single-trigger. They’re combinations of conditions that, taken together, mean something specific. “Sunset AND someone’s home AND nobody’s currently watching a movie” is a different automation than “sunset.”
- Conservative defaults with manual override.The house guesses; people can disagree. Every “automatic” thing has a clear way to be told off (a physical switch, a voice command, a timeout) and the system actually respects it.
- Long-term history beats real-time.The dashboards optimised for value aren’t “what’s the temperature right now.” They’re “how has the temperature trended for the last 6 months, and what does that say about insulation, run-time, and the air-con’s wear curve?”
- Custom firmware where the vendor app is the bottleneck. Plenty of cheap smart devices have great hardware ruined by a cloud-only app. A few minutes flashing ESPHome cuts the cloud out entirely and gives Home Assistant native control.
An example automation
The kind of thing a small custom Home Assistant automation actually looks like. Declarative, readable, version-controlled:
# When solar is producing surplus and the EV is plugged in
# and the tariff window is the cheap one OR the export rate is poor,
# pull the discretionary loads forward.
alias: "Soak up the surplus"
trigger:
- platform: numeric_state
entity_id: sensor.solar_export_w
above: 2500
for: "00:05:00"
condition:
- condition: state
entity_id: binary_sensor.ev_plugged_in
state: "on"
- condition: or
conditions:
- condition: time
after: "10:00:00"
before: "15:00:00"
- condition: numeric_state
entity_id: sensor.feed_in_tariff_cents
below: 5
action:
- service: switch.turn_on
target:
entity_id: switch.ev_charger
- service: climate.set_temperature
target:
entity_id: climate.hot_water_tank
data:
temperature: 65
- service: notify.persistent_notification
data:
message: "Surplus run started, feed-in {{ states('sensor.feed_in_tariff_cents') }}c"Multiply that by ~60 automations of varying ambition, and the house starts handling its own routine while leaving you the decisions that actually need a human.
What I’d build for you
The same architecture scales down for a unit and up for a property with outbuildings, solar, an EV, and a small office. The work I’d do is roughly:
- Sit down and listen. What annoys you about the house right now? What do you find yourself doing every day? That list is the brief.
- Survey what you already own. Plenty of smart devices can be integrated even when the vendor app pretends otherwise. Anything that needs replacing gets replaced deliberately, not because the catalogue says so.
- Stand up the brain. Home Assistant on hardware you own, with offsite backups, observability and a path to come back from any failure. No vendor lock-in.
- Build the first ten automations. Ship the highest-payback ones first so you feel the difference in the first week.
- Hand over. Documentation in plain English. A dashboard your family or staff can actually use. Optional ongoing support; optional full-handover where I never touch it again.