alias: Front Porch Lights id: automation_front_porch_lights mode: queued trigger: - platform: state id: motion_on entity_id: - binary_sensor.front_porch_motion - binary_sensor.front_porch_person_occupancy to: "on" - platform: state id: motion_off entity_id: binary_sensor.front_porch_motion, binary_sensor.front_porch_person_occupancy to: "off" for: minutes: 5 - platform: state id: door_open entity_id: binary_sensor.garage_door, binary_sensor.outer_garage_door_contact #, binary_sensor.outer_garage_door to: "on" - platform: state id: door_shut entity_id: binary_sensor.outer_garage_door_contact #, binary_sensor.outer_garage_door to: "off" for: minutes: 1 - platform: state id: too_dark entity_id: binary_sensor.front_porch_naturally_lit to: "off" - platform: state id: too_bright entity_id: binary_sensor.front_porch_naturally_lit to: "on" condition: # - condition: or # conditions: # - alias: "Front porch not naturally lit" # condition: state # entity_id: binary_sensor.front_porch_naturally_lit # state: 'off' # - alias: "Light is already off" # condition: state # entity_id: light.front_porch_overhead # state: 'off' - alias: "It is not late evening" condition: state entity_id: binary_sensor.late_evening state: 'off' - alias: "It is not night" condition: state entity_id: binary_sensor.night state: 'off' action: - choose: - conditions: - condition: trigger id: "door_open" - condition: state entity_id: light.front_porch_overhead state: 'off' - alias: "Front porch not naturally lit" condition: state entity_id: binary_sensor.front_porch_naturally_lit state: 'off' sequence: - service: light.turn_on target: entity_id: light.front_porch_overhead - conditions: - condition: trigger id: "motion_on" - condition: state entity_id: light.front_porch_overhead state: 'off' - alias: "Front porch not naturally lit" condition: state entity_id: binary_sensor.front_porch_naturally_lit state: 'off' sequence: - service: light.turn_on target: entity_id: light.front_porch_overhead - conditions: - condition: trigger id: "too_bright" - condition: state entity_id: light.front_porch_overhead state: 'on' sequence: - service: light.turn_off target: entity_id: light.front_porch_overhead - conditions: - condition: state entity_id: binary_sensor.front_porch_motion state: "off" for: minutes: 5 # - condition: state # entity_id: binary_sensor.outer_garage_door # state: 'off' - condition: state entity_id: binary_sensor.outer_garage_door_contact state: 'off' - condition: state entity_id: light.front_porch_overhead state: 'on' sequence: - service: light.turn_off target: entity_id: light.front_porch_overhead