12-18-2023, 11:30 AM
[attachment=3782]
esphome:
name: a24
platform: ESP32
board: esp32dev
# Enable logging
logger:
# Enable Home Assistant API
api:
# 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--input channel 17-32
i2c_id: bus_a
address: 0x25
pcf8575: true
# Individual outputs
switch:
- platform: gpio
name: "a24--light1"
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light2"
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light3"
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light4"
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light5"
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light6"
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light7"
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light8"
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light9"
pin:
pcf8574: pcf8574_hub_out_1
number: 8
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light10"
pin:
pcf8574: pcf8574_hub_out_1
number: 9
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light11"
pin:
pcf8574: pcf8574_hub_out_1
number: 10
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light12"
pin:
pcf8574: pcf8574_hub_out_1
number: 11
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light13"
pin:
pcf8574: pcf8574_hub_out_2
number: 0
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light14"
pin:
pcf8574: pcf8574_hub_out_2
number: 1
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light15"
pin:
pcf8574: pcf8574_hub_out_2
number: 2
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light16"
pin:
pcf8574: pcf8574_hub_out_2
number: 3
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light17"
pin:
pcf8574: pcf8574_hub_out_2
number: 4
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light18"
pin:
pcf8574: pcf8574_hub_out_2
number: 5
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light19"
pin:
pcf8574: pcf8574_hub_out_2
number: 6
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light20"
pin:
pcf8574: pcf8574_hub_out_2
number: 7
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light21"
pin:
pcf8574: pcf8574_hub_out_2
number: 8
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light22"
pin:
pcf8574: pcf8574_hub_out_2
number: 9
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light23"
pin:
pcf8574: pcf8574_hub_out_2
number: 10
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light24"
pin:
pcf8574: pcf8574_hub_out_2
number: 11
mode: OUTPUT
inverted: true
# Individual inputs
binary_sensor:
- platform: gpio
name: "a24--input1"
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input2"
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input3"
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input4"
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input5"
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input6"
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input7"
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input8"
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input9"
pin:
pcf8574: pcf8574_hub_in_1
number: 8
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input10"
pin:
pcf8574: pcf8574_hub_in_1
number: 9
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input11"
pin:
pcf8574: pcf8574_hub_in_1
number: 10
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input12"
pin:
pcf8574: pcf8574_hub_in_1
number: 11
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input13"
pin:
pcf8574: pcf8574_hub_in_1
number: 12
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input14"
pin:
pcf8574: pcf8574_hub_in_1
number: 13
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input15"
pin:
pcf8574: pcf8574_hub_in_1
number: 14
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input16"
pin:
pcf8574: pcf8574_hub_in_1
number: 15
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input17"
pin:
pcf8574: pcf8574_hub_in_2
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input18"
pin:
pcf8574: pcf8574_hub_in_2
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input19"
pin:
pcf8574: pcf8574_hub_in_2
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input20"
pin:
pcf8574: pcf8574_hub_in_2
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input21"
pin:
pcf8574: pcf8574_hub_in_2
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input22"
pin:
pcf8574: pcf8574_hub_in_2
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input23"
pin:
pcf8574: pcf8574_hub_in_2
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input24"
pin:
pcf8574: pcf8574_hub_in_2
number: 7
mode: INPUT
inverted: true
sensor:
- platform: adc
pin: 35
name: "A24 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 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 A3 Current"
update_interval: 10s
unit_of_measurement: mA
attenuation: 11db
filters:
- multiply: 6.66666666
- platform: adc
pin: 36
name: "A24 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
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-DAC-1"
output: gp8403_output_1
- platform: monochromatic
name: "A24-DAC-2"
output: gp8403_output_2
[attachment=3733]
esphome:
name: a24
platform: ESP32
board: esp32dev
# Enable logging
logger:
# Enable Home Assistant API
api:
# 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--input channel 17-32
i2c_id: bus_a
address: 0x25
pcf8575: true
# Individual outputs
switch:
- platform: gpio
name: "a24--light1"
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light2"
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light3"
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light4"
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light5"
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light6"
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light7"
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light8"
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light9"
pin:
pcf8574: pcf8574_hub_out_1
number: 8
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light10"
pin:
pcf8574: pcf8574_hub_out_1
number: 9
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light11"
pin:
pcf8574: pcf8574_hub_out_1
number: 10
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light12"
pin:
pcf8574: pcf8574_hub_out_1
number: 11
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light13"
pin:
pcf8574: pcf8574_hub_out_2
number: 0
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light14"
pin:
pcf8574: pcf8574_hub_out_2
number: 1
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light15"
pin:
pcf8574: pcf8574_hub_out_2
number: 2
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light16"
pin:
pcf8574: pcf8574_hub_out_2
number: 3
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light17"
pin:
pcf8574: pcf8574_hub_out_2
number: 4
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light18"
pin:
pcf8574: pcf8574_hub_out_2
number: 5
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light19"
pin:
pcf8574: pcf8574_hub_out_2
number: 6
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light20"
pin:
pcf8574: pcf8574_hub_out_2
number: 7
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light21"
pin:
pcf8574: pcf8574_hub_out_2
number: 8
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light22"
pin:
pcf8574: pcf8574_hub_out_2
number: 9
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light23"
pin:
pcf8574: pcf8574_hub_out_2
number: 10
mode: OUTPUT
inverted: true
- platform: gpio
name: "a24--light24"
pin:
pcf8574: pcf8574_hub_out_2
number: 11
mode: OUTPUT
inverted: true
# Individual inputs
binary_sensor:
- platform: gpio
name: "a24--input1"
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input2"
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input3"
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input4"
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input5"
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input6"
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input7"
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input8"
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input9"
pin:
pcf8574: pcf8574_hub_in_1
number: 8
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input10"
pin:
pcf8574: pcf8574_hub_in_1
number: 9
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input11"
pin:
pcf8574: pcf8574_hub_in_1
number: 10
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input12"
pin:
pcf8574: pcf8574_hub_in_1
number: 11
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input13"
pin:
pcf8574: pcf8574_hub_in_1
number: 12
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input14"
pin:
pcf8574: pcf8574_hub_in_1
number: 13
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input15"
pin:
pcf8574: pcf8574_hub_in_1
number: 14
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input16"
pin:
pcf8574: pcf8574_hub_in_1
number: 15
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input17"
pin:
pcf8574: pcf8574_hub_in_2
number: 0
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input18"
pin:
pcf8574: pcf8574_hub_in_2
number: 1
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input19"
pin:
pcf8574: pcf8574_hub_in_2
number: 2
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input20"
pin:
pcf8574: pcf8574_hub_in_2
number: 3
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input21"
pin:
pcf8574: pcf8574_hub_in_2
number: 4
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input22"
pin:
pcf8574: pcf8574_hub_in_2
number: 5
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input23"
pin:
pcf8574: pcf8574_hub_in_2
number: 6
mode: INPUT
inverted: true
- platform: gpio
name: "a24--input24"
pin:
pcf8574: pcf8574_hub_in_2
number: 7
mode: INPUT
inverted: true
sensor:
- platform: adc
pin: 35
name: "A24 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 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 A3 Current"
update_interval: 10s
unit_of_measurement: mA
attenuation: 11db
filters:
- multiply: 6.66666666
- platform: adc
pin: 36
name: "A24 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
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-DAC-1"
output: gp8403_output_1
- platform: monochromatic
name: "A24-DAC-2"
output: gp8403_output_2
[attachment=3733]