Also erst mal kannst Du MQTT nicht über apt-get installieren
Allerdings könntest Du mosquitto über apt-get installieren.
Dann ist natürlich die Frage, ob mosquitto auch läuft. Ist der Broker über das Netzwerk erreichbar?
Hast Du einen mqtt Sniffer installiert (z.B. mqtt.fx oder mqtt spy)?
Erreichen Deine Devices den Broker?
Kannst Du im Sniffer Topics Deiner Geräte sehen?
Nun zu Deinen Fragen:
1. Beide Varianten sind komplett verkehrt. Du mischst Da die mqtt1 und mqtt2 Konfiguration. Glücklicherweise musst Du mit VSCode (und dem openHAB Plugin) nicht raten, was da einzugeben ist. VSCode kann die Items automatisch erstellen. Allerdings zäumen wir hier das Pferd von hinten auf, also erst mal weiter:
2. Du kannst Bridge und Things getrennt definieren, aber das ist nicht gut. Der Grund hierfür: Wenn Du das Thing getrennt anlegst, musst Du bei jedem Thing einen Verweis auf die Bridge mit angeben.
3. Vermutlich hast Du die Konfiguration noch nicht vervollständigt. Du musst auch die Werte für offline und online eintragen.
4. Du meinst hier vermutlich ein JSON Objekt, welches alle Messwerte enthält. dazu musst Du JSNOPATH verwenden.
Um das jetzt mal in eine sinnvolle Reihenfole zu bringen:
Wenn der Broker auf dem openHAB-System installiert und gestartet ist, sollte er default über Port 1883 erreichbar sein. Wenn Du über Textdateien konfigurieren willst, lösche alles (mqtt betreffend) bis auf das Addon aus Paper UI. Installiere auch den JSONPATH Transformation Serice.
Lege über VSCode eine Datei mqtt.things an. Inhalt:
Code: Alles auswählen
Bridge mqtt:broker:mosquitto "Mosquitto" [
host="localhost", // muss gesetzt werden
port=1883, // das ist der Default Wert
clientID="openHAB2", // optional, aber sinnvoll
lwtTopic="openHAB2/LWT", // optional
lwtMessage="offline" // optional
] {
Thing topic tasmota_1 "Tasmota 1" @ "mqtt" [
availabilityTopic="tele/tasmota_B1BB6F/LWT", // das LWT des Device
payloadAvailable="Online", // der Online Payload des LWT
payloadNotAvailable="Offline" // der Offline Payload des LWT
]{
Channels:
Type string : state "State" [ stateTopic="tele/tasmota_B1BB6F/STATE" ] // einmal komplett
Type number : rssi "RSSI" [ stateTopic="tele/tasmota_B1BB6F/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI" ] // nur rssi als Zahl
}
}
Sobald die Datei mit dem Inhalt abgespeichert ist, sollte es eine mqtt Bridge mit dem Namen Mosquitto geben. Das angegebene LWT ist hier das LWT von openHAB, damit kann ein Device am MQTT Broker erfahren, ob openHAB Online oder Offline ist. Natürlich ist das optional. Die ClientID sollte man setzen, damit das Addon nicht bei jedem Start eine neue ClientID auswürfelt.
Das Thing ist Teil der Bridge-Definition Das spart die sonst notwendige Verknüpfung des Things zur Bridge.
Die angegeben Channel sind natürlich nur ein Beispiel, aber Du kannst so sehen, wie der Zugriff auf einen bestimmten wert im JSON Objekt funktioniert.
Nun brauchst Du noch passende Items. Du kannst diese automatisch von VSCode erzeugen lassen (dazu eine Datei mqtt.items öffnen und anschließend im Navigationsbereich (links...) auf die openHAB-Ansicht wechseln (das openHAB-Symbol im linken Seitenmenü) und den things-Baum öffnen bzw. updaten. Nun muss das neu angelegte Thing schon online gelistet werden (wenn es denn online ist). Ein Rechtsklick auf das Thing fördert ein Kontextmenü zutage, aus dem Du nun create Channels... auswählst, und schwupp, stehen passend erzeugte Items in der mqtt.items Datei.
der Name der Datei ist beliebig, genau wie bei den Things, aber irgendwie muss ich die Datei ja nennen...
Alternativ kannst Du die Items natürlich auch manuell erzeugen:
Code: Alles auswählen
String Tasmota_1_state "Status [%s]" { channel="mqtt:topic:mosquitto:tasmota_1:state" }
Number Tasmota_1_rssi "RSSI [%d%%]" { channel="mqtt:topic:mosquitto:tasmota_1:rssi" }
Du siehst, die Verknüpfung zu einem Channel ist IMMER mit dem Schlüsselwort channel= einzuleiten. Da es sich um das mqtt Addon handelt, beginnt die UID des Channels mit dem Wort mqtt, dann folgt topic,weil es ja um ein Topic geht, der Name des Brokers, der Name des Things und schließlich der Name des Channels. Die von Dir vermutete Schreibweise sieht ein bisschen wie von mqtt1 aus (der Teil mit [] und <), aber am besten vergisst Du das einfach, es würde Dich nur verwirren

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet