{"id":49189884,"url":"https://github.com/galletn/abb_terra_ac","last_synced_at":"2026-05-02T13:02:47.108Z","repository":{"id":348279955,"uuid":"1197223713","full_name":"galletn/abb_terra_ac","owner":"galletn","description":"ABB Terra AC Wallbox custom component for Home Assistant - Modbus TCP integration","archived":false,"fork":false,"pushed_at":"2026-05-02T10:42:26.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-02T12:26:02.420Z","etag":null,"topics":["abb","ev-charger","hacs","home-assistant","home-assistant-custom-component","modbus"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/galletn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-31T12:22:49.000Z","updated_at":"2026-05-02T10:42:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/galletn/abb_terra_ac","commit_stats":null,"previous_names":["galletn/abb_terra_ac"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/galletn/abb_terra_ac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galletn%2Fabb_terra_ac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galletn%2Fabb_terra_ac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galletn%2Fabb_terra_ac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galletn%2Fabb_terra_ac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/galletn","download_url":"https://codeload.github.com/galletn/abb_terra_ac/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/galletn%2Fabb_terra_ac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32534972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abb","ev-charger","hacs","home-assistant","home-assistant-custom-component","modbus"],"created_at":"2026-04-23T06:08:33.336Z","updated_at":"2026-05-02T13:02:47.101Z","avatar_url":"https://github.com/galletn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ABB Terra AC Wallbox - Home Assistant Integration\n\nCustom Home Assistant integration for ABB Terra AC W11 wallbox via Modbus TCP.\n\n## Features\n\n### Entities Created\n\n**Sensors:**\n- Charging Current (L1, L2, L3, Total)\n- Voltage (L1, L2, L3)\n- Active Power (W)\n- Energy Delivered (Wh)\n- Charging State (with IEC 61851-1 state names)\n- Current Limit Setting\n- Max Current\n- Error Code\n- Socket Lock State\n- Communication Timeout\n- Serial Number\n- Firmware Version\n\n**Controls:**\n- **Number Slider** (0-16A) - Set charging current limit\n  - Set to 0A to pause charging\n  - Slide to desired amperage to charge at that rate\n\n- **Start/Pause Switch** - Quick start/pause control\n  - ON = Start charging at 6A (default)\n  - OFF = Pause charging (0A)\n\n- **Stop Button** - Emergency stop\n  - Sends STOP command (register 16645 = 1)\n  - Use for immediate charging termination\n\n**Services:**\n- `abb_terra_ac.set_current_limit` - Set current limit (0-16A)\n- `abb_terra_ac.start_charging` - Start charging with optional current (default 6A)\n- `abb_terra_ac.stop_charging` - Emergency stop\n\n## Installation\n\n### 1. Enable Local Controller Mode\n\nOn your ABB Terra AC wallbox:\n1. Download and install the **Terra Config** app on your phone\n2. Connect to the wallbox via Bluetooth\n3. Navigate to settings\n4. Enable **\"Local Controller\"** mode\n5. Connect wallbox to your network via **Ethernet cable** (WiFi not supported for Modbus)\n\n### 2. Install the Integration\n\nCopy the `custom_components/abb_terra_ac` folder to your Home Assistant `custom_components` directory:\n\n```\nhomeassistant/\n  └── custom_components/\n      └── abb_terra_ac/\n          ├── __init__.py\n          ├── button.py\n          ├── config_flow.py\n          ├── const.py\n          ├── manifest.json\n          ├── number.py\n          ├── sensor.py\n          ├── services.yaml\n          └── switch.py\n```\n\n### 3. Restart Home Assistant\n\nRestart Home Assistant to load the integration.\n\n### 4. Add Integration\n\n1. Go to **Settings** → **Devices \u0026 Services**\n2. Click **+ Add Integration**\n3. Search for **\"ABB Terra AC Wallbox\"**\n4. Enter configuration:\n   - **Host**: IP address of your wallbox (e.g., `192.168.1.100`)\n   - **Port**: `502` (default Modbus TCP port)\n   - **Unit ID**: `1` (default)\n\n## Usage\n\n### Basic Control\n\n**Using the Slider:**\n- Drag slider to desired amperage (0-16A)\n- Set to 0A to pause charging\n- Wallbox will adjust charging rate in real-time\n\n**Using the Switch:**\n- Turn ON to start charging at 6A\n- Turn OFF to pause (0A)\n\n**Emergency Stop:**\n- Press the \"Stop Charging\" button\n- Sends immediate STOP command to wallbox\n\n### Automation Examples\n\n**Charge at Solar Surplus:**\n```yaml\nautomation:\n  - alias: \"Charge EV with Solar Surplus\"\n    trigger:\n      - platform: state\n        entity_id: sensor.solar_surplus_power\n    action:\n      - service: abb_terra_ac.set_current_limit\n        data:\n          current: \u003e\n            {{ (states('sensor.solar_surplus_power') | float / 230 / 3) | round(0) | min(16) | max(0) }}\n```\n\n**Stop Charging at High Grid Price:**\n```yaml\nautomation:\n  - alias: \"Stop EV Charging at Peak Price\"\n    trigger:\n      - platform: numeric_state\n        entity_id: sensor.electricity_price\n        above: 0.30\n    action:\n      - service: abb_terra_ac.stop_charging\n```\n\n**Smart Charging Schedule:**\n```yaml\nautomation:\n  - alias: \"Start EV Charging at Night\"\n    trigger:\n      - platform: time\n        at: \"23:00:00\"\n    action:\n      - service: abb_terra_ac.start_charging\n        data:\n          current: 16  # Full speed\n```\n\n## Technical Details\n\n### Register Map\n\n**Read Registers (0x4000 - 0x4020):**\n- Serial Number, Firmware, Max Current\n- Error Code, Socket Lock, Charging State\n- Current Limit, Actual Current (L1/L2/L3)\n- Voltage (L1/L2/L3)\n- Active Power, Energy Delivered\n- Communication Timeout\n\n**Write Registers:**\n- `0x4100` (16640): Set Current Limit (32-bit, mA)\n- `0x4105` (16645): Start/Stop Command (0=START, 1=STOP)\n\n### Charging States (IEC 61851-1)\n\n- **0**: Idle (State A) - No vehicle connected\n- **1**: EV Connected - Pending Auth (State B1)\n- **2**: EV Connected - Ready (State B2)\n- **3**: EV Ready - No PWM (State C1)\n- **4**: **Charging** (State C2)\n- **5**: Other\n\n### Important Notes\n\n- Only **ONE** Modbus connection allowed at a time\n- Modbus only works over **Ethernet**, not WiFi\n- Minimum charging current: 6A (per IEC 61851-1)\n- Setting current below 6A pauses charging\n- STOP button sends actual STOP command (different from pause)\n- Default polling interval: 5 seconds\n\n## Troubleshooting\n\n**Integration won't connect:**\n- Verify \"Local Controller\" mode is enabled in Terra Config app\n- Check wallbox is connected via Ethernet (not WiFi)\n- Ping wallbox IP address to verify network connectivity\n- Ensure no other Modbus clients are connected\n\n**Current limit not changing:**\n- Check charging state sensor shows state 4 (charging)\n- Car must be connected and authenticated (badge tap)\n- Some cars may require manual authorization to start charging\n\n**Car won't start charging:**\n- Tap badge to authenticate on wallbox\n- Check car is not set to scheduled charging\n- Verify car's charge limit is not reached\n- Try using STOP button, wait 5 seconds, then use Start/Pause switch\n\n## Credits\n\nIntegration developed based on testing with ABB Terra AC W11 wallbox (firmware 1.8.34).\n\nRegister discovery and validation performed using Python scripts with pymodbus library.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalletn%2Fabb_terra_ac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgalletn%2Fabb_terra_ac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgalletn%2Fabb_terra_ac/lists"}