Hallo zusammen,
im Rahmen von einigen langwierigen Debug-Aktionen musste ich von zuhause mit dem Sunny Explorer auf einige SMA-Wechselrichter mit Speedwire-Interface zugreifen. Da diese sich ja zumindest anfänglich über Multicast-IP unterhalten, und ich über mein VPN kein Multicast-Routing betreiben will, musste ich mir eine andere (noch ausbaufähige) Lösung bauen, die ich kurz vorstellen möchte.
Voraussetzung: IP-Verbindung zum Wechselrichter, z.B. über VPN oder Dyndns/Port-Forwarding auf dem Router auf WR-Seite, und Linux (z.B. OpenWRT)-Router Richtung Internet auf PC-Seite
Idee: Sunny-Explorer sucht mittels Multicast seinen WR im lokalen Netz. Diese Kommunikation wird auf dem Internet-Router auf PC-Seite abgefangen, und einfach auf die IP des gewünschten WR umgelenkt. Danach kommuniziert Sunny Explorer und der WR mit Unicast, also "ganz normal".
Umsetzung Schritt 1: Mittels des Relay-Programms socat einfach Port 9522 umleiten, also
auf dem Linux-Router eingeben. Das klappt, solange Multicast im lokalen Netz geflutet wird.
Umsetzung Schritt 1b: Wenn Multicast nicht geflutet wird, kann socat auch die passenden Gruppen joinen:
socat udp-listen:9522 udp-datagram:<ip-des-wr>:9522,ip-add-membership=239.12.255.253:<lan-interface-des-routers>,ip-add-membership=239.12.255.254:<lan-interface-des-routers>,ip-add-membership=239.12.255.255:<lan-interface-des-routers>
Mit ein paar Tricks könnte das Ganze auch direkt auf dem gleichen Rechner wie Sunny Explorer laufen, dafür muss ich aber nochwas experimentieren.
Ich hoffe, es hilft vielleicht jemandem ...
Ciao
Michael