Freepad is an open-source Zigbee remote intended to be used to have a customizable keypad to control your smart home devices.
Follow this article https://zigdevwiki.github.io/Begin/IAR_install/
More details on the links:
Find button mapping at project page
The keypad is supported in:
In zigbee2mqtt you could change the setting at Exposes tab.
By default remote works as a custom switch, with multiple clicks, but this behaviour has its drawback. To detect multiple clicks, the remote sends commands with a 300ms delay. You can change this behaviour by the cost of double/triple/etc clicks.
To do that you need to change
ZCL_CLUSTER_ID_GEN_ON_OFF_SWITCH_CONFIG
cluster ATTRID_ON_OFF_SWITCH_TYPE
attribute
Values are:
ON_OFF_SWITCH_TYPE_MOMENTARY
(0) -> no delay, but no multiple clicks, only single
mosquitto_pub -t "zigbee2mqtt/FN/BUTTON_NUM/set/switch_type" -m '0'
ON_OFF_SWITCH_TYPE_MULTIFUNCTION
(2) -> 300ms delay, full set of clicks
mosquitto_pub -t "zigbee2mqtt/FN/BUTTON_NUM/set/switch_type" -m '2'
By default command is TOGGLE, but you can change this behaviour.
Change ZCL_CLUSTER_ID_GEN_ON_OFF_SWITCH_CONFIG
clusters attribute ATTRID_ON_OFF_SWITCH_ACTIONS
ON_OFF_SWITCH_ACTIONS_ON
mosquitto_pub -t "zigbee2mqtt/FN/BUTTON_NUM/set/switch_actions" -m '0'
ON_OFF_SWITCH_ACTIONS_OFF
mosquitto_pub -t "zigbee2mqtt/FN/BUTTON_NUM/set/switch_actions" -m '1'
ON_OFF_SWITCH_ACTIONS_TOGGLE
(default value)
mosquitto_pub -t "zigbee2mqtt/FN/BUTTON_NUM/set/switch_actions" -m '2'
@Vlad_Kolobov recorded a video showing the speed in two modes
TL - touchlink
PM3 - Power Mode 3 (External Interrupts): 0.4 μA