Add README
This commit is contained in:
160
README.md
Normal file
160
README.md
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
# Home Assistant Blueprints
|
||||||
|
|
||||||
|
## Multi-Press Action Blueprint
|
||||||
|
|
||||||
|
Trigger different actions based on how many times an entity changes state rapidly. Perfect for light switches, buttons, or any entity where you want single, double, triple, or quad-press actions.
|
||||||
|
|
||||||
|
### Import URL
|
||||||
|
```
|
||||||
|
https://git.johnogle.info/johno/home-assistant-blueprints/raw/branch/main/multi_press_action.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
**Method 1: Import via UI**
|
||||||
|
1. Go to Settings → Automations & Scenes → Blueprints
|
||||||
|
2. Click "Import Blueprint" (blue button, bottom right)
|
||||||
|
3. Paste the import URL above
|
||||||
|
4. Click "Preview" then "Import"
|
||||||
|
|
||||||
|
**Method 2: Manual Installation**
|
||||||
|
1. Download the blueprint file
|
||||||
|
2. Place it in `/config/blueprints/automation/multi_press_action.yaml`
|
||||||
|
3. Restart Home Assistant or reload automations
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- **Configurable time window**: Set how quickly presses must occur (default 1.5s)
|
||||||
|
- **Immediate or delayed single-press**: Choose whether single press acts instantly or waits
|
||||||
|
- **Up to 4 press levels**: Single, double, triple, and quad press actions
|
||||||
|
- **Complex action support**: Each action can include conditions, scenes, scripts, and more
|
||||||
|
|
||||||
|
### Configuration Options
|
||||||
|
|
||||||
|
| Input | Description | Default |
|
||||||
|
|-------|-------------|---------|
|
||||||
|
| **Trigger Entity** | The entity to monitor for state changes | Required |
|
||||||
|
| **Time Window** | Maximum time between presses (seconds) | 1.5 |
|
||||||
|
| **Execute Single Press Immediately** | Run single press action without waiting | Yes |
|
||||||
|
| **Single Press Action** | Action(s) to run on single press | None |
|
||||||
|
| **Double Press Action** | Action(s) to run on double press | None |
|
||||||
|
| **Triple Press Action** | Action(s) to run on triple press | None |
|
||||||
|
| **Quad Press Action** | Action(s) to run on quad press (4 times) | None |
|
||||||
|
|
||||||
|
### Usage Examples
|
||||||
|
|
||||||
|
#### Example 1: Light Switch with Scene Control
|
||||||
|
|
||||||
|
**Use Case**: Normal switch operation, but double-press for bright scene
|
||||||
|
|
||||||
|
**Configuration**:
|
||||||
|
- **Trigger Entity**: `light.bedroom`
|
||||||
|
- **Immediate Single Press**: ✅ Enabled
|
||||||
|
- **Single Press Action**: Leave empty (light toggles naturally)
|
||||||
|
- **Double Press Action**:
|
||||||
|
```yaml
|
||||||
|
- choose:
|
||||||
|
- conditions:
|
||||||
|
- condition: sun
|
||||||
|
after: sunset
|
||||||
|
sequence:
|
||||||
|
- service: scene.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: scene.bedroom_bright_night
|
||||||
|
- conditions:
|
||||||
|
- condition: sun
|
||||||
|
before: sunset
|
||||||
|
sequence:
|
||||||
|
- service: scene.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: scene.bedroom_bright_day
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Example 2: Button with Escalating Actions
|
||||||
|
|
||||||
|
**Use Case**: Button that does more based on number of presses
|
||||||
|
|
||||||
|
**Configuration**:
|
||||||
|
- **Trigger Entity**: `binary_sensor.my_button`
|
||||||
|
- **Immediate Single Press**: ❌ Disabled (wait to see if multi-press)
|
||||||
|
- **Single Press Action**: Turn on TV
|
||||||
|
- **Double Press Action**: Turn on TV + soundbar + dim lights
|
||||||
|
- **Triple Press Action**: Full movie mode (TV + soundbar + lights off + close blinds)
|
||||||
|
- **Quad Press Action**: Party mode
|
||||||
|
|
||||||
|
#### Example 3: Bathroom Light with Time-Based Logic
|
||||||
|
|
||||||
|
**Configuration**:
|
||||||
|
- **Trigger Entity**: `light.bathroom`
|
||||||
|
- **Immediate Single Press**: ✅ Enabled
|
||||||
|
- **Triple Press Action**:
|
||||||
|
```yaml
|
||||||
|
- choose:
|
||||||
|
- conditions:
|
||||||
|
- condition: time
|
||||||
|
after: "22:00:00"
|
||||||
|
before: "06:00:00"
|
||||||
|
sequence:
|
||||||
|
- service: light.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: light.bathroom
|
||||||
|
data:
|
||||||
|
brightness_pct: 10
|
||||||
|
color_temp: 454
|
||||||
|
default:
|
||||||
|
- service: light.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: light.bathroom
|
||||||
|
data:
|
||||||
|
brightness_pct: 100
|
||||||
|
```
|
||||||
|
|
||||||
|
### Updates
|
||||||
|
|
||||||
|
To get the latest version of this blueprint:
|
||||||
|
|
||||||
|
1. Go to **Settings → Automations & Scenes → Blueprints**
|
||||||
|
2. Find **"Multi-Press Action"** in your list
|
||||||
|
3. Click the **⋮** menu (three dots)
|
||||||
|
4. Select **"Re-import Blueprint"**
|
||||||
|
5. Your existing automations will automatically use the updated version
|
||||||
|
|
||||||
|
### Changelog
|
||||||
|
|
||||||
|
#### v1.0.0 (2025-10-25)
|
||||||
|
- Initial release
|
||||||
|
- Support for single, double, triple, and quad press actions
|
||||||
|
- Configurable time window
|
||||||
|
- Optional immediate single-press mode
|
||||||
|
- Full action sequence support with conditions
|
||||||
|
|
||||||
|
### Tips
|
||||||
|
|
||||||
|
- **Immediate mode** (default): Best for switches that control things directly (like lights). No delay on single press.
|
||||||
|
- **Delayed mode**: Best for buttons that only trigger automations. Waits to see if you're doing a multi-press.
|
||||||
|
- **Time window**: Start with 1.5s. Increase if you have trouble with multi-press detection, decrease for faster response.
|
||||||
|
- **Action complexity**: Each action input supports full Home Assistant action sequences - use conditions, choose blocks, multiple services, etc.
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
|
||||||
|
**Multi-press not detecting:**
|
||||||
|
- Increase the time window
|
||||||
|
- Check that your entity is actually changing state rapidly
|
||||||
|
- Look at Developer Tools → Events to watch `state_changed` events
|
||||||
|
|
||||||
|
**Single press delayed even in immediate mode:**
|
||||||
|
- Make sure "Execute Single Press Immediately" is enabled
|
||||||
|
- Check that your single press action isn't empty (unless you want the natural entity behavior)
|
||||||
|
|
||||||
|
**Automation not working:**
|
||||||
|
- Check the automation trace (Settings → Automations → your automation → ⋮ → Traces)
|
||||||
|
- Verify your trigger entity is the correct one
|
||||||
|
- Test with simple actions first (like notifications)
|
||||||
|
|
||||||
|
### Support
|
||||||
|
|
||||||
|
Found a bug or have a feature request? Open an issue on the repository!
|
||||||
|
|
||||||
|
### License
|
||||||
|
|
||||||
|
Feel free to use, modify, and share this blueprint!
|
||||||
Reference in New Issue
Block a user