Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
python-version: '3.12'

- name: Install documentation dependencies
run: pip install "mkdocs-material>=9.5,<10"
run: pip install "mkdocs-material>=9.5,<10" "mkdocs-llmstxt>=0.5.0,<1.0"

- name: Build documentation
run: mkdocs build --strict
Expand Down
5 changes: 5 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,8 @@ config/
📝 **Documentation Status**: This documentation lives in the [`docs/` folder of the batcontrol repository](https://github.com/MaStr/batcontrol/tree/main/docs). If you find outdated information or need additional details, please open an issue or pull request.

🔗 **Project Repository**: [GitHub - Batcontrol](https://github.com/MaStr/batcontrol)

---

**LLM-friendly versions of this documentation:**
[llms.txt](https://mastr.github.io/batcontrol/llms.txt) — [llms-full.txt](https://mastr.github.io/batcontrol/llms-full.txt)
32 changes: 32 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,38 @@ markdown_extensions:

plugins:
- search
- llmstxt:
markdown_description: |
Batcontrol controls a PV battery inverter based on dynamic electricity prices,
solar production forecasts, and consumption patterns. It charges from the grid
when prices are low and preserves stored energy when prices are high. It supports
Fronius Gen24 inverters (HTTP API and Modbus TCP) and any inverter via MQTT bridge.
Tariff providers include Tibber, aWATTar, evcc, EnergyForecast.de, and static zone
tariffs. Solar forecast sources include Forecast.Solar, Solar-Prognose.de, evcc,
and Home Assistant Solar Forecast ML. Peak shaving distributes PV battery charging
across the day using forecasts, and works with both dynamic and static tariffs.
full_output: llms-full.txt
sections:
Getting Started:
- getting-started/installation.md: Installation guide with pre-flight checklist, Docker setup, and next steps
- getting-started/how-batcontrol-works.md: Architecture, control loop, forecasting system, and decision logic
Configuration:
- configuration/batcontrol-configuration.md: Main configuration file reference
- configuration/inverter-configuration.md: Fronius Gen24, Fronius Modbus, and MQTT inverter configuration
- configuration/dynamic-tariff-provider.md: Tibber, aWATTar, evcc, EnergyForecast, and static tariff zones
- configuration/solar-forecast.md: Forecast.Solar, Solar-Prognose.de, evcc, and Home Assistant ML
- configuration/consumption-forecast.md: CSV load profile and Home Assistant API forecast
Features:
- features/peak-shaving.md: Dynamic PV charge rate limiting to maximize solar absorption
- features/battery-control-expert.md: Advanced tuning parameters
- features/price-difference-calculation.md: How price thresholds are calculated
Integrations:
- integrations/mqtt-api.md: MQTT state publishing, runtime overrides, and Home Assistant auto-discovery
- integrations/mqtt-inverter.md: Integrating any battery system via MQTT bridge
- integrations/evcc-connection.md: Coordinating with EV charging via evcc
- integrations/forecast-metrics.md: Forecast data exposed via MQTT
Optional:
- development/15-min-transform.md: Internal 15-minute interval resolution

nav:
- Home: index.md
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ test = [
]
docs = [
"mkdocs-material>=9.5,<10",
"mkdocs-llmstxt>=0.5.0,<1.0; python_version >= '3.10'",
]

# Bump Version
Expand Down
Loading