1 / 1
4x5 MacroPad for HomeAssistant / ESPHome — zdjęcie 1

4x5 MacroPad for HomeAssistant / ESPHome

Zamów wydruk tego modelu

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
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);

Tagi