house/son: placeholder config for son's installation
All house-specific values (IPs, coordinates, Viessmann credentials, kWp) replaced with <...> placeholders. Ready to fill in once hardware is known. Notable differences from house/lutz template: - installation_id left empty (disables WW boost until credentials obtained) - base_load_w set to 400W (adjust after measuring) - forecast lat/lon/declination/azimuth/kwp all require local values Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
# EMS Configuration
|
||||
# EMS Configuration — house/son
|
||||
# Fill in all values marked with <...> before deploying.
|
||||
# All thresholds and timing parameters are configurable here.
|
||||
|
||||
prometheus:
|
||||
url: "http://192.168.0.23:9090"
|
||||
url: "http://<prometheus-ip>:9090"
|
||||
|
||||
# Metric names from the custom Viessmann exporter
|
||||
# Metric names from the custom Viessmann exporter (same as house/lutz)
|
||||
metrics:
|
||||
grid_power_exchange: "pcc_transfer_power_exchange_value" # positive = import, negative = export
|
||||
battery_soc: "ess_stateOfCharge_value" # 0-100%
|
||||
@@ -19,32 +20,33 @@ prometheus:
|
||||
# Shelly actuators
|
||||
shelly:
|
||||
sg_ready:
|
||||
ip: "192.168.42.90"
|
||||
ip: "<shelly-sg-ready-ip>"
|
||||
gen: 1 # Gen1: /relay/0?turn=on|off
|
||||
wallbox_a:
|
||||
ip: "192.168.42.185"
|
||||
ip: "<shelly-wallbox-a-ip>"
|
||||
gen: 2 # Gen2: /rpc/Switch.Set
|
||||
power_w: 2000
|
||||
power_w: 2000 # rated power of the wallbox (W)
|
||||
password: "" # set Shelly admin password if auth is enabled
|
||||
wallbox_b:
|
||||
ip: "192.168.42.51"
|
||||
ip: "<shelly-wallbox-b-ip>"
|
||||
gen: 2 # Gen2: /rpc/Switch.Set
|
||||
power_w: 4000
|
||||
power_w: 4000 # rated power of the wallbox (W)
|
||||
password: "" # set Shelly admin password if auth is enabled
|
||||
|
||||
# Viessmann API (write access for WW temperature)
|
||||
# Leave installation_id empty to disable WW boost (EMS runs without it)
|
||||
viessmann:
|
||||
token_file: "/etc/ems/viessmann-token.json" # OAuth2 refresh token
|
||||
client_id: "5d1235548dfaa01ce37db8f865d2df4d"
|
||||
installation_id: "1253124"
|
||||
gateway_serial: "7637415006796210"
|
||||
client_id: "<viessmann-oauth2-client-id>"
|
||||
installation_id: "" # leave empty to disable WW boost
|
||||
gateway_serial: "<gateway-serial>"
|
||||
device_id: "0"
|
||||
|
||||
# SOC thresholds — which consumers are allowed at which battery level
|
||||
soc_thresholds:
|
||||
block_all: 50 # below 50%: no consumers
|
||||
sg_ready_only: 70 # 50-70%: only SG-Ready (heating period)
|
||||
plus_wallbox_a: 90 # 70-90%: + Wallbox A (2kW)
|
||||
plus_wallbox_a: 90 # 70-90%: + Wallbox A
|
||||
all_consumers: 90 # above 90%: all consumers
|
||||
|
||||
# Hysteresis settings
|
||||
@@ -68,7 +70,7 @@ thresholds:
|
||||
strategic:
|
||||
forecast_high_kwh: 25
|
||||
forecast_mid_kwh: 15
|
||||
ww_base_c: 48 # normal WW setpoint (°C)
|
||||
ww_base_c: 48 # normal WW setpoint (°C) — adjust to your heat pump
|
||||
ww_boost_high_c: 5 # +5°C on high-forecast days (>25 kWh)
|
||||
ww_boost_mid_c: 3 # +3°C on medium-forecast days (>15 kWh)
|
||||
ww_window_start: "12:30" # WW boost only allowed from 12:30
|
||||
@@ -91,16 +93,16 @@ season:
|
||||
# PV forecast — forecast.solar (free, no API key required)
|
||||
forecast:
|
||||
enabled: true
|
||||
lat: 48.7839
|
||||
lon: 9.3889
|
||||
declination: 20 # panel tilt in degrees
|
||||
azimuth: 5 # degrees from south (south=0, west=90, east=-90)
|
||||
kwp: 7.0 # installed peak power
|
||||
lat: <latitude> # decimal degrees, e.g. 48.7839
|
||||
lon: <longitude> # decimal degrees, e.g. 9.3889
|
||||
declination: <tilt> # panel tilt in degrees from horizontal (0=flat, 90=vertical)
|
||||
azimuth: <azimuth> # degrees from south (south=0, west=90, east=-90)
|
||||
kwp: <kwp> # installed peak power in kWp, e.g. 8.5
|
||||
fetch_interval: "4h" # re-fetch during the day (free tier: 12 req/day → 3 fetches)
|
||||
fetch_window_start: "07:00"
|
||||
fetch_window_end: "19:00"
|
||||
base_load_w: 450 # steady-state house consumption (W) — spikes from kettle/dishwasher are hourly averages and negligible
|
||||
min_surplus_w: 1800 # min export surplus to trigger wallbox — matches wallbox_a threshold
|
||||
base_load_w: 400 # steady-state house consumption (W) — measure and adjust
|
||||
min_surplus_w: 1800 # min export surplus to trigger wallbox charging (W)
|
||||
|
||||
# EMS operational settings
|
||||
ems:
|
||||
|
||||
Reference in New Issue
Block a user