4x5 MacroPad for HomeAssistant / ESPHome
Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.
Zapisane na tym urządzeniu.
ESPHome Compatible and Home Assistant ready
- Ocena
- 0 / 5
- Polubienia
- 17
- Pobrania
- 59
- Wydruki
- 0
- Wyświetlenia
- 810
- Oceny
- 0
Aktualizacja u źródła:
Informacje o modelu
- Źródło
- Printables
- Kategoria
- Other House Equipment
- Licencja
- Creative Commons — Attribution — Noncommercial
After printing i removed midle support X things with calipers or you coud delet them in your slicer.
Top Plate for Switchces is sturdy as hell without them.
esphome:
name: buttonpad-v2
friendly_name: ButtonPad-V2
on_boot:
priority: -10
then:
- lambda: !lambda |-
id(key_1_click_state).publish_state(false);
- lambda: !lambda |-
id(key_2_click_state).publish_state(false);
- lambda: !lambda |-
id(key_3_click_state).publish_state(false);
- lambda: !lambda |-
id(key_4_click_state).publish_state(false);
- lambda: !lambda |-
id(key_5_click_state).publish_state(false);
- lambda: !lambda |-
id(key_6_click_state).publish_state(false);
- lambda: !lambda |-
id(key_7_click_state).publish_state(false);
- lambda: !lambda |-
id(key_8_click_state).publish_state(false);
- lambda: !lambda |-
id(key_9_click_state).publish_state(false);
- lambda: !lambda |-
id(key_A_click_state).publish_state(false);
- lambda: !lambda |-
id(key_B_click_state).publish_state(false);
- lambda: !lambda |-
id(key_C_click_state).publish_state(false);
- lambda: !lambda |-
id(key_D_click_state).publish_state(false);
- lambda: !lambda |-
id(key_E_click_state).publish_state(false);
- lambda: !lambda |-
id(key_F_click_state).publish_state(false);
- lambda: !lambda |-
id(key_G_click_state).publish_state(false);
- lambda: !lambda |-
id(key_H_click_state).publish_state(false);
- lambda: !lambda |-
id(key_I_click_state).publish_state(false);
- lambda: !lambda |-
id(key_J_click_state).publish_state(false);
- lambda: !lambda |-
id(key_K_click_state).publish_state(false);
- lambda: !lambda |-
id(key_1_held_state).publish_state(false);
- lambda: !lambda |-
id(key_2_held_state).publish_state(false);
- lambda: !lambda |-
id(key_3_held_state).publish_state(false);
- lambda: !lambda |-
id(key_4_held_state).publish_state(false);
- lambda: !lambda |-
id(key_5_held_state).publish_state(false);
- lambda: !lambda |-
id(key_6_held_state).publish_state(false);
- lambda: !lambda |-
id(key_7_held_state).publish_state(false);
- lambda: !lambda |-
id(key_8_held_state).publish_state(false);
- lambda: !lambda |-
id(key_9_held_state).publish_state(false);
- lambda: !lambda |-
id(key_A_held_state).publish_state(false);
- lambda: !lambda |-
id(key_B_held_state).publish_state(false);
- lambda: !lambda |-
id(key_C_held_state).publish_state(false);
- lambda: !lambda |-
id(key_D_held_state).publish_state(false);
- lambda: !lambda |-
id(key_E_held_state).publish_state(false);
- lambda: !lambda |-
id(key_F_held_state).publish_state(false);
- lambda: !lambda |-
id(key_G_held_state).publish_state(false);
- lambda: !lambda |-
id(key_H_held_state).publish_state(false);
- lambda: !lambda |-
id(key_I_held_state).publish_state(false);
- lambda: !lambda |-
id(key_J_held_state).publish_state(false);
- lambda: !lambda |-
id(key_K_held_state).publish_state(false);
- lambda: !lambda |-
id(key_1_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_2_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_3_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_4_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_5_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_6_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_7_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_8_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_9_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_A_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_B_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_C_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_D_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_E_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_F_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_G_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_H_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_I_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_J_double_click_state).publish_state(false);
- lambda: !lambda |-
id(key_K_double_click_state).publish_state(false);
- light.turn_on:
id: led_strip
brightness: 100%
red: 80%
green: 60%
blue: 100%esp32:
board: esp32dev
framework:
type: arduino
Enable logging
logger:
Enable Home Assistant API
api:
encryption:
key: "PnBg/ca/r7Z4uEva9CTEkSXgm1kJx6FmgYcFnWvE4+c="
ota:
password: "dce4a01122c8c506a43fa3ebbdde628f"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Buttonpad-V2 Fallback Hotspot"
password: "m8caOXm3DMsB"
captive_portal:
light:
- platform: neopixelbus
id: led_strip
type: GRB
variant: WS2811
pin: GPIO13
num_leds: 16
name: "Podsvietenie"
matrix_keypad:
id: espdeck_keypad
rows:
- pin: GPIO33
- pin: GPIO32
- pin: GPIO16
- pin: GPIO17
columns:
- pin: GPIO12
- pin: GPIO14
- pin: GPIO27
- pin: GPIO26
- pin: GPIO25
keys: "123456789ABCDEFGHIJK"
has_diodes: false
binary_sensor:
platform: template
name: "Keypad 1 Held"
id: key_1_held_state
platform: template
name: "Keypad 1 Double Click"
id: key_1_double_click_state
platform: template
name: "Keypad 1 Click"
id: key_1_click_state
platform: template
name: "Keypad 2 Held"
id: key_2_held_state
platform: template
name: "Keypad 2 Double Click"
id: key_2_double_click_state
platform: template
name: "Keypad 2 Click"
id: key_2_click_state
platform: template
name: "Keypad 3 Held"
id: key_3_held_state
platform: template
name: "Keypad 3 Double Click"
id: key_3_double_click_state
platform: template
name: "Keypad 3 Click"
id: key_3_click_state
platform: template
name: "Keypad 4 Held"
id: key_4_held_state
platform: template
name: "Keypad 4 Double Click"
id: key_4_double_click_state
platform: template
name: "Keypad 4 Click"
id: key_4_click_state
platform: template
name: "Keypad 5 Held"
id: key_5_held_state
platform: template
name: "Keypad 5 Double Click"
id: key_5_double_click_state
platform: template
name: "Keypad 5 Click"
id: key_5_click_state
platform: template
name: "Keypad 6 Held"
id: key_6_held_state
platform: template
name: "Keypad 6 Double Click"
id: key_6_double_click_state
platform: template
name: "Keypad 6 Click"
id: key_6_click_state
platform: template
name: "Keypad 7 Held"
id: key_7_held_state
platform: template
name: "Keypad 7 Double Click"
id: key_7_double_click_state
platform: template
name: "Keypad 7 Click"
id: key_7_click_state
platform: template
name: "Keypad 8 Held"
id: key_8_held_state
platform: template
name: "Keypad 8 Double Click"
id: key_8_double_click_state
platform: template
name: "Keypad 8 Click"
id: key_8_click_state
platform: template
name: "Keypad 9 Held"
id: key_9_held_state
platform: template
name: "Keypad 9 Double Click"
id: key_9_double_click_state
platform: template
name: "Keypad 9 Click"
id: key_9_click_state
platform: template
name: "Keypad A Held"
id: key_A_held_state
platform: template
name: "Keypad A Double Click"
id: key_A_double_click_state
platform: template
name: "Keypad A Click"
id: key_A_click_state
platform: template
name: "Keypad B Held"
id: key_B_held_state
platform: template
name: "Keypad B Double Click"
id: key_B_double_click_state
platform: template
name: "Keypad B Click"
id: key_B_click_state
platform: template
name: "Keypad C Held"
id: key_C_held_state
platform: template
name: "Keypad C Double Click"
id: key_C_double_click_state
platform: template
name: "Keypad C Click"
id: key_C_click_state
platform: template
name: "Keypad D Held"
id: key_D_held_state
platform: template
name: "Keypad D Double Click"
id: key_D_double_click_state
platform: template
name: "Keypad D Click"
id: key_D_click_state
platform: template
name: "Keypad E Held"
id: key_E_held_state
platform: template
name: "Keypad E Double Click"
id: key_E_double_click_state
platform: template
name: "Keypad E Click"
id: key_E_click_state
platform: template
name: "Keypad F Held"
id: key_F_held_state
platform: template
name: "Keypad F Double Click"
id: key_F_double_click_state
platform: template
name: "Keypad F Click"
id: key_F_click_state
platform: template
name: "Keypad G Held"
id: key_G_held_state
platform: template
name: "Keypad G Double Click"
id: key_G_double_click_state
platform: template
name: "Keypad G Click"
id: key_G_click_state
platform: template
name: "Keypad H Held"
id: key_H_held_state
platform: template
name: "Keypad H Double Click"
id: key_H_double_click_state
platform: template
name: "Keypad H Click"
id: key_H_click_state
platform: template
name: "Keypad I Held"
id: key_I_held_state
platform: template
name: "Keypad I Double Click"
id: key_I_double_click_state
platform: template
name: "Keypad I Click"
id: key_I_click_state
platform: template
name: "Keypad J Held"
id: key_J_held_state
platform: template
name: "Keypad J Double Click"
id: key_J_double_click_state
platform: template
name: "Keypad J Click"
id: key_J_click_state
platform: template
name: "Keypad K Held"
id: key_K_held_state
platform: template
name: "Keypad K Double Click"
id: key_K_double_click_state
platform: template
name: "Keypad K Click"
id: key_K_click_state
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key1
key: 1
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_1_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_1_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 1 MultiHeld"
- lambda: !lambda |-
id(key_1_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_1_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 1 Double Click"
- lambda: !lambda |-
id(key_1_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_1_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key2
key: 2
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_2_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_2_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 2 MultiHeld"
- lambda: !lambda |-
id(key_2_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_2_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 2 Double Click"
- lambda: !lambda |-
id(key_2_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_2_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key3
key: 3
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_3_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_3_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 3 MultiHeld"
- lambda: !lambda |-
id(key_3_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_3_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 3 Double Click"
- lambda: !lambda |-
id(key_3_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_3_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key4
key: 4
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_4_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_4_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 4 MultiHeld"
- lambda: !lambda |-
id(key_4_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_4_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 4 Double Click"
- lambda: !lambda |-
id(key_4_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_4_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key5
key: 5
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_5_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_5_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 5 MultiHeld"
- lambda: !lambda |-
id(key_5_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_5_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 5 Double Click"
- lambda: !lambda |-
id(key_5_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_5_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key6
key: 6
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_6_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_6_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 6 MultiHeld"
- lambda: !lambda |-
id(key_6_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_6_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 6 Double Click"
- lambda: !lambda |-
id(key_6_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_6_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key7
key: 7
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_7_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_7_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 7 MultiHeld"
- lambda: !lambda |-
id(key_7_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_7_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 7 Double Click"
- lambda: !lambda |-
id(key_7_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_7_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key8
key: 8
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_8_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_8_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 8 MultiHeld"
- lambda: !lambda |-
id(key_8_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_8_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 8 Double Click"
- lambda: !lambda |-
id(key_8_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_8_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: key9
key: 9
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_9_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_9_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key 9 MultiHeld"
- lambda: !lambda |-
id(key_9_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_9_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key 9 Double Click"
- lambda: !lambda |-
id(key_9_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_9_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyA
key: A
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_A_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_A_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key A MultiHeld"
- lambda: !lambda |-
id(key_A_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_A_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key A Double Click"
- lambda: !lambda |-
id(key_A_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_A_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyB
key: B
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_B_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_B_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key B MultiHeld"
- lambda: !lambda |-
id(key_B_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_B_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key B Double Click"
- lambda: !lambda |-
id(key_B_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_B_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyC
key: C
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_C_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_C_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key C MultiHeld"
- lambda: !lambda |-
id(key_C_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_C_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key C Double Click"
- lambda: !lambda |-
id(key_C_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_C_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyD
key: D
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_D_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_D_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key D MultiHeld"
- lambda: !lambda |-
id(key_D_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_D_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key D Double Click"
- lambda: !lambda |-
id(key_D_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_D_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyE
key: E
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_E_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_E_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key E MultiHeld"
- lambda: !lambda |-
id(key_E_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_E_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key E Double Click"
- lambda: !lambda |-
id(key_E_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_E_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyF
key: F
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_F_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_F_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key F MultiHeld"
- lambda: !lambda |-
id(key_F_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_F_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key F Double Click"
- lambda: !lambda |-
id(key_F_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_F_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyG
key: G
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_G_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_G_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key G MultiHeld"
- lambda: !lambda |-
id(key_G_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_G_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key G Double Click"
- lambda: !lambda |-
id(key_G_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_G_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyH
key: H
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_H_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_H_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key H MultiHeld"
- lambda: !lambda |-
id(key_H_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_H_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key H Double Click"
- lambda: !lambda |-
id(key_H_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_H_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyI
key: I
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_I_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_I_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key I MultiHeld"
- lambda: !lambda |-
id(key_I_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_I_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key I Double Click"
- lambda: !lambda |-
id(key_I_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_I_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyJ
key: J
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_J_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_J_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key J MultiHeld"
- lambda: !lambda |-
id(key_J_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_J_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key J Double Click"
- lambda: !lambda |-
id(key_J_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_J_double_click_state).publish_state(false);
platform: matrix_keypad
keypad_id: espdeck_keypad
id: keyK
key: K
on_multi_click:
- timing:
- ON for at most 950ms
- OFF for at least 500ms
then:
- lambda: !lambda |-
id(key_K_click_state).publish_state(true);
- delay: 500ms
- lambda: !lambda |-
id(key_K_click_state).publish_state(false);
- timing:
- ON for at least 1s
then:
- logger.log: "Key K MultiHeld"
- lambda: !lambda |-
id(key_K_held_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_K_held_state).publish_state(false);
on_double_click:
min_length: 25ms
max_length: 350ms
then:
- logger.log: "Key K Double Click"
- lambda: !lambda |-
id(key_K_double_click_state).publish_state(true);
- delay: 1s
- lambda: !lambda |-
id(key_K_double_click_state).publish_state(false);