Smart Home Automation Forum
kincony a16 modbus + WallPad wall switch - Printable Version

+- Smart Home Automation Forum (https://www.kincony.com/forum)
+-- Forum: Technical Support (https://www.kincony.com/forum/forumdisplay.php?fid=1)
+--- Forum: KC868-A series and Uair Smart Controller (https://www.kincony.com/forum/forumdisplay.php?fid=6)
+--- Thread: kincony a16 modbus + WallPad wall switch (/showthread.php?tid=8861)



kincony a16 modbus + WallPad wall switch - wchpikus - 12-30-2025

Hello
I need help with setup wallpad using modbus:
google drive with manual:
https://drive.google.com/drive/folders/1v6Gw6IMqJK-dqM8xr2h3oxacwtSk_Kun?usp=drive_link

i have some errors, code from aiSmile

[17:49:15.467][D][modbus_controller:039]: Modbus command to device=2 register=0x100B no response received - removed from send queue [17:49:15.705][W][modbus_controller:284]: Duplicate modbus command found: type=0x4 address=4107 count=1 

any user tryed this wall pad?



esphome:
  name: kincony_a16_wall_switch
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "YOUR_WIFI"
  password: "YOUR_PASSWORD"

logger:
  baud_rate: 0

api:
ota:

uart:
  id: rs485_uart
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 9600
  stop_bits: 1

modbus:
  id: modbus1
  uart_id: rs485_uart

modbus_controller:
  - id: wallpad
    address: 0x02
    modbus_id: modbus1
    setup_priority: -10
    update_interval: 200ms

# ======================
# RELAYS (Kincony A16)
# ======================
switch:
  - platform: gpio
    id: relay_1
    name: "Relay 1"
    pin: GPIO32
    on_turn_on:
      - script.execute: led_1_on
    on_turn_off:
      - script.execute: led_1_off

  - platform: gpio
    id: relay_2
    name: "Relay 2"
    pin: GPIO33
    on_turn_on:
      - script.execute: led_2_on
    on_turn_off:
      - script.execute: led_2_off

  - platform: gpio
    id: relay_3
    name: "Relay 3"
    pin: GPIO25
    on_turn_on:
      - script.execute: led_3_on
    on_turn_off:
      - script.execute: led_3_off

  - platform: gpio
    id: relay_4
    name: "Relay 4"
    pin: GPIO26
    on_turn_on:
      - script.execute: led_4_on
    on_turn_off:
      - script.execute: led_4_off

# ======================
# BUTTON INPUTS (RS485)
# ======================
binary_sensor:
  - platform: modbus_controller
    modbus_controller_id: wallpad
    name: "Button 1"
    register_type: holding
    address: 0x100B
    bitmask: 0x0001
    on_press:
      - switch.toggle: relay_1

  - platform: modbus_controller
    name: "Button 2"
    register_type: holding
    address: 0x100B
    bitmask: 0x0002
    on_press:
      - switch.toggle: relay_2

  - platform: modbus_controller
    name: "Button 3"
    register_type: holding
    address: 0x100B
    bitmask: 0x0004
    on_press:
      - switch.toggle: relay_3

  - platform: modbus_controller
    name: "Button 4"
    register_type: holding
    address: 0x100B
    bitmask: 0x0008
    on_press:
      - switch.toggle: relay_4

# ======================
# LED CONTROL SCRIPTS
# ======================
script:
  - id: led_1_on
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0101  # White LED ON

  - id: led_1_off
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0001  # Yellow LED

  - id: led_2_on
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0102

  - id: led_2_off
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0002

  - id: led_3_on
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0104

  - id: led_3_off
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0004

  - id: led_4_on
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0108

  - id: led_4_off
    then:
      - modbus_controller.write_register:
          id: wallpad
          address: 0x1008
          value: 0x0008


RE: kincony a16 modbus + WallPad wall switch - admin - 12-30-2025

sorry, we have not used that switch panel, you can read button by modbus, then toggle A16 output.