Document the fast charge's amount, its departure and its hold
The fast mode grew three things the wiki did not mention: an amount to
stop at (#119), a departure that defers the charge so it finishes just
in time (#122), and a discharge hold the owner can now switch off
mid-charge.
- Home: the capability bullet says what the mode can be asked for.
- MQTT: two new sections. "Fast charging: how much, and when" covers the
four entities and the button that applies them, including why a
departure is worth wanting -- it is the pack, not the price. "The
battery hold during a fast charge" covers who owns the switch and the
two consequences that would otherwise be surprises.
- Deployment: corrected "What appears in Home Assistant", which still
described the Charge mode *select* retired in #89.
Document the weather recorded with each charging session
Document stopping the service, and correct the restart policy
The controller can now be stopped from the web UI or Home Assistant, and
stays stopped until it is started again -- so the wiki's `--restart
unless-stopped` examples were actively wrong: under that policy the Stop
button is a restart button. Docker.md and Platforms.md now show
`on-failure`, which reads the exit code the worker sets deliberately: 0
for a requested stop (stays down), 143 for a SIGTERM (reboot, daemon
restart: comes back), non-zero for a crash or power cut (comes back).
Deployment gains a "Stopping and starting the controller" section: the
three ways to ask for a stop, what the graceful path does that killing the
process doesn't (the charger is released -- otherwise the car keeps
drawing at the last setpoint), how to start it again, and why a reboot
still recovers on its own.
Also documented: the Stop service button in MQTT and Deployment's HA
entity summary, the closing log line as a diagnostic in Troubleshooting
and the startup-log section (a log ending without it is a run that died --
on the Pi the journal is RAM-only, so these files are the only account
that survives), and the 10-second charger-release deadline, whose warning
means a car may still be drawing.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Swap the inverter and EV charger addresses; they were reversed
192.168.2.6 is the EV charger, 192.168.2.10 is the inverter. Every page
carrying the example addresses had them the wrong way round.
Get started also gains the reason it matters: both devices answer Modbus
on 502, so a reachability check passes either way, and getting it wrong
produces confusing symptoms rather than a failure -- SOC frozen at a
constant, solar and grid at 0, the charger permanently "Unknown". The
charger's own web page identifies it, so that is now the check.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Document updating a running deployment
The page explained getting a Pi to a first working deploy and stopped
there, though updating is what a reader does repeatedly afterwards.
Covers: that updating is the same command as deploying; that Compose
recreates only what changed; that all state survives, .env included,
because none of it is inside a container; that the pull moves Home
Assistant too on workflow A; that charge control returns to Off across
the restart and a session in progress is closed as ServiceStopped;
pinning and rollback via IMAGE_TAG; and the .env-change case the deploy
script deliberately does not handle.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Restructure deployment around two workflows; rename Full-Stack to Deployment
The page documented both deployments but was called "Full stack", so the
lighter one read as a footnote to the heavier. It now opens with the
choice and the hardware requirement that decides it:
A full stack, with Home Assistant 2 GB minimum, 4 GB recommended
B controller and its web UI only 1 GB is enough
Workflow B gains its own required-settings block -- the site addresses
are the whole list -- and the .env example marks the MQTT block as
workflow A only. The broker-credentials section is scoped to A.
Renamed Full-Stack.md to Deployment.md, since a page covering both was
misnamed, and updated the sidebar and all seven cross-references. The old
URL will 404; the sidebar carries readers across.
Board models are gone in favour of RAM figures, matching the repo docs:
"on 1 GB" rather than "on a Pi 3 B", and cgroup memory accounting is
"required on every board whatever its memory".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>