cadence based fan management
This commit is contained in:
		@@ -0,0 +1,65 @@
 | 
			
		||||
blueprint:
 | 
			
		||||
  name: Fan Cadence with Light Check
 | 
			
		||||
  description: >
 | 
			
		||||
    Runs a fan on a cadence every X minutes.
 | 
			
		||||
    Turns it off after Y seconds unless any of the specified lights are on.
 | 
			
		||||
  domain: automation
 | 
			
		||||
  input:
 | 
			
		||||
    fan_entity:
 | 
			
		||||
      name: Fan Entity
 | 
			
		||||
      selector:
 | 
			
		||||
        entity:
 | 
			
		||||
          domain: fan
 | 
			
		||||
 | 
			
		||||
    interval_minutes:
 | 
			
		||||
      name: Fan Activation Interval (minutes)
 | 
			
		||||
      description: How often to turn the fan on
 | 
			
		||||
      default: 15
 | 
			
		||||
      selector:
 | 
			
		||||
        number:
 | 
			
		||||
          min: 1
 | 
			
		||||
          max: 1440
 | 
			
		||||
          unit_of_measurement: minutes
 | 
			
		||||
 | 
			
		||||
    duration_seconds:
 | 
			
		||||
      name: How Long to Keep Fan On (seconds)
 | 
			
		||||
      description: How long the fan stays on before trying to turn it off
 | 
			
		||||
      default: 60
 | 
			
		||||
      selector:
 | 
			
		||||
        number:
 | 
			
		||||
          min: 5
 | 
			
		||||
          max: 3600
 | 
			
		||||
          unit_of_measurement: seconds
 | 
			
		||||
 | 
			
		||||
    override_lights:
 | 
			
		||||
      name: Override Lights
 | 
			
		||||
      description: Fan will not be turned off if any of these lights are on
 | 
			
		||||
      selector:
 | 
			
		||||
        entity:
 | 
			
		||||
          domain: light
 | 
			
		||||
          multiple: true
 | 
			
		||||
 | 
			
		||||
trigger:
 | 
			
		||||
  - platform: time_pattern
 | 
			
		||||
    minutes: "/{{ iif(interval_minutes | int > 0, interval_minutes, 15) }}"
 | 
			
		||||
 | 
			
		||||
variables:
 | 
			
		||||
  fan: !input fan_entity
 | 
			
		||||
  lights: !input override_lights
 | 
			
		||||
 | 
			
		||||
condition: []
 | 
			
		||||
 | 
			
		||||
action:
 | 
			
		||||
  - service: fan.turn_on
 | 
			
		||||
    target:
 | 
			
		||||
      entity_id: "{{ fan }}"
 | 
			
		||||
  - delay:
 | 
			
		||||
      seconds: !input duration_seconds
 | 
			
		||||
  - condition: template
 | 
			
		||||
    value_template: >
 | 
			
		||||
      {{ lights | map('states') | select('eq', 'on') | list | length == 0 }}
 | 
			
		||||
  - service: fan.turn_off
 | 
			
		||||
    target:
 | 
			
		||||
      entity_id: "{{ fan }}"
 | 
			
		||||
 | 
			
		||||
mode: parallel
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user