{"id":346332,"name":"ha-evcc","description":"Home Assistant integration for evcc optimized charging of electric vehicles, connecting your EV charger with your PV system.","url":"https://github.com/marq24/ha-evcc","last_synced_at":"2026-04-05T19:00:58.733Z","repository":{"id":239803622,"uuid":"800610523","full_name":"marq24/ha-evcc","owner":"marq24","description":"Home Assistant integration for evcc☀️🚘- optimized charging of electric vehicles, connecting your EV charger with your PV system. Please note, that this integration is not official and not supported by the evcc developers. Please consider becoming a monthly sponsor for this project - TIA","archived":false,"fork":false,"pushed_at":"2026-03-30T20:24:32.000Z","size":688,"stargazers_count":356,"open_issues_count":0,"forks_count":14,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-04-03T02:18:35.399Z","etag":null,"topics":["evcc","hacs","hacs-integration","home-assistant","home-assistant-hacs","home-assistant-integration","home-automation","pv","wallbox"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marq24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"marq24","buy_me_a_coffee":"marquardt24","custom":["https://revolut.me/marq24","https://paypal.me/marq24"]}},"created_at":"2024-05-14T16:55:02.000Z","updated_at":"2026-04-02T23:19:17.000Z","dependencies_parsed_at":"2026-03-06T05:01:57.548Z","dependency_job_id":null,"html_url":"https://github.com/marq24/ha-evcc","commit_stats":null,"previous_names":["marq24/ha-evcc"],"tags_count":114,"template":false,"template_full_name":null,"purl":"pkg:github/marq24/ha-evcc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marq24","download_url":"https://codeload.github.com/marq24/ha-evcc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31446531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T15:22:31.103Z","status":"ssl_error","status_checked_at":"2026-04-05T15:22:00.205Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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"}},"owner":{"login":"marq24","name":"Matthias Marquardt","uuid":"8012359","kind":"user","description":"","email":"marq24.github@emac.de","website":"emacberry.com","location":"Gütersloh, NRW, GERMANY","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8012359?u=2752d4200308c101f97db6d3ec4c285de9035431\u0026v=4","repositories_count":36,"last_synced_at":"2025-10-26T03:58:52.507Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/marq24","funding_links":["https://github.com/sponsors/marq24"],"total_stars":771,"followers":63,"following":30,"created_at":"2023-02-15T06:23:15.227Z","updated_at":"2025-10-26T03:58:52.507Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marq24","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marq24/repositories"},"packages":[],"commits":{"id":11644902,"full_name":"marq24/ha-evcc","default_branch":"master","total_commits":206,"total_committers":10,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":20.6,"dds":0.3398058252427184,"past_year_total_commits":120,"past_year_total_committers":9,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":13.333333333333334,"past_year_dds":0.30833333333333335,"last_synced_at":"2026-04-02T18:01:56.120Z","last_synced_commit":"a7660fe1701ee20efadd8b0066944ba4ba2ae5e8","created_at":"2026-02-26T01:00:52.817Z","updated_at":"2026-04-02T18:01:10.010Z","committers":[{"name":"marq24","email":"marquardt24@gmail.com","login":"marq24","count":136},{"name":"marq24","email":"marq24@emac.de","login":null,"count":52},{"name":"Marc-Philip","email":"mpw96@gmx.de","login":"mpw96","count":7},{"name":"thecem","email":"46648579+thecem","login":"thecem","count":3},{"name":"RustyDust","email":"stefan@whocares.de","login":"RustyDust","count":2},{"name":"Bastian","email":"bastian@familie-will.org","login":"mkshb","count":2},{"name":"slauth","email":"slauth","login":"slauth","count":1},{"name":"meks","email":"23148641+meks007","login":"meks007","count":1},{"name":"Pergola Fabio","email":"43251136+pergolafabio","login":"pergolafabio","count":1},{"name":"Michael Geers","email":"michael@geers.tv","login":"naltatis","count":1}],"past_year_committers":[{"name":"marq24","email":"marquardt24@gmail.com","login":"marq24","count":83},{"name":"marq24","email":"marq24@emac.de","login":null,"count":27},{"name":"thecem","email":"46648579+thecem","login":"thecem","count":3},{"name":"Bastian","email":"bastian@familie-will.org","login":"mkshb","count":2},{"name":"meks","email":"23148641+meks007","login":"meks007","count":1},{"name":"RustyDust","email":"stefan@whocares.de","login":"RustyDust","count":1},{"name":"Pergola Fabio","email":"43251136+pergolafabio","login":"pergolafabio","count":1},{"name":"Michael Geers","email":"michael@geers.tv","login":"naltatis","count":1},{"name":"Marc-Philip","email":"mpw96@gmx.de","login":"mpw96","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-05T00:00:09.419Z","repositories_count":6211111,"commits_count":923882844,"contributors_count":35731518,"owners_count":1144217,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"marq24/ha-evcc","html_url":"https://github.com/marq24/ha-evcc","last_synced_at":"2026-04-05T10:03:50.442Z","status":null,"issues_count":93,"pull_requests_count":18,"avg_time_to_close_issue":307111.6710526316,"avg_time_to_close_pull_request":21996.85714285714,"issues_closed_count":76,"pull_requests_closed_count":14,"pull_request_authors_count":8,"issue_authors_count":79,"avg_comments_per_issue":3.118279569892473,"avg_comments_per_pull_request":1.8333333333333333,"merged_pull_requests_count":11,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":38,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":474701.46153846156,"past_year_avg_time_to_close_pull_request":16001.4,"past_year_issues_closed_count":26,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":34,"past_year_avg_comments_per_issue":2.6315789473684212,"past_year_avg_comments_per_pull_request":2.3333333333333335,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"created_at":"2025-08-29T12:22:02.514Z","updated_at":"2026-04-05T10:03:50.442Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/marq24%2Fha-evcc/issues","issue_labels_count":{"enhancement":34,"bug":25,"invalid":14,"duplicate":3,"wrong-repo please open at evcc":2,"evcc-issue-or-request":2,"restart":2,"wontfix":1,"wont do":1,"documentation":1},"pull_request_labels_count":{"bug":1},"issue_author_associations_count":{"NONE":87,"CONTRIBUTOR":4,"OWNER":2},"pull_request_author_associations_count":{"CONTRIBUTOR":13,"NONE":5},"issue_authors":{"andreas-bulling":4,"Marty56":3,"jove01":3,"balgerion":2,"hbpv":2,"mpw96":2,"timpetersson81":2,"walburgf":2,"stefanriegel":2,"marq24":2,"ehrenchris":1,"flom89":1,"jdietz-evolution":1,"ZaphodB72":1,"swa72":1,"MarcoVg1980":1,"thecem":1,"dasadi":1,"Oekoroland":1,"4n4n4s":1,"bootix":1,"krispek":1,"nuessgens":1,"tackin":1,"HolgerMiara":1,"max-at":1,"Asinke":1,"jeriox":1,"neorulez":1,"RikMe":1,"nemihome":1,"pragmatyczny":1,"GrueneNeun":1,"polojoe":1,"cracyfloyd":1,"cruunnerr":1,"Delorien84":1,"dklinger":1,"Crajs20":1,"jhgit-27":1,"Schnabulation":1,"sdebruyn":1,"msenft":1,"Dossile":1,"typxxi":1,"JonisK":1,"wijnands66":1,"aravindnadumane":1,"Tronadorau":1,"Steph-74":1,"davdelete":1,"dgaust":1,"ppfeiff":1,"dm82m":1,"MrMattn":1,"gorzan14":1,"JamesW-AU":1,"JokerGermany":1,"goebelmeier":1,"nisnu":1,"virtualkknight":1,"Organized92":1,"d3ni3":1,"Syonis":1,"abard35":1,"Max236-code":1,"loryanstrant":1,"ThomDietrich":1,"marcogracklauer":1,"clonefx":1,"Tr1n0va":1,"grogi":1,"walhai1722":1,"starsign78":1,"MarcelMertens":1,"Jambola77":1,"mkshb":1,"nicx":1,"mortzel":1},"pull_request_authors":{"mpw96":8,"mkshb":3,"RustyDust":2,"slauth":1,"4n4n4s":1,"thecem":1,"meks007":1,"walburgf":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-05T00:00:08.668Z","repositories_count":14092577,"issues_count":34423666,"pull_requests_count":112322427,"authors_count":11226401,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"enhancement":15,"bug":8,"invalid":4,"documentation":1,"duplicate":1,"wont do":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":35,"CONTRIBUTOR":2,"OWNER":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":4,"NONE":2},"past_year_issue_authors":{"Marty56":3,"jove01":2,"hbpv":2,"mkshb":1,"mpw96":1,"msenft":1,"neorulez":1,"nisnu":1,"nuessgens":1,"Oekoroland":1,"Organized92":1,"polojoe":1,"sdebruyn":1,"starsign78":1,"tackin":1,"thecem":1,"Tronadorau":1,"typxxi":1,"ZaphodB72":1,"marq24":1,"loryanstrant":1,"krispek":1,"jhgit-27":1,"jdietz-evolution":1,"grogi":1,"flom89":1,"ehrenchris":1,"Delorien84":1,"davdelete":1,"cruunnerr":1,"cracyfloyd":1,"clonefx":1,"balgerion":1,"Asinke":1},"past_year_pull_request_authors":{"mkshb":3,"meks007":1,"mpw96":1,"thecem":1},"maintainers":[{"login":"marq24","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/marq24"}],"active_maintainers":[{"login":"marq24","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/marq24"}]},"events":{"total":{"ReleaseEvent":59,"DeleteEvent":13,"PullRequestEvent":23,"ForkEvent":4,"DiscussionEvent":4,"IssuesEvent":185,"WatchEvent":151,"IssueCommentEvent":419,"PushEvent":175,"CreateEvent":53},"last_year":{"ReleaseEvent":25,"DeleteEvent":6,"PullRequestEvent":7,"ForkEvent":2,"DiscussionEvent":4,"IssuesEvent":83,"WatchEvent":78,"IssueCommentEvent":182,"PushEvent":93,"CreateEvent":18}},"keywords":["evcc","hacs","hacs-integration","home-assistant","home-assistant-hacs","home-assistant-integration","home-automation","pv","wallbox"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/hacs.yaml","sha":null,"kind":"manifest","created_at":"2024-05-15T13:55:12.813Z","updated_at":"2024-05-15T13:55:12.813Z","repository_link":"https://github.com/marq24/ha-evcc/blob/main/.github/workflows/hacs.yaml","dependencies":[{"id":18083195775,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18083195776,"package_name":"hacs/action","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/hassfest.yaml","sha":null,"kind":"manifest","created_at":"2024-05-15T13:55:13.429Z","updated_at":"2024-05-15T13:55:13.429Z","repository_link":"https://github.com/marq24/ha-evcc/blob/main/.github/workflows/hassfest.yaml","dependencies":[{"id":18083195786,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18083195787,"package_name":"home-assistant/actions/hassfest","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yaml","sha":null,"kind":"manifest","created_at":"2026-03-06T05:01:56.043Z","updated_at":"2026-03-06T05:01:56.043Z","repository_link":"https://github.com/marq24/ha-evcc/blob/main/.github/workflows/release.yaml","dependencies":[{"id":25832142763,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25832142764,"package_name":"softprops/action-gh-release","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2026-03-06T05:01:56.096Z","updated_at":"2026-03-06T05:01:56.096Z","repository_link":"https://github.com/marq24/ha-evcc/blob/main/requirements.txt","dependencies":[{"id":25832142765,"package_name":"homeassistant","ecosystem":"pypi","requirements":"\u003e=2024.8.2","direct":true,"kind":"runtime","optional":false},{"id":25832142769,"package_name":"aiohttp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25832142771,"package_name":"voluptuous","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements_dev.txt","sha":null,"kind":"manifest","created_at":"2026-03-06T05:01:57.232Z","updated_at":"2026-03-06T05:01:57.232Z","repository_link":"https://github.com/marq24/ha-evcc/blob/main/requirements_dev.txt","dependencies":[{"id":25832142774,"package_name":"pytest-homeassistant-custom-component","ecosystem":"pypi","requirements":"\u003e=0.13.154","direct":true,"kind":"development","optional":false}]}],"score":8.177515823846075,"created_at":"2026-02-24T00:08:15.175Z","updated_at":"2026-04-05T19:00:58.744Z","avatar_url":"https://github.com/marq24.png","language":"Python","category":"Consumption","sub_category":"Mobility and Transportation","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Home Assistant Integration: __evcc☀️🚘- Solar Charging__ (unofficial)\n\n![ha-logo](https://github.com/marq24/ha-evcc/raw/main/logo-ha.png)\u0026nbsp;\u0026nbsp;![evcc-logo](https://github.com/marq24/ha-evcc/raw/main/logo.png)\n\nI was surprised that it looks like that there does not exist a simple Home Assistant integration for the very popular evcc. So before my first EV spawned at my driveway, I wanted to contribute a very simple and basic integration that allows you to control evcc objects simply via the default HA gui and use sensors and switches in your automations.\n\n__Please note__, _that this Home Assistant integration is not official and not supported by the evcc developers. I am not affiliated with evcc in any way. This integration is based on the evcc API and the evcc API documentation._\n\n[![hacs_badge][hacsbadge]][hacs] [![hainstall][hainstallbadge]][hainstall] [![Wero][werobadge]][wero] [![Revolut][revolutbadge]][revolut] [![PayPal][paypalbadge]][paypal] [![github][ghsbadge]][ghs] [![BuyMeCoffee][buymecoffeebadge]][buymecoffee]\n\n## Disclaimer\n\nPlease be aware that we are developing this integration to the best of our knowledge and belief, but can't give a guarantee. Therefore, use this integration **at your own risk**.\n\n## Requirements\n\n- A __running__ \u0026 configured evcc instance in your network\n- A Home Assistant instance that can reach your evcc instance\n\n## Main features\n\n- Supporting all evcc API-POST \u0026 DELETE requests (except `POST /api/settings/telemetry/\u003cstatus\u003e`) to adjust the evcc settings, loadpoints and the corresponding vehicles\n  - Loadpoint mode [Off, Solar, Min+Solar, Fast]\n  - Phases to use [Auto, 1p, 3p]\n  - Assign vehicles to loadpoints\n  - Configure min \u0026 max charging currents\n  - Configure cost limits (€ or CO₂)\n  - Adjust home-battery settings\n  - Adjust/create Vehicle \u0026 Loadpoint charging plan via HA-Services [http://[YOUR-HA-INSTANCE]:8123/developer-tools/service](http://[YOUR-HA-INSTANCE]:8123/developer-tools/service)\n  \n- Supporting most of the other loadpoint and vehicle data that is available via the API – please let me know if you miss some data – probably it just slipped through my attention during testing.\n\n\n### evcc-Configuration objects are **not supported**\nWith the release of _0.3.x_, evcc is now fully configurable via the graphical user interface (GUI). Since to be able to access the evcc-configuration GUI section requires a user authorization (for good reasons) is required, __THIS INTEGRATION DOES NOT OFFER ANY ENTITIES OF THE CONFIGURATION SECTION of EVCC!__ Please don't ask me to add them to _this_ integration. There is __no plan to support__ the evcc-configuration GUI entities in __the future__. This would require storing the evcc user credentials in the integration configuration, and the variety of possible objects is just too big.\n\nIf you want/need to adjust the evcc configuration via home assistant, __make use of the HA-REST integration__ and create the required API calls yourself. Here in this readme you will find an example of what needs to be done.\n\n\n### Example Dashboard\n\nTake a look at this sample Dashboard (showing Sensors from one load point):\n\n![sampledashboard](https://github.com/marq24/ha-evcc/raw/main/sample-dashboard.png)\n\n### Using evcc Custom Card (external repository)\n[@mkshb](https://github.com/mkshb) have created multiple custom cards that can be installed via HACS (or manually) that\nwill be a great enhancement for this integration. You can find all the details @ [https://github.com/mkshb/hass-evcc-card](https://github.com/mkshb/hass-evcc-card).\n![sampledashboard2](https://github.com/marq24/ha-evcc/raw/main/sample-dashboard_cards.png)\nMake sure, that you leave a GitHub star also at mkshb's repostitory!\n\n\n## Installation\n\n### Before you start — there are two 'tiny' requirements!\n\n1.  **You must have installed \u0026 configured an evcc instance in your network.** This can be either a stand-alone installation (e.g via Docker) or as a HASS-IO-AddOn[^1]. This __AddOn__ is available via the [official evcc hassio-addon repository](https://github.com/evcc-io/hassio-addon).\n2.  You **must know the URL** from which your HA-Instance can reach your evcc instance.\n    - This is usually the IP address of your evcc server and the port on which the evcc server is running (default is `7070`).\n    - If you are using a reverse proxy, you need to know the URL that your HA instance can use to reach your evcc instance.\n    - When you are using docker (or docker-compose), you must ensure that the containers can communicate with each other. This means that the network and the port must be configured and exposed correctly. It's not enough that you can reach your evcc instance via a browser — your HA container must be also able to reach it!\n\n[^1]: There is a known issue when using HASS-IO - For whatever reason it has been reported that the startup sequence of the containers (the different installed AddOns) _might not match the requirements_ of this Integration: Your evcc-server __must be up and running before the Integration can be initialized__ in HA. This is because during the initial start of the Integration your evcc configuration (active loadpoints and configured vehicles) will be evaluated in order to create the corresponding HA entities.\u003cbr/\u003e\u003cbr/\u003eSo when you restart your HASS-IO server, it _can happen_ that HA already starting to initialize this Integration before the HASS-OS has started the evcc-instance. __This will lead to the situation that the Integration is not started correctly__.\u003cbr/\u003e\u003cbr/\u003eI am sorry that my HA developer skills are not sufficient to find a solution that works in this scenario – nor did I found other integrations with similar challenges (to find inspiration). If you know one (that's actively maintained), please let me know. Of course, I am also open to any PR solving this issue for AddOn users that work in the different scenarios (deactivating/activating the integration, with WebSocket support and without).\u003cbr/\u003e\u003cbr/\u003eAs a personal note on this: IMHO restarts of HA Servers should only happen under observation, and should not be automated in any kind – but I might be alone with my opinion. \n\n### Step I: Install the integration\n\n#### Option 1: via HACS\n\n[![Open your Home Assistant instance and adding repository to HACS.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=marq24\u0026repository=ha-evcc\u0026category=integration)\n\n1. Use the search bar and type `evcc☀️🚘- Solar Charging`\n2. Use the 3-dots at the right of the list entry (not at the top bar!) to download/install the custom integration — the latest release version is automatically selected. Only select a different version if you have specific reasons.\n3. After you press download and the process has completed, you must __Restart Home Assistant__ to install all dependencies\n4. Setup the evcc custom integration as described below (see _Step II: Adding or enabling the integration_)\n\n\n#### Option 2: manual steps\n\n1. Using the tool of choice, open the directory (folder) for your HA configuration (where you find `configuration.yaml`).\n2. If you do not have a `custom_components` directory (folder) there, you need to create it.\n3. In the `custom_components` directory (folder) create a new folder called `evcc_intg`.\n4. Download _all_ the files from the `custom_components/evcc_intg/` directory (folder) in this repository.\n5. Place the files you downloaded in the new directory (folder) you created.\n6. Restart Home Assistant\n7. Setup the evcc custom integration as described below (see _Step II: Adding or enabling the integration_)\n\n### Step II: Adding or enabling the integration\n\n__You must have installed the integration (manually or via HACS before)!__\n\n#### Option 1: My Home Assistant (2021.3+)\n\nJust click the following Button to start the configuration automatically (for the rest see _Option 2: Manually steps by step_):\n\n[![Open your Home Assistant instance and start setting up a new integration.](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=evcc_intg)\n\n\n#### Option 2: Manually — step by step\n\nUse the following steps for a manual configuration by adding the custom integration using the web interface and follow instruction on screen:\n\n- Go to `Configuration -\u003e Integrations` and add \"evcc☀️🚘- Solar Charging\" integration\n\n#### Common further steps \n\n- Provide a unique name for the integration installation (will be used in each sensor entity_id) created by the integration\n- Provide the URL of your __evcc web server__ (including the port) — e.g. `http://your-evcc-server-ip:7070`\n- [optional] Provide the area where the evcc installation is located\n\nAfter the integration was added, you can use the 'config' button to adjust your settings, you can additionally modify the update interval\n\nPlease note that some of the available sensors are __not__ enabled by default.\n\n## Using evcc with Home Assistant\n\n### Use Home Assistant sensor data as input for evcc\n\nPlease see the separate document where you can find examples [how to provide your evcc instance with HA sensor data](https://github.com/marq24/ha-evcc/blob/main/HA_AS_EVCC_SOURCE.md).\n\n### Use evcc to control any of your Home Assistant devices\n\nThis is IMHO a very powerful feature of evcc, that is not known to many users (yet). You can use evcc to control your Home Assistant devices or Automation, e.g., to switch on/off anything you like when you are actually feeding power into the grid.\n\nUsing the maximum out of your solar panels to charge your EV is great, but what if you have more power available — or if your EV is already fully charged? I am facing this challenge for quite a long time now and used several helpers \u0026 Blueprints to control my home devices with larger energy consumption.\n\nYou can use evcc to control any Home Assistant entity that has implemented the `turn_on` and `turn_off` services. This means you can control devices like smart plugs, or even Home Assistant automations (which is IMHO the door to PV surplus handling heaven).\n\nSince the setup and configuration of this evcc feature might not be straight forward, I have created a separate document where you can find examples [Master PV surplus handling with evcc \u0026 Home Assistent](https://github.com/marq24/ha-evcc/blob/main/HA_CONTROLLED_BY_EVCC.md).\n\nI use this feature to control the hot-water temperature of my waterkotte heat pump.\n\n\n## Are you are go-eCharger V3 (or higher) User?\n\nDo you know, that as owners of a go-eCharger (V3+) there is no need to use evcc for solar surplus charging? Even without any additional hardware! Home Assistant and the __go-eCharger APIv2 Connect__ Integration is all you need. Get all details from [https://github.com/marq24/ha-goecharger-api2](https://github.com/marq24/ha-goecharger-api2).\n\n\n## Accessing your vehicle SOC \u0026 Range when the vehicle is not connected to a loadpoint\n\nBy default, evcc and this integration focus on vehicles connected to a loadpoint, this implies that data like SOC or range are _only available when the vehicle is actually connected_.\n\nNevertheless, evcc provides this data in the configuration section (no matter of the connection state). If you want to access your vehicle SOC and range, when the vehicle is not connected to a loadpoint, you can do this by adding a command_line sensor to your Home Assistant configuration.yaml file.\n\n\u003e [!IMPORTANT]\n\u003e You need to know the technical `vehicle_id`. Depending on from your configuration this is either the value you have specified in the `evcc.yaml` file or it had been automatically generated.\n\u003e\n\u003e In any case you can request: `http://[YOUR_EVCC_IP]:7070/api/config/devices/vehicle` and check the value of the `name` attribute to get your `vehicle_id`.\n\n\u003e [!NOTE]\n\u003e You must authorize your request(s) with the evcc password.\n\u003e \n\n### Command-Line in your HA configuration.yaml\n\nrequesting `http://[YOUR_EVCC_IP]:7070/api/config/devices/vehicle/[YOUR_VEHICLE_ID]/status` will return a JSON like this one here\n\n```json\n{\n    \"capacity\": {\n      \"value\": 84.68,\n      \"error\": \"\"\n    },\n    \"chargeStatus\": {\n      \"value\": \"B\",\n      \"error\": \"\"\n    },\n    \"range\": {\n      \"value\": 167,\n      \"error\": \"\"\n    },\n    \"soc\": {\n      \"value\": 39.5,\n      \"error\": \"\"\n    }\n}\n```\n\nCheck if you have already a `command_line` section in your `configuration.yaml` file - if there is none - create one on as top level entry like this (the line ' - sensor: ...' must (obviously) be replaced with the complete sections shown further below):\n\n```yaml\ncommand_line:\n  - sensor: ...\n```\n\nAdd in the `command_line` section of your `configuration.yaml` file the following content: sections with `[CHANGE_ME:xxx]` have to be modified to your requirements. E.g., assuming your assuming `vehicle_id` is __ford_mach_e__, then you have to replace `[CHANGE_ME:YourVehicleId]` with just `ford_mach_e`\n\n```yaml\n  - sensor:\n      name: '[CHANGE_ME:Your Vehicle SOC \u0026 Range]'\n      unique_id: [CHANGE_ME:evcc_vehicle_soc_and_range]\n      command: |-\n        data='{\"password\":\"[CHANGE_ME:YourEVCCPassword]\"}'; ip='http://[CHANGE_ME:YourEVCCServerIP]:7070';\\\n        c=$(curl -H 'Content-Type: application/json' -d $data -ksc - $ip/api/auth/login -o /dev/null);\\\n        echo \"${c}\" | curl -ksb - $ip/api/config/devices/vehicle/[CHANGE_ME:YourVehicleId]/status\n      json_attributes_path: '$.range'\n      json_attributes:\n        - value\n      value_template: '{{ value_json.soc.value | float }}'\n      unit_of_measurement: '%'\n      # the scan_interval will be specified in seconds...\n      # for update every 5min use 300 (60sec * 5min = 300sec)\n      # for update every 15min use 900 (60sec * 15min = 900sec)\n      # for update every 1h use 3600 (60sec * 60min = 3600sec)\n      # for update every 24h use 86400 (60sec * 60min * 24h = 86400sec)\n      scan_interval: 900\n```\n\nHere is a complete example assuming:\n- that your `vehicle_id` is: __ford_mach_e__\n- the IP of your evcc server is: __192.168.2.213__\n- the EVCC password is: __myEvCCPwd__\nand you want to capture the __soc__ as main entity information and the `range` as additional attribute of the entity that will be requested every 5 minutes:\n\n```yaml\n  - sensor:\n      name: 'My Ford Mach-E SOC \u0026 Range'\n      unique_id: evcc_mach_e_soc_and_range\n      command: |-\n        data='{\"password\":\"myEvCCPwd\"}'; ip='http://192.168.2.213:7070';\\\n        c=$(curl -H 'Content-Type: application/json' -d $data -ksc - $ip/api/auth/login -o /dev/null);\\\n        echo \"${c}\" | curl -ksb - $ip/api/config/devices/vehicle/ford_mach_e/status\n      json_attributes_path: '$.range'\n      json_attributes:\n        - value\n      value_template: '{{ value_json.soc.value | float }}'\n      unit_of_measurement: '%'\n      scan_interval: 300\n```\n\n### Don't want to store your evcc password in the ha configuration.yaml?\n[@BDBAfH was so kind to post an alternative example here](https://github.com/marq24/ha-evcc/discussions/137), showing the way how to store and use the evcc password from a separate file.\n\n## Want to report an issue?\n\nPlease use the [GitHub Issues](https://github.com/marq24/ha-evcc/issues) for reporting any issues you encounter with this integration. Please be so kind before creating a new issues, check the closed ones if your problem has been already reported (\u0026 solved).\n\nTo speed up the support process, you might like to already prepare and provide DEBUG log output. In the case of a technical issue, I would need this DEBUG log output to be able to help/fix the issue. There is a short [tutorial/guide 'How to provide DEBUG log' here](https://github.com/marq24/ha-senec-v3/blob/main/docs/HA_DEBUG.md) — please take the time to quickly go through it.\n\nFor this integration, you need to add:\n```\nlogger:\n  default: warning\n  logs:\n    custom_components.evcc_intg: debug\n```\n\n---\n\n###### Advertisement / Werbung - alternative way to support me\n\n### Switch to Tibber!\n\nBe smart switch to Tibber - that's what I did in october 2023. If you want to join Tibber (become a customer), you might want to use my personal invitation link. When you use this link, Tibber will grant you and me a bonus of 50,-€ for each of us. This bonus then can be used in the Tibber store (not for your power bill) — e.g. to buy a Tibber Bridge. If you are already a Tibber customer and have not used an invitation link yet, you can also enter one afterward in the Tibber App (up to 14 days). [[see official Tibber support article](https://support.tibber.com/en/articles/4601431-tibber-referral-bonus#h_ae8df266c0)]\n\nPlease consider [using my personal Tibber invitation link to join Tibber today](https://invite.tibber.com/6o0kqvzf) or Enter the following code: 6o0kqvzf (six, oscar, zero, kilo, quebec, victor, zulu, foxtrot) afterward in the Tibber App - TIA!\n\n---\n\n### References\n\n- https://github.com/evcc-io/evcc\n- https://docs.evcc.io/docs/reference/api\n\n\n[hacs]: https://hacs.xyz\n[hacsbadge]: https://img.shields.io/badge/HACS-Default-blue?style=for-the-badge\u0026logo=homeassistantcommunitystore\u0026logoColor=ccc\n\n[ghs]: https://github.com/sponsors/marq24\n[ghsbadge]: https://img.shields.io/github/sponsors/marq24?style=for-the-badge\u0026logo=github\u0026logoColor=ccc\u0026link=https%3A%2F%2Fgithub.com%2Fsponsors%2Fmarq24\u0026label=Sponsors\n\n[buymecoffee]: https://www.buymeacoffee.com/marquardt24\n[buymecoffeebadge]: https://img.shields.io/badge/buy%20me%20a-coffee-blue.svg?style=for-the-badge\u0026logo=buymeacoffee\u0026logoColor=ccc\n\n[buymecoffee2]: https://buymeacoffee.com/marquardt24/membership\n[buymecoffeebadge2]: https://img.shields.io/badge/coffee-subs-blue.svg?style=for-the-badge\u0026logo=buymeacoffee\u0026logoColor=ccc\n\n[paypal]: https://paypal.me/marq24\n[paypalbadge]: https://img.shields.io/badge/paypal-me-blue.svg?style=for-the-badge\u0026logo=paypal\u0026logoColor=ccc\n\n[wero]: https://share.weropay.eu/p/1/c/6O371wjUW5\n[werobadge]: https://img.shields.io/badge/_wero-me_-blue.svg?style=for-the-badge\u0026logo=data:image/svg%2bxml;base64,PHN2ZwogICByb2xlPSJpbWciCiAgIHZpZXdCb3g9IjAgMCA0Mi4wNDY1MDEgNDAuODg2NyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgo+CiAgPGcKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcDApIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01Ny4zODE4KSI+CiAgICA8cGF0aAogICAgICAgZD0ibSA3OC40MDUxLDMwLjM1NzQgYyAwLDAgLTAuMDE4NSwwIC0wLjAyNzgsMCAtNC4zMTg0LDAgLTcuMzQ2MiwtMi41NzY5IC04LjY0NjEsLTUuOTg4NyBIIDk5LjA2OTggQyA5OS4zMDU3LDIzLjA4NDkgOTkuNDI4MywyMS43NzExIDk5LjQyODMsMjAuNDQxIDk5LjQyODMsOS43NTY3MyA5MS43Mzc1LDAuMDEzODc4NyA3OC40MDUxLDAgdiAxMC41MjcgYyA0LjM0MzksMC4wMTE2IDcuMzQxNiwyLjU4MzcgOC42Mjc2LDUuOTg4NyBoIC0yOS4yOTcgYyAtMC4yMzM2LDEuMjgzNyAtMC4zNTM5LDIuNTk3NiAtMC4zNTM5LDMuOTI3NiAwLDEwLjY5MTMgNy43MDAyLDIwLjQ0MzQgMjAuOTk1NSwyMC40NDM0IDAuMDA5MywwIDAuMDE4NSwwIDAuMDI3OCwwIHYgLTEwLjUyNyB6IgogICAgICAgZmlsbD0iI0NDQ0NDQyIvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gNzguMzc3NCw0MC44ODQ0IGMgMC40NTEsMCAwLjg5NTEsLTAuMDEzOSAxLjMzNDYsLTAuMDM0NyAyLjcwMTcsLTAuMTM2NSA1LjE1MzUsLTAuNjgwMSA3LjMzOTMsLTEuNTU2NyAyLjE4NTgsLTAuODc2NyA0LjEwNTcsLTIuMDgxOCA1LjczODcsLTMuNTM5MSAxLjYzMywtMS40NTczIDIuOTgxNSwtMy4xNjQzIDQuMDI3LC01LjA0NDkgMC45NTA2LC0xLjcwOTQgMS42NDQ1LC0zLjU1OTkgMi4wNzk0LC01LjQ5MTMgSCA4Ni42NzIgYyAtMC4yNDk4LDAuNTE1OCAtMC41NDEzLDEuMDA4NSAtMC44NzQ0LDEuNDY4OCAtMC40NTU2LDAuNjI5MSAtMC45ODk5LDEuMjAwNSAtMS41OTYsMS42OTMyIC0wLjYwNiwwLjQ5MjcgLTEuMjg2LDAuOTA5IC0yLjAzNTQsMS4yMzA2IC0wLjc0OTUsMC4zMjE1IC0xLjU2NiwwLjU0ODIgLTIuNDQ5NSwwLjY2MTUgLTAuNDMwMywwLjA1NTUgLTAuODc0NCwwLjA4NzkgLTEuMzM0NywwLjA4NzkgLTIuNzUwMiwwIC00Ljk3NzYsLTEuMDQ3OCAtNi41NjY3LC0yLjY4NzggbCAtNy45NDc2LDcuOTQ3OCBjIDMuNTM2NiwzLjIyOTIgOC40NDI2LDUuMjY0NyAxNC41MTY2LDUuMjY0NyB6IgogICAgICAgZmlsbD0idXJsKCNwYWludDApIgogICAgICAgc3R5bGU9ImZpbGw6dXJsKCNwYWludDApIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gNzguMzc3NywwIEMgNjcuMTAxNiwwIDU5Ljg1MDIsNy4wMTMzNyA1Ny45MDcyLDE1LjY2OTEgSCA3MC4wOTcgYyAxLjQ1NzIsLTIuOTgxNyA0LjMyNzcsLTUuMTQyMSA4LjI4MDcsLTUuMTQyMSAzLjE1MDMsMCA1LjU5NTIsMS4zNDYyIDcuMTkzNSwzLjM4MTggTCA5My41OTA1LDUuODg5MiBDIDkwLjAwNzYsMi4zMDE1NSA4NC44NTY1LDAuMDAyMzEzMTIgNzguMzc1MywwLjAwMjMxMzEyIFoiCiAgICAgICBmaWxsPSJ1cmwoI3BhaW50MSkiCiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI3BhaW50MSkiIC8+CiAgPC9nPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0icGFpbnQwIgogICAgICAgeDE9IjkyLjc0MzY5OCIKICAgICAgIHkxPSIxOC4wMjYxOTkiCiAgICAgICB4Mj0iNzQuNzU0NTAxIgogICAgICAgeTI9IjQwLjMxMDIiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4wMiIKICAgICAgICAgc3RvcC1jb2xvcj0iI0NDQ0NDQyIKICAgICAgICAgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4zOSIKICAgICAgICAgc3RvcC1jb2xvcj0iI0NDQ0NDQyIKICAgICAgICAgc3RvcC1vcGFjaXR5PSIwLjY2Ii8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC42OCIKICAgICAgICAgc3RvcC1jb2xvcj0iI0NDQ0NDQyIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9InBhaW50MSIKICAgICAgIHgxPSI2MS4yNzA0MDEiCiAgICAgICB5MT0iMjMuMDE3Nzk5IgogICAgICAgeDI9Ijc5Ljc1NDUwMSIKICAgICAgIHkyPSI0LjUzNDI5OTkiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4wMiIKICAgICAgICAgc3RvcC1jb2xvcj0iI0NDQ0NDQyIKICAgICAgICAgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4zOSIKICAgICAgICAgc3RvcC1jb2xvcj0iI0NDQ0NDQyIKICAgICAgICAgc3RvcC1vcGFjaXR5PSIwLjY2Ii8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC42OCIKICAgICAgICAgc3RvcC1jb2xvcj0iI0NDQ0NDQyIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXAwIj4KICAgICAgPHJlY3QKICAgICAgICAgd2lkdGg9IjE3Ny45MSIKICAgICAgICAgaGVpZ2h0PSI0MSIKICAgICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgICAgeD0iMCIKICAgICAgICAgeT0iMCIgLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgo8L3N2Zz4=\n\n[revolut]: https://revolut.me/marq24\n[revolutbadge]: https://img.shields.io/badge/_revolut-me_-blue.svg?style=for-the-badge\u0026logo=revolut\u0026logoColor=ccc\n\n[hainstall]: https://my.home-assistant.io/redirect/config_flow_start/?domain=evcc_intg\n[hainstallbadge]: https://img.shields.io/badge/dynamic/json?style=for-the-badge\u0026logo=home-assistant\u0026logoColor=ccc\u0026label=usage\u0026suffix=%20installs\u0026cacheSeconds=15600\u0026url=https://analytics.home-assistant.io/custom_integrations.json\u0026query=$.evcc_intg.total\n","funding_links":["https://github.com/sponsors/marq24","https://buymeacoffee.com/marquardt24","https://revolut.me/marq24","https://paypal.me/marq24","https://www.buymeacoffee.com/marquardt24","https://buymeacoffee.com/marquardt24/membership"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["charger","eebus","emobility","ocpp","semp","sunspec","battery","solar"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/346332","html_url":"https://ost.ecosyste.ms/projects/346332"}