From 40e03d0300b8fda0fb7c332947c317812d3c55c9 Mon Sep 17 00:00:00 2001 From: John Ogle Date: Sun, 21 Dec 2025 15:50:59 -0800 Subject: [PATCH] Reorganize blueprints: move legacy blueprints to blueprints/automation --- .../occupancy_controlled_lights.yaml | 0 multi_press_action.yaml | 127 ------------------ 2 files changed, 127 deletions(-) rename occupancy_controlled_lights.yaml => blueprints/automation/occupancy_controlled_lights.yaml (100%) delete mode 100644 multi_press_action.yaml diff --git a/occupancy_controlled_lights.yaml b/blueprints/automation/occupancy_controlled_lights.yaml similarity index 100% rename from occupancy_controlled_lights.yaml rename to blueprints/automation/occupancy_controlled_lights.yaml diff --git a/multi_press_action.yaml b/multi_press_action.yaml deleted file mode 100644 index 333ed1e..0000000 --- a/multi_press_action.yaml +++ /dev/null @@ -1,127 +0,0 @@ -blueprint: - name: Multi-Press Action - description: Trigger different actions based on how many times an entity changes state rapidly - domain: automation - input: - trigger_entity: - name: Trigger Entity - description: The entity to monitor for state changes - selector: - entity: {} - - press_counter: - name: Multi-Press Counter - description: House-wide counter helper for tracking presses (create counter.multi_press_counter) - default: counter.multi_press_counter - selector: - entity: - domain: counter - - time_window: - name: Time Window - description: Maximum time between presses (in seconds) - default: 1.5 - selector: - number: - min: 0.5 - max: 5 - step: 0.1 - unit_of_measurement: seconds - - immediate_single_press: - name: Execute Single Press Immediately - description: If enabled, single press action runs immediately without waiting. If disabled, waits to see if it's a multi-press before acting. - default: true - selector: - boolean: {} - - single_press_action: - name: Single Press Action - description: Action to run on single press - default: [] - selector: - action: {} - - double_press_action: - name: Double Press Action - description: Action to run on double press - default: [] - selector: - action: {} - - triple_press_action: - name: Triple Press Action - description: Action to run on triple press - default: [] - selector: - action: {} - - quad_press_action: - name: Quad Press Action - description: Action to run on quad press (4 times) - default: [] - selector: - action: {} - -mode: restart -max_exceeded: silent - -trigger: - - platform: state - entity_id: !input trigger_entity - -action: - - variables: - time_window: !input time_window - immediate: !input immediate_single_press - counter_entity: !input press_counter - - # Increment the counter (each restart = new press) - - action: counter.increment - target: - entity_id: !input press_counter - - # Execute single press immediately if enabled - - if: - - condition: template - value_template: "{{ immediate and states(counter_entity) | int == 1 }}" - then: - - choose: - - conditions: [] - sequence: !input single_press_action - - # Wait for the time window to see if more presses come - - delay: - seconds: "{{ time_window }}" - - # Get final press count and execute appropriate action - - variables: - final_count: "{{ states(counter_entity) | int }}" - - # Reset counter before executing actions - - action: counter.reset - target: - entity_id: !input press_counter - - # Execute action based on final press count - - choose: - # Only run single press if NOT immediate (delayed mode) - - conditions: - - condition: template - value_template: "{{ final_count == 1 and not immediate }}" - sequence: !input single_press_action - - - conditions: - - condition: template - value_template: "{{ final_count == 2 }}" - sequence: !input double_press_action - - - conditions: - - condition: template - value_template: "{{ final_count == 3 }}" - sequence: !input triple_press_action - - - conditions: - - condition: template - value_template: "{{ final_count >= 4 }}" - sequence: !input quad_press_action