OpenDTU #
Status #
Deployment #
Quelle #
Die Anwendung wird als generisches app-template Helm-Chart von BJW-S Labs bereitgestellt. Das verwendete Docker-Image ist ein benutzerdefiniertes Nginx-Image (pyrox/opendtu-nginx) von git.zyria.de.
Dokumentation #
Die Dokumentation für das OpenDTU-Projekt ist auf GitHub zu finden.
Funktion #
Dieser Dienst dient als Backend und Frontend für ein OpenDTU-Gerät. Ein OpenDTU (Data Transfer Unit) ist ein ESP32-basiertes Gerät, das drahtlos mit Hoymiles-Solarinvertern kommuniziert und deren Leistungsdaten ausliest. Diese Daten werden an diesen Dienst gesendet, der sie in einer MariaDB-Datenbank speichert. Eine Nginx-Weboberfläche visualisiert diese Daten und ermöglicht die Überwachung der Solarstromproduktion in Echtzeit.
Lokale Anpassungen #
Die Konfiguration erfolgt über die values.yaml-Datei.
Wichtige Einstellungen #
- Ingress: Der Zugriff auf die Weboberfläche wird über einen Ingress mit einem Hostnamen ermöglicht.
- Datenbank: Eine MariaDB-Datenbank läuft als Sidecar-Container zur Speicherung der Zeitreihendaten.
- Speicher: Die Datenbank wird persistent auf einem HostPath-Volume gespeichert.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/opendtu-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/opendtu | kubectl apply -n opendtu -f -
Abhängigkeiten #
- Ein laufender Kubernetes-Cluster.
- Ein konfigurierter Ingress-Controller (z.B. Traefik).
- Eine Zertifikatsmanagement-Lösung (z.B. cert-manager) zur Bereitstellung von TLS-Zertifikaten.
- Ein OpenDTU-Gerät, das unter der konfigurierten externen IP-Adresse läuft.