Seite 1 von 1
openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 10:41
von matze.lingen
Moin zusammen,
ich versuche mich gerade mal wieder an den Konifg datein und ja ich bin noch auf oh2.5

wenn ich eine mqtt bridge erstellt habe, wie bekomme ich dann folgendes hin':
ich habe einen State Channel der liefert "locked", "unlocked" und "open" als wert zurück und ich habe einen Command Channel wo ich folgende werte senden kann: 2 = locked, 3=unlocked 4=open
wie bekomme ich das nun in einem channel unter? am liebsten währe mir wenn ich das ganze mit nem switch von locked zu unlocked und umgekehrt habe. aber irgendwie stehe ich auf dem schlauch und verstehe die doku da auch leider nicht. kann mir da jemand helfen?
gruß
matze
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 11:12
von peter-pan
Gibt's da auch Items und ein Thing dazu ?
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 11:31
von matze.lingen
noch nicht weil ich nicht weiß wie ich es anlegen soll / muss
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 13:07
von ibot1989
Hallo Matze,
ich gehe davon aus das du dies Binding installiert hast:
https://v2.openhab.org/addons/bindings/mqtt/
Wie du nun Things und entsprechend Channels in den Things erstellst findest du hier:
https://v2.openhab.org/addons/bindings/mqtt.generic/ (das ist im ersten Link auch verknüpft, findet man nur nicht auf anhieb)
Falls du damit nicht weiter kommst melde dich hier noch mal, dass ist am Anfang nicht ganz so einfach zu verstehen.
Gruß iBot
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 13:16
von matze.lingen
Ja genau da hänge ich gerade.
Hab das Binding installiert und auch den Broker konfiguriert.
Ich habe nun ein mal dieses status topic: garagentuer/state
und ein mal das command topic: garagentuer/command
So sieht es dann in den things aus:
Code: Alles auswählen
Bridge mqtt:broker:1 "Mosquitto"
[
host="xxxx",
port=1883
]
{
// Garagentuer
Thing topic garagentuer "Garagentuer" {
Channels:
Type switch "Oeffner" [ stateTopic="garagentuer/state", commandTopic="garagentuer/command" ]
}
aber ich weiß dann nicht wie ich den "Status" sauber in den switch umgesetz bekomme also das der state dann auch sauber funktioniert. Am liebsten als abgeschlossen und geöffnet
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 13:20
von ibot1989
Was stehen den für Werte in den Topics im Broker?
Ggf. musst du noch passend umwandeln, ein Switch darf z.B. nur ON und OFF als Wert erhalten, wenn dort nun z.B. 1 und 0 drin steht müsstest du das im Channel noch richtig umwandeln.
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 13:27
von matze.lingen
also im brocker bei state steht "locked" oder "unlocked" und als command muss ich 2 oder 3 mitgeben. ich möchte dann in oh auch das "geschlossen" oder "geöffnet" steht
Re: openhab2.5 MQTT Fragen
Verfasst: 9. Sep 2021 21:31
von udo1toni
Da Du mehr als zwei mögliche Status und auch Befehle hast, musst Du einen anderen Channel Type verwenden. Das Einfachste ist da, mit einem String Channel anzufangen:
Code: Alles auswählen
Bridge mqtt:broker:1 "Mosquitto" [
host="xxxx",
port=1883
] {
// Garagentür
Thing topic garage "Garagentür" {
Channels:
Type string : tuer "Öffner" [ stateTopic="garagentuer/state", commandTopic="garagentuer/command" ]
}
}
Das kannst Du nun mit einem passenden String Item verbinden. Bitte beachte, dass die Channel UID dennoch in Paper UI nachzuschauen ist. In der Theorie sollte der Link aber folgendermaßen heißen:
Code: Alles auswählen
String Garagentuer "Garage [MAP(garage.map):%s]" { channel="mqtt:topic:1:garage:tuer", autoupdate="false" }
Das Mapping musst Du natürlich noch anlegen, transform/garage.map:
Code: Alles auswählen
locked=geschlossen
unlocked=geöffnet
open=offen
null=null
-=-
Nicht vergessen, dass die Map Transformation installiert sein muss...
autoupdate="false" sorgt dafür, dass openHAB nicht übereifrig den Befehl als Status setzt.
In der Sitemap könntest Du dann einen Switch mit Schaltflächen einsetzen:
Code: Alles auswählen
Switch item=Garagentuer mappings=[2="lock",3="unlock"]
Re: openhab2.5 MQTT Fragen
Verfasst: 10. Sep 2021 08:05
von matze.lingen
Danke für die Erklärung bis hierher.
Nun bekomme ich im Log folgende Fehlermeldung:
"2021-09-10 08:04:02.982 [WARN ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/Tueroffner_Garage' with an invalid status value '2'"
und dann noch wie bekomme ich den Status angezeigt quasi "neben" den beiden schaltflächen
Re: openhab2.5 MQTT Fragen
Verfasst: 10. Sep 2021 13:08
von matze.lingen
komando zurück. nach einem reboot ging auf einmal alles genau wie gewünscht.