Motion Sensor Inactivity Automation

blueprint:
  name: Motion Sensor Inactivity Automation with Sun Condition
  description: If one or more motion sensors have not detected movement for a specified
    number of hours and the sun is up or down, close a cover and turn off lights and
    climate control.
  domain: automation
  input:
    motion_sensor_entities:
      name: Motion Sensors
      description: The entity IDs of the motion sensors to monitor for inactivity.
        If any of the sensors have not detected motion for the specified number of
        hours, the automation will trigger.
      selector:
        entity:
          domain:
          - binary_sensor
          device_class:
          - motion
          multiple: true
    cover_entity:
      name: Cover
      description: The entity ID of the cover to close when motion sensor is inactive
        for the specified number of hours.
      default: {}
      selector:
        entity:
          domain:
          - cover
          multiple: false
    light_entities:
      name: Lights
      description: The entity IDs of the lights to turn off when motion sensor is
        inactive for the specified number of hours.
      selector:
        entity:
          domain:
          - light
          multiple: true
    climate_entity:
      name: Climate Control
      description: The entity ID of the climate control to turn off when motion sensor
        is inactive for the specified number of hours.
      selector:
        entity:
          domain:
          - climate
          multiple: false
    sun_condition:
      name: Sun Condition
      description: When to run the automation - "above_horizon" for when the sun is
        up, "below_horizon" for when the sun is down, or "ignore" to run regardless
        of sun condition.
      selector:
        select:
          options:
          - ignore
          - above_horizon
          - below_horizon
          custom_value: false
          multiple: false
    inactivity_hours:
      name: Inactivity Hours
      description: The number of hours of inactivity to trigger the automation.
      default: 1
      selector:
        number:
          min: 1.0
          max: 24.0
          step: 1.0
          unit_of_measurement: hours
          mode: slider
  source_url: https://community.home-assistant.io/t/motion-sensor-inactivity-automation/561600
mode: single
trigger:
- platform: state
  entity_id: !input motion_sensor_entities
  to: 'off'
  for:
    hours: !input inactivity_hours
variables:
  light_entities: !input light_entities
  climate_entity: !input climate_entity
  cover_entity: !input cover_entity
  sun_condition: !input sun_condition
condition:
- condition: template
  value_template: "{{ (sun_condition == 'ignore') or ((sun_condition == 'above_horizon'
    and states.sun.sun.state == 'above_horizon') or (sun_condition == 'below_horizon'
    and states.sun.sun.state == 'below_horizon')) }}"
action:
- choose:
  - conditions: '{{ light_entities|length > 0 }}'
    sequence:
    - service: light.turn_off
      data:
        entity_id: !input light_entities
- choose:
  - conditions: '{{ climate_entity|length > 0 }}'
    sequence:
    - service: climate.turn_off
      target:
        entity_id: !input climate_entity
- choose:
  - conditions: '{{ cover_entity|length > 0 }}'
    sequence:
    - service: cover.close_cover
      target:
        entity_id: !input cover_entity
3 Likes

Thanks for sharing! Would you mind to tell us something about your own intention of building this blueprint? What was the purpose?
BR
André

1 Like