Door Sensor - Turn on/off Light

Tags: #<Tag:0x00007f325e810488> #<Tag:0x00007f325e810348>

I changed the default motion sensor blueprint to match door sensors!
Turn on porch-, -garage or door lights when door opens. Leave it on for X seconds after closing the door.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

blueprint:
  name: Door Sensor-activated Light
  description: Turn on a light when door is opened.
  domain: automation
  input:
    doorsensor_entity:
      name: Door Sensor
      selector:
        entity:
          domain: binary_sensor
# My sensors has device_class opening but it's commented 
# for now since not every sensor uses 'opening' as default
#          device_class: opening
    light_target:
      name: Light
      selector:
        target:
          entity:
            domain: light
    door_closed_wait:
      name: Wait time
      description: Time to leave the light on after door is closed
      default: 120
      selector:
        number:
          min: 0
          max: 3600
          unit_of_measurement: seconds


mode: single
max_exceeded: silent

trigger:
  platform: state
  entity_id: !input doorsensor_entity
  from: "off"
  to: "on"

action:
  - service: light.turn_on
    target: !input light_target
  - wait_for_trigger:
      platform: state
      entity_id: !input doorsensor_entity
      from: "on"
      to: "off"
  - delay: !input door_closed_wait
  - service: light.turn_off
    target: !input light_target

7 Likes

device_class: door should be also included as accepted input for Door Sensor.

Of course! Ehm, I’ve been looking around and can’t seem to see how do you set multiple device_classes. Do you have any idea? Or should I just delete that row and let people choose from all the binary_sensors?

From the looks of it entity device_class selector only accepts a single value.
Until they allow multiple device classes my suggestion would be that yes, delete that row.

My zigbee door sensors have the “door” device_class set, so this blueprint would not be able to use them.

what if i need to switch on off sonoff t1? :slight_smile: isnt on the light list

I see The dilemma but if I take away yet another domain it takes away the simplicity. You can just copy the code and either delete the domain or change it to switch and save locally :slightly_smiling_face:

Looks good, just no use for me, because my sonoff is not recognized as light.

I guess i can make another blueprint that uses homeassistant.turn_on/off so you can mix lights, switches and… Whatever.

I might have a little time tonight, or not. I post the link here when it is done

I actually just thought I said it … Why does he see my tasmotas as a switch and not as a light, this was very simple …
i had to use another discovery function.

Now I have used setOption30 1, and then he sees them …

Problem solved.

ok, works

light_target:
  name: Switch
  selector:
    target:
      entity:
        domain: switch

action:

  • service: homeassistant.turn_on
    target: !input light_target
  • wait_for_trigger:
    platform: state
    entity_id: !input doorsensor_entity
    from: “on”
    to: “off”
  • delay: !input door_closed_wait
  • service: homeassistant.turn_off
    target: !input light_target

I adding the time condition for active/in-active the automation.

    time_active_start:
      name: Timer active start
      description: Time to start the automation!
      default: 07:00:00
      selector:
        time: {}
    time_active_stop:
      name: Time active stop
      description: Time to stop the automation
      default: 07:00:00
      selector: 
        time: {}
condition:
  - condition: time
    after: !input 'time_active_start'
    before: !input 'time_active_stop'
1 Like

Great idea! Should absolutely be implemented in the blueprint.

Allthough, time is rare with 2 kids and christmas around the corner :slightly_smiling_face:

1 Like

Really good automation.

Would be nice if you can allow the switch class as well instead of just the light class

Do you know if you can use multiple domains or do I need to remove the domain info?

Hello,
What about from sunset to sunrise? is it possible? sorry if it’s a noob questions?

You could change the “time” to “sun” condition.

condition:
  - condition: sun
    after: sunrise
    before: sunset
1 Like

thanks @thangnm,
I managed to do it with

condition:
  - condition: state
    entity_id: sun.sun
    state: 'below_horizon'

not sure if it’s ok to use it like this, but seem to works

1 Like

looks to be a great Blueprint, just wondering how to import it into HA, so which URL should I use to import this Blueprint?
Tx - Dave

Hey, I’m sorry about the late reply. Just use the URL you see in the top. Or copy this one :slight_smile: https://community.home-assistant.io/t/door-sensor-turn-on-off-light/255657