Dein Wechselrichter, Speicher oder Zähler wird nicht direkt unterstützt? Dann führt MQTT zum Ziel: der herstellerunabhängige Weg, über den praktisch jede Anlage und jedes Gerät in SOLECTRUS landet.
MQTT braucht eine zentrale Sammelstelle, den MQTT-Broker. Der MQTT-Collector von SOLECTRUS verbindet sich mit ihm und abonniert gezielt die Werte, die du auswählst.
So funktioniert MQTT
MQTT ist ein etabliertes Protokoll aus der Welt des Internet of Things: schlank und in fast jedem Smart-Home-System zu Hause. Im Zentrum steht der MQTT-Broker, eine Art Vermittlungsstelle:
- Geräte veröffentlichen ihre Messwerte beim Broker, jeweils unter einem frei gewählten Namen, dem Topic (publish).
- Andere Teilnehmer abonnieren genau diese Topics und bekommen jeden neuen Wert zugestellt (subscribe).
Sender und Empfänger kennen sich nicht. Sie treffen sich nur über den Broker. Genau hier setzt der MQTT-Collector von SOLECTRUS an: Er ist ein solcher Abonnent.
Welcher Broker?
Der MQTT-Collector spricht mit jedem MQTT-Broker. Du bist also an keinen bestimmten gebunden. Am häufigsten ist der Broker schlicht Teil deines Smart-Home-Systems:
- Home Assistant bringt mit dem Mosquitto-Add-on einen Broker gleich mit.
- ioBroker kann über seinen MQTT-Adapter selbst als Broker dienen.
Sofern dein Smart-Home-System die Werte per MQTT bereitstellt, lassen sich auch Wechselrichter von Herstellern wie Kostal, Fronius, SMA, Sungrow, SolarEdge oder Growatt anbinden, und viele weitere. Die Marken sind nur Beispiele: Was dein Smart-Home-System einliest, lässt sich auch per MQTT weiterreichen.
Einen eigenständigen Broker richtest du nur in einem Fall ein: wenn ein Gerät von sich aus MQTT funkt (etwa ein ESP-Projekt wie ESPAltherma, ein Tasmota-Gerät oder mancher Zähler) und du kein Smart-Home-System betreibst, bei dem es seine Werte abladen könnte. Dann genügt ein schlanker Eclipse Mosquitto auf einem Raspberry Pi. Hängen deine Quellen nicht alle im selben Netzwerk, übernimmt ein gehosteter Dienst wie HiveMQ Cloud die Vermittlung.
Wichtig ist nur eins: dass Quelle und Collector denselben Broker erreichen.
Was sich übergeben lässt
Der MQTT-Collector empfängt beliebige Messwerte – du bestimmst, welche das sind:
- Erzeugung des Wechselrichters
- Werte des Stromspeichers
- jeder Zähler und jeder einzelne Verbraucher
- Betriebswerte von Geräten wie Wärmepumpe oder Wallbox
Der Collector ist flexibel genug für die unterschiedlichsten Quellen:
- JSON auslesen: Viele Geräte verpacken mehrere Werte in eine JSON-Nachricht. Der Collector pickt sich gezielt den richtigen heraus – auch aus verschachtelten Strukturen.
- Rechnen und umrechnen: Per Formel lassen sich Werte skalieren oder Einheiten anpassen, etwa von Watt auf Kilowatt oder von einem Rohwert auf die tatsächliche Leistung.
- Vorzeichen trennen: Ein einziges Topic kann auf zwei Messwerte aufgeteilt werden – zum Beispiel Netzbezug und Einspeisung aus einem Zähler, je nachdem ob der Wert positiv oder negativ ist.
So passt der Collector den ankommenden Datenstrom genau an das an, was SOLECTRUS braucht, ganz gleich, wie die Quelle ihre Werte liefert.
So richtest du den MQTT-Collector ein
Am einfachsten geht das über die webbasierte Installation, der empfohlene Weg ohne Kommandozeile oder von Hand geschriebene Konfigurationsdateien. Der Ablauf:
- Deine Anlage oder dein Smart-Home-System veröffentlicht ihre Messwerte am Broker.
- Du hinterlegst die Verbindungsdaten deines Brokers und legst je Sensor fest, welches Topic er abonniert und wie der Wert behandelt wird.
- Der MQTT-Collector abonniert die konfigurierten Topics und schreibt die Werte in die SOLECTRUS-Datenbank – fertig, sie erscheinen im Dashboard.
Die Zuordnungen stellst du komplett im Browser ein, inklusive JSON-Auslesung, Formeln und Vorzeichen-Trennung.
Live-Demo
In der Live-Demo läuft der MQTT-Collector selbst mit: Er holt die internen Betriebswerte der Wärmepumpe ein: Vor- und Rücklauftemperatur, Durchfluss und Warmwassertemperatur. Die Daten stammen von einer Daikin Altherma, ausgelesen über das Projekt ESPAltherma, das diese Werte abgreift und per MQTT bereitstellt.
Eine Besonderheit zeigt, wozu die Formeln gut sind: Die erzeugte Wärmeleistung meldet die Wärmepumpe nicht direkt. Der Collector berechnet sie aus den Rohwerten, kurz gesagt als Durchfluss × (Vorlauf − Rücklauf) × Wärmekapazität.
Hier kommen zwei Quellen zusammen: Den Stromverbrauch der Wärmepumpe misst dort ein Shelly, die erzeugte Wärme rechnet der MQTT-Collector aus den Temperaturen. Die Arbeitszahl (COP) berechnet SOLECTRUS dann selbst aus beiden Werten.