SolarFlow Topic Mapper (SF1200) #
Deployment #
Quelle #
Die Anwendung wird als generisches app-template Helm-Chart von BJW-S Labs bereitgestellt. Das verwendete Docker-Image pyrox/solarflow-topic-mapper ist eine Eigenentwicklung und wird von git.zyria.de bezogen.
Dokumentation #
Der Quellcode für den Topic Mapper befindet sich im Git-Repository pyrox/solarflow-topic-mapper auf der internen Forgejo-Instanz.
Funktion #
Der Zendure SolarFlow sendet seine Daten über eine MQTT-Bridge an den lokalen Mosquitto-Broker. Die MQTT-Topics enthalten jedoch gerätespezifische IDs, was die Weiterverarbeitung (z.B. in Home Assistant) umständlich macht. Dieser Dienst abonniert die gerätespezifischen Topics, extrahiert die Daten und veröffentlicht sie unter neuen, sauberen und generischen Topics (z.B. solarflow/sf1200/power/solar anstatt iot/73bkTV/EYnQYD8V/properties/report). Dies vereinfacht die Integration in andere Systeme erheblich. Diese spezifische Instanz ist für das SF1200-System zuständig.
Lokale Anpassungen #
Die Konfiguration erfolgt über Umgebungsvariablen in der values.yaml-Datei.
Wichtige Umgebungsvariablen #
SF_PRODUCT_ID: Die Produkt-ID des SolarFlow-Geräts.SF_DEVICE_ID: Die eindeutige Geräte-ID des SolarFlow-Geräts.MQTT_HOST: Die Adresse des internen MQTT-Brokers.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/sf1200-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/sf1200 | kubectl apply -n sf1200 -f -
Abhängigkeiten #
- Ein laufender Kubernetes-Cluster.
- Ein zugänglicher MQTT-Broker (z.B. Mosquitto).
- Ein SolarFlow-Gerät mit den angegebenen Produkt- und Geräte-IDs.