IPEM SIX 1.00.03
This commit is contained in:
@@ -48,12 +48,21 @@ esp32:
|
|||||||
|
|
||||||
substitutions:
|
substitutions:
|
||||||
author: "DitroniX - Dave Williams"
|
author: "DitroniX - Dave Williams"
|
||||||
firmware_version: "1.00.02"
|
firmware_version: "1.00.03"
|
||||||
release_date: "2026-06-20"
|
release_date: "2026-06-20"
|
||||||
board_name: "IPEM SIX"
|
board_name: "IPEM SIX"
|
||||||
board_mcu: "ESP32-C5"
|
board_mcu: "ESP32-C5"
|
||||||
board_rev: "1.2606.102"
|
board_rev: "1.2606.102"
|
||||||
|
|
||||||
|
# ======================== Current Input Names ===========================
|
||||||
|
|
||||||
|
bank_a_1_name: "CTA-1"
|
||||||
|
bank_a_2_name: "CTA-2"
|
||||||
|
bank_a_3_name: "CTA-3"
|
||||||
|
bank_b_1_name: "CTB-1"
|
||||||
|
bank_b_2_name: "CTB-2"
|
||||||
|
bank_b_3_name: "CTB-3"
|
||||||
|
|
||||||
# ======================== MAINS CONFIG ===========================
|
# ======================== MAINS CONFIG ===========================
|
||||||
line_frequency: "50Hz" # Change to "60Hz" for US/Canada/etc.
|
line_frequency: "50Hz" # Change to "60Hz" for US/Canada/etc.
|
||||||
line_voltage: "230V" # For status thresholds and comments
|
line_voltage: "230V" # For status thresholds and comments
|
||||||
@@ -76,7 +85,7 @@ substitutions:
|
|||||||
# ===============================================================
|
# ===============================================================
|
||||||
|
|
||||||
# ========================= MISC ================================
|
# ========================= MISC ================================
|
||||||
tmp102_name: "Board Temperature"
|
tmp102_name: "Temperature"
|
||||||
tmp102_update_interval: 30s
|
tmp102_update_interval: 30s
|
||||||
# ===============================================================
|
# ===============================================================
|
||||||
|
|
||||||
@@ -86,7 +95,7 @@ substitutions:
|
|||||||
|
|
||||||
api:
|
api:
|
||||||
encryption:
|
encryption:
|
||||||
key: "xxxx="
|
key: "xxxx"
|
||||||
|
|
||||||
ota:
|
ota:
|
||||||
- platform: esphome
|
- platform: esphome
|
||||||
@@ -153,25 +162,19 @@ globals:
|
|||||||
type: float
|
type: float
|
||||||
initial_value: "0.54"
|
initial_value: "0.54"
|
||||||
|
|
||||||
|
################################## LIGHT ##################################
|
||||||
|
light:
|
||||||
# =====================================================
|
# =====================================================
|
||||||
# HEARTBEAT
|
# HEARTBEAT
|
||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
light:
|
|
||||||
- platform: esp32_rmt_led_strip
|
- platform: esp32_rmt_led_strip
|
||||||
|
|
||||||
id: heartbeat_led
|
id: heartbeat_led
|
||||||
|
|
||||||
# name: "Heartbeat LED"
|
# name: "Heartbeat LED"
|
||||||
|
|
||||||
pin: GPIO27
|
pin: GPIO27
|
||||||
|
|
||||||
num_leds: 1
|
num_leds: 1
|
||||||
|
|
||||||
chipset: WS2812
|
chipset: WS2812
|
||||||
|
|
||||||
rgb_order: GRB
|
rgb_order: GRB
|
||||||
|
|
||||||
effects:
|
effects:
|
||||||
- addressable_lambda:
|
- addressable_lambda:
|
||||||
name: "Green Heartbeat"
|
name: "Green Heartbeat"
|
||||||
@@ -201,17 +204,14 @@ light:
|
|||||||
step = 0;
|
step = 0;
|
||||||
|
|
||||||
################################## NUMBER ##################################
|
################################## NUMBER ##################################
|
||||||
|
number:
|
||||||
# =====================================================
|
# =====================================================
|
||||||
# USER ADJUSTMENTS
|
# USER ADJUSTMENTS
|
||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
number:
|
|
||||||
- platform: template
|
- platform: template
|
||||||
|
name: "CT Activity Threshold"
|
||||||
name: "IPEM SIX CT Activity Threshold"
|
|
||||||
|
|
||||||
id: ct_activity_threshold
|
id: ct_activity_threshold
|
||||||
|
|
||||||
min_value: 0.100
|
min_value: 0.100
|
||||||
max_value: 5.00
|
max_value: 5.00
|
||||||
step: 0.100
|
step: 0.100
|
||||||
@@ -221,10 +221,8 @@ number:
|
|||||||
initial_value: 0.100
|
initial_value: 0.100
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
|
name: "High Load Threshold"
|
||||||
name: "IPEM SIX High Load Threshold"
|
|
||||||
id: high_load_threshold
|
id: high_load_threshold
|
||||||
|
|
||||||
min_value: 1
|
min_value: 1
|
||||||
max_value: 100
|
max_value: 100
|
||||||
step: 1
|
step: 1
|
||||||
@@ -233,6 +231,9 @@ number:
|
|||||||
restore_value: true
|
restore_value: true
|
||||||
initial_value: 10
|
initial_value: 10
|
||||||
|
|
||||||
|
################################## TEXT ##################################
|
||||||
|
text:
|
||||||
|
|
||||||
################################## TEXT SENSOR ##################################
|
################################## TEXT SENSOR ##################################
|
||||||
|
|
||||||
text_sensor:
|
text_sensor:
|
||||||
@@ -307,7 +308,7 @@ text_sensor:
|
|||||||
return {"${gain_pga_baseline}"};
|
return {"${gain_pga_baseline}"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Phases"
|
name: "Current Phase Voltage"
|
||||||
icon: mdi:current-ac
|
icon: mdi:current-ac
|
||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
update_interval: 60s
|
update_interval: 60s
|
||||||
@@ -336,77 +337,33 @@ text_sensor:
|
|||||||
lambda: |-
|
lambda: |-
|
||||||
return {"${current_type}"};
|
return {"${current_type}"};
|
||||||
|
|
||||||
# =====================================================
|
|
||||||
# IPEM SIX CHANNEL METADATA
|
|
||||||
# =====================================================
|
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A Channel 1 Description"
|
name: "Product"
|
||||||
id: bank_a_1_description
|
|
||||||
icon: mdi:information
|
icon: mdi:information
|
||||||
lambda: |-
|
entity_category: diagnostic
|
||||||
return {"Kitchen"};
|
update_interval: 60s
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "Bank A Channel 2 Description"
|
|
||||||
id: bank_a_2_description
|
|
||||||
icon: mdi:information
|
|
||||||
lambda: |-
|
|
||||||
return {"EV Charger"};
|
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "Bank A Channel 3 Description"
|
|
||||||
id: bank_a_3_description
|
|
||||||
icon: mdi:information
|
|
||||||
lambda: |-
|
|
||||||
return {"Solar Inverter"};
|
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "Bank B Channel 1 Description"
|
|
||||||
id: bank_b_1_description
|
|
||||||
icon: mdi:information
|
|
||||||
lambda: |-
|
|
||||||
return {"Heat Pump"};
|
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "Bank B Channel 2 Description"
|
|
||||||
id: bank_b_2_description
|
|
||||||
icon: mdi:information
|
|
||||||
lambda: |-
|
|
||||||
return {"Workshop"};
|
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "Bank B Channel 3 Description"
|
|
||||||
id: bank_b_3_description
|
|
||||||
icon: mdi:information
|
|
||||||
lambda: |-
|
|
||||||
return {"Ring"};
|
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "IPEM SIX Product"
|
|
||||||
icon: mdi:information
|
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
return {"Professional Energy Monitor"};
|
return {"Professional Energy Monitor"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Hardware"
|
name: "Hardware"
|
||||||
|
entity_category: diagnostic
|
||||||
icon: mdi:information
|
icon: mdi:information
|
||||||
|
update_interval: 60s
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
|
||||||
return {"ESP32-C5 Dual ATM90E32"};
|
return {"ESP32-C5 Dual ATM90E32"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Configuration"
|
name: "Configuration"
|
||||||
icon: mdi:information
|
icon: mdi:information-outline
|
||||||
|
entity_category: diagnostic
|
||||||
|
update_interval: 60s
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
|
||||||
return {"6 Channel Dual Bank CT Meter"};
|
return {"6 Channel Dual Bank CT Meter"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Status"
|
name: "Mains Voltage Test Status"
|
||||||
icon: mdi:heart-pulse
|
icon: mdi:heart-pulse
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
@@ -428,7 +385,7 @@ text_sensor:
|
|||||||
update_interval: 15s
|
update_interval: 15s
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX WiFi Signal Quality"
|
name: "WiFi Signal Quality"
|
||||||
id: wifi_signal_quality
|
id: wifi_signal_quality
|
||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
@@ -468,7 +425,7 @@ text_sensor:
|
|||||||
# High > 253V
|
# High > 253V
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Voltage Status"
|
name: "Mains Voltage Status"
|
||||||
icon: mdi:flash
|
icon: mdi:flash
|
||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
@@ -513,7 +470,7 @@ text_sensor:
|
|||||||
# High >51 Hz
|
# High >51 Hz
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Frequency Status"
|
name: "Mains Frequency Status"
|
||||||
icon: mdi:waves-arrow-right
|
icon: mdi:waves-arrow-right
|
||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
@@ -531,7 +488,8 @@ text_sensor:
|
|||||||
return {"Normal"};
|
return {"Normal"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Meter Type"
|
name: "Meter Type"
|
||||||
|
entity_category: diagnostic
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
return {"IPEM SIX - Dual ATM90E32 / 6 Channel"};
|
return {"IPEM SIX - Dual ATM90E32 / 6 Channel"};
|
||||||
@@ -541,84 +499,84 @@ text_sensor:
|
|||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
- platform: uptime
|
- platform: uptime
|
||||||
name: "IPEM SIX Uptime"
|
name: "Uptime"
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
# CT CHANNEL ACTIVITY STATUS
|
# CT CHANNEL ACTIVITY STATUS
|
||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
|
# ====================== BANK A STATUS ======================
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A 1 Status"
|
id: bank_a_1_status
|
||||||
|
name: "${bank_a_1_name} Status"
|
||||||
icon: mdi:flash
|
icon: mdi:flash
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
float current = id(bank_a_1_current).state;
|
||||||
if(id(bank_a_1_current).state >= id(high_load_threshold).state)
|
if (current >= id(high_load_threshold).state) return {"High Load"};
|
||||||
return {"High Load"};
|
if (current >= id(ct_activity_threshold).state) return {"Active"};
|
||||||
|
|
||||||
if(id(bank_a_1_current).state >= id(ct_activity_threshold).state)
|
|
||||||
return {"Active"};
|
|
||||||
|
|
||||||
return {"Idle"};
|
return {"Idle"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A 2 Status"
|
id: bank_a_2_status
|
||||||
|
name: "${bank_a_2_name} Status"
|
||||||
icon: mdi:flash
|
icon: mdi:flash
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
float current = id(bank_a_2_current).state;
|
||||||
if(id(bank_a_2_current).state >= id(ct_activity_threshold).state)
|
if (current >= id(high_load_threshold).state) return {"High Load"};
|
||||||
|
if (current >= id(ct_activity_threshold).state) return {"Active"};
|
||||||
return {"Active"};
|
|
||||||
|
|
||||||
return {"Idle"};
|
return {"Idle"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A 3 Status"
|
id: bank_a_3_status
|
||||||
|
name: "${bank_a_3_name} Status"
|
||||||
icon: mdi:flash
|
icon: mdi:flash
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
float current = id(bank_a_3_current).state;
|
||||||
|
if (current >= id(high_load_threshold).state) return {"High Load"};
|
||||||
|
if (current >= id(ct_activity_threshold).state) return {"Active"};
|
||||||
|
return {"Idle"};
|
||||||
|
|
||||||
if(id(bank_a_3_current).state >= id(ct_activity_threshold).state)
|
# ====================== BANK B STATUS ======================
|
||||||
|
- platform: template
|
||||||
return {"Active"};
|
id: bank_b_1_status
|
||||||
|
name: "${bank_b_1_name} Status"
|
||||||
|
icon: mdi:flash
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
|
lambda: |-
|
||||||
|
float current = id(bank_b_1_current).state;
|
||||||
|
if (current >= id(high_load_threshold).state) return {"High Load"};
|
||||||
|
if (current >= id(ct_activity_threshold).state) return {"Active"};
|
||||||
return {"Idle"};
|
return {"Idle"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank B 1 Status"
|
id: bank_b_2_status
|
||||||
|
name: "${bank_b_2_name} Status"
|
||||||
icon: mdi:flash
|
icon: mdi:flash
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
float current = id(bank_b_2_current).state;
|
||||||
if(id(bank_b_1_current).state >= id(ct_activity_threshold).state)
|
if (current >= id(high_load_threshold).state) return {"High Load"};
|
||||||
|
if (current >= id(ct_activity_threshold).state) return {"Active"};
|
||||||
return {"Active"};
|
|
||||||
|
|
||||||
return {"Idle"};
|
return {"Idle"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank B 2 Status"
|
id: bank_b_3_status
|
||||||
|
name: "${bank_b_3_name} Status"
|
||||||
icon: mdi:flash
|
icon: mdi:flash
|
||||||
|
update_interval: 10s
|
||||||
|
|
||||||
lambda: |-
|
lambda: |-
|
||||||
|
float current = id(bank_b_3_current).state;
|
||||||
if(id(bank_b_2_current).state >= id(ct_activity_threshold).state)
|
if (current >= id(high_load_threshold).state) return {"High Load"};
|
||||||
|
if (current >= id(ct_activity_threshold).state) return {"Active"};
|
||||||
return {"Active"};
|
|
||||||
|
|
||||||
return {"Idle"};
|
|
||||||
|
|
||||||
- platform: template
|
|
||||||
name: "Bank B 3 Status"
|
|
||||||
icon: mdi:flash
|
|
||||||
|
|
||||||
lambda: |-
|
|
||||||
|
|
||||||
if(id(bank_b_3_current).state >= id(ct_activity_threshold).state)
|
|
||||||
|
|
||||||
return {"Active"};
|
|
||||||
|
|
||||||
return {"Idle"};
|
return {"Idle"};
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
@@ -630,7 +588,11 @@ text_sensor:
|
|||||||
if (t < 0) return {"Very Cold"};
|
if (t < 0) return {"Very Cold"};
|
||||||
if (t < 15) return {"Cold"};
|
if (t < 15) return {"Cold"};
|
||||||
if (t < 30) return {"Normal"};
|
if (t < 30) return {"Normal"};
|
||||||
|
if (t < 30) return {"Normal"};
|
||||||
|
if (t < 36) return {"Quiet Warm"};
|
||||||
if (t < 45) return {"Warm"};
|
if (t < 45) return {"Warm"};
|
||||||
|
if (t < 55) return {"Hot"};
|
||||||
|
if (t < 65) return {"Very Hot"};
|
||||||
return {"Hot"};
|
return {"Hot"};
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
|
|
||||||
@@ -650,6 +612,7 @@ sensor:
|
|||||||
accuracy_decimals: 2
|
accuracy_decimals: 2
|
||||||
device_class: "temperature"
|
device_class: "temperature"
|
||||||
state_class: "measurement"
|
state_class: "measurement"
|
||||||
|
entity_category: diagnostic
|
||||||
unit_of_measurement: "°C"
|
unit_of_measurement: "°C"
|
||||||
icon: "mdi:thermometer"
|
icon: "mdi:thermometer"
|
||||||
filters:
|
filters:
|
||||||
@@ -657,20 +620,19 @@ sensor:
|
|||||||
window_size: 5
|
window_size: 5
|
||||||
send_every: 3
|
send_every: 3
|
||||||
|
|
||||||
- platform: tmp102
|
- platform: template
|
||||||
name: "${tmp102_name} °F"
|
name: "${tmp102_name} °F"
|
||||||
id: tmp102_temp_f
|
id: tmp102_temp_f
|
||||||
i2c_id: i2c_bus
|
# device_class: "temperature"
|
||||||
address: 0x4A
|
|
||||||
update_interval: ${tmp102_update_interval}
|
|
||||||
accuracy_decimals: 1
|
|
||||||
device_class: "temperature"
|
|
||||||
state_class: "measurement"
|
state_class: "measurement"
|
||||||
|
entity_category: diagnostic
|
||||||
unit_of_measurement: "°F"
|
unit_of_measurement: "°F"
|
||||||
|
update_interval: ${tmp102_update_interval}
|
||||||
|
accuracy_decimals: 2
|
||||||
icon: "mdi:thermometer"
|
icon: "mdi:thermometer"
|
||||||
|
lambda: |-
|
||||||
|
return (id(tmp102_temp_c).state * 9.0 / 5.0) + 32.0;
|
||||||
filters:
|
filters:
|
||||||
- lambda: |-
|
|
||||||
return x * 1.8 + 32.0;
|
|
||||||
- sliding_window_moving_average:
|
- sliding_window_moving_average:
|
||||||
window_size: 5
|
window_size: 5
|
||||||
send_every: 3
|
send_every: 3
|
||||||
@@ -690,33 +652,33 @@ sensor:
|
|||||||
|
|
||||||
phase_a:
|
phase_a:
|
||||||
voltage:
|
voltage:
|
||||||
name: "IPEM SIX Mains Voltage"
|
name: "Mains Voltage"
|
||||||
id: mains_voltage
|
id: mains_voltage
|
||||||
|
|
||||||
current:
|
current:
|
||||||
name: "Bank A 1 Current"
|
name: "${bank_a_1_name} Current"
|
||||||
id: bank_a_1_current
|
id: bank_a_1_current
|
||||||
|
|
||||||
power:
|
power:
|
||||||
name: "Bank A 1 Power"
|
name: "${bank_a_1_name} Power"
|
||||||
id: bank_a_1_power
|
id: bank_a_1_power
|
||||||
|
|
||||||
reactive_power:
|
reactive_power:
|
||||||
name: "Bank A 1 Reactive Power"
|
name: "${bank_a_1_name} Reactive Power"
|
||||||
|
|
||||||
power_factor:
|
power_factor:
|
||||||
name: "Bank A 1 Power Factor"
|
name: "${bank_a_1_name} Power Factor"
|
||||||
|
|
||||||
gain_voltage: ${gain_voltage_baseline}
|
gain_voltage: ${gain_voltage_baseline}
|
||||||
gain_ct: ${gain_current_baseline}
|
gain_ct: ${gain_current_baseline}
|
||||||
|
|
||||||
phase_b:
|
phase_b:
|
||||||
current:
|
current:
|
||||||
name: "Bank A 2 Current"
|
name: "${bank_a_2_name} Current"
|
||||||
id: bank_a_2_current
|
id: bank_a_2_current
|
||||||
|
|
||||||
power:
|
power:
|
||||||
name: "Bank A 2 Power"
|
name: "${bank_a_2_name} Power"
|
||||||
id: bank_a_2_power
|
id: bank_a_2_power
|
||||||
|
|
||||||
gain_voltage: ${gain_voltage_baseline}
|
gain_voltage: ${gain_voltage_baseline}
|
||||||
@@ -724,18 +686,18 @@ sensor:
|
|||||||
|
|
||||||
phase_c:
|
phase_c:
|
||||||
current:
|
current:
|
||||||
name: "Bank A 3 Current"
|
name: "${bank_a_3_name} Current"
|
||||||
id: bank_a_3_current
|
id: bank_a_3_current
|
||||||
|
|
||||||
power:
|
power:
|
||||||
name: "Bank A 3 Power"
|
name: "${bank_a_3_name} Power"
|
||||||
id: bank_a_3_power
|
id: bank_a_3_power
|
||||||
|
|
||||||
gain_voltage: ${gain_voltage_baseline}
|
gain_voltage: ${gain_voltage_baseline}
|
||||||
gain_ct: ${gain_current_baseline}
|
gain_ct: ${gain_current_baseline}
|
||||||
|
|
||||||
frequency:
|
frequency:
|
||||||
name: "IPEM SIX Frequency"
|
name: "Mains Frequency"
|
||||||
id: mains_frequency
|
id: mains_frequency
|
||||||
|
|
||||||
chip_temperature:
|
chip_temperature:
|
||||||
@@ -758,11 +720,11 @@ sensor:
|
|||||||
|
|
||||||
phase_a:
|
phase_a:
|
||||||
current:
|
current:
|
||||||
name: "Bank B 1 Current"
|
name: "${bank_b_1_name} Current"
|
||||||
id: bank_b_1_current
|
id: bank_b_1_current
|
||||||
|
|
||||||
power:
|
power:
|
||||||
name: "Bank B 1 Power"
|
name: "${bank_b_1_name} Power"
|
||||||
id: bank_b_1_power
|
id: bank_b_1_power
|
||||||
|
|
||||||
gain_voltage: ${gain_voltage_baseline}
|
gain_voltage: ${gain_voltage_baseline}
|
||||||
@@ -770,11 +732,11 @@ sensor:
|
|||||||
|
|
||||||
phase_b:
|
phase_b:
|
||||||
current:
|
current:
|
||||||
name: "Bank B 2 Current"
|
name: "${bank_b_2_name} Current"
|
||||||
id: bank_b_2_current
|
id: bank_b_2_current
|
||||||
|
|
||||||
power:
|
power:
|
||||||
name: "Bank B 2 Power"
|
name: "${bank_b_2_name} Power"
|
||||||
id: bank_b_2_power
|
id: bank_b_2_power
|
||||||
|
|
||||||
gain_voltage: ${gain_voltage_baseline}
|
gain_voltage: ${gain_voltage_baseline}
|
||||||
@@ -782,11 +744,11 @@ sensor:
|
|||||||
|
|
||||||
phase_c:
|
phase_c:
|
||||||
current:
|
current:
|
||||||
name: "Bank B 3 Current"
|
name: "${bank_b_3_name} Current"
|
||||||
id: bank_b_3_current
|
id: bank_b_3_current
|
||||||
|
|
||||||
power:
|
power:
|
||||||
name: "Bank B 3 Power"
|
name: "${bank_b_3_name} Power"
|
||||||
id: bank_b_3_power
|
id: bank_b_3_power
|
||||||
|
|
||||||
gain_voltage: ${gain_voltage_baseline}
|
gain_voltage: ${gain_voltage_baseline}
|
||||||
@@ -867,7 +829,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A 1 Import Power"
|
name: "${bank_a_1_name} Import Power"
|
||||||
id: bank_a_1_import_power
|
id: bank_a_1_import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -880,7 +842,7 @@ sensor:
|
|||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A 2 Import Power"
|
name: "${bank_a_2_name} Import Power"
|
||||||
id: bank_a_2_import_power
|
id: bank_a_2_import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -893,7 +855,7 @@ sensor:
|
|||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank A 3 Import Power"
|
name: "${bank_a_3_name} Import Power"
|
||||||
id: bank_a_3_import_power
|
id: bank_a_3_import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -906,7 +868,7 @@ sensor:
|
|||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "Bank A 1 Energy"
|
name: "${bank_a_1_name} Energy"
|
||||||
sensor: bank_a_1_import_power
|
sensor: bank_a_1_import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -915,7 +877,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "Bank A 2 Energy"
|
name: "${bank_a_2_name} Energy"
|
||||||
sensor: bank_a_2_import_power
|
sensor: bank_a_2_import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -924,7 +886,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "Bank A 3 Energy"
|
name: "${bank_a_3_name} Energy"
|
||||||
sensor: bank_a_3_import_power
|
sensor: bank_a_3_import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -933,7 +895,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "Bank B 1 Energy"
|
name: "${bank_b_1_name} Energy"
|
||||||
sensor: bank_b_1_import_power
|
sensor: bank_b_1_import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -942,7 +904,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "Bank B 2 Energy"
|
name: "${bank_b_2_name} Energy"
|
||||||
sensor: bank_b_2_import_power
|
sensor: bank_b_2_import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -951,7 +913,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "Bank B 3 Energy"
|
name: "${bank_b_3_name} Energy"
|
||||||
sensor: bank_b_3_import_power
|
sensor: bank_b_3_import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -973,7 +935,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank B 1 Import Power"
|
name: "${bank_b_1_name} Import Power"
|
||||||
id: bank_b_1_import_power
|
id: bank_b_1_import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -986,7 +948,7 @@ sensor:
|
|||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank B 2 Import Power"
|
name: "${bank_b_2_name} Import Power"
|
||||||
id: bank_b_2_import_power
|
id: bank_b_2_import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -999,7 +961,7 @@ sensor:
|
|||||||
update_interval: 10s
|
update_interval: 10s
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "Bank B 3 Import Power"
|
name: "${bank_b_3_name} Import Power"
|
||||||
id: bank_b_3_import_power
|
id: bank_b_3_import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -1083,7 +1045,7 @@ sensor:
|
|||||||
# TOTAL POWER
|
# TOTAL POWER
|
||||||
# =====================================================
|
# =====================================================
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Total Power"
|
name: "Total Power"
|
||||||
id: total_power
|
id: total_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -1107,7 +1069,7 @@ sensor:
|
|||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Net Power"
|
name: "Net Power"
|
||||||
id: ipem_net_power
|
id: ipem_net_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -1125,7 +1087,7 @@ sensor:
|
|||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Import Power"
|
name: "Import Power"
|
||||||
id: import_power
|
id: import_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -1144,7 +1106,7 @@ sensor:
|
|||||||
return t;
|
return t;
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Export Power"
|
name: "Export Power"
|
||||||
id: export_power
|
id: export_power
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
device_class: power
|
device_class: power
|
||||||
@@ -1168,7 +1130,7 @@ sensor:
|
|||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
|
|
||||||
name: "IPEM SIX Import Energy"
|
name: "Import Energy"
|
||||||
sensor: import_power
|
sensor: import_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -1177,7 +1139,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: integration
|
- platform: integration
|
||||||
name: "IPEM SIX Export Energy"
|
name: "Export Energy"
|
||||||
sensor: export_power
|
sensor: export_power
|
||||||
time_unit: h
|
time_unit: h
|
||||||
integration_method: trapezoid
|
integration_method: trapezoid
|
||||||
@@ -1186,7 +1148,7 @@ sensor:
|
|||||||
state_class: total_increasing
|
state_class: total_increasing
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX Total Current"
|
name: "Total Current"
|
||||||
id: total_current
|
id: total_current
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
device_class: current
|
device_class: current
|
||||||
@@ -1208,7 +1170,7 @@ sensor:
|
|||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
- platform: wifi_signal
|
- platform: wifi_signal
|
||||||
name: "IPEM SIX WiFi Signal"
|
name: "WiFi Signal"
|
||||||
id: wifi_signal_db
|
id: wifi_signal_db
|
||||||
unit_of_measurement: "dBm"
|
unit_of_measurement: "dBm"
|
||||||
device_class: signal_strength
|
device_class: signal_strength
|
||||||
@@ -1216,9 +1178,9 @@ sensor:
|
|||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
update_interval: 30s
|
update_interval: 30s
|
||||||
|
|
||||||
# -------------------------
|
# --------------------------------------
|
||||||
# ADC0 - VDC Input
|
# ADC0 - ADC Scaled Voltage from VDC
|
||||||
# -------------------------
|
# --------------------------------------
|
||||||
|
|
||||||
- platform: ads1115
|
- platform: ads1115
|
||||||
multiplexer: A0_GND
|
multiplexer: A0_GND
|
||||||
@@ -1231,7 +1193,8 @@ sensor:
|
|||||||
send_every: 50
|
send_every: 50
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX ADC Scaled Voltage VDC"
|
name: "ADC Scaled Voltage VDC"
|
||||||
|
entity_category: diagnostic
|
||||||
unit_of_measurement: "V"
|
unit_of_measurement: "V"
|
||||||
accuracy_decimals: 2
|
accuracy_decimals: 2
|
||||||
|
|
||||||
@@ -1250,9 +1213,9 @@ sensor:
|
|||||||
|
|
||||||
return voltage;
|
return voltage;
|
||||||
|
|
||||||
# -------------------------
|
# -----------------------------------------
|
||||||
# ADC1
|
# ADC1 - ADC Scaled Voltage from ADC1 Input
|
||||||
# -------------------------
|
# -----------------------------------------
|
||||||
|
|
||||||
- platform: ads1115
|
- platform: ads1115
|
||||||
multiplexer: A1_GND
|
multiplexer: A1_GND
|
||||||
@@ -1265,7 +1228,8 @@ sensor:
|
|||||||
send_every: 50
|
send_every: 50
|
||||||
|
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "IPEM SIX ADC Scaled Voltage ADC1"
|
name: "ADC Scaled Voltage ADC1"
|
||||||
|
entity_category: diagnostic
|
||||||
unit_of_measurement: "V"
|
unit_of_measurement: "V"
|
||||||
accuracy_decimals: 3
|
accuracy_decimals: 3
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user