Blueprint for the new YIFAN 4 button switch.
Supported actions for each button:
- Short press
- Double press
- Long press (3 seconds)
blueprint:
name: Zigbee2MQTT - Yifan 4 button switch
description: Automate your Yifan 4 button swtich via Zigbee2MQTT.
domain: automation
input:
switch:
name: Yifan 4 button switch
description: Yifan 4 button switch
selector:
entity:
integration: mqtt
domain: sensor
button_one_short_press:
name: Single Press - Button 1
description: Action to run on button 1 (lower-left) single press
default: []
selector:
action: {}
button_one_double_press:
name: Double Press - Button 1
description: Action to run on button 1 (lower-left) double press
default: []
selector:
action: {}
button_one_long_press:
name: Long Press - Button 1
description: Action to run on button 1 (lower-left) long press
default: []
selector:
action: {}
button_two_short_press:
name: Single Press - Button 2
description: Action to run on button 2 (lower-right) single press
default: []
selector:
action: {}
button_two_double_press:
name: Double Press - Button 2
description: Action to run on button 2 (lower-right) double press
default: []
selector:
action: {}
button_two_long_press:
name: Long Press - Button 2
description: Action to run on button 2 (lower-right) long press
default: []
selector:
action: {}
button_three_short_press:
name: Single Press - Button 3
description: Action to run on button 3 (upper-right) single press
default: []
selector:
action: {}
button_three_double_press:
name: Double Press - Button 3
description: Action to run on button 3 (upper-right) double press
default: []
selector:
action: {}
button_three_long_press:
name: Long Press - Button 3
description: Action to run on button 3 (upper-right) long press
default: []
selector:
action: {}
button_four_short_press:
name: Single Press - Button 4
description: Action to run on button 4 (upper-left) single press
default: []
selector:
action: {}
button_four_double_press:
name: Double Press - Button 4
description: Action to run on button 4 (upper-left) double press
default: []
selector:
action: {}
button_four_long_press:
name: Long Press - Button 4
description: Action to run on button 4 (upper-left) long press
default: []
selector:
action: {}
source_url: https://gist.github.com/ganastor/11fab38c6ef8f9e1657c7f6955faeafd
mode: restart
max_exceeded: silent
trigger:
- platform: state
entity_id: !input "switch"
action:
- variables:
command: "{{ trigger.to_state.state }}"
- choose:
- conditions:
- "{{ command == '1_single' }}"
sequence: !input "button_one_short_press"
- conditions:
- "{{ command == '2_single' }}"
sequence: !input "button_two_short_press"
- conditions:
- "{{ command == '3_single' }}"
sequence: !input "button_three_short_press"
- conditions:
- "{{ command == '4_single' }}"
sequence: !input "button_four_short_press"
- conditions:
- "{{ command == '1_double' }}"
sequence: !input "button_one_double_press"
- conditions:
- "{{ command == '2_double' }}"
sequence: !input "button_two_double_press"
- conditions:
- "{{ command == '3_double' }}"
sequence: !input "button_three_double_press"
- conditions:
- "{{ command == '4_double' }}"
sequence: !input "button_four_double_press"
- conditions:
- "{{ command == '1_hold' }}"
sequence: !input "button_one_long_press"
- conditions:
- "{{ command == '2_hold' }}"
sequence: !input "button_two_long_press"
- conditions:
- "{{ command == '3_hold' }}"
sequence: !input "button_three_long_press"
- conditions:
- "{{ command == '4_hold' }}"
sequence: !input "button_four_long_press"