Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 9,050
» Latest member: igor_quintal
» Forum threads: 3,982
» Forum posts: 20,200

Full Statistics

Online Users
There are currently 36 online users.
» 0 Member(s) | 26 Guest(s)
Amazonbot, Baidu, Bing, Crawl, Google, Yandex, bot

Latest Threads
Add uptime to board infor...
Forum: Suggestions and feedback on KinCony's products
Last Post: twostar
2 hours ago
» Replies: 13
» Views: 325
N30 - Modbus-TCP
Forum: "KCS" v3 firmware
Last Post: admin
Yesterday, 02:12 PM
» Replies: 3
» Views: 24
N60/N30/N20/N10 PC softwa...
Forum: N30
Last Post: admin
Yesterday, 01:44 PM
» Replies: 5
» Views: 962
"KCS" v3.25.0 firmware BI...
Forum: "KCS" v3 firmware
Last Post: admin
Yesterday, 05:13 AM
» Replies: 0
» Views: 56
N60 Sensor channel label
Forum: N60
Last Post: admin
Yesterday, 01:21 AM
» Replies: 15
» Views: 560
N30 no Energy (kWh)
Forum: "KCS" v3 firmware
Last Post: admin
Yesterday, 01:09 AM
» Replies: 7
» Views: 51
Reset Total Energy only w...
Forum: N30
Last Post: admin
05-15-2026, 12:52 AM
» Replies: 1
» Views: 12
Factor settings and calcu...
Forum: "KCS" v3 firmware
Last Post: GWS
05-14-2026, 03:54 PM
» Replies: 2
» Views: 21
DM16 output not turning o...
Forum: DM16
Last Post: admin
05-14-2026, 12:55 PM
» Replies: 20
» Views: 2,041
"KCS" v3.24.5 firmware BI...
Forum: "KCS" v3 firmware
Last Post: admin
05-14-2026, 12:41 PM
» Replies: 2
» Views: 389

Sad A8 brick
Posted by: kid - 03-18-2026, 08:50 AM - Forum: KC868-A series and Uair Smart Controller - Replies (3)

Hi, unfortunately the flashing of the Kincony A8 failed. I flashed a compiled esphome bin file. It stopped always after a few percent. I tried multiple cables and an different baud rates. No success and now it is not responding anymore / seems bricked. I was working from a linux device:


.pdf   flash.pdf (Size: 74.75 KB / Downloads: 128)

It is the first time ever I had such an issue with an esp device. And I use them a lot - with WLED, custom procects etc. Is there maybe something wrong with the pcb design?

I hoped by buying a more expensive relais board to get not into trouble.

Print this item

  Kincony KC868-A16 (ESP32) - I2C PCF8574 entities visible in HA but not responding (I2
Posted by: bobbisasha - 03-17-2026, 05:41 PM - Forum: KC868-A16 - Replies (3)

Hi everyone,
I’m struggling with a Kincony KC868-A16 board (ESP32-based) integrated with ESPHome in Home Assistant. I can see all the entities (switches and binary sensors) in my HA dashboard, but none of the physical relays or digital inputs are responding.
The Hardware:

  • Board: Kincony KC868-A16 (V1.5 or similar with 4x PCF8574 IO Expanders).
  • Power: Externally powered with a stable 12V 2A DC supply.
  • Checked with Multimeter: PCF8574 chips are correctly powered at 3.3V.
The Problem: When I toggle a switch in Home Assistant, the UI icon turns "ON" for a split second and then immediately reverts to "OFF". This suggests an I2C communication timeout or write failure. No physical "click" is heard from the relays, and LEDs don't light up.
ESPHome Logs: The I2C scan successfully finds all 4 chips at the expected addresses:
  • Code:
    Found device at address 0x21
     (Inputs)
  • Code:
    Found device at address 0x22
     (Inputs)
  • Code:
    Found device at address 0x24
     (Outputs/Relays)
  • Code:
    Found device at address 0x25
     (Outputs/Relays)
Log output: 
Code:
[C][pcf8574:024]: PCF8574: Is PCF8575: NO, Address: 0x24
 However, when I trigger a relay, nothing happens physically.

here some .yaml config examples for my digital sensors and outputs: 
Code:
remote_receiver:
  pin:
    number: GPIO2
    ignore_strapping_warning: true # Could this be interfering with I2C boot?

remote_transmitter:
  pin:
    number: GPIO15
    ignore_strapping_warning: true
  carrier_duty_percent: 100%

i2c:
  sda: GPIO4
  scl:
    number: GPIO5
    #ignore_strapping_warning: true
  scan: true
  id: bus_a

pcf8574:
  - id: 'pcf8574_hub_out_1' # for output channel 1-8
    address: 0x24
  - id: 'pcf8574_hub_out_2' # for output channel 9-16
    address: 0x25
  - id: 'pcf8574_hub_in_1' # for input channel 1-8
    address: 0x22
  - id: 'pcf8574_hub_in_2' # for input channel 9-16
    address: 0x21

binary_sensor:
  - platform: gpio
    name: 'Digital Input 01'
    id: input1
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 0
      mode: INPUT
      inverted: true
    internal: false

switch:
  - platform: gpio
    name: 'Ouput Relay 01'
    id: sensor_relay_1
    restore_mode: RESTORE_DEFAULT_OFF
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 0
      mode: OUTPUT
      inverted: false
    internal: false

Print this item

  DM32 ESPHome yaml for home assistant without tuya
Posted by: admin - 03-17-2026, 12:50 AM - Forum: DM32 - No Replies

Code:
esphome:
  name: dm32
  friendly_name: dm32

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ethernet:
  type: W5500
  clk_pin: GPIO1
  mosi_pin: GPIO2
  miso_pin: GPIO41
  cs_pin: GPIO42
  interrupt_pin: GPIO43
  reset_pin: GPIO44

uart:
  - id: uart_1 # RS485
    baud_rate: 9600
    debug:
      direction: BOTH
      dummy_receiver: true
      after:
        timeout: 10ms
    tx_pin: 39
    rx_pin: 38

  - id: dac_uart
    rx_pin: 4
    tx_pin: 6
    baud_rate: 115200
    stop_bits: 1
    data_bits: 8
    parity: NONE
    debug:

modbus:
  uart_id: dac_uart

modbus_controller:
  - address: 1
    update_interval: 5s

i2c:
  - id: bus_a
    sda: 8
    scl: 18
    scan: true
    frequency: 400kHz

text_sensor:
  - platform: ethernet_info
    ip_address:
      name: ESP IP Address
      id: eth_ip
      address_0:
        name: ESP IP Address 0
      address_1:
        name: ESP IP Address 1
      address_2:
        name: ESP IP Address 2
      address_3:
        name: ESP IP Address 3
      address_4:
        name: ESP IP Address 4
    dns_address:
      name: ESP DNS Address
    mac_address:
      name: ESP MAC Address

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 15

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());

output:
  # CH1 (0x0FA0 / 4000)
  - platform: modbus_controller
    id: dac_ch1_out
    address: 0x0FA0
    value_type: U_WORD
    write_lambda: |-
      // state = 0.0 ~ 1.0 → 0 ~ 4095
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH2 (0x0FA1 / 4001)
  - platform: modbus_controller
    id: dac_ch2_out
    address: 0x0FA1
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH3
  - platform: modbus_controller
    id: dac_ch3_out
    address: 0x0FA2
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH4
  - platform: modbus_controller
    id: dac_ch4_out
    address: 0x0FA3
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH5
  - platform: modbus_controller
    id: dac_ch5_out
    address: 0x0FA4
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH6
  - platform: modbus_controller
    id: dac_ch6_out
    address: 0x0FA5
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH7
  - platform: modbus_controller
    id: dac_ch7_out
    address: 0x0FA6
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH8
  - platform: modbus_controller
    id: dac_ch8_out
    address: 0x0FA7
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH9
  - platform: modbus_controller
    id: dac_ch9_out
    address: 0x0FA8
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH10
  - platform: modbus_controller
    id: dac_ch10_out
    address: 0x0FA9
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH11
  - platform: modbus_controller
    id: dac_ch11_out
    address: 0x0FAA
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH12
  - platform: modbus_controller
    id: dac_ch12_out
    address: 0x0FAB
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH13
  - platform: modbus_controller
    id: dac_ch13_out
    address: 0x0FAC
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH14
  - platform: modbus_controller
    id: dac_ch14_out
    address: 0x0FAD
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH15
  - platform: modbus_controller
    id: dac_ch15_out
    address: 0x0FAE
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH16
  - platform: modbus_controller
    id: dac_ch16_out
    address: 0x0FAF
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH17 (0x0FB0 / 4016)
  - platform: modbus_controller
    id: dac_ch17_out
    address: 0x0FB0
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH18
  - platform: modbus_controller
    id: dac_ch18_out
    address: 0x0FB1
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH19
  - platform: modbus_controller
    id: dac_ch19_out
    address: 0x0FB2
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH20
  - platform: modbus_controller
    id: dac_ch20_out
    address: 0x0FB3
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH21
  - platform: modbus_controller
    id: dac_ch21_out
    address: 0x0FB4
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH22
  - platform: modbus_controller
    id: dac_ch22_out
    address: 0x0FB5
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH23
  - platform: modbus_controller
    id: dac_ch23_out
    address: 0x0FB6
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH24
  - platform: modbus_controller
    id: dac_ch24_out
    address: 0x0FB7
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH25
  - platform: modbus_controller
    id: dac_ch25_out
    address: 0x0FB8
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH26
  - platform: modbus_controller
    id: dac_ch26_out
    address: 0x0FB9
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH27
  - platform: modbus_controller
    id: dac_ch27_out
    address: 0x0FBA
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH28
  - platform: modbus_controller
    id: dac_ch28_out
    address: 0x0FBB
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH29
  - platform: modbus_controller
    id: dac_ch29_out
    address: 0x0FBC
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH30
  - platform: modbus_controller
    id: dac_ch30_out
    address: 0x0FBD
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH31
  - platform: modbus_controller
    id: dac_ch31_out
    address: 0x0FBE
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH32 (0x0FBF / 4031)
  - platform: modbus_controller
    id: dac_ch32_out
    address: 0x0FBF
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

light:
  - platform: monochromatic
    name: "DAC CH1"
    output: dac_ch1_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH2"
    output: dac_ch2_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH3"
    output: dac_ch3_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH4"
    output: dac_ch4_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH5"
    output: dac_ch5_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH6"
    output: dac_ch6_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH7"
    output: dac_ch7_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH8"
    output: dac_ch8_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH9"
    output: dac_ch9_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH10"
    output: dac_ch10_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH11"
    output: dac_ch11_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH12"
    output: dac_ch12_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH13"
    output: dac_ch13_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH14"
    output: dac_ch14_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH15"
    output: dac_ch15_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH16"
    output: dac_ch16_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH17"
    output: dac_ch17_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH18"
    output: dac_ch18_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH19"
    output: dac_ch19_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH20"
    output: dac_ch20_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH21"
    output: dac_ch21_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH22"
    output: dac_ch22_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH23"
    output: dac_ch23_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH24"
    output: dac_ch24_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH25"
    output: dac_ch25_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH26"
    output: dac_ch26_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH27"
    output: dac_ch27_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH28"
    output: dac_ch28_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH29"
    output: dac_ch29_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH30"
    output: dac_ch30_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH31"
    output: dac_ch31_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH32"
    output: dac_ch32_out
    default_transition_length: 0s

pcf8574:
  - id: pcf8574_hub_1 # for input channel 1-16
    i2c_id: bus_a
    address: 0x22
    pcf8575: true

  - id: pcf8574_hub_2 # for input channel 17-32
    i2c_id: bus_a
    address: 0x24
    pcf8575: true

switch:
  - platform: uart
    uart_id: uart_1
    name: "RS485 Button"
    data: [0x11, 0x22, 0x33, 0x44, 0x55]

binary_sensor:
  - platform: gpio
    name: "dm32-input01"
    id: dm32_input01
    pin:
      pcf8574: pcf8574_hub_1
      number: 8
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input02"
    id: dm32_input02
    pin:
      pcf8574: pcf8574_hub_1
      number: 9
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input03"
    id: dm32_input03
    pin:
      pcf8574: pcf8574_hub_1
      number: 10
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input04"
    id: dm32_input04
    pin:
      pcf8574: pcf8574_hub_1
      number: 11
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input05"
    id: dm32_input05
    pin:
      pcf8574: pcf8574_hub_1
      number: 12
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input06"
    id: dm32_input06
    pin:
      pcf8574: pcf8574_hub_1
      number: 13
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input07"
    id: dm32_input07
    pin:
      pcf8574: pcf8574_hub_1
      number: 14
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input08"
    id: dm32_input08
    pin:
      pcf8574: pcf8574_hub_1
      number: 15
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input09"
    id: dm32_input09
    pin:
      pcf8574: pcf8574_hub_1
      number: 0
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input10"
    id: dm32_input10
    pin:
      pcf8574: pcf8574_hub_1
      number: 1
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input11"
    id: dm32_input11
    pin:
      pcf8574: pcf8574_hub_1
      number: 2
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input12"
    id: dm32_input12
    pin:
      pcf8574: pcf8574_hub_1
      number: 3
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input13"
    id: dm32_input13
    pin:
      pcf8574: pcf8574_hub_1
      number: 4
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input14"
    id: dm32_input14
    pin:
      pcf8574: pcf8574_hub_1
      number: 5
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input15"
    id: dm32_input15
    pin:
      pcf8574: pcf8574_hub_1
      number: 6
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input16"
    id: dm32_input16
    pin:
      pcf8574: pcf8574_hub_1
      number: 7
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input17"
    id: dm32_input17
    pin:
      pcf8574: pcf8574_hub_2
      number: 0
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input18"
    id: dm32_input18
    pin:
      pcf8574: pcf8574_hub_2
      number: 1
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input19"
    id: dm32_input19
    pin:
      pcf8574: pcf8574_hub_2
      number: 2
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input20"
    id: dm32_input20
    pin:
      pcf8574: pcf8574_hub_2
      number: 3
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input21"
    id: dm32_input21
    pin:
      pcf8574: pcf8574_hub_2
      number: 4
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input22"
    id: dm32_input22
    pin:
      pcf8574: pcf8574_hub_2
      number: 5
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input23"
    id: dm32_input23
    pin:
      pcf8574: pcf8574_hub_2
      number: 6
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input24"
    id: dm32_input24
    pin:
      pcf8574: pcf8574_hub_2
      number: 7
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input25"
    id: dm32_input25
    pin:
      pcf8574: pcf8574_hub_2
      number: 8
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input26"
    id: dm32_input26
    pin:
      pcf8574: pcf8574_hub_2
      number: 9
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input27"
    id: dm32_input27
    pin:
      pcf8574: pcf8574_hub_2
      number: 10
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input28"
    id: dm32_input28
    pin:
      pcf8574: pcf8574_hub_2
      number: 11
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input29"
    id: dm32_input29
    pin:
      pcf8574: pcf8574_hub_2
      number: 12
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input30"
    id: dm32_input30
    pin:
      pcf8574: pcf8574_hub_2
      number: 13
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input31"
    id: dm32_input31
    pin:
      pcf8574: pcf8574_hub_2
      number: 14
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm32-input32"
    id: dm32_input32
    pin:
      pcf8574: pcf8574_hub_2
      number: 15
      mode: INPUT
      inverted: true

  ## pull-up resistance on PCB
  - platform: gpio
    name: "dm32-W1-io47"
    pin:
      number: 47
      inverted: true

  - platform: gpio
    name: "dm32-W1-io48"
    pin:
      number: 48
      inverted: true

  - platform: gpio
    name: "dm32-W1-io7"
    pin:
      number: 7
      inverted: true

  - platform: gpio
    name: "dm32-W1-io40"
    pin:
      number: 40
      inverted: true

  ## without resistance on PCB
  - platform: gpio
    name: "dm32-W1-io13"
    pin:
      number: 13
      inverted: false

  - platform: gpio
    name: "dm32-W1-io14"
    pin:
      number: 14
      inverted: false

  - platform: gpio
    name: "dm32-W1-io21"
    pin:
      number: 21
      inverted: false

ads1115:
  - address: 0x48

sensor:
  - platform: ads1115
    multiplexer: 'A0_GND'
    gain: 6.144
    resolution: 16_BITS
    name: "ADS1115 Channel A0-GND"
    update_interval: 5s

  - platform: ads1115
    multiplexer: 'A1_GND'
    gain: 6.144
    name: "ADS1115 Channel A1-GND"
    update_interval: 5s

  - platform: ads1115
    multiplexer: 'A2_GND'
    gain: 6.144
    name: "ADS1115 Channel A2-GND"
    update_interval: 5s

  - platform: ads1115
    multiplexer: 'A3_GND'
    gain: 6.144
    name: "ADS1115 Channel A3-GND"
    update_interval: 5s

web_server:
  port: 80
esphome yaml file download:

.txt   esphome_dm32.txt (Size: 17.6 KB / Downloads: 74)

Print this item

  DM8 ESPHome yaml for home assistant without tuya
Posted by: admin - 03-17-2026, 12:49 AM - Forum: DM8 - No Replies

Code:
esphome:
  name: dm8
  friendly_name: dm8

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ethernet:
  type: W5500
  clk_pin: GPIO1
  mosi_pin: GPIO2
  miso_pin: GPIO41
  cs_pin: GPIO42
  interrupt_pin: GPIO43
  reset_pin: GPIO44

uart:
  - id: uart_1 # RS485
    baud_rate: 9600
    debug:
      direction: BOTH
      dummy_receiver: true
      after:
        timeout: 10ms
    tx_pin: 39
    rx_pin: 38

  - id: dac_uart
    rx_pin: 4
    tx_pin: 6
    baud_rate: 115200
    stop_bits: 1
    data_bits: 8
    parity: NONE
    debug:

modbus:
  uart_id: dac_uart

modbus_controller:
  - address: 1
    update_interval: 5s

i2c:
  - id: bus_a
    sda: 8
    scl: 18
    scan: true
    frequency: 400kHz

text_sensor:
  - platform: ethernet_info
    ip_address:
      name: ESP IP Address
      id: eth_ip
      address_0:
        name: ESP IP Address 0
      address_1:
        name: ESP IP Address 1
      address_2:
        name: ESP IP Address 2
      address_3:
        name: ESP IP Address 3
      address_4:
        name: ESP IP Address 4
    dns_address:
      name: ESP DNS Address
    mac_address:
      name: ESP MAC Address

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 15

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());

output:
  # CH1 (0x0FA0 / 4000)
  - platform: modbus_controller
    id: dac_ch1_out
    address: 0x0FA0
    value_type: U_WORD
    write_lambda: |-
      // state = 0.0 ~ 1.0 → 0 ~ 4095
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH2 (0x0FA1 / 4001)
  - platform: modbus_controller
    id: dac_ch2_out
    address: 0x0FA1
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH3
  - platform: modbus_controller
    id: dac_ch3_out
    address: 0x0FA2
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH4
  - platform: modbus_controller
    id: dac_ch4_out
    address: 0x0FA3
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH5
  - platform: modbus_controller
    id: dac_ch5_out
    address: 0x0FA4
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH6
  - platform: modbus_controller
    id: dac_ch6_out
    address: 0x0FA5
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH7
  - platform: modbus_controller
    id: dac_ch7_out
    address: 0x0FA6
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

  # CH8 (0x0FA7 / 4007)
  - platform: modbus_controller
    id: dac_ch8_out
    address: 0x0FA7
    value_type: U_WORD
    write_lambda: |-
      uint16_t reg = (uint16_t) round(x * 4095.0);
      return reg;

# -------------------
# 8 路 Light (调光灯)
# -------------------
light:
  - platform: monochromatic
    name: "DAC CH1"
    output: dac_ch1_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH2"
    output: dac_ch2_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH3"
    output: dac_ch3_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH4"
    output: dac_ch4_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH5"
    output: dac_ch5_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH6"
    output: dac_ch6_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH7"
    output: dac_ch7_out
    default_transition_length: 0s

  - platform: monochromatic
    name: "DAC CH8"
    output: dac_ch8_out
    default_transition_length: 0s

pcf8574:
  - id: pcf8574_hub_1 # for input channel 1-8
    i2c_id: bus_a
    address: 0x24

switch:
  - platform: uart
    uart_id: uart_1
    name: "RS485 Button"
    data: [0x11, 0x22, 0x33, 0x44, 0x55]

binary_sensor:
  - platform: gpio
    name: "dm8-input01"
    id: dm8_input01
    pin:
      pcf8574: pcf8574_hub_1
      number: 0
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input02"
    id: dm8_input02
    pin:
      pcf8574: pcf8574_hub_1
      number: 1
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input03"
    id: dm8_input03
    pin:
      pcf8574: pcf8574_hub_1
      number: 2
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input04"
    id: dm8_input04
    pin:
      pcf8574: pcf8574_hub_1
      number: 3
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input05"
    id: dm8_input05
    pin:
      pcf8574: pcf8574_hub_1
      number: 4
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input06"
    id: dm8_input06
    pin:
      pcf8574: pcf8574_hub_1
      number: 5
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input07"
    id: dm8_input07
    pin:
      pcf8574: pcf8574_hub_1
      number: 6
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "dm8-input08"
    id: dm8_input08
    pin:
      pcf8574: pcf8574_hub_1
      number: 7
      mode: INPUT
      inverted: true

  ## pull-up resistance on PCB
  - platform: gpio
    name: "dm8-W1-io47"
    pin:
      number: 47
      inverted: true

  - platform: gpio
    name: "dm8-W1-io48"
    pin:
      number: 48
      inverted: true

  - platform: gpio
    name: "dm8-W1-io17"
    pin:
      number: 17
      inverted: true

  - platform: gpio
    name: "dm8-W1-io40"
    pin:
      number: 40
      inverted: true

  ## without resistance on PCB
  - platform: gpio
    name: "dm8-W1-io13"
    pin:
      number: 13
      inverted: false

  - platform: gpio
    name: "dm8-W1-io14"
    pin:
      number: 14
      inverted: false

  - platform: gpio
    name: "dm8-W1-io21"
    pin:
      number: 21
      inverted: false

ads1115:
  - address: 0x48

sensor:
  - platform: ads1115
    multiplexer: 'A0_GND'
    gain: 6.144
    resolution: 16_BITS
    name: "ADS1115 Channel A0-GND"
    update_interval: 5s

  - platform: ads1115
    multiplexer: 'A1_GND'
    gain: 6.144
    name: "ADS1115 Channel A1-GND"
    update_interval: 5s

  - platform: ads1115
    multiplexer: 'A2_GND'
    gain: 6.144
    name: "ADS1115 Channel A2-GND"
    update_interval: 5s

  - platform: ads1115
    multiplexer: 'A3_GND'
    gain: 6.144
    name: "ADS1115 Channel A3-GND"
    update_interval: 5s

web_server:
  port: 80
esphome yaml file download:

.txt   esphome_dm8.txt (Size: 6.63 KB / Downloads: 78)

Print this item

  How restart а board using IFTTT and Custom Protocol?
Posted by: apps4check - 03-16-2026, 07:59 PM - Forum: "KCS" v2 firmware system - Replies (1)

Hello, is it possible to restart the board (KC868-A2 or KC868-A4S, KCS v2 firmware) using IFTTT and Custom Protocol?
Any advice would be greatly appreciated.

Print this item

  Battery backup model on AOI
Posted by: H_spadacini - 03-16-2026, 09:42 AM - Forum: AIO Hybrid - Replies (1)

Francais :
Serait-il possible de connaitre la référence de la pile bouton qui doit va dans le rtc battery socket  qui peut-être mis sur le AIO pour maintenir sa sauvegarde.
Cordialement.

English :
 Could you please provide the part number for the button cell battery that fits into the RTC battery socket, which can be installed on the AIO to maintain its backup?

Regards.

Print this item

  KinCony DM8 8CH ESP32 Dimmer Board released
Posted by: admin - 03-16-2026, 08:16 AM - Forum: News - No Replies

KinCony DM8 ESP32 smart dimmer controller based on ESP32-S3-WROOM-1U (N16R8) wifi chip. Support 8 channel DC 0-10v output, 7 channel 1-wire GPIOs, 4 channel ADS1115 16bit analog input ports. One SD card using SPI bus. DM8 include DS3231 high precision RTC clock chip. OLED display will show wifi and ethernet IP address and Tuya connection state. DM8 have 2pcs of RS485 port. one RS485 connect with ARM CPU, support use by modbus directly. Another RS485 work with ESP32. You can write any code by Arduino IDE / MicroPython / ESP-IDF development tool to ESP32 module. We will supply Arduino / ESP-IDF demo code for different samples. Everyone can modify and change the code for your own smart home automation system project. it support use by ESPHome for home assistant or tasmota firmware for smart home automation DIY. DM8 use KCS v3 firmware, it support home assistant auto discovery function by MQTT, so without write any config code (zero code) for home assistant. KCS v3 support KinCony cloud service (official shop customer free 2 years), remote monitor and control device by webpage in anywhere. KCS v3 support KinCony board integrate to Loxone Miniserver. Support Apple HomeKit for Siri.
[Image: DM8-1.jpg]
Model No. KinCony DM8
Description: KinCony 8 Channel ESP32-S3 Smart Dimmer Controller – DM8
Power supply: 12-24V DC
Processor: ESP32-S3-WROOM-1U (N16R8)
Size: 140mm*83mm*59mm
interfaces: Ethernet(RJ45)-LAN 100Mbps IPv4/IPv6,WiFi,RS485,Bluetooth,USB-C,OLED,Tuya Module
RTC: DS3231 high precision chip (battery socket on PCB)
SD Card: SPI bus
Installation method: DIN RAIL
OLED: SSD1306 I2C display
Outputs:
8CH 0-10v Outputs.
Inputs:
ADS1115 16bit ADC: 2CH analog input DC0-5V (A1,A2) 2CH analog input 4-20mA (A3,A4)
8CH dry contact inputs (optocoupler isolation, long distance circuit for MAX 500 meters cable)
4 buttons: 1:ESP32 Reset 2:ESP32 Download 3:Tuya config 4: ARM CPU Reset
1-Wire GPIO: 4CH (with pull-up resistance on PCB)
Free GPIO: 4CH (ESP32 pin directly, without pull-up resistance on PCB)
[Image: DM8-1.jpg]

Print this item

  Monitor 1 shows power=0 while Monitor 2 shows correct values
Posted by: tombueng - 03-15-2026, 03:48 PM - Forum: N20 - Replies (1)

My Monitor 1 shows Power=0 for all channels even if there is current which is wrong.
Monitor 2 shows values correctly.

Voltage  / Freq  226V, 50Hz is shown on both inputs (both connect to the same phase)

Protocol -> Energy has the same values for Energy 1 and 2 for all of the values of Current Factor=0.5, Power Factor=1, Energy Factor=1

Firmware  v3.22.0

What might be the Problem?

Is there no OTA-Update available?  Do I need to connect a via USB PC to Update the Firmware?

Print this item

  KinCony DM32 32CH ESP32 Dimmer Board released
Posted by: admin - 03-15-2026, 10:31 AM - Forum: News - No Replies

KinCony DM32 ESP32 smart dimmer controller based on ESP32-S3-WROOM-1U (N16R8) wifi chip. Support 32 channel DC 0-10v output, 7 channel 1-wire GPIOs, 4 channel ADS1115 16bit analog input ports. One SD card using SPI bus. DM32 include DS3231 high precision RTC clock chip. OLED display will show wifi and ethernet IP address and Tuya connection state. DM32 have 2pcs of RS485 port. one RS485 connect with ARM CPU, support use by modbus directly. Another RS485 work with ESP32. You can write any code by Arduino IDE / MicroPython / ESP-IDF development tool to ESP32 module. We will supply Arduino / ESP-IDF demo code for different samples. Everyone can modify and change the code for your own smart home automation system project. it support use by ESPHome for home assistant or tasmota firmware for smart home automation DIY. DM32 use KCS v3 firmware, it support home assistant auto discovery function by MQTT, so without write any config code (zero code) for home assistant. KCS v3 support KinCony cloud service (official shop customer free 2 years), remote monitor and control device by webpage in anywhere. KCS v3 support KinCony board integrate to Loxone Miniserver. Support Apple HomeKit for Siri.
[Image: DM32-1.jpg]
Model No. KinCony DM32
Description: KinCony 32 Channel ESP32-S3 Smart Dimmer Controller – DM32
Power supply: 12-24V DC
Processor: ESP32-S3-WROOM-1U (N16R8)
Size:
interfaces: Ethernet(RJ45)-LAN 100Mbps IPv4/IPv6,WiFi,RS485,Bluetooth,USB-C,OLED,Tuya Module
RTC: DS3231 high precision chip (battery socket on PCB)
SD Card: SPI bus
Installation method: DIN RAIL
OLED: SSD1306 I2C display
Outputs:
32CH 0-10v Outputs.
Inputs:
ADS1115 16bit ADC: 2CH analog input DC0-5V (A1,A2) 2CH analog input 4-20mA (A3,A4)
32CH dry contact inputs (optocoupler isolation, long distance circuit for MAX 500 meters cable)
4 buttons: 1:ESP32 Reset 2:ESP32 Download 3:Tuya config 4: ARM CPU Reset
1-Wire GPIO: 4CH (with pull-up resistance on PCB)
Free GPIO: 4CH (ESP32 pin directly, without pull-up resistance on PCB)
[Image: DM32-2.jpg]

Print this item

  KinCony DM4 4CH ESP32 Dimmer Board released
Posted by: admin - 03-15-2026, 04:21 AM - Forum: News - No Replies

KinCony DM4 ESP32 smart dimmer controller based on ESP32-S3-WROOM-1U (N16R8) wifi chip. Support 4 channel DC 0-10v output, 7 channel 1-wire GPIOs, 4 channel ADS1115 16bit analog input ports. One SD card using SPI bus. DM4 include DS3231 high precision RTC clock chip. OLED display will show wifi and ethernet IP address and Tuya connection state. We will supply Arduino / ESP-IDF demo code for different samples. Everyone can modify and change the code for your own smart home automation system project. it support use by ESPHome for home assistant or tasmota firmware for smart home automation DIY. DM4 use KCS v3 firmware, it support home assistant auto discovery function by MQTT, so without write any config code (zero code) for home assistant. KCS v3 support KinCony cloud service (official shop customer free 2 years), remote monitor and control device by webpage in anywhere. KCS v3 support KinCony board integrate to Loxone Miniserver. Support Apple HomeKit for Siri.
[Image: DM4-1.jpg]
Model No. KinCony DM4
Description: KinCony 4 Channel ESP32-S3 Smart Dimmer Controller – DM4
Power supply: 12-24V DC
Processor: ESP32-S3-WROOM-1U (N16R8)
Size: 114mm*83mm*59mm
interfaces: Ethernet(RJ45)-LAN 100Mbps IPv4/IPv6,WiFi,RS485,Bluetooth,USB-C,OLED,Tuya Module
RTC: DS3231 high precision chip (battery socket on PCB)
SD Card: SPI bus
Installation method: DIN RAIL
OLED: SSD1306 I2C display
Outputs:
4CH 0-10v Outputs.
Inputs:
ADS1115 16bit ADC: 2CH analog input DC0-5V (A1,A2) 2CH analog input 4-20mA (A3,A4)
4CH dry contact inputs (optocoupler isolation, long distance circuit for MAX 500 meters cable)
3 buttons: 1:ESP32 Reset 2:ESP32 Download 3:Tuya config
1-Wire GPIO: 4CH (with pull-up resistance on PCB)
Free GPIO: 4CH (ESP32 pin directly, without pull-up resistance on PCB)
[Image: DM4-2.jpg]

Print this item