Hast Du Dich schon etwas in mqtt eingelesen? Die Kommunikation mittels mqtt läuft eigentlich ganz einfach ab.
Es gibt eine zentrale Instanz, das ist der mqtt Broker (z.B. Mosquitto oder Moquette, es gibt aber auch kommerzielle Produkte).
Jeder Teilnehmer, der über mqtt kommunzieren möchte (also die Geräte), verbindet sich als Client mit dem Broker.
Anschließend sendet er seine Befehle oder Werte, was auch immer, an den Broker, das heißt er publiziert ein Topic mit einem Payload.
Code: Alles auswählen
Beispiel: Ein Sensor misst eine Temperatur. Das Topic ist dann (z.B.) esp_xyz/stat/sensor1 und der Payload 22 (für 22°C).
Der Broker leitet diesen Payload an alle Clients weiter, die das Topic abonniert haben.
Wenn die Temperatur in openHAB ankommen soll, muss dort also das passende Topic als stateTopic in einem mqtt number Channel eingetagen sein.
Wenn Du nicht weißt, welche Topics das Device publiziert, musst Du entweder die Doku des Devices bemühen, oder (falls der Wert zyklisch gesendet wird) zumindest ein mqtt Analysewerkzeug wie mqtt spy oder mqtt.fx nutzen. Das Tool verbindet sich als Client mit dem Broker. Anschließend kannst Du im Tool das Topic # abonnieren (die # bedeutet, dass alles ab der Raute egal ist, in diesem Fall also "alles"). Nun wird im Tool jedes Topic auftauchen, welches publiziert wird. Wenn Du weißt, dass das Topic von einem bestimmten Gerät kommt, kannst Du das natürlich berücksichtigen und z.B. /ESP_EG/# abonnieren.
Noch eine Randbemerkung: Es ist zwar erlaubt, das Topic mit einem Slash zu beginnen (/), aber eigentlich sollte man das nicht tun.
EDIT: Glatt vergessen... Messwerte werden auch gerne in Form eines JSON Objekts publiziert, dann muss man auf openHAB Seite natürlich JSONPATH verwenden, um den konkreten Wert zu extrahieren. Falls Du da nicht weiter kommst, kannst Du gerne auch ein konkretes JSON Objekt schicken
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet