Double click

This commit is contained in:
Nikolay Vasilchuk
2021-10-15 17:34:14 +03:00
parent fb902c9304
commit 3cf2384898

View File

@@ -28,44 +28,69 @@ binary_sensor:
filters: filters:
delayed_on: 25ms delayed_on: 25ms
on_multi_click: on_multi_click:
# Short click - open door or enable once auto opening # Double click - mute mode
- timing: - timing:
- ON for at most $short_click_time_to
- OFF for at most $short_click_time_to
- ON for $short_click_time_from to $short_click_time_to - ON for $short_click_time_from to $short_click_time_to
- OFF for at least 200ms
then: then:
if: - logger.log: "Double Click"
condition: - if:
binary_sensor.is_on: incoming_call condition:
then: binary_sensor.is_off: incoming_call
script.execute: call_accept then:
else: lambda: |-
lambda: |- if (id(mode_mute_once)) {
if (id(mode_auto_open_once)) { id(mode_mute) = true;
id(mode_auto_open) = true; id(mode_mute_once) = false;
id(mode_auto_open_once) = false; } else {
id(mode_auto_reject) = false; id(mode_mute) = false;
} else if (id(mode_auto_open)) { id(mode_mute_once) = true;
id(mode_auto_open) = false; }
id(mode_auto_open_once) = false; # Long click - disable auto opening and mute
id(mode_auto_reject) = true;
} else {
id(mode_auto_open) = false;
id(mode_auto_open_once) = true;
id(mode_auto_reject) = false;
}
# Long click - disable auto opening
- timing: - timing:
- ON for at least $short_click_time_to - ON for at least $short_click_time_to
then: then:
if: - logger.log: "Single Long Click"
condition: - if:
binary_sensor.is_on: incoming_call condition:
then: binary_sensor.is_on: incoming_call
script.execute: call_reject then:
else: script.execute: call_reject
- lambda: |- else:
id(mode_auto_open) = false; - lambda: |-
id(mode_auto_open_once) = false; id(mode_auto_open) = false;
id(mode_auto_reject) = false; id(mode_auto_open_once) = false;
- delay: 10ms id(mode_auto_reject) = false;
- script.execute: led_blink_blue_once id(mode_mute) = false;
id(mode_mute_once) = false;
- delay: 10ms
- script.execute: led_blink_blue_once
# Short click - open door or enable once auto opening
- timing:
- ON for at most $short_click_time_to
- OFF for at least 500ms
then:
- logger.log: "Single Short Click"
- if:
condition:
binary_sensor.is_on: incoming_call
then:
script.execute: call_accept
else:
lambda: |-
if (id(mode_auto_open_once)) {
id(mode_auto_open) = true;
id(mode_auto_open_once) = false;
id(mode_auto_reject) = false;
} else if (id(mode_auto_open)) {
id(mode_auto_open) = false;
id(mode_auto_open_once) = false;
id(mode_auto_reject) = true;
} else {
id(mode_auto_open) = false;
id(mode_auto_open_once) = true;
id(mode_auto_reject) = false;
}
# - <<: !include includes/binary_sensor.captive.yaml # - <<: !include includes/binary_sensor.captive.yaml