Turn light on and off based on detected motion with sun condition

Tags: #<Tag:0x00007f32709a2a28> #<Tag:0x00007f32709a2500>

This based on Turn light on and off based on detected motion (by dondochaka)

This is a simple automation that turns a light on when there is motion, and turns it off when there is not.
but I added a condition so that it only trigger only in sunset, it is possible to configure the sunset and sunrise offset

blueprint:
  name: Motion-activated Light with sun condition
  description: Turn on a light when motion is detected and sunset.
  domain: automation
  input:
    motion_entity:
      name: Motion Sensor
      selector:
        entity:
          domain: binary_sensor
          device_class: motion
    light_target:
      name: Light
      selector:
        target:
          entity:
            domain: light
    no_motion_wait:
      name: Wait time
      description: Time to leave the light on after last motion is detected.
      default: 120
      selector:
        number:
          min: 0
          max: 3600
          unit_of_measurement: seconds
          
    sunset_offset:
      name: Offset to turn on lights
      description: Define offset to sunset
      default: 60
      selector:
        number:
          min: 0
          max: 240
          unit_of_measurement: minutes
          
    sunrise_offset:
      name: Offset to turn off lights
      description: Define offset to sunrise
      default: 45
      selector:
        number:
          min: 0
          max: 240
          unit_of_measurement: minutes

# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent

trigger:
  platform: state
  entity_id: !input motion_entity
  from: "off"
  to: "on"
  
condition:
  - condition: or
    conditions:
    - condition: sun
      after: sunset
      after_offset: !input sunset_offset
    - condition: sun
      before: sunrise
      before_offset: !input sunrise_offset

action:
  - service: light.turn_on
    target: !input light_target
  - wait_for_trigger:
      platform: state
      entity_id: !input motion_entity
      from: "on"
      to: "off"
  - delay: !input no_motion_wait
  - service: light.turn_off
    target: !input light_target
1 Like

Good Automation.

Can you also add contact sensor condition there?

I’ll like the lights to go ON/OFF when any of exterior door is open to trigger the outdoor light as well at sunset

1 Like

But did you know how write next condition to check that light is off ? But when is ON automation not run.