20 Smart Home Automation Ideas for Beginners (Organized by Room)
20 practical smart home automation ideas organized by room — bedroom, kitchen, living room, garage, and whole house. Each includes what you need, why it works, and a Home Assistant YAML starter. No fluff, just automations worth building.
20 Smart Home Automation Ideas for Beginners (Organized by Room)
Smart home automation gets interesting when you stop thinking about individual devices and start thinking about rooms and routines. A smart bulb by itself is a remote-controlled light. A smart bulb that knows what time it is, whether you are home, and what room you are in becomes something genuinely useful.
These 20 automations are organized by room because that is how you actually live. Start with the room you spend the most time in, get those automations solid, then expand. Every automation here runs on Home Assistant and includes a YAML starter you can customize.
Bedroom (5 Automations)
1. Gradual Sunrise Wake-Up Light
Your bedroom light slowly brightens over 30 minutes before your alarm, simulating sunrise. You wake up naturally instead of being jarred by a buzzer.
**What you need:** Any dimmable smart light (Zigbee, Z-Wave, or WiFi) + an `input_datetime` helper for your wake-up time.
automation:
trigger:
at: input_datetime.wakeup_time
action:
count: 6
sequence:
target:
entity_id: light.bedroom
data:
brightness: "{{ 5 + (repeat.index * 25) }}"
kelvin: "{{ 2200 + (repeat.index * 200) }}"
Set the `input_datetime` to 30 minutes before you want to wake up. The light goes from barely-there warm amber to a moderate cool white. Add a weekday condition so it skips weekends.
2. Bedtime Routine — One Tap
A single toggle turns off the rest of the house, locks the doors, dims the bedroom to reading level, and sets the thermostat to sleep temperature. Twenty minutes later, the bedroom light turns off too.
**What you need:** `input_boolean.bedtime` + any smart lights and locks you have.
automation:
trigger:
entity_id: input_boolean.bedtime
to: "on"
action:
target:
entity_id: group.non_bedroom_lights
target:
entity_id: light.bedroom
data:
brightness: 40
kelvin: 2200
target:
entity_id: climate.bedroom
data:
temperature: 68
target:
entity_id: light.bedroom
Expose the `input_boolean` on your phone widget or a bedside button. One tap and the house goes to sleep mode.
3. Night Light for Bathroom Trips
Motion in the bedroom or hallway at night triggers a dim light. Bright enough to see, dim enough that you fall back asleep easily. The brightness curve changes throughout the night — dimmer at 2 AM than at 10 PM because your eyes are more dark-adapted.
**What you need:** Motion sensor (even a $15 Zigbee one works) + dimmable hallway light.
automation:
trigger:
entity_id: binary_sensor.hallway_motion
to: "on"
condition:
after: "22:00:00"
before: "06:30:00"
action:
target:
entity_id: light.hallway
data:
brightness: >
{% set hour = now().hour %}
{% if hour >= 22 or hour < 1 %}50
{% elif hour < 5 %}20
{% else %}70{% endif %}
kelvin: 2200
entity_id: binary_sensor.hallway_motion
to: "off"
for: "00:02:00"
target:
entity_id: light.hallway
4. Fan Control by Temperature
Your bedroom fan turns on when the room gets too warm and turns off when it cools down.
**What you need:** Smart fan (or fan + smart plug) + temperature sensor.
automation:
trigger:
entity_id: sensor.bedroom_temperature
above: 74
action:
target:
entity_id: fan.bedroom
data:
percentage: 50
trigger:
entity_id: sensor.bedroom_temperature
below: 71
action:
target:
entity_id: fan.bedroom
The 3-degree gap between on (74) and off (71) prevents the fan from cycling on and off rapidly. This is called hysteresis and it matters for any threshold-based automation.
5. Weekend Alarm Override
If it is Saturday or Sunday, skip the sunrise wake-up automation entirely. Add this condition to automation #1:
condition:
weekday:
Or use a separate `input_boolean.alarm_enabled` that you toggle from the dashboard. More flexible than hard-coding weekdays — handles holidays and sick days too.
Kitchen (4 Automations)
6. Under-Cabinet Lights on Motion
Kitchen counter lights turn on when you walk in and stay on while you are cooking. Turn off 5 minutes after the last motion.
**What you need:** Motion sensor + LED strip or under-cabinet lights.
automation:
trigger:
entity_id: binary_sensor.kitchen_motion
to: "on"
condition:
entity_id: sensor.kitchen_illuminance
below: 100
action:
target:
entity_id: light.kitchen_counter
data:
brightness: 200
entity_id: binary_sensor.kitchen_motion
to: "off"
for: "00:05:00"
target:
entity_id: light.kitchen_counter
The illuminance condition prevents the lights from turning on when the kitchen is already bright from daylight. Without it, the lights fire every time you walk in, day or night.
7. Dishwasher Done Notification
A power monitoring smart plug on the dishwasher detects when the cycle ends.
**What you need:** Smart plug with power monitoring (Sonoff S31 or Zigbee equivalent).
automation:
trigger:
entity_id: sensor.dishwasher_power
below: 3
for: "00:05:00"
condition:
entity_id: sensor.dishwasher_power
above: 0.5
action:
data:
title: "Dishwasher Done"
message: "Cycle complete. Time to unload."
The 5-minute `for` duration prevents false triggers during the pause between wash and dry cycles. The `above: 0.5` condition ensures this only fires when the dishwasher was actually running, not when it is idle and plugged in.
8. Coffee Machine Pre-Heat
Your coffee machine turns on 10 minutes before your alarm so it is hot when you get to the kitchen.
**What you need:** Coffee machine with physical on switch + smart plug.
automation:
trigger:
value_template: >
{{ now().strftime('%H:%M') ==
(states('input_datetime.wakeup_time') | as_datetime - timedelta(minutes=10)).strftime('%H:%M') }}
condition:
weekday: [mon, tue, wed, thu, fri]
action:
target:
entity_id: switch.coffee_machine
Only works with drip machines that start brewing when power is applied. Pod machines need a button press.
9. Stove Left On Alert
If your stove is still drawing power after 2 hours, send a critical notification.
**What you need:** Smart range with HA integration or high-wattage power monitoring plug.
automation:
trigger:
entity_id: sensor.stove_power
above: 500
for: "02:00:00"
action:
data:
title: "Stove Still On"
message: "The stove has been drawing power for over 2 hours."
data:
push:
sound:
name: alarm.caf
critical: 1
volume: 1.0
The critical notification bypasses Do Not Disturb. For something safety-related, you want that.
Living Room (4 Automations)
10. Movie Mode Scene
One button dims the lights, turns on a warm TV backlight, and silences the house.
**What you need:** Dimmable lights + (optional) bias lighting behind TV.
script:
movie_mode:
sequence:
target:
entity_id: light.tv_backlight
data:
brightness: 40
rgb_color: [255, 147, 41]
target:
entity_id:
target:
entity_id: media_player.living_room_tv
Expose this as a button on your dashboard or assign it to a physical scene controller.
11. TV Auto-Dim and Restore
When the TV starts playing, the room dims. When it turns off, lights come back — but only after sunset.
**What you need:** Smart TV that reports state + dimmable room lights.
automation:
trigger:
entity_id: media_player.living_room_tv
to: "playing"
condition:
after: sunset
action:
target:
entity_id: light.living_room_ceiling
data:
brightness: 30
trigger:
entity_id: media_player.living_room_tv
to: "off"
condition:
after: sunset
action:
target:
entity_id: light.living_room_ceiling
data:
brightness: 180
The sunset condition on both automations prevents them from fighting with daylight.
12. Late Night Volume Cap
TV volume is automatically capped after 10 PM. No more waking up the house.
**What you need:** Media player that supports volume control in HA.
automation:
trigger:
entity_id: media_player.living_room_tv
attribute: volume_level
condition:
after: "22:00:00"
before: "07:00:00"
value_template: >
{{ state_attr('media_player.living_room_tv', 'volume_level') | float > 0.3 }}
action:
target:
entity_id: media_player.living_room_tv
data:
volume_level: 0.3
13. Lights Follow Sunset
Living room lights automatically turn on 15 minutes before sunset and off at bedtime. No seasonal schedule adjustments needed.
**What you need:** Any smart light + presence detection.
automation:
trigger:
event: sunset
offset: "-00:15:00"
condition:
entity_id: person.your_name
state: "home"
action:
target:
entity_id: group.living_room_lights
data:
brightness: 200
The presence condition prevents lights from turning on in an empty house.
Garage (3 Automations)
14. Left Open Escalating Alert
Garage door open for 10 minutes: notification with a "Close It" button. Still open after 30 minutes: auto-close.
**What you need:** Smart garage door opener (MyQ, Ratgdo, or relay + tilt sensor).
automation:
trigger:
entity_id: cover.garage
to: "open"
for: "00:10:00"
action:
data:
title: "Garage Open"
message: "Garage has been open for 10 minutes."
data:
actions:
title: "Close It"
entity_id: cover.garage
to: "closed"
timeout: "00:20:00"
continue_on_timeout: true
entity_id: cover.garage
state: "open"
target:
entity_id: cover.garage
data:
message: "Garage auto-closed after 30 minutes."
The actionable notification button lets you close it without opening the HA app.
15. Auto-Close When Leaving
Garage closes automatically 5 minutes after you leave home. The delay prevents false triggers from GPS bounce.
**What you need:** Garage door control + phone presence.
automation:
trigger:
entity_id: person.your_name
from: "home"
for: "00:05:00"
condition:
entity_id: cover.garage
state: "open"
action:
target:
entity_id: cover.garage
data:
message: "Garage closed — you left home."
16. Arrival Light Path
When the garage opens after sunset, turn on the path lights from the garage through the house. Off after 5 minutes.
**What you need:** Garage door sensor + lights along entry path.
automation:
trigger:
entity_id: cover.garage
to: "open"
condition:
after: sunset
action:
target:
entity_id:
data:
brightness: 180
target:
entity_id:
Whole House (4 Automations)
17. Leaving Home Lockdown
When everyone leaves, the house locks itself: garage closes, doors lock, lights off, alarm arms.
**What you need:** Presence detection + whatever smart devices you own.
automation:
trigger:
entity_id: zone.home
to: "0"
for: "00:05:00"
action:
target:
entity_id: all
target:
entity_id: cover.garage
target:
entity_id: all
data:
message: "House secured. Everyone has left."
The 5-minute `for` duration is critical. Phone GPS occasionally jitters and shows you "away" for a few seconds. Without the delay, you get false lockdowns while sitting on the couch.
18. Water Leak Emergency
A water sensor under the sink, near the water heater, or in the basement detects a leak and sends a critical alert.
**What you need:** Water leak sensor (Aqara is $15) + (optional) smart water valve.
automation:
trigger:
entity_id:
to: "on"
action:
target:
entity_id: switch.main_water_valve
data:
title: "WATER LEAK"
message: "{{ trigger.to_state.name }} detected at {{ now().strftime('%I:%M %p') }}"
data:
push:
sound:
name: alarm.caf
critical: 1
volume: 1.0
Even without a smart water valve, the critical notification gets you moving immediately.
19. Weekly System Health Check
Every Sunday, HA scans for offline devices and dead batteries. One notification covers everything that needs attention.
automation:
trigger:
at: "09:00:00"
condition:
weekday:
action:
data:
title: "Weekly System Check"
message: >
Unavailable: {{ states | selectattr('state', 'eq', 'unavailable') | list | count }} entities
{% for entity in states | selectattr('state', 'eq', 'unavailable') | list %}
{% endfor %}
Low battery:
{% for state in states.sensor if 'battery' in state.entity_id and state.state | int < 20 %}
{% endfor %}
This catches devices that died silently during the week. A sensor with a dead battery still shows its last value — it does not tell you it is dead. This automation finds those.
20. Vacation Occupancy Simulation
A toggle simulates someone being home: lights turn on and off at randomized times, blinds operate on schedule.
**What you need:** `input_boolean.vacation_mode` + smart lights.
automation:
trigger:
at: "19:00:00"
condition:
entity_id: input_boolean.vacation_mode
state: "on"
action:
target:
entity_id: light.living_room
minutes: "{{ range(30, 90) | random }}"
target:
entity_id: light.kitchen
minutes: "{{ range(60, 120) | random }}"
target:
entity_id: light.living_room
minutes: "{{ range(30, 60) | random }}"
target:
entity_id: all
The randomized delays prevent a robotic pattern. A light that turns on at exactly 7:00 PM and off at exactly 10:00 PM every night looks automated. Random variation looks human.
Where to Start
Do not try to build all 20 at once. Start with these three — they deliver the most value for the least effort:
1. **Night lights (#3)** — immediate daily value, simple to set up
2. **Garage left open (#14)** — prevents a real problem every homeowner has
3. **Leaving home lockdown (#17)** — security + convenience in one automation
Once those are solid and you trust the system, expand to the room where you spend the most time.
The Key Principle
Good automations are invisible. If you notice them, they are either broken or misconfigured. The goal is a house that just works — lights that are on when you need them and off when you do not, doors that lock when they should, and alerts that only fire when something actually needs your attention.
Every automation on this list follows that principle. No novelty, no "look what my house can do" party tricks. Just automations that make your house better to live in.
Get Pre-Built Automation Packs
If you want these automations production-tested and ready to drop into your system, with proper error handling, helper entities, and documentation:
---
**New to Home Assistant?** The newsletter sends one automation per week with full YAML, explanations, and real-world tips from a production smart home.
[Subscribe to the newsletter →](https://theautomatedhome.beehiiv.com)
Enjoyed this guide?
Get more like it delivered weekly. Real configs, tested YAML, zero fluff.
Join 0+ smart home builders. No spam, unsubscribe anytime.