setting up esphome

This commit is contained in:
2025-10-31 18:00:55 -04:00
parent 9416bbd00b
commit ef25153c84
6 changed files with 238 additions and 0 deletions

View File

@@ -28,6 +28,7 @@
temperature_unit = "F";
packages = {
victron_modbuss = "!include ${./home_assistant/victron_modbuss.yaml}";
battery_sensors = "!include ${./home_assistant/battery_sensors.yaml}";
};
};
recorder = {
@@ -67,6 +68,8 @@
forecast-solar # for solar forecast
aioesphomeapi # for esphome
esphome-dashboard-api # for esphome
py-improv-ble-client # for esphome
bleak-esphome # for esphome
];
extraComponents = [ "isal" ];
};

View File

@@ -0,0 +1,99 @@
template:
- sensor:
# Battery 0
- name: "JK0 charge power W"
unique_id: jk0_charge_power_w
unit_of_measurement: W
device_class: power
state_class: measurement
state: >
{% set p = states('sensor.batteries_jk0_power')|float(0) %}
{{ max(0, p) }}
- name: "JK0 discharge power W"
unique_id: jk0_discharge_power_w
unit_of_measurement: W
device_class: power
state_class: measurement
state: >
{% set p = states('sensor.batteries_jk0_power')|float(0) %}
{{ max(0, -p) }}
# Battery 1
- name: "JK1 charge power W"
unique_id: jk1_charge_power_w
unit_of_measurement: W
device_class: power
state_class: measurement
state: >
{% set p = states('sensor.batteries_jk1_power')|float(0) %}
{{ max(0, p) }}
- name: "JK1 discharge power W"
unique_id: jk1_discharge_power_w
unit_of_measurement: W
device_class: power
state_class: measurement
state: >
{% set p = states('sensor.batteries_jk1_power')|float(0) %}
{{ max(0, -p) }}
sensor:
# Battery 0
- platform: integration
source: sensor.jk0_charge_power_w
name: "JK0 energy in"
unique_id: jk0_energy_in_kwh
unit_prefix: k
method: trapezoidal
round: 3
max_sub_interval:
minutes: 5
- platform: integration
source: sensor.jk0_discharge_power_w
name: "JK0 energy out"
unique_id: jk0_energy_out_kwh
unit_prefix: k
method: trapezoidal
round: 3
max_sub_interval:
minutes: 5
# Battery 1
- platform: integration
source: sensor.jk1_charge_power_w
name: "JK1 energy in"
unique_id: jk1_energy_in_kwh
unit_prefix: k
method: trapezoidal
round: 3
max_sub_interval:
minutes: 5
- platform: integration
source: sensor.jk1_discharge_power_w
name: "JK1 energy out"
unique_id: jk1_energy_out_kwh
unit_prefix: k
method: trapezoidal
round: 3
max_sub_interval:
minutes: 5
utility_meter:
# Battery 0
jk0_energy_in_daily:
source: sensor.jk0_energy_in
name: "JK0 Energy In Daily"
cycle: daily
jk0_energy_out_daily:
source: sensor.jk0_energy_out
name: "JK0 Energy Out Daily"
cycle: daily
# Battery 1
jk1_energy_in_daily:
source: sensor.jk1_energy_in
name: "JK1 Energy In Daily"
cycle: daily
jk1_energy_out_daily:
source: sensor.jk1_energy_out
name: "JK1 Energy Out Daily"
cycle: daily