home automation training -20-extend digital output & input in home assistant
- extend output and input ports by hardware devicea. KC868-A series board (integrate to home assistant by ESPHome)
b. KC868-HxB series board (integrate to home assistant by MQTT)2. config ESPHome for KC868-A16
esphome:
name: kc868-a16
platform: ESP32
board: esp32dev# Example configuration entry for ESP32
i2c:
sda: 4
scl: 5
scan: true
id: bus_a# 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.1.199
gateway: 192.168.1.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: 0x21– id: ‘pcf8574_hub_in_2’ # for input channel 9-16
address: 0x22# Individual outputs
switch:
– platform: gpio
name: “a16-output1”
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output2”
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output3”
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output4”
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output5”
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output6”
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output7”
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output8”
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output9”
pin:
pcf8574: pcf8574_hub_out_2
number: 0
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output10”
pin:
pcf8574: pcf8574_hub_out_2
number: 1
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output11”
pin:
pcf8574: pcf8574_hub_out_2
number: 2
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output12”
pin:
pcf8574: pcf8574_hub_out_2
number: 3
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output13”
pin:
pcf8574: pcf8574_hub_out_2
number: 4
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output14”
pin:
pcf8574: pcf8574_hub_out_2
number: 5
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output15”
pin:
pcf8574: pcf8574_hub_out_2
number: 6
mode: OUTPUT
inverted: true– platform: gpio
name: “a16-output16”
pin:
pcf8574: pcf8574_hub_out_2
number: 7
mode: OUTPUT
inverted: truebinary_sensor:
– platform: gpio
name: “a16-input1”
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true– platform: gpio
name: “a16-input2”
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true– platform: gpio
name: “a16-input3”
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true– platform: gpio
name: “a16-input4”
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true– platform: gpio
name: “a16-input5”
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true– platform: gpio
name: “a16-input6”
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true– platform: gpio
name: “a16-input7”
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true– platform: gpio
name: “a16-input8”
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true– platform: gpio
name: “a16-input9”
pin:
pcf8574: pcf8574_hub_in_2
number: 0
mode: INPUT
inverted: true– platform: gpio
name: “a16-input10”
pin:
pcf8574: pcf8574_hub_in_2
number: 1
mode: INPUT
inverted: true– platform: gpio
name: “a16-input11”
pin:
pcf8574: pcf8574_hub_in_2
number: 2
mode: INPUT
inverted: true– platform: gpio
name: “a16-input12”
pin:
pcf8574: pcf8574_hub_in_2
number: 3
mode: INPUT
inverted: true– platform: gpio
name: “a16-input13”
pin:
pcf8574: pcf8574_hub_in_2
number: 4
mode: INPUT
inverted: true– platform: gpio
name: “a16-input14”
pin:
pcf8574: pcf8574_hub_in_2
number: 5
mode: INPUT
inverted: true– platform: gpio
name: “a16-input15”
pin:
pcf8574: pcf8574_hub_in_2
number: 6
mode: INPUT
inverted: true– platform: gpio
name: “a16-input16”
pin:
pcf8574: pcf8574_hub_in_2
number: 7
mode: INPUT
inverted: true# Enable logging
logger:# Enable Home Assistant API
api: