Skip to main content

v0.124 - New Tesla Integration

· 6 min read
Michael Geers
Core-Team, UI

Banner with overview of new features

The days are getting longer and solar charging is starting to be fun again. A good time for a short update on the latest developments at evcc.

New Tesla Integration

In October Tesla introduced a new official API. In addition, they announced that the old, unofficial API will be shut down at the beginning of 2024.

What does this mean for me?

To use the new API, you need to make two adjustments to the evcc.yaml:

  1. New template name: Since the old API still works for some users today, we have decided to offer both implementations in parallel for the time being. Change the template name from tesla to tesla-command to use the new API.

  2. Generate new tokens: With the new API it is now possible to generate the required accessToken and refreshToken directly in the browser. For this we have provided a small website at tesla.evcc.io.

The configuration should then look like this:

vehicles:
- name: mytesla
type: template
template: tesla-command # change `tesla` to `tesla-command`
accessToken: ... # generetad by tesla.evcc.io
refreshToken: ... # generetad by tesla.evcc.io
...

The tokens generated via tesla.evcc.io can only be used with the official evcc builds (stable & nightly). The reason for this is that the tokens from Tesla's new Developer API are always bound to a 3rd-party app.

You can of course still build evcc yourself. However, you will need your own Tesla Developer Account and have to generate the tokens yourself. More details can be found in the corresponding Pull Request.

Privacy & Security

As with the old API, the communication for data retrieval (charge level, status, ...) and control (wake up) runs directly between your local evcc instance and the Tesla infrastructure. Only the token generation runs once via our website. Tokens are not stored, but only displayed to you in the browser.

For an extended control of the vehicle (start and stop charging directly at the vehicle) an additional signed request to Tesla is required. Today this affects the users of a Tesla Wall Connector. Since we cannot and may not pack our private 3rd party app key into the evcc binary, we will probably provide our own service for this application, which signs these requests and forwards them to Tesla. But more on that in a later release.

Costs

Tesla is currently offering the new API free of charge. However, they have already announced that they will charge fees for using the API in the future. Unfortunately, we do not yet know how open source friendly this model will be.

It's quite possible that we won't be able to offer token generation for free in the future. We may link it to the existing evcc sponsorship model. But more on that when there is new information from Tesla.

Active Battery Control

A big new feature that comes with the Christmas release is the active battery control. This function is no longer marked as experimental. In addition, some new supported battery inverters have been added in recent weeks. In the documentation you can now see if your inverter is supported.

Passive Control

Passive battery control has been available in evcc for some time now. Here evcc regulates the solar charging so that the house battery is not discharged unintentionally. Last year we introduced a configuration dialog where you can set the priority between vehicle and house battery charging. This model works very well for solar charging. evcc knows the current state of charge of the house battery and only regulates the charging power of the vehicle. However, this mechanism does not work for fast charging. An active battery control is required for this.

Prevent discharge during fast charging

By default, the house battery tries to cover the entire energy consumption of the house (including charging stations). Depending on the current electricity price or expected PV generation, however, it may be desirable to obtain the energy for fast vehicle charging directly from the grid and not from the house battery. This way the collected solar energy remains in the house battery and can be used for the house consumption at night, for example.

This is our first use case for active battery control. If your inverter supports this feature, a corresponding option will appear in the battery settings dialog.

Battery control: Prevent battery discharge when fast charging

When this option is active, the house battery is put into a lock mode during fast charging. In this time it is neither discharged nor charged. This lock is also active during scheduled charging and smart grid charging.

Next step: Charging the battery with cheap grid power

The next stage of development for active battery control is the possibility to charge the house battery with cheap grid power. This is especially interesting for users of dynamic electricity tariffs on darker days. The goal here is to fill the house battery with energy from the grid during low price phases and then use this energy in-house during high price phases. We have already implemented the necessary hardware integrations. Therefore we expect this feature to be available in one of the next releases.

Update: Migration to browser configuration

evcc is a very flexible and powerful system for your own energy optimization. Our biggest challenge is still to combine this flexibility with an easy setup process. In the last months we have made great progress in the area of configuration. Our goal is to enable a pure browser-based commissioning, without evcc.yaml.

If you have activated the option "Show experimental UI features" in the settings dialog, you can see our current development progress under "🧪 Device Configuration". Currently you can add and edit vehicles, grid meters, PV and battery systems there. Charging stations and tariffs will follow in the next iteration. Even though this is still a "work in progress", we look forward to your feedback.

Device configuration

Small improvements and bug fixes

As always, this release also contains a number of smaller improvements and bug fixes. For more details, have a look at the Release Notes.

All the best
your evcc core team

Feature Highlights 10/2023

· 7 min read
Michael Geers
Core-Team, UI

Since the last blog post, a lot has happened. We have added many new features and fixed some bugs. In this article we will highlight some of the new features.

Charging planner visualization

The charging planner has been around for a while at evcc. You specify when your vehicle should have a desired state of charge and evcc finds the best time slots. Since a few releases the algorithm is no longer a black box, as we visualize the planning result.

How does the algorithm work?

  1. Surplus solar energy is prioritized
  2. Times with cheap grid electricity (if dynamic electricity tariff exists)
  3. Times with clean grid electricity (if CO₂ interface is configured)
  4. Time windows shortly before departure

Outlook: We are currently experimenting with PV forecast data from Solcast. This allows the algorithm to make even better decisions. For example, if the charging target is during the day, it may make sense not to charge the vehicle completely with cheap night-time electricity, but to leave room for surplus energy during the day.

UI adjustable minimum charge

The minimum charge function has been around at evcc for ages. It is helpful if you come home with only a few percent and want to make sure you always have enough range for an unexpected event.

Until now, it could only be set via the configuration file or via API. Now you can also do this via the UI under Plan > Arrival > Min. charge %.

The settings are stored per vehicle and are retained even after a restart or update.

Smart grid charging

When your own PV surplus is not enough, you can also use grid electricity when it is particularly cheap or clean. If you click on the grid electricity price or CO₂ emissions in the energy flow diagram, the Smart Grid Charging dialog opens.

There you can set a threshold for the price or CO₂ emissions. If this value is exceeded, evcc temporarily all PV mode loadpoints to fast charging.

Prerequisite for this function is that you have configured either a dynamic electricity price or a CO₂ integration.

Another small enhancement is that with most dynamic electricity prices you now have the option to correct the price values from the API with percentage or fixed charges (charges / tax). Tibber and Octopus Energy (UK) already provide values including charges. With Awattar, Nordpool Estonia and Energinet you can now add these.

By the way: If you have a dynamic electricity tariff that is not yet supported, but offers an API, please open a GitHub issue.

Battery settings

A huge advantage that evcc has over other surplus charging solutions is the integration with the home battery. The configuration value prioritySoc can be used to control whether surplus solar energy should be charged into the home battery or the vehicle first.

In general, evcc tries to prevent the home battery from being unloaded into the vehicle battery in PV mode in order to avoid unnecessary conversion losses. However, with the value bufferSoc you can consciously dedicate a portion of the home battery to support charging.

You can also set the charging process to start automatically as soon as the battery has reached a certain state of charge (bufferStartSoc). The automatic charging starts even if the sun is not shining.

Solar %, price, CO₂ per charging session

We also have something for the friends of data analysis. We now record the share of own solar energy (in %), the price (total and per kWh), the charging time and the average CO₂ emissions per charging session. You can switch between these values directly at the charging session.

New calculation of solar share

If you have noticed that the share of solar energy has decreased slightly since one of the last versions, this is due to our new calculation. Until now, evcc has always distributed the ratio of grid and own energy evenly between house consumption and charging sessions.

We have now switched to a new model in which the house consumption first gets the green electricity and the remaining mix goes to the charging sessions. Thanks to @MarkusGH for the implementation. You can find more details about the model in the documentation.

New calculation

Charging sessions overview

The new values have of course also found their way into the overview of the charging sessions. Depending on the configuration, prices and CO₂ emissions can now also be seen here. In addition, we have completely redesigned the display and chosen a compact table display on a monthly basis. It can be filtered by charging point and vehicle.

If you need even more flexibility here, you can of course also use the CSV export or get the raw data directly via InfluxDB or MQTT.

Prioritization of charging points and vehicles

If you have multiple charging points, you can use the priority setting to specify which one should be preferred. You can also make the prioritization dependent on the detected vehicle or control it via API. There is currently no configuration via the UI.

The prioritization function is also helpful if you use evcc to control other consumers, for example a heating rod or heat pump connected via the plugin interface. This way you can control them so that they only run when the car is not charging (enough).

What's next?

Our backlog is well filled. These are the next big topics we want to tackle:

Config UI: All prerequisites are now met. Currently, vehicles can already be created in 🧪 experimental mode and the jump to network, PV or battery configuration is not far away. There is still a lot to do here, but the light at the end of the tunnel is visible.

Better planning: As mentioned above, we are working on integrating good PV forecasts into the planning algorithm and the UI. We also have a concept for supporting multiple charging plans.

Mode revision: evcc started as an application for PV surplus charging. In the meantime, the interaction with the home battery is also playing a major role. The topic of grid-friendly charging based on dynamic electricity tariffs or CO₂ emissions is also gaining momentum. Therefore, we will revise our charging modes (currently PV and Min+PV) and create more flexibility here.

Further new features

This was a flyover at high level and from an end user perspective. Of course, there is also a lot of work going on under the hood.

  • 🔌 Support for additional chargers from 22 new manufacturers
  • 🌞🔋📟 Support for meter, PV and battery systems from 36 new manufacturers
  • 🇬🇧 Website and documentation in English language. Thanks duckfullstop & carygravel 💚

If you want even more details, you are welcome to go through the release notes of the last 49(!) releases since the beginning of the year.

Thanks for your support of evcc!
evcc Core Team
@andig, @premultiply and @naltatis

evcc auf dem 19. Linux Infotag

· One min read
Michael Geers
Core-Team, UI

19. Linux Infotag Banner

Ende April fand, nach einer langen Coronapause, der 19. Linux Infotag statt. Der Infotag ist eine Open-Source-Community-Veranstaltung, die von der Linux User Group Augsburg e.V. (LUGA) organisiert wird.

Video-Aufzeichnung ist jetzt verfügbar

Neben vielen anderen spannenden Themen hatten wir dieses Jahr die Möglichkeit unser Projekt vorzustellen. Inzwischen ist auch die Video-Aufzeichnung verfügbar.

YouTube Screenshot

YouTube: Open Source Sonne tanken - Wallboxen mit evcc smarter machen

Neben der allgemeinen Einführung in das Thema E-Autos mit eigenem Sonnenstrom laden ging es auch um smartes Netzladen und ich habe Einblicke in den Entwicklungsprozess und unser Finanzierungsmodell gegeben. Schau also gerne mal rein.

Die Folien zum Talk findet ihr auf Speaker Deck. 👇

Miniaturansicht der Folien

Version 0.111

· 3 min read
Michael Geers
Core-Team, UI

evcc v0.111

Pünktlich am 11.1. haben wir mit dem Release 0.111 wieder einige neue Funktionen am Start die wir euch hier kurz vorstellen möchten.

🧞‍♂️ Neuer Ladeplaner: Erneuerbaren Netzstrom nutzen

Die Zielladenfunktion gibt es in evcc schon seit einiger Zeit. Damit kannst du eine Zielzeit definieren zu der das verbundene Fahrzeug einen bestimmten Ladestand erreichen soll. Die Funktion ist bspw. praktisch um den Wagen vor längeren Fahrten pünktlich zur Abfahrt aufzuladen.

Zielladen

Die bisherige Ladestrategie war relativ simpel: Die Ladung wird möglichst spät gestartet, sodass der Akku pünktlich zur Abfahrt den gewünschten Stand erreicht hat. Das schont den Akku da er nicht lange auf hohen Ladeständen geparkt wird.

Mit diesem Release wird der Ladeplaner intelligenter und bezieht dynamische Energiepreise und CO₂-Daten mit ein. Damit wird die Ladung auf Zeitfenster geplant in denen besonders viel erneuerbarer Strom im Netz ist. Das spart Geld, entlastet das Stromnetz und reduziert den Bedarf an fossilien Energieträgern.

📈 Börsenpreise mit awattar und Tibber

Die stundenabhängigen Tarife von awattar und Tibber haben wir schon länger angebunden. Bislang hatten wir aber nur eine einfache Steuerung, die das Laden unter einem vorher zu konfigurierenden Strompreis freigibt (cheap).

Jetzt werden die stündlichen Preise auch in der Ladeplanung verwendet und das Auto lädt dann wenn der Netzstrom besonders günstig ist.

Konfiguration für awattar

tariffs:
grid:
type: awattar
region: de # or at

Konfiguration für Tibber

tariffs:
grid:
type: tibber
token: "476...963a4" # access token

📊 Manuelle Zeittarife

Es ist nun auch möglich Zeittarife zu hinterlegen. Hier eine Beispielkonfiguration für günstige Energie zu Nachtzeiten und noch günstigere Energie am Wochenende:

tariffs:
grid:
type: fixed
price: 0.294 # EUR/kWh
zones:
- days: Mo-Fr
hours: 2-5
price: 0.2 # EUR/kWh
- days: Sa,So
price: 0.15 # EUR/kWh

Auch diese Preisdaten fließen in den neuen Planungsalgorithmus mit ein.

🌱 CO₂-Daten von GrünStromIndex und ElectricityMap

Wer keinen dynamischen Stromtarif hat kann dennoch klimaschonen Laden. Dafür binden wir jetzt CO₂-Daten ein. Aktuell haben wir zwei Quellen implementiert. Wir sind aber offen für weitere Vorschläge.

GrünStromIndex liefert regionale Vorhersagen über die Sauberkeit des Netzstroms für Deutschland. Du musst lediglich deine Postleitzahl hinterlegen.

planner:
type: grünstromindex
zip: 12349

Electricity Map liefert weltweite Vorhersagen. Für die Nutzung in evcc benötigt Ihr ein Token und den URL Präfix. Diese Daten bekommst du mit dem kostenlosen Account im API portal.

planner:
type: electricitymaps
uri: https://api-access.electricitymaps.com/2w...1g/
token: Rp...D2
zone: DE

Ausblick

Für eines der nächsten Releases arbeiten wir an einer visuellen Aufbereitung des Ladeplans. Dann kannst du auch die vom Algorithmus errechneten Zeitfenster und die konkrete Kosten- oder CO₂ Ersparnis sehen.

Weitere neue Funktionen

Dieses Release enthält neben den üblichen kleinen Verbessungen und Bugfixes auch noch ein paar weitere neue Funktionen:

  • 🔋🪫 Bessere Unterstützung von mehreren Hausakkus #5598
  • 🌞 Unterstützung für FoxESS #5721
  • 🔌 Unterstützung für den Tesla Wall Connector 3 #5341
  • 🚙 Unterstützung für Volvo Fahrzeuge #5681
  • 🏳️‍🌈 Drei neue UI Sprachen

Danke für eure Unterstützung!
evcc Core Team
@andig, @premultiply und @naltatis

Sponsoring und Umzüge

· 5 min read
Michael Geers
Core-Team, UI

Es sind schon wieder siebzehn Releases seit unserem letzten Update hier im Blog vergangen. Wie immer ist eine Menge passiert. Einige Bugfixes, aber auch viele neue Integrationen und Funktionen sind dazu gekommen. Zu unseren Highlights der letzten Monate in einem späteren Blogartikel mehr.

🌱 Nachhaltige Open Source Entwicklung

evcc hat als kleines Hobbyprojekt angefangen, weil wir unzufrieden mit den bestehenden Lösungen für PV-Überschussladen waren und uns etwas Besseres bauen wollten. Inzwischen macht evcc aber nicht nur unser privates Sonnenladen leichter. Es gibt vermutlich mehrere tausend Installationen, die morgens das Auto wecken, sobald die Sonne auf die heimische PV-Anlage scheint. Der Gedanke macht uns sehr froh.

Genaue Zahlen über unsere Nutzerbasis haben wir nicht. Wir mögen Datensparsamkeit und haben daher auch keine Ambition ein allgemeines Tracking in unsere Webseite oder die Applikation einzubauen. Dennoch können wir anhand von Zahlen aus Docker (bisher >1 Mio. Pulls) und Cloudsmith (aktuell ~4.5k Paketdownloads pro Tag) ziemlich gut erkennen, dass sich Viele im Alltag auf evcc verlassen.

Damit wir das Projekt mit ausreichendem Fokus pflegen und weiterentwickeln können, ist nachhaltige Finanzierung ein wichtiges Thema. Hinter evcc steckt kein großes Unternehmen, kein Wallboxhersteller und wir haben auch keine Lust auf das Startupspiel mit Investoren. Aktuell ist evcc ein Projekt, was wir in unserer Freizeit vorantreiben. Wir sind überzeugt davon, dass es eine gute Idee ist, direkt für euch, die Nutzer zu arbeiten und unabhängig von anderen Verpflichtungen und Zwängen zu sein.

Mit GitHub's Sponsoring haben wir eine sehr leichtgewichtige und einfache Lösung gefunden, um finanzielle Unterstützung direkt von Nutzern entgegennehmen zu können. Zudem haben wir dadurch die Möglichkeit, einige Funktionen exklusiv für Sponsoren bereitzustellen. Momentan sind dies bestimmte Wallbox-Typen und die Telemetry Funktion, wir können uns aber durchaus vorstellen dieses Modell in Zukunft noch anzupassen.

💚 Danke an alle Sponsoren

Aktuell haben wir über 1.500 Sponsoren 🥳, die einen monatlichen Beitrag von mindestens $2 zahlen. Das ist ziemlich cool, ein großer Vertrauensbeweis und bestärkt uns darin weiter viel Zeit in das Projekt zu investieren.

Zusätzlich zum Sponsortoken um Funktionen freizuschalten schicken wir allen Unterstützern auch gerne Sticker. Damit könnt ihr Laptop, Raspberry, Wallbox oder euer Ladeequipment verschönern. Den Link zum Stickerformular findet ihr in der evcc UI unten rechts beim Klick auf das Sonnensymbol.

@evcc_io@Ein_Klimawender@frd9900
Tweet @evcc_ioTweet @Ein_KlimawenderTweet @frd9900
@ABBolle@rediculum@123aerox
GitHub @ABBolleGitHub @rediculumGitHub @123aerox

📮 Einmal-Sponsoring

Wir haben schon mehrfach das Feedback bekommen, dass Nutzer Bauchschmerzen mit monatlichen Zahlungen haben und sich eine Möglichkeit der Einmalzahlung wünschen, um ein Sponsortoken zu erhalten. Dies ist nun möglich. Auf der GitHub Sponsoring Seite gibt es jetzt neben den monatlichen auch One-time-Stufen. Folgende Preisstufen haben wir uns überlegt:

  • 🌱 $100 - Nachhaltige Entwicklung
    Du trägst dazu bei, dass wir auch zukünftig viel Energie in die Weiterentwicklung von evcc investieren können. Außerdem bekommst du ein unbefristetes Sponsortoken, mit dem du alle evcc Funktionen nutzen kannst.
  • ☀️ $150 - Friends & Family
    Du bekommst drei unbefristete Sponsortoken. Eins für dich und zwei weitere, die du an Freunde oder Familie weitergeben kannst. Du wirst als Sponsor auf evcc.io erwähnt.
  • 🚛 $1.000 - Multiplikator
    Für Elektriker und Solarteure. Du bekommst zehn unbefristete Sponsortoken, die du für deine Kundenprojekte einsetzen kannst.

Die Ausstellung für die unbefristeten Sponsortoken funktioniert genauso wie der aktuelle Prozess über sponsor.evcc.io. Einziger Unterschied ist, dass das Token nicht abläuft.

🎟️ Contributor-Token

Community-Mitglieder, die über GitHub PRs zu substanziell zu evcc beigetragen haben, können auch ein freies Token erhalten. Wir sind immer froh über Bugfixes, brauchen aber auch dringend Unterstützung im Bereich Dokumentation und Übersetzung.

Was genau eine substantielle Contribution ist, haben wir nicht klar geregelt. Einen Kommafehler rausmachen qualifiziert noch nicht, das Beheben eines fiesen Bugs reicht aber definitiv. Schreib uns einfach eine Mail an info@evcc.io mit Verweis auf deinen GitHub Nutzernamen.

🚚 GitHub Sponsoring zieht um

Aktuell läuft das GitHub Sponsoring über den Account von @andig, dem Gründer von evcc. Der Betrag, der nach Ausgaben (Infrastruktur, Sticker, ...) im Monat übrig bleibt, wird über einen Verteilungsschlüssel an alle drei Mitglieder vom Core-Team verteilt. Um diesen Prozess transparenter zu machen, ziehen wir unser GitHub Sponsoring jetzt auf die evcc-io Organisation um. Wenn ihr bereits Sponsor seid, müsst ihr nichts verändern. Euer Token läuft wie gewohnt weiter und auch der Beitrag findet den Weg an alle Teammitglieder. Wir haben aber alle Links zum Sponsoring auf die Organisation umgestellt. Einmalzahlungen gibt es auch nur dort.

Migration GitHub Sponsoring

🐳 Docker Image zieht um

Im gleichen Zug ziehen wir auch unsere Docker Images um. Bislang wurden die Pakete unter andig/evcc veröffentlicht. Nun findet ihr die offiziellen Versionen unter evcc/evcc.

An dieser Stelle noch einmal Danke an das Docker Team, die evcc als Docker-Sponsored Open-Source-Projekt qualifiziert haben. Dadurch bekommen wir kostenfreien Zugang zu Team-Funktionen von Docker Hub.

Migration Docker Hub


Danke für eure Unterstützung! evcc Core Team
@andig, @premultiply und @naltatis