Na, da hast Du ja einige Dinge zu konfigurieren...
Tipp: Sorge erst mal für die grundsätzliche Verbindung. Z.B. der Fronius wird direkt mit eigenem Binding unterstützt (funktioniert hier hervorragend), Wallbox bin ich mir nicht sicher, ob die schon direkt eingebunden werden kann. Bei den meisten Anderen Dingen auf der Liste wird es auch simpel sein, passendes Binding installieren, konfigurieren und/oder AutoDiscovery laufen lassen, fertig.
Die Hardware wird in openHAB3 immer über Things abgebildet, die Things sind also hardwarebezogen.
Innerhalb openHAB nutzt Du aber Items, diese sind grundsätzlich nicht hardwarebezogen, sondern funktionsbezogen. Entsprechend solltest Du bei der Namenswahl aufpassen, denn openHAB generiert automatisch erzeugte Items mit absurden Namen. Was bringt ein mqtt_Sonoff_xyz_Modul1_Schaltsteckdose_Power_Relais als Bezeichnung, wenn das Ding eigentlich die Stehlampe im Wohnzimmer steuert, also sinnvollerweise EG_Wohnen_Stehlampe heißen sollte? Bei ersterem hat man ein Wortungetüm, welches auch noch hardwarebezogen ist, wenn ich also mal ein anderes Modul einsetzen sollte, müsste ich das Item umbenennen, bei letzterem habe ich einen Bezug auf die Funktion und mit passender Struktur kann ich den Namen des Items "erraten".
Bezüglich der S0-Ausgänge: Du wirst vermutlich auf den Raspberry hoffen

jedenfalls brauchst Du hier eine vernünftige Schnittstelle, die die Impulse auswertet und aufzeichnet. Ich möchte hier volkszaehler.org in den Raum werfen, das Projekt kann Frontend, Backend und Middleware voneinander unabhängig nutzen, also die Messwerterfassung (Backend) z.B. auf einem kleinen Raspberry Pi 1A(!) erledigen, die Daten in einer MariaDB (in einem Container oder als native Anwendung auf der Synology) speichern (Middleware) und das Ganze über eine Web UI (ebenfalls docker) bereitstellen. So bleibt das System extrem schlank, Du kannst von openHAB aus auf die Daten zugreifen (z.B. Durchschnittsverbrauch der letzten Minuten) und hast dennoch kein übermäßiges Datenaufkommen in openHAB.