Overview of my home assistant setup

I run my smart home on Home Assistant for integrations and state, and I keep most of the decision logic in Node-RED via the Home Assistant integration. Home Assistant gives me a consistent set of entities (sensors, lights, switches, climate, cameras). Node-RED is where I decide what should happen and when, then I call Home Assistant services to apply it.

The mental model is simple: compute the desired state, compare it to the current state, and only push changes when something is genuinely different. That one choice cuts a lot of noise.

A few patterns show up everywhere:


Presence and modes

Presence is the backbone.

Inputs:

Effective mode logic:

Once that effective mode exists, every downstream system can reference it. Lighting, HVAC, power management, housekeeping: they all read the same mode and behave consistently. I like not having to debug three different definitions of “away.”


Hvac control (thermostat + fan)

I treat HVAC as a single decision step followed by a guarded apply step.

  1. Compute what the system should be doing right now.
  2. If the current state already matches, do nothing.
  3. If it differs, call services to correct it.

Behaviors:


Lighting automation

Lighting is split into practical buckets, mostly based on how I want it to fail. A missed motion event is annoying. A porch light stuck on all day is also annoying.

exterior lighting

Exterior lighting is driven by a single “desired state” decision:

motion-driven interior lighting

For rooms with occupancy or motion sensors:

This is one of those patterns that stays readable months later, which matters more than it sounds.

ambient-light (lux) automation with hysteresis

For rooms with illuminance sensors:


Power and energy management

Power flows are mostly about removing wasted draw without creating a house that feels “fussy.”


Safety and “left on” notifications

When the home transitions to away, I run a quick sanity check:

This catches the stuff you only notice when you are already halfway down the street.


Housekeeping automations

A couple of routines ride on arrivals and departures:


Cameras and entity refresh

I also have a small maintenance flow for cameras:

It stops the “why is the last snapshot from yesterday” problem.


Philosophy

The principles are about not getting annoyed by my own house: