mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-10 02:50:12 -04:00
stop hating myself
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
substitutions:
|
||||
# Change the disp_name to something you want
|
||||
disp_name: 6C
|
||||
# Interval of how often the power is updated
|
||||
update_time: 10s
|
||||
# Current Transformers:
|
||||
# 20A/25mA SCT-006: 11143
|
||||
# 30A/1V SCT-013-030: 8650
|
||||
# 50A/1V SCT-013-050: 15420
|
||||
# 50A/16.6mA SCT-010: 41334
|
||||
# 80A/26.6mA SCT-010: 41660
|
||||
# 100A/50ma SCT-013-000: 27518
|
||||
# 120A/40mA: SCT-016: 41787
|
||||
# 200A/100mA SCT-024: 27518
|
||||
# 200A/50mA SCT-024: 55036
|
||||
current_cal: '27518'
|
||||
# Jameco 9VAC Transformer: 42620
|
||||
voltage_cal: '42620'
|
||||
|
||||
esphome:
|
||||
name: 6chan_energy_meter
|
||||
platform: ESP32
|
||||
board: nodemcu-32s
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_pass
|
||||
manual_ip:
|
||||
static_ip: !secret ip_eh_nrgnode
|
||||
gateway: !secret ip_gateway
|
||||
subnet: !secret ip_subnet
|
||||
dns1: !secret ip_dns1
|
||||
|
||||
# mqtt:
|
||||
# broker: !secret mqtt_broker
|
||||
# username: !secret mqtt_user
|
||||
# password: !secret mqtt_pass
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
|
||||
ota:
|
||||
|
||||
web_server:
|
||||
port: 80
|
||||
|
||||
spi:
|
||||
clk_pin: 18
|
||||
miso_pin: 19
|
||||
mosi_pin: 23
|
||||
|
||||
sensor:
|
||||
- platform: wifi_signal
|
||||
name: ${disp_name} WiFi
|
||||
update_interval: 60s
|
||||
#IC1
|
||||
- platform: atm90e32
|
||||
cs_pin: 5
|
||||
phase_a:
|
||||
voltage:
|
||||
name: ${disp_name} Volts A
|
||||
id: ic1Volts
|
||||
accuracy_decimals: 1
|
||||
# filters:
|
||||
# - multiply: 2.0
|
||||
current:
|
||||
name: ${disp_name} CT1 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 value by 2 or 4 by uncommenting the filter below
|
||||
# filters:
|
||||
# - multiply: 2.0
|
||||
gain_voltage: ${voltage_cal}
|
||||
# Voltage using a 9VAC power transformer
|
||||
# Note: If you can not get the voltage correct with the highest gain of 65535, uncomment the 2.0 multiply filter above and lower the gain as needed
|
||||
gain_ct: ${current_cal}
|
||||
phase_b:
|
||||
current:
|
||||
name: ${disp_name} CT2 Amps
|
||||
id: ct2Amps
|
||||
gain_ct: ${current_cal}
|
||||
phase_c:
|
||||
current:
|
||||
name: ${disp_name} CT3 Amps
|
||||
id: ct3Amps
|
||||
gain_ct: ${current_cal}
|
||||
frequency:
|
||||
name: ${disp_name} Freq A
|
||||
line_frequency: 60Hz
|
||||
gain_pga: 1X
|
||||
update_interval: ${update_time}
|
||||
#IC2
|
||||
- platform: atm90e32
|
||||
cs_pin: 4
|
||||
phase_a:
|
||||
voltage:
|
||||
name: ${disp_name} Volts B
|
||||
id: ic2Volts
|
||||
accuracy_decimals: 1
|
||||
current:
|
||||
name: ${disp_name} CT4 Amps
|
||||
id: ct4Amps
|
||||
gain_voltage: ${voltage_cal}
|
||||
gain_ct: ${current_cal}
|
||||
phase_b:
|
||||
current:
|
||||
name: ${disp_name} CT5 Amps
|
||||
id: ct5Amps
|
||||
gain_ct: ${current_cal}
|
||||
phase_c:
|
||||
current:
|
||||
name: ${disp_name} CT6 Amps
|
||||
id: ct6Amps
|
||||
gain_ct: ${current_cal}
|
||||
frequency:
|
||||
name: ${disp_name} Freq B
|
||||
line_frequency: 60Hz
|
||||
gain_pga: 1X
|
||||
update_interval: ${update_time}
|
||||
|
||||
#Watts per channel
|
||||
- platform: template
|
||||
name: ${disp_name} CT1 Watts
|
||||
id: ct1Watts
|
||||
lambda: return id(ct1Amps).state * id(ic1Volts).state;
|
||||
accuracy_decimals: 0
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
- platform: template
|
||||
name: ${disp_name} CT2 Watts
|
||||
id: ct2Watts
|
||||
lambda: return id(ct2Amps).state * id(ic1Volts).state;
|
||||
accuracy_decimals: 0
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
- platform: template
|
||||
name: ${disp_name} CT3 Watts
|
||||
id: ct3Watts
|
||||
lambda: return id(ct3Amps).state * id(ic1Volts).state;
|
||||
accuracy_decimals: 0
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
- platform: template
|
||||
name: ${disp_name} CT4 Watts
|
||||
id: ct4Watts
|
||||
lambda: return id(ct4Amps).state * id(ic2Volts).state;
|
||||
accuracy_decimals: 0
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
- platform: template
|
||||
name: ${disp_name} CT5 Watts
|
||||
id: ct5Watts
|
||||
lambda: return id(ct5Amps).state * id(ic2Volts).state;
|
||||
accuracy_decimals: 0
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
- platform: template
|
||||
name: ${disp_name} CT6 Watts
|
||||
id: ct6Watts
|
||||
lambda: return id(ct6Amps).state * id(ic2Volts).state;
|
||||
accuracy_decimals: 0
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
#Total Amps
|
||||
- platform: template
|
||||
name: ${disp_name} Total Amps
|
||||
id: totalAmps
|
||||
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
|
||||
- platform: template
|
||||
name: ${disp_name} Total Watts
|
||||
id: totalWatts
|
||||
lambda: return id(totalAmps).state * id(ic1Volts).state;
|
||||
accuracy_decimals: 1
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
update_interval: ${update_time}
|
||||
#kWh
|
||||
- platform: total_daily_energy
|
||||
name: ${disp_name} Total kWh
|
||||
power_id: totalWatts
|
||||
filters:
|
||||
- multiply: 0.001
|
||||
unit_of_measurement: kWh
|
||||
device_class: energy
|
||||
state_class: total_increasing
|
||||
switch:
|
||||
- platform: restart
|
||||
name: ${disp_name} Restart
|
||||
time:
|
||||
- platform: sntp
|
||||
id: sntp_time
|
||||
Reference in New Issue
Block a user