Das ist ja noch mqtt1...
Schritt 1: Du musst eine Bridge für den Broker anlegen. Das hast Du vorher in der Datei /etc/openhab2/services/mqtt.cfg gemacht. Dein Broker war dann unter dem Namen localbroker in der Itemdefinition verwendbar.
Schritt 2: Jedes Item enthält gewöhnlich die Konfiguration für ein oder zwei Topics, wobei dann das eine Topic nur lesend und das andere Topic nur schreibend verwendet wird. Beide Topics bilden gemeinsdam eine Eigenschaft eines Geräts ab, also z.B. die Helligkeit oder auch den Farbwert als HSB.
Ich schreibe es hier mal in *.things Notation auf:
Code: Alles auswählen
Bridge mqtt:broker:localbroker "Mosquitto" [
host="localhost",
port=1883,
clientID="openHAB3",
lwtTopic="openHAB3/system/LWT",
lwtMessage="Offline"
] {
Thing topic color1 "MagicHome 1" {
Channels:
Type colorHSB : color "Position" [ stateTopic="stat/ledstripe1/HSBColor",
commandTopic="cmnd/ledstripe1/HSBColor",
stateTransformation="JSONPATH:$.HSBColor" ]
Type switch : switch "Position" [ stateTopic="stat/ledstripe1/POWER",
commandTopic="cmnd/ledstripe1/POWER" ]
Type dimmer : dimmer "Position" [ stateTopic="stat/ledstripe1/Dimmer",
commandTopic="cmnd/ledstripe1/DIMMER",
stateTransformation="JSONPATH:$.Dimmer" ]
}
}
Dabei ist die Formatierung egal, Du könntest also auch stateTopic, commandTopic und stateTransformation in einer Zeile schreiben.
Dieses Thing hat nun drei Channel, die Du den Items zuordnen kannst:
Code: Alles auswählen
Color Color_MagicHome1 "Color Bungalow [%s]" [ "Lighting" ] { channel="mqtt:topic:localbroker:color1:color" }
Switch Switch_MagicHome1_Power "LED Bungalow [%s]" [ "Switchable" ] { channel="mqtt:topic:localbroker:color1:switch" }
Dimmer Dimmer_MagicHome1 "LED Dimmer Bungalow [%.0f %%]" { channel="mqtt:topic:localbroker:color1:dimmer" }
Das war es schon.
Wie Deine Bridge exakt konfiguriert sein muss, kannst Du aus Deiner mqtt.cfg ersehen. Alternativ kannst Du die Bridge aund auch das Thing direkt über die UI anlegen. Oder Du legst die Bridge über die UI an und schreibst Dir die exakten Namen der Parameter auf, die Du verwendest (in der Code-Ansicht). Diese Namen verwendest Du dann entsprechend in der *.things Datei. Die UI-Bridge löschst Du natürlich wieder...
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet