esphome: name: a24_1 platform: ESP32 board: esp32dev # Enable logging logger: # Enable Home Assistant API api: encryption: key: "xxxxxxxxxxxxxxxxxxxxx" ota: - platform: esphome password: !secret ota_password uart: id: mod_bus tx_pin: 33 rx_pin: 32 baud_rate: 9600 stop_bits: 1 parity: EVEN modbus: id: modbus1 uart_id: mod_bus modbus_controller: - id: a24 address: 0xDE modbus_id: modbus1 setup_priority: -10 update_interval: 5s sensor: - platform: modbus_controller modbus_controller_id: a24 name: "Voltage" id: modbus_voltage register_type: holding address: 0x64 unit_of_measurement: "V" value_type: FP32 accuracy_decimals: 2 - platform: modbus_controller modbus_controller_id: a24 name: "Current" id: modbus_current register_type: holding address: 0x6A unit_of_measurement: "A" value_type: FP32 accuracy_decimals: 2 - platform: modbus_controller modbus_controller_id: a24 name: "Active Power" id: modbus_Active_Power register_type: holding address: 0x76 unit_of_measurement: "kW" value_type: FP32 accuracy_decimals: 3 - platform: modbus_controller modbus_controller_id: a24 name: "Power Factor" id: modbus_Power_Factor register_type: holding address: 0x8E unit_of_measurement: "" value_type: FP32 accuracy_decimals: 2 - platform: modbus_controller modbus_controller_id: a24 name: "Grid Frequency" id: modbus_Grid_Frequency register_type: holding address: 0x90 unit_of_measurement: "hz" value_type: FP32 accuracy_decimals: 2 - platform: modbus_controller modbus_controller_id: a24 name: "Total Energy" id: modbus_Total_Energy register_type: holding address: 0x0 unit_of_measurement: "kWh" device_class: energy state_class: total_increasing value_type: FP32 accuracy_decimals: 4 - platform: adc pin: 35 name: "a24_1 A1 Voltage" update_interval: 10s 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: 34 name: "a24_1 A2 Voltage" update_interval: 10s 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: 39 name: "a24_1 A3 Current" update_interval: 10s unit_of_measurement: mA attenuation: 11db filters: - multiply: 6.66666666 - platform: adc pin: 36 name: "a24_1 A4 Current" update_interval: 10s unit_of_measurement: mA attenuation: 11db filters: - multiply: 6.66666666 - platform: max31855 name: "K-Type Thermocouple-1" cs_pin: pcf8574: pcf8574_hub_out_1 number: 13 mode: OUTPUT inverted: false update_interval: 5s - platform: max31855 name: "K-Type Thermocouple-2" cs_pin: pcf8574: pcf8574_hub_out_1 number: 14 mode: OUTPUT inverted: false update_interval: 5s - platform: max31855 name: "K-Type Thermocouple-3" cs_pin: pcf8574: pcf8574_hub_out_1 number: 15 mode: OUTPUT inverted: false update_interval: 5s # Example configuration entry i2c: - id: bus_a sda: 16 scl: 5 scan: true frequency: 400kHz # Example configuration entry ethernet: type: LAN8720 mdc_pin: GPIO23 mdio_pin: GPIO18 clk_mode: GPIO17_OUT phy_addr: 0 # Example configuration entry pcf8574: - id: 'pcf8574_hub_out_1' # for output channel 1-12 CS1-CS3 i2c_id: bus_a address: 0x21 pcf8575: true - id: 'pcf8574_hub_out_2' # for output channel 13-24 i2c_id: bus_a address: 0x22 pcf8575: true - id: 'pcf8574_hub_in_1' # for input channel 1-16 i2c_id: bus_a address: 0x24 pcf8575: true - id: 'pcf8574_hub_in_2' # for a24_1--input channel 17-32 i2c_id: bus_a address: 0x25 pcf8575: true # Individual outputs switch: - platform: gpio name: "a24_1--light1" pin: pcf8574: pcf8574_hub_out_1 number: 0 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light2" pin: pcf8574: pcf8574_hub_out_1 number: 1 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light3" pin: pcf8574: pcf8574_hub_out_1 number: 2 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light4" pin: pcf8574: pcf8574_hub_out_1 number: 3 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light5" pin: pcf8574: pcf8574_hub_out_1 number: 4 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light6" pin: pcf8574: pcf8574_hub_out_1 number: 5 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light7" pin: pcf8574: pcf8574_hub_out_1 number: 6 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light8" pin: pcf8574: pcf8574_hub_out_1 number: 7 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light9" pin: pcf8574: pcf8574_hub_out_1 number: 8 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light10" pin: pcf8574: pcf8574_hub_out_1 number: 9 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light11" pin: pcf8574: pcf8574_hub_out_1 number: 10 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light12" pin: pcf8574: pcf8574_hub_out_1 number: 11 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light13" pin: pcf8574: pcf8574_hub_out_2 number: 0 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light14" pin: pcf8574: pcf8574_hub_out_2 number: 1 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light15" pin: pcf8574: pcf8574_hub_out_2 number: 2 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light16" pin: pcf8574: pcf8574_hub_out_2 number: 3 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light17" pin: pcf8574: pcf8574_hub_out_2 number: 4 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light18" pin: pcf8574: pcf8574_hub_out_2 number: 5 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light19" pin: pcf8574: pcf8574_hub_out_2 number: 6 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light20" pin: pcf8574: pcf8574_hub_out_2 number: 7 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light21" pin: pcf8574: pcf8574_hub_out_2 number: 8 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light22" pin: pcf8574: pcf8574_hub_out_2 number: 9 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light23" pin: pcf8574: pcf8574_hub_out_2 number: 10 mode: OUTPUT inverted: true - platform: gpio name: "a24_1--light24" pin: pcf8574: pcf8574_hub_out_2 number: 11 mode: OUTPUT inverted: true # Individual inputs binary_sensor: - platform: gpio name: "a24_1--input1" pin: pcf8574: pcf8574_hub_in_1 number: 0 mode: INPUT inverted: true - platform: gpio name: "a24_1--input2" pin: pcf8574: pcf8574_hub_in_1 number: 1 mode: INPUT inverted: true - platform: gpio name: "a24_1--input3" pin: pcf8574: pcf8574_hub_in_1 number: 2 mode: INPUT inverted: true - platform: gpio name: "a24_1--input4" pin: pcf8574: pcf8574_hub_in_1 number: 3 mode: INPUT inverted: true - platform: gpio name: "a24_1--input5" pin: pcf8574: pcf8574_hub_in_1 number: 4 mode: INPUT inverted: true - platform: gpio name: "a24_1--input6" pin: pcf8574: pcf8574_hub_in_1 number: 5 mode: INPUT inverted: true - platform: gpio name: "a24_1--input7" pin: pcf8574: pcf8574_hub_in_1 number: 6 mode: INPUT inverted: true - platform: gpio name: "a24_1--input8" pin: pcf8574: pcf8574_hub_in_1 number: 7 mode: INPUT inverted: true - platform: gpio name: "a24_1--input9" pin: pcf8574: pcf8574_hub_in_1 number: 8 mode: INPUT inverted: true - platform: gpio name: "a24_1--input10" pin: pcf8574: pcf8574_hub_in_1 number: 9 mode: INPUT inverted: true - platform: gpio name: "a24_1--input11" pin: pcf8574: pcf8574_hub_in_1 number: 10 mode: INPUT inverted: true - platform: gpio name: "a24_1--input12" pin: pcf8574: pcf8574_hub_in_1 number: 11 mode: INPUT inverted: true - platform: gpio name: "a24_1--input13" pin: pcf8574: pcf8574_hub_in_1 number: 12 mode: INPUT inverted: true - platform: gpio name: "a24_1--input14" pin: pcf8574: pcf8574_hub_in_1 number: 13 mode: INPUT inverted: true - platform: gpio name: "a24_1--input15" pin: pcf8574: pcf8574_hub_in_1 number: 14 mode: INPUT inverted: true - platform: gpio name: "a24_1--input16" pin: pcf8574: pcf8574_hub_in_1 number: 15 mode: INPUT inverted: true - platform: gpio name: "a24_1--input17" pin: pcf8574: pcf8574_hub_in_2 number: 0 mode: INPUT inverted: true - platform: gpio name: "a24_1--input18" pin: pcf8574: pcf8574_hub_in_2 number: 1 mode: INPUT inverted: true - platform: gpio name: "a24_1--input19" pin: pcf8574: pcf8574_hub_in_2 number: 2 mode: INPUT inverted: true - platform: gpio name: "a24_1--input20" pin: pcf8574: pcf8574_hub_in_2 number: 3 mode: INPUT inverted: true - platform: gpio name: "a24_1--input21" pin: pcf8574: pcf8574_hub_in_2 number: 4 mode: INPUT inverted: true - platform: gpio name: "a24_1--input22" pin: pcf8574: pcf8574_hub_in_2 number: 5 mode: INPUT inverted: true - platform: gpio name: "a24_1--input23" pin: pcf8574: pcf8574_hub_in_2 number: 6 mode: INPUT inverted: true - platform: gpio name: "a24_1--input24" pin: pcf8574: pcf8574_hub_in_2 number: 7 mode: INPUT inverted: true spi: - id: spi_bus0 clk_pin: 14 miso_pin: 12 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: "a24_1-DAC-1" output: gp8403_output_1 - platform: monochromatic name: "a24_1-DAC-2" output: gp8403_output_2