Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenHAB & Mosquitto

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

    OpenHAB & Mosquitto

    Servus !

    Auf meinem RaspPi laufen openHAB & Mosqitto.
    Ich möchte mit ESP8266 Modulen kommunizieren.
    Kommuniktaion zwischen Mosquitto (auf dem Pi) und den ESP Modulen funktioniert wenn ich MQTT.fx verwende oder manuell über die Kommandozeile mosquitto_sub / pub verwende.

    Ich habe aber das Problem dass sobald openHab ins spiel kommt keine Kommunikation über Mosquitto mehr stattfindet.

    Das mqtt - binding ist im addon ordner.
    Ich denke der Knackpunkt ist die openhab.cfg.
    Soweit ich verstanden habe ist nur die "Transport" Sektion einzustellen.

    Wie Teile ich openHab mit, dass Mosqitto der Broker ist ?
    und wo ist der Unterschied zwischen <broker> und der "Client ID" ?

    denn in der Items file muss der Broker eingetragen werden.
    muss hier der <broker> rein oder eine ClientID ?

    Oder muss ich in der Persistence - Sektion einen Broker Namen vergeben ?

    Vielen Dank für Hilfe !

    MfG

    #2
    Bei mir läuft ein ESP8266 mit nodeMCU und einem DHT22 Sensor (Temperatur und Luftfeuchtigkeit messen)
    In der openhab.cfg brauchst du nur
    Code:
    mqtt:mosquitto.url=tcp://localhost:1883
    (wobei der Name mosquitto frei wählbar ist, aber im Folgenden für die weitere Config benutzt wird!)
    einstellen (bei SSL/TLS wird es etwas komplizierter, also lass es erst einmal über TCP laufen)
    clientID kannst du frei lassen, es wird ein eigener intern vergeben der erst einmal auch nicht weiter betrachtet werden muss.

    Meine items sehen wie folgt aus:
    Code:
    Number    nodeMCU_Temp    "nM Temp [%.1f °C]"    {mqtt="<[mosquitto:ESP8266/temperature:state:default]"}
    Number    nodeMCU_Humid    "nM Humid [%.1f %%]"    {mqtt="<[mosquitto:ESP8266/humidity:state:default]"}
    Hier wird also die Verbindung zwischen Broker und openhab über das mqtt Binding hergestellt.

    Das war es eigentlich schon. Die topics
    Code:
    ESP8266/temperature
    und
    Code:
    ESP8266/humidity
    stellst du im Code der ESP8266 ein (bei mir benutze ich lua).

    Viel Erfolg, Gruß, Sigi







    Kommentar


      #3
      Hallo !

      Ich habe zwei Sitemaps:
      demo
      MQTT

      die MQTT.sitemap ist folgend aufgebaut:
      Code:
      sitemap MQTT label="mqtt"
      {
         Frame label="MQTT" {
         Switch item=mqttsw1 label="MQTT Switch 1"
          }
      die Items dazu:
      Code:
      Switch mqttsw1 {mqtt=">[mosquitto:/home:command:ON:1],>[mosquitto:/home:command:OFF:0]"}
      Die openhab.cfg:
      Code:
      mqtt:mosquitto.url=tcp://192.168.178.78:1883
      mit der IP-Adresse vom Pi auf dem Mosquitto unter dem Port 1883 läuft.

      Schalte ich nun den Switch würde ich erwarten, dass mir ein Programm wie MQTT.fx oder MQTTLens auf dem Feed
      Code:
      /home
      "0" oder "1" anzeigt.
      Ich sehe jedoch nichts.

      Wo ist mein Fehler ?

      Wie gesagt MQTT Binding ist im addons Ordner.

      openHAB version 1.8.1
      Mosquitto v3.1
      Raspberry Pi 2 Model B

      Vielen Dank für Hilfe.

      MfG

      Kommentar


        #4
        Zitat von machmirindiehos Beitrag anzeigen
        Hallo !
        Schalte ich nun den Switch würde ich erwarten, dass mir ein Programm wie MQTT.fx oder MQTTLens auf dem Feed
        Code:
        /home
        "0" oder "1" anzeigt.
        Ich sehe jedoch nichts.
        In so einem Falle mache ich immer ein sub auf #, dann siehst du ALLES was auf deinem Mosquitto reinkommt.

        Gruß, Sigi

        Kommentar


          #5
          glaube fast das der fehler nichts mit OPENHAB zu tun hat. Habe auch versucht MQTT am PI zum laufen zu bekommen, (Mosquitto).

          Es gibt ja die möglichkeit MOSQUITTO zu testen öffne zwei Terminals

          Terminal 1: Empfänger
          Code:
           
           mosquitto_sub -d -t home

          Terminal 2: Sender
          Code:
           
           mosquitto_pub -d -t home -m "Greetings from Terminal window 2"
          hier müsste die verbindung noch klappen.

          habe so ziehmlich das gleiche Prob wie du kann einfach keine verbindung zwischen ESP8266 und dem MQTT-BROKER herstellen

          Kommentar


            #6
            glaube ich hab die LÖSUNG :

            Code:
            [COLOR=#ff0000]sudo iptables -A INPUT -p tcp -m tcp --dport 1883 -j ACCEPT[/COLOR]
            versuchs mal

            Kommentar

            Lädt...
            X