Initial commit — EMHASS + Deye + NordPool setup

- EMHASS config for Deye SUN-12K + 32 kWh battery, NordPool LV
- Day-ahead optimization automation (14:30 daily) with real battery SOC init
- Forecast vs reality template sensors and dashboard card
- Migration log from Domoticz

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gints Kiršteins
2026-04-06 21:09:45 +03:00
co-authored by Claude Sonnet 4.6
commit 87f078ba72
6 changed files with 592 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
# EMHASS v0.17.1 — reference copy of config.json in YAML form
# The actual file deployed to HA is config.json (at /addon_configs/5b918bf2_emhass/config.json)
# This YAML is for human readability only.
#
# System: Deye SUN-12K-SG04LP3-EU + 32 kWh LiFePO4 battery
# Location: Latvia, NordPool LV zone
# Strategy: profit (minimize grid cost), self-consumption, no grid export
hass_url: http://192.168.66.113:8123
long_lived_token: "<HA long-lived access token>"
costfun: profit
optimization_time_step: 30 # minutes
historic_days_to_retrieve: 10
method_ts_round: nearest
# ── Sensors ──────────────────────────────────────────────────────────────────
sensor_power_photovoltaics: sensor.deye_inverter_mqtt_dc_total_power
sensor_power_load_no_var_loads: sensor.deye_inverter_mqtt_total_load_power
sensor_replace_zero:
- sensor.deye_inverter_mqtt_dc_total_power
sensor_linear_interp:
- sensor.deye_inverter_mqtt_dc_total_power
- sensor.deye_inverter_mqtt_total_load_power
# ── Grid ─────────────────────────────────────────────────────────────────────
maximum_power_from_grid: 16090 # W — contract limit
maximum_power_to_grid: 0 # W — no export (self-consumption only)
set_total_pv_sell: false
set_nodischarge_to_grid: true # battery never exports to grid
set_nocharge_from_grid: false # allow grid→battery during cheap hours
# ── Electricity pricing ───────────────────────────────────────────────────────
# Dynamic NordPool pricing via automation (14:30 daily).
# NordPool prices (passed as list) already include distribution + VAT.
load_cost_forecast_method: list
photovoltaic_production_sell_price: 0.0 # no feed-in tariff
# ── Inverter ─────────────────────────────────────────────────────────────────
inverter_is_hybrid: true
inverter_ac_output_max: 12000 # W — Deye SUN-12K
inverter_ac_input_max: 12000 # W
# ── Battery ───────────────────────────────────────────────────────────────────
set_use_battery: true
battery_nominal_energy_capacity: 32000 # Wh (32 kWh)
battery_discharge_power_max: 11000 # W
battery_charge_power_max: 11000 # W
battery_discharge_efficiency: 0.96
battery_charge_efficiency: 0.96
battery_minimum_state_of_charge: 0.1 # fraction (= 10%)
battery_maximum_state_of_charge: 1.0 # fraction (= 100%)
battery_target_state_of_charge: 0.6 # fraction — end-of-day target
# ── Deferrable loads ──────────────────────────────────────────────────────────
# Add EV here when OpenEVSE is integrated
number_of_deferrable_loads: 0
nominal_power_of_deferrable_loads: []
operating_hours_of_each_deferrable_load: []
treat_deferrable_load_as_semi_cont: []
set_deferrable_load_single_constant: []
start_timesteps_of_each_deferrable_load: []
end_timesteps_of_each_deferrable_load: []