Es gibt mehrere Möglichkeiten.
Zunächst: Welche Version hast Du geflasht? aktuell ist die 8.2, von der gehe ich jetzt einfach mal aus. Falls es keine zwingenden Gründe für eine andere Version gibt, solltest Du im Zweifel auf die aktuelle Version updaten. Falls Du von einer sehr viel älteren Version kommst und deine Einstellungen behalten willst, musst Du dabei den Updatepfad beachten. Ich persönlich gehe lieber pragmatisch vor, flashe die aktuelle Version und richte anschließend das Gerät komplett neu ein, das ist ja auch in wenigen Schritten erledigt.
mqtt braucht einen sogenannten Broker, der von allen Clients alle publizierten Nachrichten entgegen nimmt und diese an alle Clients verteilt, welche die entsprechenden Topics abonniert haben.
Zunächst musst Du also einen Broker installieren. Nun ist die Frage, welche Plattform Du nutzt
und wie Du openHAB installiert hast. Sollte es sich um einen Raspberry mit openHABian handeln, rufst Du openhabian-config auf und suchst im Bereich optional Components (oder so ähnlich...) nach dem mqtt Broker mosquitto. Den installierst Du (und ignorierst gepflegt die Warnung, welche leider in eine falsche Richtung weist).
Solltest Du kein openHABian verwendet haben, kannst Du unter einem aktuellen GNU/Linux oder auch BSD mosquitto mit Bordmitteln installieren, z.B. unter debian/Ubuntu mit sudo apt install mosquitto.
Solltest Du unter Windows unterwegs sein, gibt es sicherlich auch da ein entsprechendes Paket, aber vielleicht ist es dann einfacher, auf den embedded Broker von openHAB, Moquette, zurückzugreifen (zu finden in Paper UI/Addons/Misc/).
ACHTUNG: Entweder Moquette, ODER Mosquitto, nicht beide gleichzeitig installieren!.
Sobald der Broker mal läuft, solltest Du Dich mit einem Tool wie mqtt spy oder mqtt.fx mit dem Broker verbinden können, der Port sollte 1883 sein, die IP-Adresse ist die des Rechners, auf dem der Broker läuft, also gewöhnlich (aber nicht zwingend, es sei denn, Du nutzt Moquette) derselbe Rechner, auf dem auch openHAB läuft.
Wenn Du schon mal mit dem Broker verbunden bist, kannst Du gleich das Topic # abonnieren, das beinhaltet alle Topics, die von Clients gesendet werden.
Nun ist es Zeit, den Sonoff mit dem Broker zu verbinden. Du rufst dazu die Webschnittstelle vom Sonoff auf, gehst auf die Konfigurationsseite, dort auf MQTT und trägst die IP des Brokers ein. Auf der gleichen Seite kannst Du einen User und ein Passwort eintragen, das Passwort musst Du natürlich nur dann eingeben (und nutzen, da gibt es ein Kästchen zum aktivieren), wenn Du tatsächlich in Mosquitto User und Passwort gesetzt hast. Moquette bietet keine Option für Zugriffsbeschränkungen, ein Grund, Mosquitto zu nutzen, wenn möglich.
Weiterhin kannst Du einen Clientnamen setzen (der ist interessant, um auf dem Broker im log die Kommunikation nachzuverfolgen, deshalb sollte er eindeutig, also pro Client unterschiedlich sein)
Dann gibt es noch eine Option, das Topic zu setzen. Damit ist allerdings nur der variable Teil des Topics gemeint, welcher sich von Gerät zu Gerät unterscheiden muss, um die Geräte einzeln steuern zu können. Default sind hier die letzten sechs Hex-Ziffern der Mac-Adresse gesetzt, Du kannst aber jeden beliebigen eindeutigen String verwenden (aber am besten nur Buchstaben und Ziffern, keine Sonderzeichen oder Leerzeichen).
Weiterhin kannst Du das Fulltopic anpassen, welches gewöhnlich auf %prefix%/%topic%/ gesetzt ist. %prefix% ist einer der drei Strings stat, cmnd und tele, je nachdem, was man gerade an Informationen braucht oder steuern möchte. Man kann hier also z.B. dafür sorgen, dass das prefix nach dem topic kommt (was hierarchisch logischer wäre).
Wenn das alles eingetragen ist, speicherst Du die Einstellungen und der Sonoff bootet automatisch.
Anschließend solltest Du im oben eingerichteten Client sofort ein bisschen Aktivitäten sehen, Tasmota meldet sich beim Broker an und gibt viele Informationen aus, hübsch verpackt in JSON.
Damit ist der Sonoff auch über den Client steuerbar. Wenn Du das FullTopic nicht angerührt hast und das Topic z.B. auf Sonoff4CHpro eingestellt hast, dann solltest Du aus dem Client heraus ein Topic publizieren können, und zwar
cmnd/Sonoff4CHpr/POWER1 mit dem Payload
ON. Nun sollte das erste Relais unmittelbar einschalten. Mit dem Payload
OFF sollte es wieder aus gehen. Gleichzeitig sollte auch das Topic
stat/Sonoff4CHpr/POWER1 mit jeweils passendem Payload vom Sonoff publiziert werden.
Nun also wieder zurück zu openHAB.
openHAB muss nun als Client mit dem Broker sprechen. dazu musst Du das mqtt Addon installieren. Es spielt hier keine Rolle, ob Du den embedded Broker nutzt oder Mosquitto, das hat nichts miteinander zu tun.
Sobald das mqtt Addon installiert ist, richtest Du den mqtt Broker ein (bitte nicht mit dem System Broker verwechseln, der spielt hier keine Rolle). Dabei gibst Du die gleichen Daten an wie schon beim Sonoff. Natürlich bekommt openHAB eine eigene ClientID. der Broker sollte umgehend ONLINE angezeigt werden. Sollte es hier zu einem Communication Error kommen, musst Du auf Suche gehen, was Du falsch eingestellt hast. Der Fehler kann aber nur an der Bridge liegen (die Verbindung zum Broker), da wir ja schon vorher erfolgreich mit dem Broker kommunizieren konnten.
Hat bis hierher alles geklappt, legst Du ein generic mqtt Thing an. Dies repräsentiert in openHAB den kompletten Sonoff 4CH Pro. Achte darauf, dass dieses Thing auch der Bridge zugeordnet ist (das ist die Verbindung zum Broker).
Nun legst Du in diesem Thing einen Channel an. Dieser Channel repräsentiert ein Relais. Es gibt zwei wesentliche Konfigurationsparameter, das stateTopic und das commandTopic. das stateTopic lautet in unserem Beispiel
stat/Sonoff4CHpr/POWER1, das commandTopic lautet passend
cmnd/Sonoff4CHpr/POWER1.
Weitere Parameter sollten unnötig sein.
Nun legst Du drei weitere Channel an, die für die drei anderen Relais sind. Sie unterscheiden sich nur durch das letzte Zeichen des Topics, also statt
1 eine
2,
3 bzw.
4.
Es gibt noch ein paar andere interessante Topics, z.B. die Empfangsqualität, welche Du unter
tele/Sonoff4CHpro/STATUS (? ... bin gerade nicht sicher, das genaue Topic betreffend) zu sehen bekommst. Tasmota sendet in einem festen Zeitabstand (kann man einstellen) Informationen über den Zustand. Dieses Topic bekommst Du im Client zu sehen, wenn Du # abonniert hast. Der Status wird als JSON übergeben, das heißt, um das auswerten zu können, musst Du den JSONPATH Transformation Service installiert haben. weiterhin musst Du zusätzlich zum korrekten stateTopic (ein commandTopic gibt es hier logischerweise nicht) noch eine incomming Transformation eintragen, welche
JSONPATH:$.Wifi.RSSI heißen müsste. Geliefert bekommst Du dann eine Zahl von 0 bis 100, wobei die 100 wohl nur erreicht werden wird, wenn Du die Antennen von Sonoff Modul und AccessPoint direkt aneinander hältst.
Je nachdem, wie Du openHAB konfiguriert hast - Stichwort Simple Mode - musst Du zum Abschluss noch für jeden Channel ein Item anlegen und mit dem Channel verlinken.
Eine Alternative zur manuellen Konfiguration ist es, in Tasmota die Home Assistant Konvention zu aktivieren (das geht in der Tasmota Konsole mittels
SetOption19 1). Dann startest Du sicherheitshalber den Sonoff einmal durch. Anschließend sollte openHAB (eine schon eingerichtete und funktionierende Verbindung zum Broker mal vorausgesetzt) direkt den Sonoff 4CH Pro als Thing per
Autodiscovery finden und einrichten. Die Parameter unterscheiden sich dabei stark von den manuell gesetzten und von mir oben beschriebenen.
Ich hoffe, das war kleinteilig genug und Du bist bisher noch nicht an der Bleiwüste verzweifelt...