Google hat mich bei meiner Suche unter anderem auch hierher geschickt. Zu den Wechselrichtern mit USB-Anschluss scheint es wenig Infos im Netz zu geben.
Ich wollte mehr oder weniger das gleiche machen und habe daher kurzerhand auch mal ein Projekt aus der Taufe gehoben.
Wichtig zu wissen ist, dass der Wechselrichter am USB-Port einen USB=>Serial Adapter mit CH340 Chipsatz erwartet. Ich habe daher nicht meinen ShineLan-X zerlegt, sondern einen NodeMCU Lolin V3 benutzt, die "breitere" Version. Achtung V2 geht nicht, da der Chipsatz ein anderer ist.
Da mir bisher alle Projekte zu speziell für einen bestimmten Typ von Wechselrichter waren und grott nicht (zuverlässig) ohne Cloud funktioniert, musste ein Ersatz her.
Mein Projekt ist ein ModBus <=> MQTT Proxy, aber in der Art, dass man über MQTT den Request zum Lesen von Registern schickt und dann über MQTT die Antwort mit den Werten erhält. Man kann bis zu 64 Register auf einmal auslesen, bei mehr steigt der Wechselrichter aus und liefert ab dem 64sten Register nur noch den Wert 65535. Also muss man die Requests etwas aufteilen, um ihn nicht zu überfordern. Klappt aber sehr gut, ich lese 500 Register und die sind in einer halben Sekunde da, das ganze ein mal pro Miinute.
Das Projekt benutzt den WifiManager für die Konfiguration, dort kann man auch die MQTT-Parameter einstellen und es unterstützt OTA Updates (damit ich nicht immer in den Keller rennen muss
)
Das Projekt ist erst einen Tag jung, läuft aber sehr ordentlich. Vielleicht hilft es dem ein oder anderen ja weiter.
Achja, mein WR ist ein SPH-5000TL3 BH.