IPEM SIX 1.00.04

Cosmetic stuff
This commit is contained in:
Dave Williams | DitroniX | G8PUO
2026-06-21 03:13:51 +01:00
parent b6b3e5d996
commit f422bba286
@@ -46,10 +46,32 @@ esp32:
framework:
type: esp-idf
################################## ESPHOME ##################################
# ======================== ESPHome - Enter Below our Key/pasaword ===========================
api:
encryption:
key: "xxxx"
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: IPEM SIX C5 Fallback Hotspot
password: "xxxx"
################################## SUBSTITUTIONS ##################################
substitutions:
# ======================== Current Input Names ===========================
author: "DitroniX - Dave Williams"
firmware_version: "1.00.03"
release_date: "2026-06-20"
firmware_version: "1.00.04"
release_date: "2026-06-21"
board_name: "IPEM SIX"
board_mcu: "ESP32-C5"
board_rev: "1.2606.102"
@@ -64,11 +86,13 @@ substitutions:
bank_b_3_name: "CTB-3"
# ======================== MAINS CONFIG ===========================
line_frequency: "50Hz" # Change to "60Hz" for US/Canada/etc.
line_voltage: "230V" # For status thresholds and comments
# For UK/Europe/Eastern Japan/Most of World etc.
line_frequency: "50Hz"
line_voltage: "230V"
# line_frequency: "60Hz" # Change to "60Hz" for US/Canada/etc.
# line_voltage: "110" # For status thresholds and comments
# For US/Canada/Western Japan/etc.
# line_frequency: "60Hz"
# line_voltage: "110"
# ===============================================================
# ======================== BOARD CONFIG ===========================
@@ -93,21 +117,6 @@ substitutions:
name: "ditronix.ipem_six"
version: "${firmware_version}"
api:
encryption:
key: "xxxx"
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: IPEM SIX C5 Fallback Hotspot
password: "xxxx"
captive_portal:
logger:
@@ -834,39 +843,33 @@ sensor:
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return id(bank_a_1_power).state > 0 ?
id(bank_a_1_power).state : 0;
update_interval: 10s
- platform: template
name: "${bank_a_2_name} Import Power"
id: bank_a_2_import_power
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return id(bank_a_2_power).state > 0 ?
id(bank_a_2_power).state : 0;
update_interval: 10s
- platform: template
name: "${bank_a_3_name} Import Power"
id: bank_a_3_import_power
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return id(bank_a_3_power).state > 0 ?
id(bank_a_3_power).state : 0;
update_interval: 10s
- platform: integration
name: "${bank_a_1_name} Energy"
sensor: bank_a_1_import_power
@@ -940,39 +943,33 @@ sensor:
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return id(bank_b_1_power).state > 0 ?
id(bank_b_1_power).state : 0;
update_interval: 10s
- platform: template
name: "${bank_b_2_name} Import Power"
id: bank_b_2_import_power
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return id(bank_b_2_power).state > 0 ?
id(bank_b_2_power).state : 0;
update_interval: 10s
- platform: template
name: "${bank_b_3_name} Import Power"
id: bank_b_3_import_power
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return id(bank_b_3_power).state > 0 ?
id(bank_b_3_power).state : 0;
update_interval: 10s
# =====================================================
# BANK TOTAL CURRENT
# =====================================================
@@ -999,14 +996,12 @@ sensor:
device_class: current
state_class: measurement
accuracy_decimals: 2
update_interval: 10s
lambda: |-
return id(bank_b_1_current).state +
id(bank_b_2_current).state +
id(bank_b_3_current).state;
update_interval: 10s
# =====================================================
# BANK TOTAL POWER
# =====================================================
@@ -1018,14 +1013,12 @@ sensor:
device_class: power
state_class: measurement
accuracy_decimals: 1
update_interval: 10s
lambda: |-
return id(bank_a_1_power).state +
id(bank_a_2_power).state +
id(bank_a_3_power).state;
update_interval: 10s
- platform: template
name: "Bank B Total Power"
id: bank_b_total_power
@@ -1033,14 +1026,12 @@ sensor:
device_class: power
state_class: measurement
accuracy_decimals: 1
update_interval: 10s
lambda: |-
return id(bank_b_1_power).state +
id(bank_b_2_power).state +
id(bank_b_3_power).state;
update_interval: 10s
# =====================================================
# TOTAL POWER
# =====================================================
@@ -1050,11 +1041,9 @@ sensor:
unit_of_measurement: W
device_class: power
state_class: measurement
update_interval: 10s
lambda: |-
return
id(bank_a_1_power).state +
id(bank_a_2_power).state +
id(bank_a_3_power).state +
@@ -1062,8 +1051,6 @@ sensor:
id(bank_b_2_power).state +
id(bank_b_3_power).state;
update_interval: 10s
# =====================================================
# NET POWER
# =====================================================
@@ -1075,13 +1062,11 @@ sensor:
device_class: power
state_class: measurement
accuracy_decimals: 1
update_interval: 10s
lambda: |-
return id(import_power).state -
id(export_power).state;
update_interval: 10s
# =====================================================
# IMPORT EXPORT
# =====================================================
@@ -1091,18 +1076,14 @@ sensor:
id: import_power
unit_of_measurement: W
device_class: power
lambda: |-
float t=0;
if(id(bank_a_1_power).state>0)t+=id(bank_a_1_power).state;
if(id(bank_a_2_power).state>0)t+=id(bank_a_2_power).state;
if(id(bank_a_3_power).state>0)t+=id(bank_a_3_power).state;
if(id(bank_b_1_power).state>0)t+=id(bank_b_1_power).state;
if(id(bank_b_2_power).state>0)t+=id(bank_b_2_power).state;
if(id(bank_b_3_power).state>0)t+=id(bank_b_3_power).state;
return t;
- platform: template
@@ -1110,18 +1091,14 @@ sensor:
id: export_power
unit_of_measurement: W
device_class: power
lambda: |-
float t=0;
if(id(bank_a_1_power).state<0)t+=abs(id(bank_a_1_power).state);
if(id(bank_a_2_power).state<0)t+=abs(id(bank_a_2_power).state);
if(id(bank_a_3_power).state<0)t+=abs(id(bank_a_3_power).state);
if(id(bank_b_1_power).state<0)t+=abs(id(bank_b_1_power).state);
if(id(bank_b_2_power).state<0)t+=abs(id(bank_b_2_power).state);
if(id(bank_b_3_power).state<0)t+=abs(id(bank_b_3_power).state);
return t;
# =====================================================
@@ -1156,13 +1133,10 @@ sensor:
update_interval: 5s
lambda: |-
float t = 0;
if (id(bank_a_total_current).has_state())
t += abs(id(bank_a_total_current).state);
if (id(bank_b_total_current).has_state())
t += abs(id(bank_b_total_current).state);
return t;
# =====================================================
@@ -1197,20 +1171,15 @@ sensor:
entity_category: diagnostic
unit_of_measurement: "V"
accuracy_decimals: 2
lambda: |-
float voltage;
voltage =
(id(adc0_raw).state *
id(dc_voltage_factor))
+
id(dc_voltage_drop);
if (voltage < 0.010)
voltage = 0;
return voltage;
# -----------------------------------------
@@ -1232,16 +1201,12 @@ sensor:
entity_category: diagnostic
unit_of_measurement: "V"
accuracy_decimals: 3
lambda: |-
float voltage =
(id(adc1_raw).state *
id(adc_voltage_factor))
+
id(dc_voltage_drop);
if (voltage < 0.65)
voltage = 0;
return voltage;