diff --git a/CLAUDE.md b/CLAUDE.md index 30e73a68..c420b06c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,13 +9,13 @@ src/batcontrol/ core.py # Main orchestrator logic/ # Battery control decisions (default, next) inverter/ # Backends: Fronius HTTP, Fronius Modbus, MQTT, Dummy - dynamictariff/ # Tariff providers: Awattar, Tibber, EVCC, EnergyForecast, NetworkFees - forecastsolar/ # Solar forecast: FCSolar, SolarPrognose, EVCC, HA-ML + dynamictariff/ # Tariff providers: Awattar, Tibber, evcc, EnergyForecast, NetworkFees + forecastsolar/ # Solar forecast: FCSolar, SolarPrognose, evcc, HA-ML forecastconsumption/ # Consumption forecast: CSV, HomeAssistant fetcher/ # HTTP caching helper scheduler.py # Main loop mqtt_api.py # State publishing + runtime config overrides - evcc_api.py # EVCC integration + evcc_api.py # evcc integration ``` ## Architecture diff --git a/docs/development/15-min-transform.md b/docs/development/15-min-transform.md index f10c2aab..2f7bcaa5 100644 --- a/docs/development/15-min-transform.md +++ b/docs/development/15-min-transform.md @@ -971,7 +971,7 @@ class Tibber(DynamicTariffBase): - Fetches data at target resolution (no conversion needed) - **Action Required**: Verify API parameter for 15-min data -**Evcc** (`evcc.py`): +**evcc** (`evcc.py`): ```python class EvccTariff(DynamicTariffBase): def __init__(self, config: dict): @@ -2203,7 +2203,7 @@ def test_backward_compatibility_60min(): - Create data collection guide for users **4. Price Forecasts** ✅ -- Evcc: Use native 15-min data when available +- evcc: Use native 15-min data when available - Awattar/Tibber: Replicate hourly prices to quarters - Future: Monitor for API updates offering 15-min granularity diff --git a/docs/getting-started/how-batcontrol-works.md b/docs/getting-started/how-batcontrol-works.md index 39f7d66d..490ca706 100644 --- a/docs/getting-started/how-batcontrol-works.md +++ b/docs/getting-started/how-batcontrol-works.md @@ -130,7 +130,7 @@ The system validates configuration to prevent problematic behavior: ## External Integrations -### EVCC Integration +### evcc Integration - **Purpose**: Coordinate with electric vehicle charging - **Function**: Can lock battery discharge when car is charging - **Configuration**: Monitors charging status and adjusts battery limits diff --git a/docs/index.md b/docs/index.md index d8053cd3..87d99498 100644 --- a/docs/index.md +++ b/docs/index.md @@ -42,7 +42,7 @@ Batcontrol is an intelligent battery management system that optimizes your home ### External Systems | Integration | Purpose | Documentation | |-------------|---------|---------------| -| **EVCC** | Electric vehicle charging coordination | [EVCC Connection](integrations/evcc-connection.md) | +| **evcc** | Electric vehicle charging coordination | [evcc Connection](integrations/evcc-connection.md) | | **MQTT/Home Assistant** | Home automation integration | [MQTT API](integrations/mqtt-api.md) | | **MQTT Inverter** | Integrate any battery system via MQTT | [MQTT Inverter](integrations/mqtt-inverter.md) | @@ -50,8 +50,8 @@ Batcontrol is an intelligent battery management system that optimizes your home ### Supported Hardware - **Inverters**: Fronius GEN24 series, Fronius Modbus TCP, MQTT inverter bridge -- **Dynamic Tariff Providers**: aWATTar, Tibber, EVCC integration, 2 Tariff Providers like Octopus -- **Solar Forecast**: Forecast.Solar, Solar-Prognose.de, EVCC integration +- **Dynamic Tariff Providers**: aWATTar, Tibber, evcc integration, 2 Tariff Providers like Octopus +- **Solar Forecast**: Forecast.Solar, Solar-Prognose.de, evcc integration - **Consumption Forecast**: CSV-based load profiles ### File Structure diff --git a/docs/integrations/evcc-connection.md b/docs/integrations/evcc-connection.md index 5811af36..cedfda55 100644 --- a/docs/integrations/evcc-connection.md +++ b/docs/integrations/evcc-connection.md @@ -1,4 +1,4 @@ -# EVCC Integration +# evcc Integration Batcontrol can integrate with [evcc (Electric Vehicle Charging Controller)](https://evcc.io/) to intelligently manage battery usage during electric vehicle charging. This integration helps prevent unnecessary battery discharge while your EV is charging, optimizing your overall energy management. @@ -87,7 +87,7 @@ The `battery_halt_topic` enables dynamic battery discharge limit management base ### Example Scenario - Your normal `always_allow_discharge_limit`: `0.20` (20%) -- EVCC `bufferSoc` setting: `50` (50%) +- evcc `bufferSoc` setting: `50` (50%) - **Result**: While EV charges, battery discharge is blocked above 50% SOC instead of 20% ## MQTT Topics Monitored @@ -125,7 +125,7 @@ These are used by [peak shaving](../features/peak-shaving.md): peak shaving is a 2. **Limit Restoration**: Original discharge limit is restored 3. **Logging**: Batcontrol logs: `"evcc is not charging, remove block"` -### When EVCC Goes Offline +### When evcc Goes Offline 1. **Safety Mechanism**: If evcc goes offline while charging, blocks are automatically removed 2. **Limit Restoration**: Original settings are restored 3. **Logging**: Batcontrol logs: `"evcc went offline"` and `"evcc was charging, remove block"` diff --git a/mkdocs.yml b/mkdocs.yml index fd15da2e..5f6dfad6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -66,7 +66,7 @@ nav: - MQTT API: integrations/mqtt-api.md - Forecast Metrics: integrations/forecast-metrics.md - MQTT Inverter: integrations/mqtt-inverter.md - - EVCC Connection: integrations/evcc-connection.md + - evcc Connection: integrations/evcc-connection.md - Development: - 15-Minute Interval Transformation: development/15-min-transform.md diff --git a/scripts/README.md b/scripts/README.md index 266e7e9b..604ea81f 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -15,7 +15,7 @@ The `scripts` folder is separate from the `tests` folder to avoid interference w ### test_evcc.py -Standalone test script for the EVCC dynamic tariff module. +Standalone test script for the evcc dynamic tariff module. **Usage:** ```bash @@ -27,7 +27,7 @@ python scripts/test_evcc.py http://evcc.local/api/tariff/grid ``` **Features:** -- Tests the EVCC API integration +- Tests the evcc API integration - Shows both raw API data and processed prices - Provides detailed error information for debugging - Displays hourly prices with proper formatting diff --git a/scripts/test_evcc.py b/scripts/test_evcc.py index 25256106..326ca78b 100644 --- a/scripts/test_evcc.py +++ b/scripts/test_evcc.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 """ -Standalone test script for the EVCC dynamic tariff module. +Standalone test script for the evcc dynamic tariff module. -This script allows you to test the EVCC API integration by providing a URL +This script allows you to test the evcc API integration by providing a URL and seeing the fetched dynamic pricing data. Usage: @@ -28,7 +28,7 @@ def main(): - """Test the EVCC dynamic tariff functionality""" + """Test the evcc dynamic tariff functionality""" if len(sys.argv) != 2: print("Usage: python scripts/test_evcc.py ") print("Example: python scripts/test_evcc.py http://evcc.lan") @@ -36,12 +36,12 @@ def main(): sys.exit(1) url = sys.argv[1] - print(f"Testing EVCC API at: {url}") + print(f"Testing evcc API at: {url}") print("=" * 50) try: - # Initialize EVCC with Europe/Berlin timezone - print("Initializing EVCC client...") + # Initialize evcc with Europe/Berlin timezone + print("Initializing evcc client...") evcc = Evcc(pytz.timezone('Europe/Berlin'), url) # Fetch raw data first