Skip to content

diyruz/freepad

Repository files navigation

Freepad

Freepad is an open-source Zigbee remote intended to be used to have a customizable keypad to control your smart home devices.

How to compile

Follow this article https://zigdevwiki.github.io/Begin/IAR_install/

There are different hardware versions of the console.

More details on the links:

Features list:

  1. Single/double/triple/quadruple/many_x/hold&release
  2. Touchlink reset
  3. ONOFF bind
  4. Level control bind
  5. Bindings configuration
  6. Remote reset

How to join:

  1. Press and hold the first button for 3-10 seconds (depending on whether the device is connected to the network) until the LED on the device flashes.
  2. Wait, if the connection is successful, the device will blink 5 times.
  3. If the connection fails, the device will blink 3 times.

Find button mapping at project page

Support

The keypad is supported in:

  • zigbee2mqtt via int & ext converter
  • ioBroker
  • SLS Gateway

Settings

In zigbee2mqtt you could change the setting at Exposes tab.

Work modes

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'

ONOFF cluster binding

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'

Video

@Vlad_Kolobov recorded a video showing the speed in two modes video_speed_compare

Acronyms in firmware file names

TL - touchlink

PM3 - Power Mode 3 (External Interrupts): 0.4 μA