Hier nun ein kleines Tutorial wie Ihr in Openhab auf die MQTT Version 2 wechselt und auch den internen Broker nutzen könnt.
1.
wenn ihr windows auf eurem rechner nutzt um auf euer openhab system zuzugreifen, dann installiert euch als erstes bspw mqttfx.
damit könnt ihr u.a. die topics eurer mqtt geräte abonieren um sie leichter in openhab einpflegen zu können.
in dem programm muss lediglich in den einstellungen die ip eures mqtt brokers (openhab system) eingegeben werden, danach im hauptfenster verbinden, auf den button subscribe gehen und dann unten links den scanbutton drücken.
sobald sich ein mqtt gerät meldet wird es dort angezeigtund ihr könnt es mit einem doppelklick abonieren...der [definition='1','0']log[/definition] taucht dann rechts im fenster auf.
alternativ könnt ihr # als wildcard nutzen um alle aktivitäten sofort zu sehen.
mqttfx lässt sich nutzen sobald ihr schritt 3 abgeschlossen habt.
2.
SYSTEMBACKUP machen!!!!
solltet ihr in der things datei mqtt1 geräte hinterlegt haben müssen diese ebenfalls entfernt werden.
das mqtt1 binding in openhab deinstallieren, dafür das neue mqtt2 binding installieren.
danach mosquitto installieren über sudo openhabian-config -> 20 Optional Components -> Mosquitto
3.
in der openhab things datei legt ihr euch nun die mqtt bridge an, die sich mit dem embedded broker verbindet.
zwischen die letzten beiden geschweiften klammern kommt nun euer mqtt gerät inkl channels welches ihr einfügen woll
Bridge mqtt:broker:embedded-mqtt-broker "MQTT Bridge"
[
host="192.168.2.94",
secure=false
]
{
}
Alles anzeigen
hier ein vollständiges beispiel mqtt bridge inkl einiger geräte.
sonoff basic mit tasmota geflasht, der zweite mit espeasy, danach kommt eine sonoff bridge, danach ein xiaomi pflanzensensor, dann ein sonoff pow:
Bridge mqtt:broker:embedded-mqtt-broker "MQTT Bridge"
[
host="192.168.2.94",
secure=false
]
{
Thing topic kueche "Küche Schranklicht " @ "Küche" {
Channels:
Type switch : Kueche_Schranklicht "Küche Schranklicht" [stateTopic="stat/kueche_schranklicht/POWER", commandTopic="cmnd/kueche_schranklicht/POWER" ]
}
Thing topic badlicht "Badlicht" @ "Bad" {
Channels:
Type switch : Badlicht "Badlicht" [stateTopic="Badlicht/Relay/State", commandTopic="Badlicht/gpio/12", on="1", off="0"]
}
Thing topic sonoffbridge "Sonoff Bridge" @ "System" {
Channels:
Type string : Sonoff_Bridge "Sonoff Bridge" [stateTopic="tele/sonoff_bridge/RESULT", transformationPattern="JSONPATH:$.RfReceived.Data"]
}
Thing topic drachenbaum "Pflanzen Drachenbaum" @ "Wohnzimmer" {
Channels:
Type number : Drachenbaum_Licht "Drachenbaum Licht" [stateTopic="miflora/Drachenbaum", transformationPattern="JSONPATH:$.light"]
Type number : Drachenbaum_Temperatur "Drachenbaum Temperatur" [stateTopic="miflora/Drachenbaum", transformationPattern="JSONPATH:$.temperature"]
Type number : Drachenbaum_Feuchtigkeit "Drachenbaum Feuchtigkeit" [stateTopic="miflora/Drachenbaum", transformationPattern="JSONPATH:$.moisture"]
Type number : Drachenbaum_Duenger "Drachenbaum Duenger" [stateTopic="miflora/Drachenbaum", transformationPattern="JSONPATH:$.conductivity"]
Type number : Drachenbaum_Batterie "Drachenbaum Batterie" [stateTopic="miflora/Drachenbaum", transformationPattern="JSONPATH:$.battery"]
}
Thing topic waschmaschine "Waschmaschine" @ "Bad" {
Channels:
Type number : Waschmaschine_Verbrauch_aktuell "Waschmaschine Verbrauch aktuell" [stateTopic="tele/waschmaschine/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Power"]
Type number : Waschmaschine_Verbrauch_heute "Waschmaschine Verbrauch heute" [stateTopic="tele/waschmaschine/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Today"]
Type number : Waschmaschine_Verbrauch_gestern "Waschmaschine Verbrauch gestern" [stateTopic="tele/waschmaschine/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Yesterday"]
Type number : Waschmaschine_Verbrauch_gesamt "Waschmaschine Verbrauch gesamt" [stateTopic="tele/waschmaschine/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Total"]
}
}
Alles anzeigen
welche channels es alles beim entsprechenden gerät gibt, seht ihr in mqttfx sobald das gerät etwas zu eurem openhab system sendet.
dort ist dann auch der state und command topic ersichtlich.
abschliessend ist zu erwähnen das es bei openhab 2.4 noch einen bug mit mqtt 2 gibt der euch dazu zwingt, nach änderungen an der things datei openhab neu zu starten.
wenn wie im beispiel JSONPATH genutzt wird, dann muss das natürlich auch unter addons -> transformation ->JSONPATH installiert werden.
zum abschluss müsst ihr alle eingebundenen geräte die nun in eurer paperui liste unter configuration -> things auftauchen in die item datei einpflegen.
solltet ihr mqtt1 genutzt haben muss natürlich nur die channel id des items geändert werden.
fragen, anregungen, kritik?...dann hier bitte posten