Ankündigung

Einklappen
Keine Ankündigung bisher.

openhab 2.4 und MQTT 2.4 snapshot

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    openhab 2.4 und MQTT 2.4 snapshot

    Hallo zusammen.

    Ich möchte openHAB 2 und ein Sonoff 4CH miteinander verbinden.

    Also habe ich Tasmota.

    Dann hab ich MQTT Thing Binding 2.4 snapshot installiert

    Dann habe ich viele Wege ausprobiert, aber ich schaffe es nicht, dass MQTT.fx sich verbindet.

    Ich habe die mqtt.cfg geändert, ging nicht.
    Ich habe über Paper UI ein MQTT Brocker eingerichtet, ging nicht.
    usw..

    Kann mir da jemand weiter helfen?

    Ich verstehe das so, das openHAB also der PI als Broker (Server) arbeiten soll, oder?



    mmmh jetzt habe ich alles noch mal deinstalliert und wieder installiert. Jetzt gibt es die mqtt.cfg nicht mehr?!

    Vielen Dank
    hd
    Zuletzt geändert von hd578; 11.12.2018, 17:42.

    #2
    Wenn ich dich richtig verstehe, dann denkst du, dass openHAB ein MQTT Broker ist?
    openHAB ist nur ein Client und verbindet sich mit einem MQTT Broker, z.B. Mosquitto.

    Installiere mal noch einen Broker und trage in der openhab Config dann die Daten vom Broker ein.

    Ich bin gerade auch dabei Sonoff mit Tasmota über MQTT/openHAB zu steuern.

    Kommentar


      #3
      Hallo hd,
      Nybass hat dir schon den entscheidenenden Tipp gegeben. openHAB kann nur als Client agieren. Du kannst testweise einen öffentlichen MQTT Broker nutzen, um die Funktionalität zu testen. Idel ist hierfür broker.hivemq.com:1883. Wie du diesen ind er Config anlegst habt ich hier näher beschrieben: https://zukunftathome.de/mqtt-bindin...konfigurieren/

      Im Livebetrieb arbeite ich mit einem eigenen Mosquitto Broker auf einem Raspberry. Gerade wenn man Schaltbefehle über MQTT überträgt, sollten diese nicht über einen öffentlichen Broker laufen, sonst könnte jeder fröhlich deine Schalter betätigen.

      Viele Grüße
      Patrick

      Kommentar


        #4
        Na ja, das ist so nicht richtig.

        Es gibt im aktuellen openHAB2.4 einen embedded Broker, mit dem openHAB die Rolle des Brokers übernimmt. Natürlich müssen dann alle anderen Clients auf diesen Broker zugreifen. Der embedded Broker ersetzt z.B. mosquitto oder auch mockito als Broker, und zwar vollständig. Man spart sich damit einfach eine zusätzliche Software, der embedded Broker ist über Paper UI konfigurierbar, eventuelle Logs landen im openhab.log.

        Weiterhin gibt es verschiedene mqtt Bindings, im aktuellen Build (meines Wissens auch schon im Milestone seit ~ OH2.4 M6) gibt es ein mqtt2 Binding, zusätzlich gibt es ein mqtt1 Binding, eine mqtt Persistence und noch eine mqtt Action.
        mqtt1 ist noch nicht legacy, aber wenn mqtt2 mal komplett läuft wie gewünscht wird das schnell der Fall sein.

        Wer mqtt1 installiert, findet anschließend eine mqtt.cfg und eine mqtt-eventbus.cfg unterhalb ./services/.
        Letztere ignoriert man gepflegt, da diese Datei für einen Spezialfall genutzt wird, nämlich sämtliche Items auf einen Schlag zu publizieren (um z.B. eine zweite openHAB-Instanz steuern zu können).
        In ersterer kann man für jeden zu verwendenden Broker eine Verbindung definieren, wobei der Teil vor dem Punkt dann der Broker-Name ist, den man in der Items-Definition angeben muss.
        Dokumentation für mqtt1: https://www.openhab.org/addons/bindings/mqtt1/

        Dokumentation für mqtt2: smarthome/README.md at master · eclipse/smarthome und smarthome/README.md at master · eclipse/smarthome

        Kommentar


          #5
          Hallo und Danke für die Antworten!

          Zitat von Nybass Beitrag anzeigen
          Wenn ich dich richtig verstehe, dann denkst du, dass openHAB ein MQTT Broker ist?
          Ja dachte ich, jetzt wird einiges klar.

          Bedeute ich muss auf den PI wo openHAB läuft auch einen Broker installieren und openHAB ist ein Client.

          Werde erstmal Mosquitto installieren. Dann sollte ja openHAB MQTT online sein. Dann weiß ich das der Broker und openHAB laufen.

          Zitat von udo1toni Beitrag anzeigen
          Weiterhin gibt es verschiedene mqtt Bindings,
          OK, das weiß ich. 1er per Datei und 2er per UI. Richtig?

          Heiß das, ich kann die 2.4er nicht nehmen?

          Kommentar


            #6
            OK, habe jetzt Mosquitto installiert und kann auch mit MQTT.fx micht verbinden.
            MQTT Broker Think ist online.

            Kommentar


              #7
              Zitat von hd578 Beitrag anzeigen
              OK, das weiß ich. 1er per Datei und 2er per UI. Richtig?

              Heiß das, ich kann die 2.4er nicht nehmen?
              Auch das mqtt2 Binding lässt sich mittels Datei konfigurieren, nur ist es dann halt eine *.things Datei bei mqtt1 ist die Konfiguration über mqtt.cfg aber die einzige Möglichkeit, während mqtt2 Dir die Wahl lässt.

              Du kannst unter OH2.4 beide Bindings einsetzen (es ist sogar möglich, dass man beide Bindings parallel betreiben kann, hab ich aber noch nicht ausprobiert, kann also sein, dass es eben nicht geht).
              Im Allgemeinen werden OH1 Bindings als Legacy deklariert, sobald es eine stabile OH2-Version des Bindings gibt. Schließlich sollen irgendwann möglichst alle Konfigurationsarbeiten wahlweise exklusiv über die UI möglich sein (auch wenn das sicher noch ein weiter Weg ist), und da möchte man Altlasten gerne etwas verstecken, in der Hoffnung, dass man das schnell los wird.

              Wie oben erwähnt kannst Du statt mosquitto auch bequem den embedded Broker verwenden, den openHAB2 seit geraumer Zeit mit bringt. mosquitto ist aber auch eine gute Wahl, jedenfalls hatte ich bisher keinerlei Probleme damit.

              Kommentar


                #8
                Danke.

                Also kann jetzt, wenn ich den Sonoff schalte das ganze in MQTT.fx sehen.
                Denke die Verbindung steht.

                Dann das ganze mal in openHAB rein.

                Hätte ich doch nur früher gewusst, das ich einen Broker brauche

                Werde bestimmt noch Fragen haben. Aber für heute reicht es

                Kommentar


                  #9
                  So nun die Fragen

                  Meine items:

                  Code:
                  Switch MQTT_Switch_Command  "MQTT Command"    <switch> {mqtt=">[mosquitto:cmnd/Sonoff_4CH_Pro_001/POWER2:command:*:default]"}
                  String MQTT_Switch_State    "MQTT State [%s]"          {mqtt="<[mosquitto:stat/Sonoff_4CH_Pro_001/POWER2:state:defaul]"}
                  openHAB

                  siehe Anhang (Bild)

                  Mit MQTT.fx kann den Sonoff steuern, also sollte die Verbindung so erstmal richtig sein?!
                  Über openHAB geht es nicht

                  Sieht jemand den Fehler oder mache ich etwas grundlegendes falsch?

                  Danke Euch.
                  Angehängte Dateien

                  Kommentar


                    #10
                    Keiner eine Idee

                    Kommentar


                      #11
                      Welches binding nutze Du? Die Item definition sieht nach mqtt1 aus, der Broker abern ach mqtt2!


                      Für die Nutzung unter mqtt1 sieht ein Item bei mir so aus:

                      Code:
                      Switch Light_Dual1 "Light Dual1" (gLichtschalter) { mqtt="<[opusMQTT:stat/sonoff_dual/POWER1:state:default], >[opusMQTT:cmnd/sonoff_dual/POWER1:command:*:default]" }
                      Ich nutze den State auch für das Switch-Item und beide Kanäle enden mit "default", bei Dir fehlt ein "t"!

                      Ob die Bezeichnung "mosquitto" für Deinen Broker richtig ist, kann ich nicht sagen (versuche mich gerade an der Umstellung auf mqtt2, noch kein Licht im Tunnel)

                      Kommentar


                        #12
                        Ja genau. MQTT2.

                        Danke, mit t war mir nicht aufgefallen. Werde morgen testen. Aber schalten geht ja leider auch nicht und ist da ist ein t. ????

                        Kommentar


                          #13
                          Zitat von opus42 Beitrag anzeigen

                          Für die Nutzung unter mqtt1 sieht ein Item bei mir so aus:

                          Code:
                          Switch Light_Dual1 "Light Dual1" (gLichtschalter) { mqtt="<[opusMQTT:stat/sonoff_dual/POWER1:state:default], >[opusMQTT:cmnd/sonoff_dual/POWER1:command:*:default]" }
                          Wie sieht denn das Beispiel-Item für MQTT2 aus? Die Dokumentation ist ja da eher sehr lückenhaft und die ganzen graphischen Tools aus den Release Notes werden bei mir nicht angezeigt...

                          Kommentar


                            #14
                            Die Dokumentation wächst aber stetig, mittlerweile gibt es auch einen Blog https://www.openhab.org/blog/2018-12...hitecture.html.

                            Mein erster Versuch sieht so aus:

                            Benutzt habe ich meinen (alten) mosquitto broker.

                            Things file:

                            Code:
                            Bridge mqtt:broker:opusMQTT [ host="myIP", secure=false, username="myUser", password="myPassword"  ]
                            {
                            Thing topic sonoff_1 "Test" {
                            Channels:
                            Type switch : PowerSwitch [ stateTopic="stat/sonoff_1/POWER", commandTopic="cmnd/sonoff_1/POWER", on="ON", off="OFF" ]
                            }
                            }
                            Items File:
                            Code:
                            Switch Stern "Stern" { channel="mqtt:topic:opusMQTT:sonoff_1:PowerSwitch" }
                            Sitemap:
                            Code:
                            Switch item=Stern
                            Wird das Things File zur Laufzeit editiert kann es /kommt es (noch) zu Problemen mit der Broker-Verbindung kommen (sagt der Author).
                            Zuletzt geändert von Gast; 21.12.2018, 19:56. Grund: Falsches stateTopic korrigiert!

                            Kommentar


                              #15
                              Zitat von opus42 Beitrag anzeigen
                              Thing topic sonoff_1 "Test" { Channels
                              Gibt bei mir eine Fehlermeldung Thing:topic:abc scheint zu funktionieren.

                              Kommentar

                              Lädt...
                              X