Hier nun beschrieben, ein Weiterer versuch einen Balkonspeicher ohne App und Hersteller-Cloud zwang mit einem Smartmeter einzurichten. Spoiler: es geht! (mit Umwegen für den Shelly).
Nachdem ich ja bereits erfolglos versucht habe den Anker Speicher und den Marstek Speicher einzurichten. Letzteres zumindest mit Teilerfolgen. Habe ich als neustes Testgerät den Sloar Flow 800 Pro von Zendure.
Als Energiemessgerät habe ich wieder den Shelly 3EM Pro verwendet.
Einrichtung über Herstellerapp
Bei der Verwendung der Hersteller-App von Zendure ist enttäuschenderweise alles genauso wie bei den anderen Herstellern. Nach dem Starten pranken groß die zwei bereits gewohnten Button: Einloggen und Registrieren auf der Startseite. Es gibt leider auch keine lokale Verbindung zum Gerät, ohne Anmeldung beim Hersteller. Danach allerdings eine Lokale Verbindung über Bluetooth mit dem Speicher möglich. Daraufhin folgt die Einbindung in das Heim-Netzwerk. Es ist auch möglich, den Speicher mit Netzwerken zu verbinden, die keinen Internetzugriff aufweisen. Es hat sogar funktioniert dem Speicher mit meinem uralten DD-WRT Router zu verbinden, wo sich sogar der Shelly geweigert hat eine Verbindung aufzubauen.
Im Folgenden habe ich erst mal die Firmware aktualisiert und mir alle Einstellungen angesehen. Die Firmware mit der ich getestet habe, ist also: v1.0.7
Einrichtung des Shelly
Der Shelly wird wie bei dem Zendure Speicher auch über den extra Shelly Cloud account und somit deren API eingerichtet… Also genau das, was ich eigentlich nicht wollte. Ist dies passiert Läuft die Kommunikation allerdings über das Lokale Netzwerk und auch wenn die Internetverbindung abbricht. Sollte die Lokale Verbindung nicht Funktionieren (begrenzte Netzwerk Berechtigungen) läuft die Kommunikation über die Cloud.
Lokale Schnittstellen
So nachdem wir uns ja mit den Dingen beschäftigt haben, die nicht so gut sind jetzt mal ein Paar wirklich gut Nachrichten. Der SolarFlow Speicher unterstützt eine schiere Menge an Möglichkeiten Daten abzufragen und Befehle zu senden.
Zudem gibt es vom Hersteller eine offizielle Github Seite mit verschiedenen Projekten und Dokumentationen. In Teilen sind diese noch etwas knapp was das Feature-Set angeht, allerdings im Vergleich zu anderen Anbietern viel besser und nutzerfreundlicher. Zudem existieren um die Schnittstellen herum unzählige Projekte für die unterschiedlichsten Anwendungszwecke.
Bluetooth
Es ist möglich dem Speicher über Bluetooth Low Energy die aktuellen Werte zu entlocken und sogar Einstellungen vorzunehmen. Besonders hilfreich war dieses Projekt auf Github, welches wohl noch aus der Zeit ohne die öffentliche Dokumentation stammt, aber mir viele Anhaltspunkte gegeben hat wie die Initiale Kommunikation möglich ist. Weitere definition des gesamten Protokolls sind hier zu finden.
Rest-Schnittstelle
Ist der Speicher einmal im Heimnetzwerk eingebunden, ist es möglich die einfachsten Werte via Http-Rest Anfrage abzurufen und auch zu setzten. Zu diesen gehörten z.B. aktuelle Strombegrenzung oder auch die Einstellung, ob überhaupt eingespeister werden soll oder lieber Strom aus dem Netz bezogen werden soll. Die genau offizielle Dokumentation dazu gibts hier.
MQTT
Außerdem kann der Speicher auch von sich aus eine MQTT Verbindung herstellen. Dazu kann über die App oder die API der MWTT-Broker konfiguriert werden. Sofort danach meldet sich der Speicher an und übermittelt Daten. Es ist auch möglich Werte zu setzten und so z.B. die Einspeiseleistung einzustellen. Auch hier gibt es verschiedene Projekte auf Github und weitere Toolings und sogar ein offizielle Home Assistant Integration vom Hersteller.
Einrichtung des Shelly ohne App und Internet
So, alles schön und gut, aber wie lösen wir jetzt unser eigentliches Anliegen. Den Shelly mit dem Speicher ohne App, Account und Internet zu verbinden? Die Antwort ist mit den Bordmitteln des Herstellers gar nicht! Allerdings gibt es durch die lokalen Schnittstellen verschieden Möglichkeiten. Aber eins nach dem anderen.
Ich werde mich im Folgenden auf die Lösung nur mit Shelly und dem Speicher ohne weitere Hardware beschränken. Klar wäre es möglich einen ESP/Raspberry Pi usw. einzusetzen um die Kommunikation zu regeln, aber auf externe Hardware wollte ich explizit verzichten.
Verbindung mit dem Heim-Netzwerk (oder Shelly AP)
Um eine Kommunikation über WLAN zu erreichen um danach z.B. MQTT oder Rest-Requests zu verwenden muss zunächst der Speicher in das Heimnetz oder anderen Access Point (z.B. Shelly). Hierzu ist es mit dem Tool über Bluetooth möglich, die WLAN SSID und Passwort an den Speicher zu senden. Da dies bei mir und dem 800 Pro aus irgendeinem Grund allerdings nicht funktioniert hat, habe ich mir ein eigenes Skript schreiben müssen. Den Code und Dokumentation gibt es hier.
Alternativ für Nutzer mit weniger technischen Verständnis hier eine App für Android, Linux, Windows, mit der das Setup auch durchgeführt werden kann. Zudem ermöglicht sie es sich mit dem Speicher via Bluetooth und WLAN zu verbinden und Einstellungen vorzunehmen, ohne eine dauerhafte Internetverbindung oder einen Account zu benötigen.
Zum Verbinden via Bluetooth nicht vergessen den Kopf auf dem Speicher für einige Sekunden zu drücken bis ein Piepton zu hören ist und das WLAN-Symbol blinkt.
Speicher mit Shelly „Verbinden“
Da es leider nicht (noch nicht) möglich ist den RPC Port des Shelly über die API, also ohne die App und die Kommunikation über die Shelly Cloud, zu setzten müssen wir einen anderen Weg gehen. (Eigentlich war ich hier kurz vor dem Aufgeben, ich hatte beide Geräte lokal miteinander verbunden, aber bekam sich nicht dazu miteinander zu „Reden“). Allerdings bin ich glücklicherweise noch im Shelly auf das Feature Skripte gestoßen!
Es ist möglich auf dem Shelly eigene Skripte zu hinterlegen. Kurz etwas recherchiert und siehe da, es ist möglich über interne Funktionen den aktuellen Verbrauch zu ermitteln und diesen dann via Rest Request an den Speicher zu senden. Die Adresse des Speichers kann hierbei sogar als Hostname angegeben werden und wird somit neu ermittelt sollte sich IP-Adresse ändern. Einen ersten Entwurf des Skripts gibts hier. Es ist erst mal nur sehr rudimentär und ich werde es in der kommenden Zeit sicher noch verbessern.
Um mir das ganze etwas einfacher zu machen habe ich das Skript in die oben beschriebene App integriert. Mit dieser kann es relativ einfach installiert werden auch ohne viel technisches Verständnis.
Fazit
Mit einigen Umwegen ist es durchaus möglich den Speicher ohne die App und Internetzugriff einzurichten. Was bedeutet, sollte Zendure in der Zukunft insolvent gehen oder aufhören seinen Online-Service zur Verfügung zu stellen ist es durchaus möglich den Speicher weiterhin zweckmäßig zu betreiben und auch Einzurichten. Vielleicht nicht ganz so wie vorgesehen aber es geht!
Zudem ist es möglich den Speicher auch ohne Dauerhaft Internetverbindung zu betreiben z.B. in dem Shelly Access-Point oder indem der Internetzugriff für den Speicher gesperrt wird.
Alles in allem bin ich sehr begeistert von der Software dieses Produktes. Es ist das Erste, welches ich empfehlen würde! Zudem verbessern sich vielleicht ja die unten aufgeführten Mankos auch noch, wenn die Community drumherum weiter wächst.
Mankos
Ein Manko ist die Hersteller App die einen Account und Login benötigt für die lokale Verbindung mit dem Gerät zum anzeigen und einstellen der Werte.
Ein Weiteres ist, die fehlende Funktion die RPC Konfiguration ohne App. Eine Möglichkeit dies über Bluetooth oder über WIFI via API zu machen wäre toll.
Einen weiteren Dämpfer gibt es allerdings noch. Bei einem weiteren Test der Hard/Software stellt sich heraus das diese was die Grundlegende Funktion des Speichers angeht einige Mängel aufweist aber dazu hier mehr.