esphome: name: kc868-a16s friendly_name: kc868-a16s esp32: board: esp32dev framework: type: arduino # Enable logging logger: #Enable Home Assistant API api: encryption: key: "Jpemw4JlwgIp+aEtv+CZDBMeHAk8mQSKVIuHs2hJ0M0=" ota: password: "8c5f244de22422785c4085492a929f17" #wifi: #ssid: !secret wifi_ssid #3password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails #ap: #ssid: "Kc868-A16S Fallback Hotspot" #password: "C9oix0lPPOtE" external_components: - source: type: git url: https://github.com/hzkincony/esphome-kc868-ha ref: v2.0.1 web_server: port: 80 i2c: sda: 4 scl: 5 scan: true id: bus_a uart: - id: myuart1 tx_pin: 33 rx_pin: 32 baud_rate: 9600 kc868_ha: target_relay_controller_addr: 1 # Default value is 1, corresponds to the Target Relay Controller Addr parameter in HA485_Ctrl software switch_adapter_addr: 10 # Default value is 10, corresponds to the Switch Adapter Addr parameter in HA485_Ctrl software # Example configuration entry ethernet: type: LAN8720 mdc_pin: GPIO23 mdio_pin: GPIO18 clk_mode: GPIO17_OUT phy_addr: 0 # Optional manual IP #manual_ip: # static_ip: 192.168.40.254 # gateway: 192.168.40.1 # subnet: 255.255.255.0 # Example configuration entry 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: 0x23 # Individual outputs switch: - platform: gpio name: "a16s-output1" pin: pcf8574: pcf8574_hub_out_1 number: 0 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output2" pin: pcf8574: pcf8574_hub_out_1 number: 1 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output3" pin: pcf8574: pcf8574_hub_out_1 number: 2 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output4" pin: pcf8574: pcf8574_hub_out_1 number: 3 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output5" pin: pcf8574: pcf8574_hub_out_1 number: 4 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output6" pin: pcf8574: pcf8574_hub_out_1 number: 5 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output7" pin: pcf8574: pcf8574_hub_out_1 number: 6 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output8" pin: pcf8574: pcf8574_hub_out_1 number: 7 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output9" pin: pcf8574: pcf8574_hub_out_2 number: 0 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output10" pin: pcf8574: pcf8574_hub_out_2 number: 1 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output11" pin: pcf8574: pcf8574_hub_out_2 number: 2 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output12" pin: pcf8574: pcf8574_hub_out_2 number: 3 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output13" pin: pcf8574: pcf8574_hub_out_2 number: 4 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output14" pin: pcf8574: pcf8574_hub_out_2 number: 5 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output15" pin: pcf8574: pcf8574_hub_out_2 number: 6 mode: OUTPUT inverted: true - platform: gpio name: "a16s-output16" pin: pcf8574: pcf8574_hub_out_2 number: 7 mode: OUTPUT inverted: true # The switch is used to control the D1~D6 level output on the KC868 HA board # bind_output is required. Corresponds to the BindOutput parameter in HA485_Ctrl software # Other parameters refer to: https://esphome.io/components/switch/index.html - platform: kc868_ha bind_output: 1 name: "switch 1" - platform: kc868_ha bind_output: 2 name: "switch 2" - platform: kc868_ha bind_output: 3 name: "switch 3" - platform: kc868_ha bind_output: 4 name: "switch 4" - platform: kc868_ha bind_output: 5 name: "switch 5" - platform: kc868_ha bind_output: 6 name: "switch 6" binary_sensor: - platform: gpio name: "a16s-input1" pin: pcf8574: pcf8574_hub_in_1 number: 0 mode: INPUT inverted: true - platform: gpio name: "a16s-input2" pin: pcf8574: pcf8574_hub_in_1 number: 1 mode: INPUT inverted: true - platform: gpio name: "a16s-input3" pin: pcf8574: pcf8574_hub_in_1 number: 2 mode: INPUT inverted: true - platform: gpio name: "a16s-input4" pin: pcf8574: pcf8574_hub_in_1 number: 3 mode: INPUT inverted: true - platform: gpio name: "a16s-input5" pin: pcf8574: pcf8574_hub_in_1 number: 4 mode: INPUT inverted: true - platform: gpio name: "a16s-input6" pin: pcf8574: pcf8574_hub_in_1 number: 5 mode: INPUT inverted: true - platform: gpio name: "a16s-input7" pin: pcf8574: pcf8574_hub_in_1 number: 6 mode: INPUT inverted: true - platform: gpio name: "a16s-input8" pin: pcf8574: pcf8574_hub_in_1 number: 7 mode: INPUT inverted: true - platform: gpio name: "a16s-input9" pin: pcf8574: pcf8574_hub_in_2 number: 0 mode: INPUT inverted: true - platform: gpio name: "a16s-input10" pin: pcf8574: pcf8574_hub_in_2 number: 1 mode: INPUT inverted: true - platform: gpio name: "a16s-input11" pin: pcf8574: pcf8574_hub_in_2 number: 2 mode: INPUT inverted: true - platform: gpio name: "a16s-input12" pin: pcf8574: pcf8574_hub_in_2 number: 3 mode: INPUT inverted: true - platform: gpio name: "a16s-input13" pin: pcf8574: pcf8574_hub_in_2 number: 4 mode: INPUT inverted: true - platform: gpio name: "a16s-input14" pin: pcf8574: pcf8574_hub_in_2 number: 5 mode: INPUT inverted: true - platform: gpio name: "a16s-input15" pin: pcf8574: pcf8574_hub_in_2 number: 6 mode: INPUT inverted: true - platform: gpio name: "a16s-input16" pin: pcf8574: pcf8574_hub_in_2 number: 7 mode: INPUT inverted: true # The binary_sensor corresponds to the state changes generated by K1~K6 on the KC868 HA board # bind_output is required. Corresponds to the BindOutput parameter in HA485_Ctrl software # Other parameters refer to: https://esphome.io/components/binary_sensor/index.html - platform: kc868_ha bind_output: 1 # Corresponds to the BindOutput parameter in HA485_Ctrl software name: "binary_sensor 1" - platform: kc868_ha bind_output: 2 name: "binary_sensor 2" - platform: kc868_ha bind_output: 3 name: "binary_sensor 3" - platform: kc868_ha bind_output: 4 name: "binary_sensor 4" - platform: kc868_ha bind_output: 5 name: "binary_sensor 5" - platform: kc868_ha bind_output: 6 name: "binary_sensor 6"