Featured image of post Home Assistant A-Z: N is for Night Mode – Never Blinded at Night Again!

Home Assistant A-Z: N is for Night Mode – Never Blinded at Night Again!

How do you stop your hallway from turning into a runway at night? I'll show you my intelligent night mode using a central Smart Home status – dimmed night lights instead of blinding glare!

Welcome to the A-Z Series: N is for Night Mode

In today’s episode of the Home Assistant A-Z Series we tackle a topic that every smart home user knows: How do you stop your hallway from lighting up like an airport runway in the middle of the night?

The answer is: night mode! But not just any night mode – today I’ll show you how to use a central Smart Home status to intelligently control all your automations. From dimmed night lights to closed blinds to gentle radio as you drift off to sleep!

YouTube Video
To load the video, please click the image. Please note that by doing so, data will be transmitted to YouTube.

The Problem: Being Blinded at Night

Sound familiar? You wake up in the middle of the night, need a quick bathroom trip, step into the hallway – and BAM! Full brightness hits you square in the face. Your eyes need five minutes to recover. Any chance of relaxing back to sleep is gone.

It doesn’t have to be this way! With an intelligent night mode you can:

  • ✅ Use dimmed night lights instead of full brightness
  • Navigate without being blinded
  • Fall back asleep quickly after your midnight trip
  • Automatically adapt multiple rooms (hallway, bathroom, etc.)

And the best part: All of this works automatically, without you having to manually switch anything!

In the video I show you the problem and the solution live!

The Secret: A Central Smart Home Status

Many Home Assistant users build complicated automations with dozens of conditions. “If the time is between 10 PM and 6 AM AND nobody is in the living room AND…” – it quickly becomes a mess.

My solution: A central Smart Home status that reflects the current state of your entire home!

What is a Smart Home Status?

Talking to other smart home users, I keep noticing: many people don’t bother maintaining a status in their smart home. Yet it is incredibly useful!

A status is simply a Helper (Input Select) that represents the current state of your smart home.

My four states:

  1. Present – Normal operation, everyone is home
  2. Night – Someone has gone to bed
  3. Away – Nobody home
  4. Vacation – Extended absence

That’s it! These four states are enough to keep all my automations running appropriately.

In the video you can see the status live on my dashboard, including the history of the last 24 hours!

Why is a Status so Powerful?

The big advantage: your automations become much simpler!

Instead of:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
condition:
  - condition: time
    after: "22:00:00"
    before: "06:00:00"
  - condition: state
    entity_id: group.all_persons
    state: home
  - condition: state
    entity_id: media_player.wohnzimmer
    state: 'off'

You simply write:

1
2
3
4
condition:
  - condition: state
    entity_id: input_select.smart_home_status
    state: 'Nacht'

Much more readable, maintainable, and flexible!

Live: My Smart Home Status

Let me show you my status live. I have a helper called “Smart Home Status”.

Currently set to: “Anwesend” (of course – I’m recording a video right now!)

In the history of the last 24 hours you can see:

  • 🟢 Present (daytime)
  • 🌙 Night (from roughly 10:30 PM to 6:30 AM)
  • 🟢 Present (after waking up)

The status is set automatically and moves through different phases over the course of a normal day.

Make sure to watch the dashboard in the video – the visualization makes it even clearer!

How is the Status Set Automatically?

Of course I don’t want to open the dashboard every evening and manually click “Night”. That would be absurd!

That’s why I have various automations, all with the goal of changing the status.

Trigger 1: Zigbee Button by the Bed

The most important automation: I have a Zigbee button next to my bed (e.g. an Aqara Wireless Mini Switch).

When I press it:

  1. Status switches to “Night”
  2. An automation cascade is triggered (more on that in a moment!)

This is perfect, because the button press marks the exact moment when I go to bed – not some arbitrary time, but precisely when I want to sleep.

In the video I show you the button and the automation!

Trigger 2: Alarm in the Morning

In the morning, when my alarm goes off, an automation lifts the Night status again:

1
2
3
4
5
6
7
8
9
trigger:
  - platform: time
    at: input_datetime.wecker_time
action:
  - service: input_select.select_option
    target:
      entity_id: input_select.smart_home_status
    data:
      option: 'Anwesend'

The entire smart home wakes up along with you!

Trigger 3: Absence

When all household members leave home, the status switches to “Away”:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
trigger:
  - platform: state
    entity_id: group.all_persons
    to: 'not_home'
    for: "00:05:00"
action:
  - service: input_select.select_option
    target:
      entity_id: input_select.smart_home_status
    data:
      option: 'Abwesend'

Check out all the trigger automations in the video!

The Automation Cascade When Night Mode Activates

When the status switches to “Night”, it doesn’t just trigger one thing – it sets off a whole cascade of automations!

What Happens Automatically:

1. Blinds close

All blinds in the bedroom – and possibly the living room – close automatically:

1
2
3
4
5
6
7
8
9
trigger:
  - platform: state
    entity_id: input_select.smart_home_status
    to: 'Nacht'
action:
  - service: cover.close_cover
    target:
      entity_id: 
        - cover.rollladen_schlafzimmer

2. Bedroom light dims

The bedroom light is dimmed to a very low brightness and then fades out slowly over a 10-minute ramp:

1
2
3
4
5
6
- service: light.turn_on
  target:
    entity_id: light.schlafzimmer
  data:
    brightness: 10
    transition: 600  # 10 Minuten

3. Radio plays softly

A radio turns on at low volume, giving me some entertainment as I fall asleep:

1
2
3
4
5
6
7
8
- service: media_player.turn_on
  target:
    entity_id: media_player.schlafzimmer
- service: media_player.volume_set
  target:
    entity_id: media_player.schlafzimmer
  data:
    volume_level: 0.15

All of this happens with a single button press! Simple, elegant, reliable.

In the video I show you the complete automations in detail!

The Core Feature: Night Light Instead of Main Light

Now here’s the real trick of night mode: intelligent light control!

My Hallway Setup

In my hallway I have two different lights:

  1. Main light (bright ceiling lamp via Shelly)
  2. LED strip on a built-in cabinet (dimmed as a night light)

The goal: During the day the main light should come on; at night, only the dimmed night light!

The Night Light Automation

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
alias: Flur Nachtlicht bei Bewegung
trigger:
  - platform: state
    entity_id: binary_sensor.bewegungsmelder_flur
    to: 'on'
condition:
  - condition: state
    entity_id: input_select.smart_home_status
    state: 'Nacht'
action:
  - service: light.turn_on
    target:
      entity_id: light.flur_nachtlicht
    data:
      brightness: 30

The condition is key: The night light only activates when the status is “Night”!

The Main Light Automation

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
alias: Flur Hauptlicht bei Bewegung
trigger:
  - platform: state
    entity_id: binary_sensor.bewegungsmelder_flur
    to: 'on'
condition:
  - condition: not
    conditions:
      - condition: state
        entity_id: input_select.smart_home_status
        state: 'Nacht'
action:
  - service: light.turn_on
    target:
      entity_id: light.flur_hauptlicht

Here the condition is reversed: The main light only turns on when the status is not “Night”!

This is how I avoid being blinded when I step into the hallway at night!

In the video you can see both automations live in action!

The Bathroom Has Night Mode Too

I’ve applied the same principle in the bathroom as well:

  • At night: Dimmed night light (around 20% brightness)
  • During the day: Full brightness

This gives me a safe path from bed to bathroom and back, gently lit whenever the status is “Night”.

It makes those midnight bathroom trips so much more pleasant!

Why Not Just Use a Time Condition?

Good question! You could simply say: “Between 10 PM and 6 AM, use dimmed lighting.”

But: What if you stay up late on the weekend? Or go to bed early because you’re sick? Or get up at 3 AM and can’t fall back asleep?

With the status-based approach none of that is a problem:

  • ✅ Adapts flexibly to your actual sleep schedule
  • ✅ No rigid time window
  • ✅ Manual override possible (press the button even if it’s only 9 PM)

In the video I explain why the status approach beats time conditions!

Morning: Alarm Cancels Night Status

When my alarm goes off in the morning, the “Night” state is automatically lifted:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
alias: Wecker - Status auf Anwesend
trigger:
  - platform: time
    at: input_datetime.wecker_time
action:
  - service: input_select.select_option
    target:
      entity_id: input_select.smart_home_status
    data:
      option: 'Anwesend'

The entire smart home wakes up!

When I then step into the hallway I get an appropriately wake-you-up light – no longer the dimmed night light, but full brightness.

Perfect for starting the day!

More Use Cases for the Status

The Smart Home status isn’t just useful for night mode! Here are a few more ideas:

Status “Away”

When nobody is home:

  • 🚫 Turn down the heating
  • 🚫 No motion-triggered lights
  • ✅ Activate presence simulation
  • ✅ Arm the alarm

Status “Vacation”

Extended absence:

  • 🌅 Blinds simulate a normal daily routine
  • 💡 Lights turn on and off at “realistic” times
  • 🌡️ Heating set to frost protection
  • 📧 Important notifications via email instead of push

Additional Status Ideas

You can of course define your own states:

  • “Party mode” – Special lighting, music integration
  • “Sick” – Higher heating, blinds closed, more quiet
  • “Work” – Home office mode with notification silencing
  • “Movie” – Dim lights, optimize TV settings

The possibilities are endless!

How to Set Up the Status

Convinced and ready to set up your own Smart Home status? Here’s how:

Step 1: Create the Input Select Helper

Go to: Settings → Devices & Services → Helpers

Click “Add Helper” and choose “Dropdown”

Settings:

  • Name: Smart Home Status
  • Icon: mdi:home-assistant
  • Options:
    • Anwesend
    • Nacht
    • Abwesend
    • Urlaub

Save! You now have input_select.smart_home_status

Step 2: Create Status Automations

Create automations that set the status:

Activate night mode:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
alias: Nachtmodus aktivieren
trigger:
  - platform: event
    event_type: zha_event
    event_data:
      device_id: 'dein_zigbee_taster_id'
      command: single
action:
  - service: input_select.select_option
    target:
      entity_id: input_select.smart_home_status
    data:
      option: 'Nacht'

Wake up:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
alias: Aufwachen - Nachtmodus beenden
trigger:
  - platform: time
    at: '06:30:00'
action:
  - service: input_select.select_option
    target:
      entity_id: input_select.smart_home_status
    data:
      option: 'Anwesend'

Step 3: Use the Status as a Condition in Your Automations

Now you can use the status as a condition in all your automations:

1
2
3
4
condition:
  - condition: state
    entity_id: input_select.smart_home_status
    state: 'Nacht'

Done! You now have a working Smart Home status.

In the video I walk you through all the steps in detail!

Tips and Tricks

A few valuable tips from my experience:

Tip 1: Place the Status Prominently on Your Dashboard

The status should be clearly visible so you always know what state your smart home is in.

Recommendation: On the home page at the very top, as a badge or large tile.

Tip 2: Allow Manual Overrides

Sometimes you want to change the status manually. Make sure the dashboard element is not read-only!

Tip 3: Keep the History

Enable long-term statistics for the status helper so you can trace how your smart home behaves over time.

Tip 4: Logging for Debugging

During development: log all status changes:

1
2
3
4
- service: logbook.log
  data:
    name: Smart Home Status
    message: "Status gewechselt zu {{ states('input_select.smart_home_status') }}"

This lets you see in the logbook when and why the status changed.

In the video I go into these tips in more detail!

Avoiding Common Pitfalls

A few typical mistakes I made early on:

Mistake 1: Too Many States

I started with 8 different states. It quickly became unmanageable. 4–5 states are plenty!

Mistake 2: Forgetting to Reset the Status

If the status is stuck on “Night” and you forget to reset it in the morning, your automations will run incorrectly all day!

Solution: Multiple triggers for resetting (alarm, time, manual light control)

Mistake 3: No Fallback Logic

What happens if the button breaks? Always have a second way to set the status (e.g. dashboard, time-based backup trigger)

Conclusion: Maintaining a Status is Worth It!

There really is nothing more to it than that! A simple helper with 4 states, a few automations to set the status, and then conditions in your relevant automations.

But the impact is enormous:

  • Simpler automations (fewer complex conditions)
  • Better readability (clear what happens when)
  • Centralized logic (change the status instead of dozens of automations)
  • Flexibility (new automations reuse the same status)

A status is useful for many things – not just night mode!

Make sure to watch the full video – you’ll see everything in action and I go into even more depth there!

Your Experiences?

Do you use a Smart Home status?

Leave a comment below:

  • Which states do you use?
  • Which automations do you tie to the status?
  • Do you have night automations like mine?
  • What creative use cases have you found?

I look forward to your ideas and love learning from your experiences!

Further Reading and Videos

If you’re interested in automations and status management:

Find the complete A-Z Series here: Home Assistant A-Z Overview

To load the comments, please click 'Show comments'. Please note that by doing so, data will be transmitted to Disqus.
Show comments
Built with Hugo
Theme Stack designed by Jimmy