Gerne möchte ich auch teilen wie ich es geschafft habe eine "SonnenBatterie" an clever-pv.com anzubinden. Die SonnenBatterie beherrscht nur IPv4 im lokalen Netz und ist bei mir z.B. unter dem Hostnamen "SB-12345" erreichbar, Port 8080. Als zusätzliche Hürde ist der Internetanschluss ein "DS-Lite", d.h. es gibt nur eine öffentliche IPv6-Adresse, keine öffentliche IPv4-Adresse, und clever-pv.com beherrscht selber auch nur IPv4. Also habe ich einen "Doppel-Tunnel" eingeführt zur Hilfenahme zweier Mini-Linux-Server die ich vorliegen habe. Ein Server ist eine virtuelle Maschine auf einem Server hier im Haus aber es kann auch etwas kleines wie ein RaspberryPi sein. Der zweite Server ist eine Cloud-Instanz, gemietet bei hetzner dot com
[Link aus regulatorischen Gründen deaktiviert]. Leider habe ich keine Lösung gefunden wie man das mit weniger "Server" herstellen kann aber ein Anfang. Mit Hilfe des Programm "6tunnel", alternativ kann auch "socat" genutzt werden, auf dem internen Server stelle ich die Daten der SonnenBatterie (IPv4) lokal auf Server in IPv6 auf Port 58080 bereit. Als zweites nutze ich ein "Remote-Forward" von SSH auf den entfernten Server, hier genannt "server2", um die Daten wieder auf IPv4 auf einer öffentlichen Adresse zur Verfügung zu stellen.
Zum Ausprobieren muss man also zwei Befehle ausführen. Dazu empfehle ich zum "Debuggen" die Programme im Vordergrund und mit erhöhtem Logging laufen zu lassen:
Code: Alles auswählen
6tunnel -d -v -6 58080 SB-12345 8080
ssh -gNT -R:58080:localhost:58080 server2
Damit die Weiterleitung auch gleich bei Systemstart zur Verfügung steht nutze ich "cron", z.B. mit Befehl "crontab -e" einrichten. Beide Befehle zusammen in der crontab in der Nicht-Debug-Version:
Code: Alles auswählen
@reboot flock -n /tmp/6tunnel_sonnenbox.lock 6tunnel -6 58080 SB-12345 8080
@reboot flock -n /tmp/6tunnel_sonnenbox_server2_ipv4_to_6.lock ssh -gNTf -R:58080:localhost:58080 server2
Auf dem lokalen Router muss dafür nichts weiter eingestellt weil der interne Server ja selbstständig eine Verbindung nach außen aufbaut. Auf dem Server in der Cloud musste ich noch in der Firewall Zugriff auf den Port 58080 erlauben, hier ein älteres Ubuntu, also Befehl "ufw allow 58080". Damit zeigt clever-pv.com Daten und kann steuern
Ich hoffe dass ist einigermaßen erklärt. Irgendwie denke das müsste das auch mit nur einem Kommando gehen aber ich befürchte man braucht trotzdem zwingend ein internes Gerät um die Verbindung zu initieren und das Protokoll umzusetzen.
Sollte clever-pv.com IPv6 unterstützen dann sollte die Anleitung
https://docs.clever-pv.com/electricmeter/sonnen zusammen mit dem "6tunnel" ausreichen.
Ich freue mich über euer Feedback.
--