01-05-2023, 04:18 PM
hello,
I use this config which works with the buttons too and are in the right order
esphome:
name: kc868-e16s
platform: ESP32
board: esp32dev
# Example configuration entry for ESP32
i2c:
sda: 16
scl: 15
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: 0x21
- 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: 0x24
# Individual outputs
switch:
- platform: gpio
name: "e16s-output1"
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true
id: output1
- platform: gpio
name: "e16s-output2"
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true
id: output2
- platform: gpio
name: "e16s-output3"
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true
id: output3
- platform: gpio
name: "e16s-output4"
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true
id: output4
- platform: gpio
name: "e16s-output5"
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true
id: output5
- platform: gpio
name: "e16s-output6"
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true
id: output6
- platform: gpio
name: "e16s-output7"
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true
id: output7
- platform: gpio
name: "e16s-output8"
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true
id: output8
- platform: gpio
name: "e16s-output9"
pin:
pcf8574: pcf8574_hub_out_2
number: 0
mode: OUTPUT
inverted: true
id: output9
- platform: gpio
name: "e16s-output10"
pin:
pcf8574: pcf8574_hub_out_2
number: 1
mode: OUTPUT
inverted: true
id: output10
- platform: gpio
name: "e16s-output11"
pin:
pcf8574: pcf8574_hub_out_2
number: 2
mode: OUTPUT
inverted: true
id: output11
- platform: gpio
name: "e16s-output12"
pin:
pcf8574: pcf8574_hub_out_2
number: 3
mode: OUTPUT
inverted: true
id: output12
- platform: gpio
name: "e16s-output13"
pin:
pcf8574: pcf8574_hub_out_2
number: 4
mode: OUTPUT
inverted: true
id: output13
- platform: gpio
name: "e16s-output14"
pin:
pcf8574: pcf8574_hub_out_2
number: 5
mode: OUTPUT
inverted: true
id: output14
- platform: gpio
name: "e16s-output15"
pin:
pcf8574: pcf8574_hub_out_2
number: 6
mode: OUTPUT
inverted: true
id: output15
- platform: gpio
name: "e16s-output16"
pin:
pcf8574: pcf8574_hub_out_2
number: 7
mode: OUTPUT
inverted: true
id: output16
#-----------INPUTS------------
binary_sensor:
- platform: gpio
name: "e16s-input16"
on_press:
then:
- switch.toggle: output16
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input15"
on_press:
then:
- switch.toggle: output15
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input14"
on_press:
then:
- switch.toggle: output14
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input13"
on_press:
then:
- switch.toggle: output13
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input12"
on_press:
then:
- switch.toggle: output12
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input11"
on_press:
then:
- switch.toggle: output11
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input10"
on_press:
then:
- switch.toggle: output10
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input9"
on_press:
then:
- switch.toggle: output9
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input8"
on_press:
then:
- switch.toggle: output8
pin:
pcf8574: pcf8574_hub_in_2
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input7"
on_press:
then:
- switch.toggle: output7
pin:
pcf8574: pcf8574_hub_in_2
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input6"
on_press:
then:
- switch.toggle: output6
pin:
pcf8574: pcf8574_hub_in_2
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input5"
on_press:
then:
- switch.toggle: output5
pin:
pcf8574: pcf8574_hub_in_2
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input4"
on_press:
then:
- switch.toggle: output4
pin:
pcf8574: pcf8574_hub_in_2
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input3"
on_press:
then:
- switch.toggle: output3
pin:
pcf8574: pcf8574_hub_in_2
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input2"
on_press:
then:
- switch.toggle: output2
pin:
pcf8574: pcf8574_hub_in_2
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input1"
on_press:
then:
- switch.toggle: output1
pin:
pcf8574: pcf8574_hub_in_2
number: 7
mode: INPUT
inverted: true
# Enable logging
logger:
# Enable Home Assistant API
api:
I use this config which works with the buttons too and are in the right order
esphome:
name: kc868-e16s
platform: ESP32
board: esp32dev
# Example configuration entry for ESP32
i2c:
sda: 16
scl: 15
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: 0x21
- 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: 0x24
# Individual outputs
switch:
- platform: gpio
name: "e16s-output1"
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true
id: output1
- platform: gpio
name: "e16s-output2"
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true
id: output2
- platform: gpio
name: "e16s-output3"
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true
id: output3
- platform: gpio
name: "e16s-output4"
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true
id: output4
- platform: gpio
name: "e16s-output5"
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true
id: output5
- platform: gpio
name: "e16s-output6"
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true
id: output6
- platform: gpio
name: "e16s-output7"
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true
id: output7
- platform: gpio
name: "e16s-output8"
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true
id: output8
- platform: gpio
name: "e16s-output9"
pin:
pcf8574: pcf8574_hub_out_2
number: 0
mode: OUTPUT
inverted: true
id: output9
- platform: gpio
name: "e16s-output10"
pin:
pcf8574: pcf8574_hub_out_2
number: 1
mode: OUTPUT
inverted: true
id: output10
- platform: gpio
name: "e16s-output11"
pin:
pcf8574: pcf8574_hub_out_2
number: 2
mode: OUTPUT
inverted: true
id: output11
- platform: gpio
name: "e16s-output12"
pin:
pcf8574: pcf8574_hub_out_2
number: 3
mode: OUTPUT
inverted: true
id: output12
- platform: gpio
name: "e16s-output13"
pin:
pcf8574: pcf8574_hub_out_2
number: 4
mode: OUTPUT
inverted: true
id: output13
- platform: gpio
name: "e16s-output14"
pin:
pcf8574: pcf8574_hub_out_2
number: 5
mode: OUTPUT
inverted: true
id: output14
- platform: gpio
name: "e16s-output15"
pin:
pcf8574: pcf8574_hub_out_2
number: 6
mode: OUTPUT
inverted: true
id: output15
- platform: gpio
name: "e16s-output16"
pin:
pcf8574: pcf8574_hub_out_2
number: 7
mode: OUTPUT
inverted: true
id: output16
#-----------INPUTS------------
binary_sensor:
- platform: gpio
name: "e16s-input16"
on_press:
then:
- switch.toggle: output16
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input15"
on_press:
then:
- switch.toggle: output15
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input14"
on_press:
then:
- switch.toggle: output14
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input13"
on_press:
then:
- switch.toggle: output13
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input12"
on_press:
then:
- switch.toggle: output12
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input11"
on_press:
then:
- switch.toggle: output11
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input10"
on_press:
then:
- switch.toggle: output10
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input9"
on_press:
then:
- switch.toggle: output9
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input8"
on_press:
then:
- switch.toggle: output8
pin:
pcf8574: pcf8574_hub_in_2
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input7"
on_press:
then:
- switch.toggle: output7
pin:
pcf8574: pcf8574_hub_in_2
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input6"
on_press:
then:
- switch.toggle: output6
pin:
pcf8574: pcf8574_hub_in_2
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input5"
on_press:
then:
- switch.toggle: output5
pin:
pcf8574: pcf8574_hub_in_2
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input4"
on_press:
then:
- switch.toggle: output4
pin:
pcf8574: pcf8574_hub_in_2
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input3"
on_press:
then:
- switch.toggle: output3
pin:
pcf8574: pcf8574_hub_in_2
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input2"
on_press:
then:
- switch.toggle: output2
pin:
pcf8574: pcf8574_hub_in_2
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "e16s-input1"
on_press:
then:
- switch.toggle: output1
pin:
pcf8574: pcf8574_hub_in_2
number: 7
mode: INPUT
inverted: true
# Enable logging
logger:
# Enable Home Assistant API
api: