﻿# Installation – Shelly Firmware Manager v1.3.2

Diese Anleitung gilt für ein ESP32-C6-Board mit 4 MB Flash und die mit
diesem Release gelieferte Partitionstabelle. Boardrevision und Flashgröße
vor dem Flashen prüfen. Die Firmware ist ein Prototyp und nicht
hardwarezertifiziert.

## Prüfsummen prüfen

In PowerShell im Verzeichnis dieser Anleitung:

```powershell
Get-FileHash -Algorithm SHA256 .\bootloader.bin
Get-FileHash -Algorithm SHA256 .\partitions.bin
Get-FileHash -Algorithm SHA256 .\firmware.bin
```

Die ausgegebenen SHA-256-Werte mit den Einträgen in `SHA256SUMS.txt`
vergleichen. Nur unveränderte Artefakte installieren.

## Erstinstallation auf einem frischen ESP32-C6 (USB)

1. `esptool` in der dokumentierten Version installieren, falls es noch
   nicht verfügbar ist:

   ```powershell
   python -m pip install esptool==4.8.9
   ```

2. Board per USB anschließen und den COM-Port im Windows-Gerätemanager
   ermitteln. `COMx` im folgenden Befehl durch diesen Port ersetzen.
3. Das Board in den ROM-Bootloader versetzen, falls der Upload nicht
   automatisch startet. Bei vielen Boards: BOOT gedrückt halten, RESET
   kurz drücken und BOOT beim Start des Befehls loslassen.
4. Im Verzeichnis dieser Anleitung ausführen:

   ```powershell
   python -m esptool --chip esp32c6 --port COMx write_flash 0x0 .\bootloader.bin 0x8000 .\partitions.bin 0x10000 .\firmware.bin
   ```

5. Nach dem Neustart mit dem WLAN `FirmwareManager` verbinden
   (Passwort `12345678`), `http://192.168.4.1/` öffnen und die
   WLAN- sowie Manager-Zugangsdaten einrichten. Danach ist das Dashboard
   unter der vom Router vergebenen IP-Adresse erreichbar.

Es wird kein vollständiges Löschen des Flashs ausgeführt. Die
Flashadressen und Partitionstabelle sind für die konfigurierte
4-MB-ESP32-C6-Konfiguration vorgesehen.

## Firmwareupdate per OTA

OTA setzt voraus, dass der Manager bereits läuft und vom Browser im selben
vertrauenswürdigen lokalen Netzwerk erreichbar ist.

1. Prüfsumme von `firmware.bin` wie oben beschrieben prüfen.
2. Im Browser `http://<IP-Adresse-des-Managers>/update` öffnen und mit
   den Manager-Zugangsdaten anmelden.
3. `firmware.bin` aus diesem Release auswählen und den Upload starten.
   Nur `firmware.bin` verwenden, nicht `bootloader.bin` oder
   `partitions.bin`.
4. Die Erfolgsmeldung abwarten; der ESP32 startet anschließend neu.

Der OTA-Upload schreibt den inaktiven App-Slot und erhält die
LittleFS-Konfiguration. Das Firmware-Image muss in den OTA-App-Slot der
Partitionstabelle passen (1,75 MiB).

## Firmwareupdate per USB

1. `firmware.bin` prüfen und den COM-Port des Boards ermitteln.
2. Board bei Bedarf wie oben beschrieben in den ROM-Bootloader versetzen.
3. Im Verzeichnis dieser Anleitung nur die Firmwarepartition aktualisieren:

   ```powershell
   python -m esptool --chip esp32c6 --port COMx write_flash 0x10000 .\firmware.bin
   ```

Bootloader und Partitionstabelle werden dabei nicht neu geschrieben;
LittleFS mit Konfiguration und Gerätedaten bleibt erhalten. Diese Methode
setzt voraus, dass auf dem Board bereits die zu diesem Release passende
Partitionstabelle installiert ist. Für eine Erstinstallation stattdessen
die vollständigen Schritte oben ausführen.

## Sicherheitshinweis

Die Weboberfläche und der OTA-Upload verwenden in dieser Firmware
unverschlüsseltes HTTP. OTA nur in einem vertrauenswürdigen lokalen Netz
verwenden. Zugangsdaten nicht wiederverwenden.