esphome: name: a6v3 friendly_name: a6v3 esp32: board: esp32-s3-devkitc-1 framework: type: arduino # Enable logging logger: # Enable Home Assistant API api: wifi: ssid: "KinCony" password: "a12345678" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "A6 Fallback Hotspot" password: "GLdHSsZr1p96" captive_portal: i2c: sda: 12 scl: 11 scan: true id: bus_a pcf8574: - id: 'pcf8574_hub_out_1' # for output channel 1-8 address: 0x24 - id: 'pcf8574_hub_in_1' # for input channel 1-8 address: 0x22 uart: - id: uart_1 #RS485 baud_rate: 9600 debug: direction: BOTH dummy_receiver: true after: timeout: 10ms tx_pin: 17 rx_pin: 18 - id: uart_2 #RS232 baud_rate: 9600 debug: direction: BOTH dummy_receiver: true after: timeout: 10ms tx_pin: 9 rx_pin: 10 switch: - platform: gpio name: "A6v3-output1" id: a6v3_output1 pin: pcf8574: pcf8574_hub_out_1 number: 0 mode: OUTPUT inverted: true - platform: gpio name: "A6v3-output2" id: a6v3_output2 pin: pcf8574: pcf8574_hub_out_1 number: 1 mode: OUTPUT inverted: true - platform: gpio name: "A6v3-output3" id: a6v3_output3 pin: pcf8574: pcf8574_hub_out_1 number: 2 mode: OUTPUT inverted: true - platform: gpio name: "A6v3-output4" id: a6v3_output4 pin: pcf8574: pcf8574_hub_out_1 number: 3 mode: OUTPUT inverted: true - platform: gpio name: "A6v3-output5" id: a6v3_output5 pin: pcf8574: pcf8574_hub_out_1 number: 4 mode: OUTPUT inverted: true - platform: gpio name: "A6v3-output6" id: a6v3_output6 pin: pcf8574: pcf8574_hub_out_1 number: 5 mode: OUTPUT inverted: true - platform: uart uart_id: uart_1 name: "RS485 Button" data: [0x11, 0x22, 0x33, 0x44, 0x55] - platform: uart uart_id: uart_2 name: "RS232 Button" data: [0x55, 0x66, 0x77, 0x88, 0x99] binary_sensor: - platform: gpio name: "A6v3-input1" pin: pcf8574: pcf8574_hub_in_1 number: 0 mode: INPUT inverted: true - platform: gpio name: "A6v3-input2" pin: pcf8574: pcf8574_hub_in_1 number: 1 mode: INPUT inverted: true - platform: gpio name: "A6v3-input3" pin: pcf8574: pcf8574_hub_in_1 number: 2 mode: INPUT inverted: true - platform: gpio name: "A6v3-input4" pin: pcf8574: pcf8574_hub_in_1 number: 3 mode: INPUT inverted: true - platform: gpio name: "A6v3-input5" pin: pcf8574: pcf8574_hub_in_1 number: 4 mode: INPUT inverted: true - platform: gpio name: "A6v3-input6" pin: pcf8574: pcf8574_hub_in_1 number: 5 mode: INPUT inverted: true ##pull-up resistance on PCB - platform: gpio name: "A6v3-W1-io15" pin: number: 15 inverted: true - platform: gpio name: "A6v3-W1-io16" pin: number: 16 inverted: true - platform: gpio name: "A6v3-W1-DW" pin: number: 0 inverted: true sensor: - platform: adc pin: 4 name: "A6v3 A1 Voltage" update_interval: 5s attenuation: 11db filters: - lambda: if (x >= 3.11) { return x * 1.60256; } else if (x <= 0.15) { return 0; } else { return x * 1.51; } - platform: adc pin: 5 name: "A6v3 A2 Voltage" update_interval: 5s attenuation: 11db filters: # - multiply: 1.51515 - lambda: if (x >= 3.11) { return x * 1.60256; } else if (x <= 0.15) { return 0; } else { return x * 1.51; } - platform: adc pin: 6 name: "A6v3 A3 Current" update_interval: 5s unit_of_measurement: mA attenuation: 11db filters: - multiply: 6.66666666 - platform: adc pin: 7 name: "A6v3 A4 Current" update_interval: 5s unit_of_measurement: mA attenuation: 11db filters: - multiply: 6.66666666 font: - file: "gfonts://Roboto" id: roboto size: 20 display: - platform: ssd1306_i2c i2c_id: bus_a model: "SSD1306 128x64" address: 0x3C lambda: |- it.printf(0, 0, id(roboto), "KinCony A6v3"); gp8403: id: my_gp8403 voltage: 10V output: - platform: gp8403 id: gp8403_output_1 gp8403_id: my_gp8403 channel: 0 - platform: gp8403 id: gp8403_output_2 gp8403_id: my_gp8403 channel: 1 light: - platform: monochromatic name: "A6v3-DAC-1" output: gp8403_output_1 - platform: monochromatic name: "A6v3-DAC-2" output: gp8403_output_2 web_server: port: 80