Seite 4 von 11
Re: openHAB2 und MQTT 2.4
Verfasst: 22. Dez 2018 15:34
von hd578
Hallo.
Es fällt mir auf das Du nicht die einzelnen Kanäle POWER1, oder POWER2 etc in deinem Befehlen hast.
Wie meinst Du das?
Re: openHAB2 und MQTT 2.4
Verfasst: 23. Dez 2018 19:09
von madmike
Hallo HD578,
wenn du mal in meine ITEM-Zeile schaust wirst du feststellen das vor dem Command-Befehl POWER steht.
Wenn Du einen 4ch Sonoff nutzt sollte auch die Adressierung rein welchen Sonoff-Schalter du schalten willst also zum Beispiel POWER1 für den ersten,
POWER2 für den zweiten usw. Ich habe am Anfang auch den Fehler gemacht Ihn wie einen Basic-Schalter zu nutzen, und den gleichen Fehler gehabt wie Du.
mfg
Micha
Re: openHAB2 und MQTT 2.4
Verfasst: 18. Jan 2019 13:18
von Gerd_B2809
Habe folgende Konstellation:
Schalte einen Eltako mit einen ESP8266(Tasmota 6.4.1) und Relay1 mit Pulsetime 0,5 Sekunden, das klappt auch alles soweit.
Tasmota sendet folgende Info an MQTT
Code: Alles auswählen
13:06:59 MQT: stat/HAR161/RESULT = {"POWER":"ON"}
13:06:59 MQT: stat/HAR161/POWER = ON
13:07:00 MQT: stat/HAR161/RESULT = {"POWER":"OFF"}
13:07:00 MQT: stat/HAR161/POWER = OFF
Mein Problem der Satus
OFF wird nicht in OH2 korrigiert der Switch bleibt auf
ON
Wie kriege ich es hin das der Status vom Tasmoata auch im OH2 richtig angezeigt wird.
thing:
Code: Alles auswählen
Thing mqtt:topic:HAR161 {
Channels:
Type number : Temperatur "Waschkeller Temperatur" [ stateTopic="tele/HAR161/SENSOR" , transformationPattern="JSONPATH:$.AM2301.Temperature" ]
Type number : Feuchte "Waschkeller Luftfeuchte" [ stateTopic="tele/HAR161/SENSOR" , transformationPattern="JSONPATH:$.AM2301.Humidity" ]
Type switch : Schalter "Flurlicht" [ stateTopic="stat/HAR161/STATE" , transformationPattern="JSONPATH:$.POWER" , commandTopic="cmnd/HAR161/POWER", on="ON" , off="OFF"]
}
item:
Code: Alles auswählen
Switch HAR161_Light "Flurlicht" <switch>
(EG, gPower) ["Switchable"] { channel="mqtt:topic:OH2broker:HAR161:Schalter"}
Hat jemand eine Lösung? Wie man so einen Tastschalter hinbekommt.
Re: openHAB2 und MQTT 2.4
Verfasst: 18. Jan 2019 21:17
von udo1toni
Das stateTopic ist stat/HAR161/POWER, nicht stat/HAR161/STATE
Re: openHAB2 und MQTT 2.4
Verfasst: 19. Jan 2019 14:21
von Gerd_B2809
Hey udo1toni,
danke das wars, jetzt ist auch das Dunkle um MQTT 2.4 wieder etwas heller geworden.
Gruß Gerd
Re: openHAB2 und MQTT 2.4
Verfasst: 25. Jan 2019 21:34
von giss69
Hallo,
ich versuche meine Sonoffs/Tasmota von mqtt1 auf matt 2.4 umzuziehen allerdings mit mäßigen Erfolg.
Zuerst eine Verständigungsfrage:
Muss ich jeden Thing parallel über Paper UI und Dateien erstellen?
Wenn ich die Things über xxx.things definiere tauschen sie aber nicht in Paper UI. Ist es normal?
Kommunikation klappt irgendwie auch nicht. Habe heute den ganzen Tag damit verbracht dies zum laufen zu bringen, fleißig bei diversen Forums mitgelesen, alles mögliche ausprobiert. Es läuft aber nicht. MQTT 1. funktioniert nach wie vor.
Könnt ihr bitte meine Einstellungen überprüfen?
mqtt.things
Code: Alles auswählen
Bridge mqtt:broker:broker [ host="192.168.1.100", secure=false, port=1883, clientid="openhab", username="xxx", password="xxx" ]
{
//Diele
Thing mqtt:topic:Basic2 "Diele" {
Channels:
Type string : reachable "Reachable" [ stateTopic="tele/Basic2/LWT" ]
Type switch : power "Power" [ stateTopic="stat/Basic2/POWER", commandTopic="cmnd/Basic2/POWER" ]
Type number : rssi "WiFi Signal" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
Type string : module "Modul" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.Module"]
Type string : version "Version" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.Version"]
Type string : fallback "Fallback Topic" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.FallbackTopic"]
Type string : group "Group Topic" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.GroupTopic"]
Type string : wsmode "WebServer Mode" [ stateTopic="tele/Basic2/INFO2", transformationPattern="JSONPATH:$.WebServerMode"]
Type string : hostname "Hostname" [ stateTopic="tele/Basic2/INFO2", transformationPattern="JSONPATH:$.Hostname"]
Type string : ipaddress "IP-Adresse" [ stateTopic="tele/Basic2/INFO2", transformationPattern="JSONPATH:$.IPAddress"]
Type string : restartreason "Restart Grund" [ stateTopic="tele/Basic2/INFO3", transformationPattern="JSONPATH:$.RestartReason"]
Type string : update "Letzter Update" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Time"]
Type string : uptime "Laufzeit" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Uptime"]
Type number : vcc "Spannung" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.Vcc"]
Type number : apbasis "WiFi AP" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.Wifi.AP"]
Type string : wifissid "WiFi SSID" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.SSId"]
Type string : wifimac "WiFi MAC" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.APMac"]
}
//Tisch
Thing mgtt:topic:Basic1 "Tisch"{
Channels:
Type switch : power "Power" [ stateTopic="stat/Basic1/POWER", commandTopic="cmnd/Basic1/POWER" ]
Type string : reachable "Reachable" [ stateTopic="tele/Basic1/LWT" ]
}
sonoff.items
Code: Alles auswählen
Group Basic2 "Diele"
Switch Basic2 "Diele Power" { channel="mqtt:topic:broker:Basic2:power" }
// Sonoff Basic2 (Tasmota) administration data:
String reachable "Reachable [%s]" { channel="mqtt:topic:broker:Basic2:reachable" }
String module "Modul [%s]" { channel="mqtt:topic:broker:Basic2:module" }
String version "Version [%s]" { channel="mqtt:topic:broker:Basic2:version" }
String fallback "Fallback Topic [%s]" { channel="mqtt:topic:broker:Basic2:fallback" }
String group "Group Topic [%s]" { channel="mqtt:topic:broker:Basic2:group" }
String wsmode "Webserver Mode [%s] { channel="mqtt:topic:broker:Basic2:wsmode" }
String hostname "Hostname [%s]" { channel="mqtt:topic:broker:Basic2:hostname" }
String ipaddress "IP-Adresse [%s]" { channel="mqtt:topic:broker:Basic2:ipaddress" }
String restartreason "Restart Grund [%s]" { channel="mqtt:topic:broker:Basic2:restartreason" }
String update "Letzter Update [%s]" { channel="mqtt:topic:broker:Basic2:update" }
String uptime "Laufzeit [%s] { channel="mqtt:topic:broker:Basic2:uptime" }
Number vcc "Spannung [%.2f V]" { channel="mqtt:topic:broker:Basic2:vcc" }
Number apbasis "WiFi AP [%s] { channel="mqtt:topic:broker:Basic2:apbasis" }
String wifissid "WiFi SSID [%s] { channel="mqtt:topic:broker:Basic2:wifissid" }
Number rssi "WiFi RSSI [%.0f %%]" { channel="mqtt:topic:broker:Basic2:rssi" }
String wifimac "WiFi MAC [%s]" { channel="mqtt:topi:brokerc:Basic2:wifimac" }
// Tisch
Switch Basic1 "Power" { channel="mqtt:topic:broker:Basic1:power" }
String Basic1_Reachable "Reachable: [%s]" { channel="mqtt:topic:broker:Basic1:reachable" }
sonoff.sitemap
Code: Alles auswählen
sitemap abhometest label="AB Home Test" {
Frame
{
Text label="Tisch" icon="light"
Switch item=Basic1 label= "Tisch"
Text label=Status icon="chart"{
Frame label= "Tisch" {
Text item=Basic1_Reachable
}
}
}
Frame
{
Text label="Diele" icon="light"
Switch item=Basic2 label= "Diele"
Text label=Status icon="chart"{
Frame label= "Diele" {
Text item=reachable
Text item=module
Text item=version
Text item=fallback
Text item=group
Text item=wsmode
Text item=hostname
Text item=ipaddress
Text item=restartreason
Text item=update
Text item=uptime
Text item=vcc
Text item=apbasis
Text item=wifissid
Text item=rssi
Text item=wifimac
}
}
}
}
Danke im Voraus
Viele Grüße
Re: openHAB2 und MQTT 2.4
Verfasst: 26. Jan 2019 23:57
von udo1toni
giss69 hat geschrieben: ↑25. Jan 2019 21:34
Muss ich jeden Thing parallel über Paper UI und Dateien erstellen?
Nein, im Gegenteil, enweder über Paper UI, oder über eine mqtt.things Datei (natürlich ist der Name der Datei bis auf die Endung beliebig).
Wenn ich die Things über xxx.things definiere tauschen sie aber nicht in Paper UI. Ist es normal?
Nein, dann hast Du einen Fehler in der Definition. Alles, was in *.things Dateien korrekt definiert wird, taucht unmittelbar in Paper UI als Thing auf.
Achte auf die exakte Schreibweise, z.B. muss es clientID heißen, nicht clientid
Die Thing Definition ist Bestandteil der Bridge, entsprechend sieht dieDefinition auch etwas anders aus (kein Doppelpunkte; kein Schlüsselwort mqtt)
mqtt.things
Code: Alles auswählen
Bridge mqtt:broker:broker [
host="192.168.1.100",
secure=false,
port=1883,
clientID="openhab",
username="xxx",
password="xxx" ]
{
//Diele
Thing topic Basic2 "Diele"
{
Channels:
Type string : reachable "Reachable" [ stateTopic="tele/Basic2/LWT" ]
Type switch : power "Power" [ stateTopic="stat/Basic2/POWER", commandTopic="cmnd/Basic2/POWER" ]
Type number : rssi "WiFi Signal" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
Type string : module "Modul" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.Module"]
Type string : version "Version" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.Version"]
Type string : fallback "Fallback Topic" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.FallbackTopic"]
Type string : group "Group Topic" [ stateTopic="tele/Basic2/INFO1", transformationPattern="JSONPATH:$.GroupTopic"]
Type string : wsmode "WebServer Mode" [ stateTopic="tele/Basic2/INFO2", transformationPattern="JSONPATH:$.WebServerMode"]
Type string : hostname "Hostname" [ stateTopic="tele/Basic2/INFO2", transformationPattern="JSONPATH:$.Hostname"]
Type string : ipaddress "IP-Adresse" [ stateTopic="tele/Basic2/INFO2", transformationPattern="JSONPATH:$.IPAddress"]
Type string : restartreason "Restart Grund" [ stateTopic="tele/Basic2/INFO3", transformationPattern="JSONPATH:$.RestartReason"]
Type string : update "Letzter Update" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Time"]
Type string : uptime "Laufzeit" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Uptime"]
Type number : vcc "Spannung" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.Vcc"]
Type number : apbasis "WiFi AP" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.Wifi.AP"]
Type string : wifissid "WiFi SSID" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.SSId"]
Type string : wifimac "WiFi MAC" [ stateTopic="tele/Basic2/STATE", transformationPattern="JSONPATH:$.Wifi.APMac"]
}
//Tisch
Thing topic Basic1 "Tisch"
{
Channels:
Type switch : power "Power" [ stateTopic="stat/Basic1/POWER", commandTopic="cmnd/Basic1/POWER" ]
Type string : reachable "Reachable" [ stateTopic="tele/Basic1/LWT" ]
}
}
Ein Gutteil der Channel ist im Grunde überflüssig, da jeweils auf das gleiche Topic zugegriffen wird. Du kannst problemlos das gesamte JSON als String speichern und anschließend über unterschiedliche Label die unterschiedlichen Teile ausgeben. Nur dort, wo Ausgaben als Wert gebraucht werden (z.B. RSSI um das zugehörige Icon dynamisch zu gestalten) musst Du einen eigenen Channel definieren.
Re: openHAB2 und MQTT 2.4
Verfasst: 27. Jan 2019 09:30
von giss69
@udo1toni
Vielen Dank für Deine Mühe! Nach deiner Korrektur sind die items in der Paper UI aufgetaucht.
Die Fehler passieren bei viel copy/past Aktionen.)))
Ist das ganze ganz schon kompliziert:(
Es ist natürlich sehr komfortabel die items über Paper UI hinzufügen aber mein Ziel war iOS App weiter zu benutzen und da muss man ein Sitemaps definieren, was wiederum nicht ohne items file geht:(
Oder gibt es einen anderen Weg?
Danke!
Update:
es funktioniert immer noch nicht. Die Items tauchen bei Paper UI zwar auf ich kann die aber über Basic UI nicht bedienen und
es werden keine Infos angezeigt.
Im Log sehe ich auch nicht, dass mit broker kommuniziert wird
Soll ich Channels über Paper UI noch verlinken?
Re: openHAB2 und MQTT 2.4
Verfasst: 27. Jan 2019 13:05
von leupy
Hallo,
ich bin am gleichen Thema dran.
Ich bekomme keine Werte mehr z.B vom WIFI Signal nach umstellen auf OH2.4
Der Sonoff lässt sich über Control ein und ausschalten.
JSONPath Transformation hab ich installiert
Mein Thing
Code: Alles auswählen
Bridge mqtt:broker:broker [ host="192.168.120.70", secure=false ]
{
Thing topic Sonoff96 "Lüfter Keller"
{
Channels:
Type switch : Schalter "Lüfter Keller" [ stateTopic="feucht_keller/POWER", commandTopic="cmnd/feucht_keller/POWER", on="ON", off="OFF" ]
Type string : Status96 "Schalter Status" [ stateTopic="feucht_keller/STATE", transformationPattern="JSONPATH:$.POWER", on="ON", off="OFF" ]
Type number : Wifi_Signal "Wifi Signalstärke" [ stateTopic="feucht_keller/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI" ]
}}
Mein Item
Code: Alles auswählen
Number Sonoff96WIFI "Keller 96 Siganlstärke [%.1f %%]" (gWifi) {channel="mqtt:topic:broker:Sonoff96:Wifi_Signal"}
Meine Anzeige im UI
Lüfter.JPG
Lüfter.JPG
Hat jemand eine Idee

Re: openHAB2 und MQTT 2.4
Verfasst: 27. Jan 2019 22:07
von udo1toni
Das stateTopic bei Sonoff sollte eigentlich mit stat/ beginnen, zumindest, wenn Du den Sonoff nicht anders konfiguriert hast.