stop hating myself

This commit is contained in:
CeeWeasel
2025-12-09 16:59:38 -05:00
parent a49d981ad4
commit 578edbc7dc
100 changed files with 11098 additions and 966 deletions
@@ -0,0 +1,100 @@
# CircuitSetup 6 Channel Energy Meter 1st Add-on board config
# Assumes jumpers are both in the 1st position
sensor:
#IC1 AddOn 1
############
- platform: atm90e32
release_device: true
cs_pin: 0
id: ${addon1_id1}
phase_a:
current:
name: ${ct7_name} Amps
id: ct7Amps
power:
name: ${ct7_name} Watts
id: ct7Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct7}
phase_b:
current:
name: ${ct8_name} Amps
id: ct8Amps
power:
name: ${ct8_name} Watts
id: ct8Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct8}
phase_c:
current:
name: ${ct9_name} Amps
id: ct9Amps
power:
name: ${ct9_name} Watts
id: ct9Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct9}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#IC2 AddOn 1
############
- platform: atm90e32
release_device: true
cs_pin: 16
id: ${addon1_id2}
phase_a:
current:
name: ${ct10_name} Amps
id: ct10Amps
power:
name: ${ct10_name} Watts
id: ct10Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct10}
phase_b:
current:
name: ${ct11_name} Amps
id: ct11Amps
power:
name: ${ct11_name} Watts
id: ct11Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct11}
phase_c:
current:
name: ${ct12_name} Amps
id: ct12Amps
power:
name: ${ct12_name} Watts
id: ct12Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct12}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps AddOn1
- platform: template
name: ${friendly_name} Total Amps Add-on1
id: totalAmpsAddOn1
lambda: return id(ct7Amps).state + id(ct8Amps).state + id(ct9Amps).state + id(ct10Amps).state + id(ct11Amps).state + id(ct12Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts AddOn1
- platform: template
name: ${friendly_name} Total Watts Add-on1
id: totalWattsAddOn1
lambda: return id(ct7Watts).state + id(ct8Watts).state + id(ct9Watts).state + id(ct10Watts).state + id(ct11Watts).state + id(ct12Watts).state ;
accuracy_decimals: 2
unit_of_measurement: W
device_class: power
update_interval: ${update_time}
@@ -0,0 +1,100 @@
# CircuitSetup 6 Channel Energy Meter 2nd Add-on board config
# Assumes jumpers are both in the 2nd position
sensor:
#IC1 AddOn 2
############
- platform: atm90e32
cs_pin: 27
release_device: true
id: ${addon2_id1}
phase_a:
current:
name: ${ct13_name} Amps
id: ct13Amps
power:
name: ${ct13_name} Watts
id: ct13Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct13}
phase_b:
current:
name: ${ct14_name} Amps
id: ct14Amps
power:
name: ${ct14_name} Watts
id: ct14Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct14}
phase_c:
current:
name: ${ct15_name} Amps
id: ct15Amps
power:
name: ${ct15_name} Watts
id: ct15Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct15}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#IC2 AddOn 2
############
- platform: atm90e32
release_device: true
cs_pin: 17
id: ${addon2_id2}
phase_a:
current:
name: ${ct16_name} Amps
id: ct16Amps
power:
name: ${ct16_name} Watts
id: ct16Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct16}
phase_b:
current:
name: ${ct17_name} Amps
id: ct17Amps
power:
name: ${ct17_name} Watts
id: ct17Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct17}
phase_c:
current:
name: ${ct18_name} Amps
id: ct18Amps
power:
name: ${ct18_name} Watts
id: ct18Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct18}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps AddOn2
- platform: template
name: ${friendly_name} Total Amps Add-on2
id: totalAmpsAddOn2
lambda: return id(ct13Amps).state + id(ct14Amps).state + id(ct15Amps).state + id(ct16Amps).state + id(ct17Amps).state + id(ct18Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts AddOn2
- platform: template
name: ${friendly_name} Total Watts Add-on2
id: totalWattsAddOn2
lambda: return id(ct13Watts).state + id(ct14Watts).state + id(ct15Watts).state + id(ct16Watts).state + id(ct17Watts).state + id(ct18Watts).state ;
accuracy_decimals: 2
unit_of_measurement: W
device_class: power
update_interval: ${update_time}
@@ -0,0 +1,101 @@
# CircuitSetup 6 Channel Energy Meter 3rd Add-on board config
# Assumes jumpers are both in the 3rd position
sensor:
#IC1 AddOn 3
############
- platform: atm90e32
release_device: true
#if ESP32 has an LED for GPIO2, remove jumper or ESP32 from meter stack before programming via serial
cs_pin: 2
id: ${addon3_id1}
phase_a:
current:
name: ${ct19_name} Amps
id: ct19Amps
power:
name: ${ct19_name} Watts
id: ct19Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct19}
phase_b:
current:
name: ${ct20_name} Amps
id: ct20Amps
power:
name: ${ct20_name} Watts
id: ct20Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct20}
phase_c:
current:
name: ${ct21_name} Amps
id: ct21Amps
power:
name: ${ct21_name} Watts
id: ct21Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct21}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#IC2 AddOn 3
############
- platform: atm90e32
release_device: true
cs_pin: 21
id: ${addon3_id2}
phase_a:
current:
name: ${ct22_name} Amps
id: ct22Amps
power:
name: ${ct22_name} Watts
id: ct22Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct22}
phase_b:
current:
name: ${ct23_name} Amps
id: ct23Amps
power:
name: ${ct23_name} Watts
id: ct23Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct23}
phase_c:
current:
name: ${ct24_name} Amps
id: ct24Amps
power:
name: ${ct24_name} Watts
id: ct24Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct24}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps AddOn3
- platform: template
name: ${friendly_name} Total Amps Add-on3
id: totalAmpsAddOn3
lambda: return id(ct19Amps).state + id(ct20Amps).state + id(ct21Amps).state + id(ct22Amps).state + id(ct23Amps).state + id(ct24Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts AddOn3
- platform: template
name: ${friendly_name} Total Watts Add-on3
id: totalWattsAddOn3
lambda: return id(ct19Watts).state + id(ct20Watts).state + id(ct21Watts).state + id(ct22Watts).state + id(ct23Watts).state + id(ct24Watts).state ;
accuracy_decimals: 2
unit_of_measurement: W
device_class: power
update_interval: ${update_time}
@@ -0,0 +1,100 @@
# CircuitSetup 6 Channel Energy Meter 4th Add-on board config
# Assumes jumpers are both in the 4th position
sensor:
#IC1 AddOn 4
############
- platform: atm90e32
release_device: true
cs_pin: 13
id: ${addon4_id1}
phase_a:
current:
name: ${ct25_name} Amps
id: ct25Amps
power:
name: ${ct25_name} Watts
id: ct25Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct25}
phase_b:
current:
name: ${ct26_name} Amps
id: ct26Amps
power:
name: ${ct26_name} Watts
id: ct26Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct26}
phase_c:
current:
name: ${ct27_name} Amps
id: ct27Amps
power:
name: ${ct27_name} Watts
id: ct27Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct27}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#IC2 AddOn 4
############
- platform: atm90e32
release_device: true
cs_pin: 22
id: ${addon4_id2}
phase_a:
current:
name: ${ct28_name} Amps
id: ct28Amps
power:
name: ${ct28_name} Watts
id: ct28Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct28}
phase_b:
current:
name: ${ct29_name} Amps
id: ct29Amps
power:
name: ${ct29_name} Watts
id: ct29Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct29}
phase_c:
current:
name: ${ct30_name} Amps
id: ct30Amps
power:
name: ${ct30_name} Watts
id: ct30Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct30}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps AddOn4
- platform: template
name: ${friendly_name} Total Amps Add-on4
id: totalAmpsAddOn4
lambda: return id(ct25Amps).state + id(ct26Amps).state + id(ct27Amps).state + id(ct28Amps).state + id(ct29Amps).state + id(ct30Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts AddOn4
- platform: template
name: ${friendly_name} Total Watts Add-on4
id: totalWattsAddOn4
lambda: return id(ct25Watts).state + id(ct26Watts).state + id(ct27Watts).state + id(ct28Watts).state + id(ct29Watts).state + id(ct30Watts).state ;
accuracy_decimals: 2
unit_of_measurement: W
device_class: power
update_interval: ${update_time}
@@ -0,0 +1,100 @@
# CircuitSetup 6 Channel Energy Meter 5th Add-on board config
# Assumes jumpers are both in the 5th position
sensor:
#IC1 AddOn 5
############
- platform: atm90e32
release_device: true
cs_pin: 14
id: ${addon5_id1}
phase_a:
current:
name: ${ct31_name} Amps
id: ct31Amps
power:
name: ${ct31_name} Watts
id: ct31Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct31}
phase_b:
current:
name: ${ct32_name} Amps
id: ct32Amps
power:
name: ${ct32_name} Watts
id: ct32Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct32}
phase_c:
current:
name: ${ct33_name} Amps
id: ct33Amps
power:
name: ${ct33_name} Watts
id: ct33Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct33}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#IC2 AddOn 5
############
- platform: atm90e32
release_device: true
cs_pin: 25
id: ${addon5_id2}
phase_a:
current:
name: ${ct34_name} Amps
id: ct34Amps
power:
name: ${ct34_name} Watts
id: ct34Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct34}
phase_b:
current:
name: ${ct35_name} Amps
id: ct35Amps
power:
name: ${ct35_name} Watts
id: ct35Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct35}
phase_c:
current:
name: ${ct36_name} Amps
id: ct36Amps
power:
name: ${ct36_name} Watts
id: ct36Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct36}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps AddOn5
- platform: template
name: ${friendly_name} Total Amps Add-on5
id: totalAmpsAddOn5
lambda: return id(ct31Amps).state + id(ct32Amps).state + id(ct33Amps).state + id(ct34Amps).state + id(ct35Amps).state + id(ct36Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts AddOn5
- platform: template
name: ${friendly_name} Total Watts Add-on5
id: totalWattsAddOn5
lambda: return id(ct31Watts).state + id(ct32Watts).state + id(ct33Watts).state + id(ct34Watts).state + id(ct35Watts).state + id(ct36Watts).state ;
accuracy_decimals: 2
unit_of_measurement: W
device_class: power
update_interval: ${update_time}
@@ -0,0 +1,100 @@
# CircuitSetup 6 Channel Energy Meter 6th Add-on board config
# Assumes jumpers are both in the 6th position
sensor:
#IC1 AddOn 6
############
- platform: atm90e32
release_device: true
cs_pin: 15
id: ${addon6_id1}
phase_a:
current:
name: ${ct37_name} Amps
id: ct37Amps
power:
name: ${ct37_name} Watts
id: ct37Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct37}
phase_b:
current:
name: ${ct38_name} Amps
id: ct38Amps
power:
name: ${ct38_name} Watts
id: ct38Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct38}
phase_c:
current:
name: ${ct39_name} Amps
id: ct39Amps
power:
name: ${ct39_name} Watts
id: ct39Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct39}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#IC2 AddOn 6
############
- platform: atm90e32
release_device: true
cs_pin: 26
id: ${addon6_id2}
phase_a:
current:
name: ${ct40_name} Amps
id: ct40Amps
power:
name: ${ct40_name} Watts
id: ct40Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct40}
phase_b:
current:
name: ${ct41_name} Amps
id: ct41Amps
power:
name: ${ct41_name} Watts
id: ct41Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct41}
phase_c:
current:
name: ${ct42_name} Amps
id: ct42Amps
power:
name: ${ct42_name} Watts
id: ct42Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct42}
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps AddOn6
- platform: template
name: ${friendly_name} Total Amps Add-on6
id: totalAmpsAddOn6
lambda: return id(ct37Amps).state + id(ct38Amps).state + id(ct39Amps).state + id(ct40Amps).state + id(ct41Amps).state + id(ct42Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts AddOn6
- platform: template
name: ${friendly_name} Total Watts Add-on6
id: totalWattsAddOn6
lambda: return id(ct37Watts).state + id(ct38Watts).state + id(ct39Watts).state + id(ct40Watts).state + id(ct41Watts).state + id(ct42Watts).state ;
accuracy_decimals: 2
unit_of_measurement: W
device_class: power
update_interval: ${update_time}
@@ -0,0 +1,123 @@
sensor:
# Main IC1
#########
- platform: atm90e32
release_device: true
cs_pin: 5
id: ${main_meter_id1}
phase_a:
voltage:
name: Voltage 1
id: ic1Volts
accuracy_decimals: 1
current:
name: ${ct1_name} Amps
id: ct1Amps
# The max value for current that the meter can output is 65.535. If you expect to measure current over 65A,
# divide the gain_ct by 2 (120A CT) or 4 (200A CT) and multiply the current and power values by 2 or 4 by uncommenting the filter below
# filters:
# - multiply: 2
power:
name: ${ct1_name} Watts
id: ct1Watts
# filters:
# - multiply: 2
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct1}
phase_b:
current:
name: ${ct2_name} Amps
id: ct2Amps
power:
name: ${ct2_name} Watts
id: ct2Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct2}
phase_c:
current:
name: ${ct3_name} Amps
id: ct3Amps
power:
name: ${ct3_name} Watts
id: ct3Watts
gain_voltage: ${voltage_cal1}
gain_ct: ${current_cal_ct3}
frequency:
name: Frequency 1
chip_temperature:
name: ${main_meter_name1} Chip Temp
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
# Main IC2
##########
- platform: atm90e32
release_device: true
cs_pin: 4
id: ${main_meter_id2}
phase_a:
#this voltage is only needed if monitoring 2 voltages
# voltage:
# name: Voltage 2
# id: ic2Volts
# accuracy_decimals: 1
current:
name: ${ct4_name} Amps
id: ct4Amps
power:
name: ${ct4_name} Watts
id: ct4Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct4}
phase_b:
current:
name: ${ct5_name} Amps
id: ct5Amps
power:
name: ${ct5_name} Watts
id: ct5Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct5}
phase_c:
current:
name: ${ct6_name} Amps
id: ct6Amps
power:
name: ${ct6_name} Watts
id: ct6Watts
gain_voltage: ${voltage_cal2}
gain_ct: ${current_cal_ct6}
#this is only needed if monitoring 2 voltages
# frequency:
# name: Frequency 2
chip_temperature:
name: ${main_meter_name2} Chip Temp
line_frequency: ${electric_freq}
gain_pga: 1X
update_interval: ${update_time}
enable_offset_calibration: ${offset_calibration}
enable_gain_calibration: ${gain_calibration}
#Total Amps Main
################
- platform: template
name: ${friendly_name} Total Amps Main
id: totalAmpsMain
lambda: return id(ct1Amps).state + id(ct2Amps).state + id(ct3Amps).state + id(ct4Amps).state + id(ct5Amps).state + id(ct6Amps).state ;
accuracy_decimals: 2
unit_of_measurement: A
device_class: current
update_interval: ${update_time}
#Total Watts Main
#################
- platform: template
name: ${friendly_name} Total Watts Main
id: totalWattsMain
lambda: return id(ct1Watts).state + id(ct2Watts).state + id(ct3Watts).state + id(ct4Watts).state + id(ct5Watts).state + id(ct6Watts).state ;
accuracy_decimals: 1
unit_of_measurement: W
device_class: power
update_interval: ${update_time}