# Windows

> Installiere evcc unter Windows von Hand, starte es über die Eingabeaufforderung oder als Hintergrunddienst und spiele später Updates oder eine ältere Version ein.

Hier findest du Anweisungen für die manuelle Installation von evcc auf Windows.

> **Achtung**
>
> Diese manuelle Installation erfordert fortgeschrittene PC Kenntnisse, vor allem auch im Umgang mit einem Terminal/Eingabeaufforderung.
>
> Es ist auch möglich evcc auf Windows zu installieren. Allerdings wird evcc typischerweise in einer Linux-Umgebung (z.B. Raspberry Pi) verwendet.

## Erstinstallation

1. ### Installieren

   Lade die passende Datei für dein System herunter und entpacke sie (z. B. per Doppelklick):

   * 64-Bit Intel CPU: [evcc\_X.XX\_windows\_amd64.zip](https://github.com/evcc-io/evcc/releases/latest)

   Öffne ein Terminal/Eingabeaufforderung im entpackten Ordner und prüfe die Installation:

   ```sh
   evcc -v
   ```

   Du solltest nun die aktuelle Version von evcc sehen (z. B. `evcc version 0.xxx.y`).

2. ### Starten

   ```sh
   ./evcc
   ```

3. ### Einrichten

   Öffne die evcc Oberfläche in deinem Browser: <http://localhost:7070>. Vergib ein Administrator-Passwort und richte deine Geräte direkt über die Weboberfläche ein.

## Konfigurationsdatei (alternativ)

Alternativ zur Weboberfläche kannst du eine `evcc.yaml` Konfigurationsdatei verwenden. Details zur Erstellung findest du unter [Einrichtung](/de/installation/configuration).

Starte evcc mit:

```sh
./evcc -c evcc.yaml
```

## Aktualisierung/Downgrade

Führe die obigen Schritte aus und ersetze die evcc Programmdatei mit der neuen bzw. vorherigen Version. Die Konfiguration muss nicht erneut durchgeführt werden.

## Hintergrunddienst

### Aufgabenplanung

> **Hinweis**
>
> Diese Dokumentation geht davon aus, dass evcc in `c:\evcc` liegt.
>
> Diese Anweisungen wurden mit Windows 10 erstellt.

* Beginne in der Suchleiste von Windows 10 mit der Eingabe des Wortes `Aufgabenplanung`. Bereits nach wenigen Buchstaben sollte diese als Treffer mit der höchsten Übereinstimmung angezeigt werden und kann auf der rechten Seite mit `Als Administrator ausführen` gestartet werden:

![Windows 10 Aufgabenplanung](/_astro/win10-srv-1.BQfo4Mab_Z1atspj.webp)

* Nach dem Start der Aufgabenplanung obliegt es dir, ob du den neuen Service in einem eigenen Ordner oder der allgemeinen Aufgabenplanungsbibliothek anlegst. Für dieses Beispiel wird ein eigener Ordner `evcc` angelegt. Hierzu muss zunächst der Ordner „Aufgabenplanungsbibliothek” angewählt werden, um dann mit der rechten Maustaste das Kontextmenü zu öffnen. Hier wählst du `Neuer Ordner` und benennst diesen evcc:

![Aufgabenplanungsbibliothek](/_astro/win10-srv-2.BvLQnUHf_1Pz5ad.webp)

* Nun wählst du den neuen Ordner `evcc` oder die allgemeine Aufgabenplanungsbibliothek aus und öffnest erneut mit der rechten Maustaste das Kontextmenü. Dort wählst du `Aufgabe erstellen`:

![Neue Aufgabe erstellen](/_astro/win10-srv-3.Bem2aFTu_1pt2Xc.webp)

* Als Name `evcc` und zur besseren Zuordnung sollte eine kurze Beschreibung mit angegeben werden. Da du den Service als Systemdienst laufen lässt, öffnest du die Userverwaltung über „Benutzer oder Gruppe ändern” und tippst dort `system`. Nach einem Klick auf `User überprüfen` sollte der Account angezeigt werden und der Dialog kann mit OK geschlossen werden:

![Allgemein](/_astro/win10-srv-4.ZgX5SuZj_Z1mM5I1.webp) ![Systemnutzer setzen](/_astro/win10-srv-5.CBq4gGTQ_Z1G9HJx.webp)

* Einstellungen des Reiters `Trigger`: Aufgabe starten ändern auf „Beim Start” und prüfen, dass die Aufgabe aktiviert ist:

![Trigger](/_astro/win10-srv-6.BgO8lYz7_LBtTp.webp)

* Einstellungen des Reiters `Aktionen`: „Programm starten” belassen und über Durchsuchen die Datei `evcc.exe` auswählen. Es empfiehlt sich den Pfad zusätzlich in `Starten in` anzugeben, somit wird die dort abgelegte Konfigurationsdatei direkt gefunden:

![Aktionen](/_astro/win10-srv-7.Cg2QVdnZ_VTO1.webp)

* Einstellungen des Reiters `Bedingungen`: Diese Einstellungen können im Default belassen werden.

  > **Hinweis**
  >
  > Da z. B. der SMA Home Manager über WLAN Probleme bereiten kann, sollte optional der Haken bei `Netzwerk` gesetzt und eine entsprechende Verbindung ausgewählt werden.

![Bedingungen](/_astro/win10-srv-8.Cq78wnDy_v434y.webp)

* Einstellungen des Reiters `Einstellungen`: Den Haken bei `Aufgabe so schnell wie möglich ...` setzen. Unbedingt den Haken bei `Aufgabe beenden, falls Ausführung länger als:` entfernen, sonst wunderst du dich, dass evcc auf einmal nicht mehr läuft.

![Einstellungen](/_astro/win10-srv-9.BE4tMRSZ_2cT7c1.webp)

Die Aufgabe kann nun manuell gestartet oder über einen Reboot getestet werden. Zur Kontrolle mit dem Browser auf `http://localhost:7070` zugreifen.

### NSSM

> **Hinweis**
>
> Diese Dokumentation geht davon aus, dass evcc in `c:\Tools\evcc` liegt.
>
> Diese Anweisungen wurden mit Windows 11 erstellt.

Als Alternative zur Aufgabenplanung kannst du evcc als Windows Dienst betreiben. Ein Dienst läuft ohne Benutzeranmeldung und bietet bessere Steuerungsmöglichkeiten für Neustart und Fehlerbehandlung.

Da evcc die Windows-Service-Schnittstelle nicht direkt unterstützt, kann [*nssm*](https://nssm.cc/download) (*Non-Sucking Service Manager*) als Service Wrapper verwendet werden.

* Lade *nssm* von [nssm.cc](https://nssm.cc/download) herunter und entpacke die ZIP-Datei nach `C:\Tools\nssm\`.

* Öffne eine Eingabeaufforderung (`cmd.exe`) und wechsle in den `win64`-Ordner:

  ```sh
  cd /D C:\Tools\nssm\nssm-2.24\win64
  ```

* Installiere den Dienst:

  ```sh
  nssm install evcc
  ```

* Gehe die Reiter des Dialogs durch. Die folgenden Einstellungen sind Empfehlungen.

  * **Application**:

    ![Application](/_astro/win11-nssm_01_Application.B5NNs8Ig_Z2vddbC.webp)

    * *Path*: Pfad zur `evcc.exe`.
    * *Start directory*: Arbeitsverzeichnis für evcc.
    * *Arguments*: Parameter für evcc, z. B. `-c evcc.yaml`. Optional: `--database evcc.db` um den Datenbankpfad explizit zu setzen. Ohne diese Option liegt die Datenbank im Benutzerprofil des ausführenden Accounts. Beim *System*-Account wäre das `%SystemRoot%\system32\config\systemprofile\.evcc\evcc.db` — ein anderer Ort als bei interaktivem Start. Mit `--database` stellst du sicher, dass immer dieselbe Datenbank verwendet wird. Das ist relevant beim [Passwort zurücksetzen](/de/faq#password-reset).

  * **Details**:

    ![Details](/_astro/win11-nssm_02_Details.DtC1Cmo2_Z1ORQrT.webp)

    * *Display Name*: Name des Dienstes in der Diensteverwaltung (am besten identisch mit *Service Name*).
    * *Startup type*: *Automatic* für Autostart beim Booten.

  * **Log on**:

    ![Log on](/_astro/win11-nssm_03_Log_on.BFHa8030_1sHwsA.webp)

    Standard: Dienst läuft unter dem *System*-Account. Details: [nssm-Dokumentation](https://nssm.cc/usage).

    Der hier gewählte Account bestimmt, wo evcc seine Datenbank `evcc.db` anlegt (siehe *Arguments* oben).

  * **Dependencies**:

    ![Dependencies](/_astro/win11-nssm_04_Dependencies.BZrv15OJ_Z1rxi6E.webp)

    `NlaSvc` als Abhängigkeit stellt sicher, dass das Netzwerk bereit ist, bevor evcc startet.

  * **Process**:

    ![Process](/_astro/win11-nssm_05_Process.BGFb9C9K_Z2Cazf.webp)

    Standardeinstellungen beibehalten.

  * **Shutdown**:

    ![Shutdown](/_astro/win11-nssm_06_Shutdown.o0dl9I5C_2urfKg.webp)

    Standardeinstellungen beibehalten. nssm versucht evcc zuerst per `Strg`+`C` zu stoppen, dann per `WM_CLOSE`/`WM_QUIT`, und beendet den Prozess notfalls nach Timeout.

  * **Exit actions**:

    ![Exit actions](/_astro/win11-nssm_07_Exit_actions.BdjMC2_w_Z2g6OYu.webp)

    Empfehlung: *Restart application* mit 10 Sekunden Verzögerung, damit evcc nach einem Absturz oder Neustart über die Weboberfläche automatisch wieder startet.

  * **I/O**:

    ![I/O](/_astro/win11-nssm_08_IO.CIj1ZSPm_Z24gUn5.webp)

    Optional: `stdout` und `stderr` in Log-Dateien umleiten. Achte darauf, das Log-Level von evcc nicht zu hoch zu setzen, da die Dateien sonst schnell wachsen.

  * **File rotation**:

    ![File rotation](/_astro/win11-nssm_09_File_rotation.BcePxhBw_Ztiexw.webp)

    Optional: Log-Rotation aktivieren, um die Grösse der Log-Dateien zu begrenzen.

  * **Environment**:

    ![Environment](/_astro/win11-nssm_10_Environment.-IB738iJ_Z14MXDB.webp)

    Standardeinstellungen beibehalten.

Klicke auf *Install Service* um den Dienst einzurichten. Der Dienst kann anschliessend in der Windows-Diensteverwaltung gestartet und gestoppt werden. Zur Kontrolle mit dem Browser auf `http://localhost:7070` zugreifen.