Commit Graph
11 Commits
Author SHA1 Message Date
renovate-bot c7a4adf273 chore(deps): update all non-major dependencies
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/review-bot-test Pipeline was successful
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
2026-10-12 02:03:24 +00:00
atlas-botandClaude Opus 5.5 d9f483edd7 feat(evcc): log in to MQTT by client certificate (REN-953)
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
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>
2026-10-07 01:59:23 +00:00
renovate-bot 68c0978660 chore(deps): update all non-major dependencies
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
2026-10-05 02:01:26 +00:00
claude-botandClaude Fable 5 a76b18a887 feat(secrets): migrate non-critical app secrets to OpenBao (apps batch)
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
2026-07-13 19:21:27 +02:00
k.rennerandClaude Opus 4.8 1723b51205 evcc: move grid-price topic out of evcc/# to energy/tariff/grid
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>
2026-07-04 20:58:36 +02:00
k.rennerandClaude Opus 4.8 9be7b7bc96 evcc: prepared (inactive) SG-Ready heating loadpoint for the Vitocal
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>
2026-07-04 19:53:02 +02:00
k.rennerandClaude Opus 4.8 011fd02cc7 evcc: add tariffs (grid from HA price, fixed feed-in) + solar forecast
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>
2026-07-04 19:34:01 +02:00
k.rennerandClaude Opus 4.8 ee6d55401d evcc: publish state to MQTT for Home Assistant integration
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>
2026-07-04 14:53:10 +02:00
k.rennerandClaude Opus 4.8 1f95c47e90 evcc: use E380 direct meter read for grid power
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>
2026-07-03 22:58:40 +02:00
k.rennerandClaude Opus 4.8 38fb29e52a evcc: drop deprecated .k. ingress hostname
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>
2026-07-03 22:50:54 +02:00
k.rennerandClaude Opus 4.8 fa7c5f1dee evcc: meters-only dry-run reading the VX3 via open3e/MQTT
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>
2026-07-03 22:35:33 +02:00