# ESPHome-Device über eine lokale Python Umgebung in Windows installieren

#### Vorbereitung

<p class="callout info">Alles in der Eingabeaufforderung als Administrator ausführen!</p>

##### Für die Installation wird Git benötigt

```powershell
winget install --id Git.Git -e --source winget
```

##### Eine neue virtuele Umgebung für Python erstellen

```powershell
python -m venv "C:\Program Files\Python314\esphome"
```


##### Die virtuele Umgebung aktivieren

```powershell
"C:\Program Files\Python314\esphome\Scripts\activate.bat"
```

<p class="callout info">Die virtuelle Umgebung wird nun durch ein vorangestelltes (esphome) angezeigt.   
Alle weiteren Befehle erfolgen in der virtuellen Umgebung.</p>

##### PIP auf die neueste Version bringen

```powershell
python.exe -m pip install --upgrade pip
```

##### ESPHome in der virtuellen Umgebung installieren

```powershell
pip install esphome
```

##### Die yaml-Dateien des Projekts in den Ordner kopieren

[ESPHome WasserMeter Sensor (Beispieldateien)](https://funktioniert.org/books/esphome/page/esphome-wassermeter-sensor-beispieldateien "ESPHome WasserMeter Sensor (Beispiel)")

```powershell
cp c:\Users\User\Desktop\WaterMeter.yaml c:\Program Files\Python314\esphome\Scripts
cp c:\Users\User\Desktop\secret.yaml c:\Program Files\Python314\esphome\Scripts
```

<p class="callout info">Hier sind es zwei Dateien da die Informationen für das WLAN extra in der Datei secret.yaml stehen.</p>

##### Die Verbindungseinstellungen anzeigen

Bei gedrückter Boot-Taste den Espressif-Microcontroller an den USB-Port anstecken. Der Befehl **mode** zeigt dann den Gerätestatus mit den Verbindungseinstellungen.

```powershell
mode
```

<p class="callout info">Falls keine Verbindungseinstellungen angezeigt werden, ist das USB-Kabel ein reines Ladekabel.</p>


#### Die Programmierung durchführen

```powershell
(esphome) c:\Program Files\Python314\esphome\Scripts>esphome run WaterMeter.yaml --device COM3
```