esphome:
  name: kc868-e16p
esp32:
  board: esp32dev
  framework:
    type: esp-idf
network:
  enable_ipv6: true
i2c:
  sda: 16
  scl: 15
  scan: true
  id: bus_a
ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO17_OUT
  phy_addr: 0
pcf8574:
  - id: "pcf8574_hub_out_1" 
    address: 0x21
  - id: "pcf8574_hub_out_2" 
    address: 0x25
  - id: "pcf8574_hub_in_1" 
    address: 0x22
  - id: "pcf8574_hub_in_2" 
    address: 0x24
remote_receiver:
  
  
  - id: receiver_rf
    pin:
      number: GPIO4
    dump: all
    
    tolerance: 50%
    filter: 250us
    idle: 4ms
    buffer_size: 2kb
switch:
  - platform: gpio
    name: "e16p-output1"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 0
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output2"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 1
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output3"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 2
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output4"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 3
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output5"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 4
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output6"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 5
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output7"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 6
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output8"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 7
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output9"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 0
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output10"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 1
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output11"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 2
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output12"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 3
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output13"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 4
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output14"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 5
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output15"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 6
      mode: OUTPUT
      inverted: true
  - platform: gpio
    name: "e16p-output16"
    pin:
      pcf8574: pcf8574_hub_out_2
      number: 7
      mode: OUTPUT
      inverted: true
binary_sensor:
  - platform: gpio
    name: "e16p-input1"
    on_press:
      then:
        - switch.toggle: output1
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 0
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input2"
    on_press:
      then:
        - switch.toggle: output2
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 1
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input3"
    on_press:
      then:
        - switch.toggle: output3
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 2
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input4"
    on_press:
      then:
        - switch.toggle: output4
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 3
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input5"
    on_press:
      then:
        - switch.toggle: output5
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 4
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input6"
    on_press:
      then:
        - switch.toggle: output6
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 5
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input7"
    on_press:
      then:
        - switch.toggle: output7
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 6
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input8"
    on_press:
      then:
        - switch.toggle: output8
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 7
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input9"
    on_press:
      then:
        - switch.toggle: output9
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 0
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input10"
    on_press:
      then:
        - switch.toggle: output10
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 1
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input11"
    on_press:
      then:
        - switch.toggle: output11
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 2
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input12"
    on_press:
      then:
        - switch.toggle: output12
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 3
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input13"
    on_press:
      then:
        - switch.toggle: output13
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 4
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input14"
    on_press:
      then:
        - switch.toggle: output14
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 5
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input15"
    on_press:
      then:
        - switch.toggle: output15
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 6
      mode: INPUT
      inverted: true
  - platform: gpio
    name: "e16p-input16"
    on_press:
      then:
        - switch.toggle: output16
    pin:
      pcf8574: pcf8574_hub_in_2
      number: 7
      mode: INPUT
      inverted: true
logger:
api: