Seite 1 von 1

ITEMS (Pfad zum Mosquitto Server)

Verfasst: 29. Aug 2019 20:01
von edirk
Hallo,

habe folgendes Problem.
Ich habe eine items-Datei angelegt mit folgendem Eintrag:
{ mqtt="<[ServerName:TH10_1/tele/SENSOR:state:JSONPATH($.SI7021.Temperature)]" }

Leider wird mir der Wert nicht angezeigt.
Was muss bei "ServerName" eingetragen werden?
Habe den Mosquitto Server auf einem Pi laufen und Openhab2 auf meinem Notebook.

Danke für eventuelle Antworten :D

Re: ITEMS (Pfad zum Mosquitto Server)

Verfasst: 29. Aug 2019 20:25
von udo1toni
Ich fange mal ein paar Schritte vorher an:
Welche Version von openHAB2 verwendest Du? Und daran anknüpfend: Welche Version des mqtt Bindings verwendest Du? MQTT1 oder MQTT2? Falls Du MQTT2 verwendest, ist Deine Definition komplett verkehrt.

Falls Du MQTT1 verwendest, musst Du in der Datei mqtt.cfg die Konfiguration für den mqtt Broker einstellen.

Re: ITEMS (Pfad zum Mosquitto Server)

Verfasst: 29. Aug 2019 20:51
von edirk
Hallo udo1toni,

klarer Anfängerfehler:
Es ist nur MQTT2 installiert (MQTT1) scheint mit Openhab2 nicht zu laufen!?
openHAB2 Version 2.4.0 ist auf einem Linux-System installiert.
Der Mosquitto Server läuft auf einem PI Zero
Sonoff TH10 ist mit Tasmota geflasht

Hatte die Sitemap mit der Basic UI geöffnet (war eine Vorlage) und nicht auf das Binding geachtet.
Da muss ich wohl noch mal ran...

Vielen Dank.
(Falls du eine Vorlage hast wäre ich natürlich dankbar)
Geht erst mal nur um einen Sonoff TH10 mit Sensor S7021

Re: ITEMS (Pfad zum Mosquitto Server)

Verfasst: 29. Aug 2019 22:35
von udo1toni
mqtt1 ist ein Legacy Binding, weil es ein mqtt2 Binding gibt. Du kannst selbstverständlich auch das mqtt1 Binding verwenden (dazu schaltest Du in Paper UI -> Configuration -> System -> Addon Management [gleich der erste Kasten] -> Include Legacy 1.x Bindings einfach auf ON)
Allerdings wird das Binding nicht weiter entwickelt und mit OH3 wird es nicht mehr unterstützt, da Du jetzt damit anfängst, ist es also sinnvoller, gleich das modernere mqtt2 zu verwenden.

Dazu gehst Du nach Paper UI -> Inbox -> + -> MQTT Thing Binding -> ADD MANUALLY -> MQTT Broker und legst dort zunächst den Broker an, den Du schon nutzt. Anschließend gehst Du den gleichen Weg, wählst aber statt MQTT Boker nun Generic MQTT Thing und legst damit ein erstes MQTT Thing an, mit dem vorher angelegten Broker als Bridge. Danach kannst Du unter diesem Thing Channel anlegen (Du musst dazu allerdings erst wieder das Thing aus der Liste auswählen).
Jeder Channel steht dann für ein Topic oder ein Topic-Paar (wenn man senden und empfangen will).

Oder Du definierst das Ganze über eine *.things Datei (z.B. mqtt.things):

Code: Alles auswählen

Bridge mqtt:broker:myUnsecureBroker [ host="192.168.0.42", secure=false, clientID="openHAB2" ]
{
    Thing topic mything {
    Channels:
        Type switch : lamp "Kitchen Lamp" [ stateTopic="lamp/enabled", commandTopic="lamp/enabled/set" ]
        Type switch : fancylamp "Fancy Lamp" [ stateTopic="fancy/lamp/state", commandTopic="fancy/lamp/command", on="i-am-on", off="i-am-off" ]
        Type string : alarmpanel "Alarm system" [ stateTopic="alarm/panel/state", commandTopic="alarm/panel/set", allowedStates="ARMED_HOME,ARMED_AWAY,UNARMED" ]
        Type color : lampcolor "Kitchen Lamp color" [ stateTopic="lamp/color", commandTopic="lamp/color/set", rgb=true ]
        Type dimmer : blind "Blind" [ stateTopic="blind/state", commandTopic="blind/set", min=0, max=5, step=1 ]
    }
}
Dies ist der Beispielcode für einen Broker, der auf dem Rechner mit der IP 192.168.0.42 läuft und weder Zugangsdaten noch Zertifikate benötigt. Im Beispiel sind 5 Channel definiert, die Du anschließend mit Items verlinken kannnst.