1 / 1
4x5 MacroPad for HomeAssistant / ESPHome — image 1

4x5 MacroPad for HomeAssistant / ESPHome

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

ESPHome Compatible and Home Assistant ready

Rating
0 / 5
Likes
17
Downloads
59
Makes
0
Views
810
Reviews
0

Updated at source:

Model information

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

Tags