# Hardware API

## Bereich

Diese Datei dokumentiert MQTT-, Scale- und Firmware-Routen.

## MQTT Slot Routen

| Methode | Pfad | Zweck | Nutzung in UI |
| --- | --- | --- | --- |
| POST | `/api/mqtt/slot/write` | Slot-Daten an Hardware schreiben | Lager / Slots |
| POST | `/api/mqtt/slot/read` | Slot-Daten lesen | Lager / Slots |
| POST | `/api/mqtt/slot/blink` | Slot oder Zielposition optisch markieren | Lager / Pick-Workflows |

## Scale / ESP32 Routen

| Methode | Pfad | Zweck | Nutzung in UI |
| --- | --- | --- | --- |
| POST | `/api/scale/esp32/update` | Scale-Konfiguration oder Daten aktualisieren | Wiegen |
| POST | `/api/scale/esp32/calibrate` | Scale kalibrieren | Wiegen / Diagnose |
| POST | `/api/scale/esp32/status` | aktuellen Scale-Status abfragen | Wiegen |

## Firmware Routen

| Methode | Pfad | Zweck | Nutzung in UI |
| --- | --- | --- | --- |
| GET | `/api/firmware/esp32/boards` | verfügbare Boards laden | Firmware-Flasher |
| GET | `/api/firmware/esp32/diagnostics` | Firmware-Tool-Status laden | Firmware-Flasher |
| GET | `/api/firmware/esp32/files` | Firmware-Dateien auflisten | Firmware-Flasher |
| POST | `/api/firmware/esp32/build` | Firmware-Build starten | Firmware-Flasher |
| GET | `/api/firmware/esp32/build/status/{job_id}` | Build-Status prüfen | Firmware-Flasher |
| POST | `/api/firmware/esp32/tools/arduino-cli/install` | Arduino-CLI Installation starten | Firmware-Flasher |
| GET | `/api/firmware/esp32/tools/arduino-cli/install/status/{job_id}` | Installationsstatus prüfen | Firmware-Flasher |
| POST | `/api/firmware/esp32/flash/start` | Flash-Vorgang starten | Firmware-Flasher |
| GET | `/api/firmware/esp32/flash/status/{job_id}` | Flash-Status prüfen | Firmware-Flasher |

## Doku-Hinweis

Bei diesen Routen ist besonders wichtig:

- benötigte Hardwarevoraussetzungen
- welche Jobs asynchron laufen
- wie Fehler und Status im UI angezeigt werden


