evcc gets broker URL and the PEMs of the register account evcc-client by
env (EVCC_MQTT_*), which override the mqtt block of evcc.yaml in OpenBao.
Reloader restarts evcc when cert-manager renews the certificate.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
evcc, otbr, libation, external-dns (apps), monitoring (4), woodpecker:
values in OpenBao KV (homelab/apps/*, loaded 2026-07-13), manifests are
now ExternalSecrets keeping the old Secret names. libation's payload is
a binary SQLite db — stored base64 in KV with decodingStrategy: Base64
on the ES. Decryption blocks dropped from apps/evcc/otbr/libation/
monitoring KS (paths sops-free) plus the dormant one on grafana-db.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRgBFn9m8a2ncFMLusikH6
The grid price was published to evcc/tariff/gridprice, under evcc's own
retained-topic namespace — evcc manages evcc/# and wiped the price
(observed: retained value cleared with no broker/evcc restart), which
would hang evcc on its next restart until the HA automation republishes.
Move it to a neutral topic evcc only READS: grant the evcc Mosquitto user
'read energy/#', and point the grid tariff at energy/tariff/grid. The HA
automation is repointed in the homeassistant repo.
Note: applying this restarts the Mosquitto pod once (ACL change).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a commented, documented heating-device block to evcc.yaml: an
sgready-relay charger + heating loadpoint (surplus-threshold driven) plus
a heat-pump power meter (open3e DID 2488). Left INACTIVE so evcc doesn't
try to reach a relay that isn't wired yet. To activate: wire a Shelly to
the Vitocal SG-Ready terminals (143.1/143.4/143.5), enable SG in the
service menu, set host, uncomment. evcc drives boost/normal via SG-Ready;
the heat pump firmware owns the smart-grid logic.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Completes the evcc energy-manager config beyond meters:
- grid tariff: type custom reading the MQTT topic evcc/tariff/gridprice,
which an HA automation republishes from input_number.strompreis (HA
stays the single source of truth for the grid price).
- feedin: fixed 0.08 EUR/kWh (from the HA Energy dashboard).
- solar: forecast.solar plane derived from the HA forecast_solar config
(az 10 evcc / 60 deg tilt / 8.61 kWp at 49.49N, 11.76E).
- sponsor token left as a documented placeholder (not needed until a
commercial charger loadpoint exists).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Grants the evcc Mosquitto user readwrite on evcc/# (keeping read
open3e/#) and sets an explicit publish topic (topic: evcc) so evcc
publishes its site state to MQTT. Previously the evcc user was
read-only on open3e/#, so evcc's state publishes were silently dropped
by the broker ACL.
HA reads these evcc/# topics via the full-access homeassistant user; a
packages/evcc.yaml sensor package (in the homeassistant repo) consumes
them, mirroring the open3e package pattern.
Note: applying this restarts the Mosquitto pod once (brief MQTT blip).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Switches the grid meter from the VX3-relayed PCC digest (1603) to the
E380 utility meter read directly via E3onCAN (open3e/e380_0592_GridActivePower,
.Total). That is the household grid truth; the VX3 only relays it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The .k.renner.uno host is migration-era cruft and must not be used
anymore; evcc is served only on evcc.renner.uno.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deploys evcc (evcc.io) as a monitoring-only instance — no charger or
loadpoint yet — to validate the Vitocharge VX3 -> open3e -> MQTT energy
pipeline and get familiar with evcc ahead of a future wallbox.
evcc runs as a plain Deployment (house style, like gatus) with:
- grid/PV/battery custom MQTT meters + battery SoC, reading the VX3
open3e datapoints (grid 1603, PV 1690, battery power 1836, SoC 1664)
- config delivered via a sops-encrypted Secret (mqtt password inline)
- Traefik ingress on evcc.renner.uno / evcc.k.renner.uno
- a 1Gi ceph-block PVC for evcc's SQLite state
- a dedicated Flux Kustomization (clusters/homelab/evcc.yaml)
- a per-namespace CiliumNetworkPolicy (evcc-ns.yaml)
MQTT: adds a scoped broker user `evcc` (read-only on open3e/#) to the
Mosquitto deployment, plus the reciprocal home-assistant-ns ingress rule
so evcc can reach mosquitto:1883 via ClusterIP. The password is a shared
sops value (evcc namespace + home-assistant namespace).
Note: applying this restarts the Mosquitto pod once (brief MQTT blip for
HA/open3e), because the broker's env/command changes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>