·13 min read

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.

smart home automation ideashome assistant automation ideassmart home ideas beginnershome automation ideasbest smart home automations beginnerssmart home automation examples

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:

  • alias: sunrise_wakeup
  • trigger:

  • platform: time
  • at: input_datetime.wakeup_time

    action:

  • repeat:
  • count: 6

    sequence:

  • delay: "00:05:00"
  • service: light.turn_on
  • 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:

  • alias: bedtime_routine
  • trigger:

  • platform: state
  • entity_id: input_boolean.bedtime

    to: "on"

    action:

  • service: light.turn_off
  • target:

    entity_id: group.non_bedroom_lights

  • service: light.turn_on
  • target:

    entity_id: light.bedroom

    data:

    brightness: 40

    kelvin: 2200

  • service: climate.set_temperature
  • target:

    entity_id: climate.bedroom

    data:

    temperature: 68

  • delay: "00:20:00"
  • service: light.turn_off
  • 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:

  • alias: hallway_night_light
  • trigger:

  • platform: state
  • entity_id: binary_sensor.hallway_motion

    to: "on"

    condition:

  • condition: time
  • after: "22:00:00"

    before: "06:30:00"

    action:

  • service: light.turn_on
  • 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

  • wait_for_trigger:
  • platform: state
  • entity_id: binary_sensor.hallway_motion

    to: "off"

    for: "00:02:00"

  • service: light.turn_off
  • 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:

  • alias: bedroom_fan_auto
  • trigger:

  • platform: numeric_state
  • entity_id: sensor.bedroom_temperature

    above: 74

    action:

  • service: fan.turn_on
  • target:

    entity_id: fan.bedroom

    data:

    percentage: 50

  • alias: bedroom_fan_off
  • trigger:

  • platform: numeric_state
  • entity_id: sensor.bedroom_temperature

    below: 71

    action:

  • service: fan.turn_off
  • 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:

  • condition: time
  • weekday:

  • mon
  • tue
  • wed
  • thu
  • fri
  • 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:

  • alias: kitchen_counter_lights
  • trigger:

  • platform: state
  • entity_id: binary_sensor.kitchen_motion

    to: "on"

    condition:

  • condition: numeric_state
  • entity_id: sensor.kitchen_illuminance

    below: 100

    action:

  • service: light.turn_on
  • target:

    entity_id: light.kitchen_counter

    data:

    brightness: 200

  • wait_for_trigger:
  • platform: state
  • entity_id: binary_sensor.kitchen_motion

    to: "off"

    for: "00:05:00"

  • service: light.turn_off
  • 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:

  • alias: dishwasher_done
  • trigger:

  • platform: numeric_state
  • entity_id: sensor.dishwasher_power

    below: 3

    for: "00:05:00"

    condition:

  • condition: numeric_state
  • entity_id: sensor.dishwasher_power

    above: 0.5

    action:

  • service: notify.mobile_app_phone
  • 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:

  • alias: coffee_preheat
  • trigger:

  • platform: template
  • value_template: >

    {{ now().strftime('%H:%M') ==

    (states('input_datetime.wakeup_time') | as_datetime - timedelta(minutes=10)).strftime('%H:%M') }}

    condition:

  • condition: time
  • weekday: [mon, tue, wed, thu, fri]

    action:

  • service: switch.turn_on
  • 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:

  • alias: stove_on_too_long
  • trigger:

  • platform: numeric_state
  • entity_id: sensor.stove_power

    above: 500

    for: "02:00:00"

    action:

  • service: notify.mobile_app_phone
  • 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:

  • service: light.turn_on
  • target:

    entity_id: light.tv_backlight

    data:

    brightness: 40

    rgb_color: [255, 147, 41]

  • service: light.turn_off
  • target:

    entity_id:

  • light.living_room_ceiling
  • light.living_room_lamp
  • service: media_player.turn_on
  • 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:

  • alias: tv_on_dim_lights
  • trigger:

  • platform: state
  • entity_id: media_player.living_room_tv

    to: "playing"

    condition:

  • condition: sun
  • after: sunset

    action:

  • service: light.turn_on
  • target:

    entity_id: light.living_room_ceiling

    data:

    brightness: 30

  • alias: tv_off_restore_lights
  • trigger:

  • platform: state
  • entity_id: media_player.living_room_tv

    to: "off"

    condition:

  • condition: sun
  • after: sunset

    action:

  • service: light.turn_on
  • 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:

  • alias: late_night_volume_cap
  • trigger:

  • platform: state
  • entity_id: media_player.living_room_tv

    attribute: volume_level

    condition:

  • condition: time
  • after: "22:00:00"

    before: "07:00:00"

  • condition: template
  • value_template: >

    {{ state_attr('media_player.living_room_tv', 'volume_level') | float > 0.3 }}

    action:

  • service: media_player.volume_set
  • 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:

  • alias: sunset_lights_on
  • trigger:

  • platform: sun
  • event: sunset

    offset: "-00:15:00"

    condition:

  • condition: state
  • entity_id: person.your_name

    state: "home"

    action:

  • service: light.turn_on
  • 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:

  • alias: garage_left_open
  • trigger:

  • platform: state
  • entity_id: cover.garage

    to: "open"

    for: "00:10:00"

    action:

  • service: notify.mobile_app_phone
  • data:

    title: "Garage Open"

    message: "Garage has been open for 10 minutes."

    data:

    actions:

  • action: CLOSE_GARAGE
  • title: "Close It"

  • wait_for_trigger:
  • platform: state
  • entity_id: cover.garage

    to: "closed"

    timeout: "00:20:00"

    continue_on_timeout: true

  • condition: state
  • entity_id: cover.garage

    state: "open"

  • service: cover.close_cover
  • target:

    entity_id: cover.garage

  • service: notify.mobile_app_phone
  • 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:

  • alias: garage_close_on_leave
  • trigger:

  • platform: state
  • entity_id: person.your_name

    from: "home"

    for: "00:05:00"

    condition:

  • condition: state
  • entity_id: cover.garage

    state: "open"

    action:

  • service: cover.close_cover
  • target:

    entity_id: cover.garage

  • service: notify.mobile_app_phone
  • 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:

  • alias: garage_arrival_lights
  • trigger:

  • platform: state
  • entity_id: cover.garage

    to: "open"

    condition:

  • condition: sun
  • after: sunset

    action:

  • service: light.turn_on
  • target:

    entity_id:

  • light.garage
  • light.mudroom
  • light.hallway
  • data:

    brightness: 180

  • delay: "00:05:00"
  • service: light.turn_off
  • target:

    entity_id:

  • light.garage
  • light.mudroom
  • light.hallway
  • 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:

  • alias: everyone_left
  • trigger:

  • platform: state
  • entity_id: zone.home

    to: "0"

    for: "00:05:00"

    action:

  • service: light.turn_off
  • target:

    entity_id: all

  • service: cover.close_cover
  • target:

    entity_id: cover.garage

  • service: lock.lock
  • target:

    entity_id: all

  • service: notify.mobile_app_phone
  • 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:

  • alias: water_leak_alert
  • trigger:

  • platform: state
  • entity_id:

  • binary_sensor.kitchen_water_leak
  • binary_sensor.basement_water_leak
  • binary_sensor.water_heater_leak
  • to: "on"

    action:

  • parallel:
  • service: switch.turn_off
  • target:

    entity_id: switch.main_water_valve

  • service: notify.mobile_app_phone
  • 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:

  • alias: weekly_health_check
  • trigger:

  • platform: time
  • at: "09:00:00"

    condition:

  • condition: time
  • weekday:

  • sun
  • action:

  • service: notify.mobile_app_phone
  • data:

    title: "Weekly System Check"

    message: >

    Unavailable: {{ states | selectattr('state', 'eq', 'unavailable') | list | count }} entities

    {% for entity in states | selectattr('state', 'eq', 'unavailable') | list %}

  • {{ entity.name }}
  • {% endfor %}

    Low battery:

    {% for state in states.sensor if 'battery' in state.entity_id and state.state | int < 20 %}

  • {{ state.name }}: {{ state.state }}%
  • {% 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:

  • alias: vacation_simulate_evening
  • trigger:

  • platform: time
  • at: "19:00:00"

    condition:

  • condition: state
  • entity_id: input_boolean.vacation_mode

    state: "on"

    action:

  • service: light.turn_on
  • target:

    entity_id: light.living_room

  • delay:
  • minutes: "{{ range(30, 90) | random }}"

  • service: light.turn_on
  • target:

    entity_id: light.kitchen

  • delay:
  • minutes: "{{ range(60, 120) | random }}"

  • service: light.turn_off
  • target:

    entity_id: light.living_room

  • delay:
  • minutes: "{{ range(30, 60) | random }}"

  • service: light.turn_off
  • 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:

  • [Home Assistant Automation Cookbook](https://beslain.gumroad.com) — 25+ automations as drop-in YAML packages. Use code **LAUNCH50** for 50% off.
  • [Night Lights Pack](https://beslain.gumroad.com/l/ha-night-lights-pack) — The polished version of automation #3 with multi-room support and time-based brightness curves. Use code **LAUNCH50** for 50% off.
  • [Complete Bundle](https://beslain.gumroad.com) — Everything at a discount. Use code **LAUNCH50** for 50% off.
  • ---

    **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.