LoxBerry MQTT

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • 74homer
    LoxBus Spammer
    • 26.02.2019
    • 253

    Hallo Christian,
    ich habe deine Wiki-Artikel zum Plugin wiederholt gelesen.
    Zusätzlich habe ich noch Wiki-Artikel zu Aktoren gelesen, die über MQTT mit Loxone verbunden sind, z.B. hier und hier.
    Aus meiner Sicht sind die Infos in den Wiki-Artikeln der Aktoren aber verwirrend.
    Beispiel:
    Warum soll ich bei einem Aktor das Logging aktivieren und auf den Miniserver konfigurieren (siehe MQTT und UDP Einstellungen, Bild 2), wenn ich danach noch MQTT einrichte?

    Mein Verständnis deines Plugins ist:
    1. Der Aktor sendet seine Daten an den MQTT Broker
    2. Die Daten werden bei REST API (empfohlen) an Loxone Miniserver gesendet (= push) oder bei UDP vom Loxone Miniserver abgeholt (= pull)

    Der Aktor (in meinem Fall mit Tasmota) kann sich mit dem MQTT verbinden und sendet auch (fleißig) seine Daten.

    Für die Steuerung des Aktors muss ich dann Daten von Loxone Miniserver an MQTT Broker senden.
    In den Wiki-Artikeln der Aktoren wird aber ein Virtueller Ausgang so eingerichtet, dass die Daten an die IP des Aktors gesendet werden.
    Ist das korrekt?
    Wenn ja, warum soll dann gemäß deinen Wiki-Artikeln zum Plugin eine UDP-Verbindung vom Miniserver zum MQTT-Gateway/Broker eingerichtet werden?

    Gruß
    Thomas

    Kommentar


    • hme0354
      hme0354 kommentierte
      Kommentar bearbeiten
      Es steht drin man kann wahlweise eine UDP oder HTTP Verbindung vom oder zum Plugin verwenden.

    • 74homer
      74homer kommentierte
      Kommentar bearbeiten
      Worauf bezieht sich diese Aussage?
      Auf das Wiki zum MQTT Plugin?

    • hme0354
      hme0354 kommentierte
      Kommentar bearbeiten
      ja
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11217

    https://www.loxwiki.eu/pages/viewpag...ageId=39356011
    Dieser Artikel ist auch riesengroß im Hauptartikel des Gateways verlinkt.
    Und ein Video gibt’s auch 😉
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11217

      Beste Konfiguration:

      MQTT Gateway an Miniserver -> http (udp deaktivieren)
      Miniserver an MQTT Gateway -> udp

      Erklärung MQTT -> Miniserver per http:
      • Übertragung an den Miniserver per http adressiert virtuelle Eingänge DIREKT (im Gegensatz zu UDP, wo Befehlserkennungen jedesmal Suchen am Miniserver auslösen.
      • Außerdem ist die Einrichtung virtueller Eingänge am Miniserver einfacher als UDP-Eingangsbefehle mit Befehlserkennung
      • Zudem ist die Übertragung von Texten nur per HTTP möglich ("Virtueller Texteingang")
      Erklärung Miniserver -> MQTT per udp:
      • UDP ist stateless und hat keinen Protokoll-Overhead, daher ist die Menge der Daten viel geringer
      • Im Gegensatz dazu muss sich bei HTTP der Miniserver am LoxBerry authentifizieren, am LoxBerry wird bei jeder Übertragung eine Apache Session gestartet, die die Daten ans Gateway weitergibt.
      • Überdies ist die HTTP-Schnittstelle des MQTT Gateways nur ein "Wrapper" - jede eingehende HTTP-Verbindung wird intern am LoxBerry dann sowieso wieder per UDP an das Gateway übermittelt.

      Zuletzt geändert von Christian Fenzl; 20.01.2021, 10:07.
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar


      • 74homer
        74homer kommentierte
        Kommentar bearbeiten
        Ich habe die Konfiguration so eingerichtet.
        Damit gibt es keine Probleme.

        Die Probleme entstehen dann, wenn man die Wiki-Artikel zu den Aktoren durchliest.
        Vermeintlich ist dieser Thread nicht der passende für meine Fragen, aber vielleicht kann diese trotzdem jemand beantworten:
        Warum soll ich bei einem Aktor das Logging aktivieren und auf den Miniserver konfigurieren (siehe MQTT und UDP Einstellungen, Bild 2), wenn ich danach noch MQTT einrichte?
        Warum soll ich den Virtueller Ausgang so einrichten, dass die Daten an die IP des Aktors gesendet werden?

        Wie gesagt, die Wiki-Artikel der Aktoren suggerieren diese Einstellungen.
        Zuletzt geändert von 74homer; 20.01.2021, 10:07.

      • Christian Fenzl
        Christian Fenzl kommentierte
        Kommentar bearbeiten
        Ich hab ehrlich gesagt keine Idee, auf welchen Artikel du dich beziehst bzw. wo "Logging" steht.

      • AlexAn
        AlexAn kommentierte
        Kommentar bearbeiten
        Da geht es um die Einstellungen in Tasmota was er beim jeweiligen MQTT/ UDP Loglevel raushaut.
        Zuletzt geändert von AlexAn; 20.01.2021, 12:29.
    • 74homer
      LoxBus Spammer
      • 26.02.2019
      • 253

      Ich beziehe mich auf diese Wiki-Artikel der Aktoren:
      https://www.loxwiki.eu/display/LOX/S...P1+mit+Tasmota
      https://www.loxwiki.eu/display/LOX/E...Tasmota+Sonoff

      Ich habe gestern das UDP-Monitoring aktiviert und konnte diese Einträge loggen:
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2021-01-20_10-49-31.png
Ansichten: 663
Größe: 48,9 KB
ID: 286997

      Auf Basis dieser Daten habe ich dann einen Virtuellen Ausgang Befehl definiert mit diesem Befehl:
      push tasmota/BW-SHP2/cmnd/Power on
      push tasmota/BW-SHP2/cmnd/Power off
      Click image for larger version  Name:	2021-01-20_10-58-05.png Views:	0 Size:	27.8 KB ID:	286984
      Der Syntax dieses Befehls habe ich aus dem WebUI von Tasmota entnommen:
      Click image for larger version  Name:	2021-01-20_11-03-33.png Views:	0 Size:	97.3 KB ID:	286986

      Allerdings schaltet der Aktor nicht ein/aus über Loxone.

      Was ist der erste Schritt zur Fehleranalyse und -behebung?

      Gruß
      Thomas
      Zuletzt geändert von 74homer; 20.01.2021, 12:07.

      Kommentar

      • AlexAn
        Lebende Foren Legende
        • 25.08.2015
        • 4257

        Man möge mir verzeihen falls ich die Tasmota Artikel nicht so eindeutig geschrieben habe...

        Tasmota kannst per:
        UDP
        http
        oder
        MQTT
        einbinden

        Such dir das passende für dich aus und den Rest vergiss!


        Zum Problem:

        Topic einfach halten und schauen was raus geht im Loxone Monitor - eventuell mal den - entfernen
        push würde ich auch mal weglassen also nur: tasmota/BW-SHP2/cmnd/Power on

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Monitor.JPG Ansichten: 0 Größe: 129,1 KB ID: 286999

        MQTT Log

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Monitor2.JPG Ansichten: 0 Größe: 51,4 KB ID: 287000
        Zuletzt geändert von AlexAn; 20.01.2021, 12:39.
        Grüße Alex

        Kommentar

        • 74homer
          LoxBus Spammer
          • 26.02.2019
          • 253

          Im Logfile /plugins/mqttgateway/mqttgateway.log finde ich diese Einträge:
          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2021-01-20_16-08-50.png
Ansichten: 780
Größe: 35,0 KB
ID: 287053

          Wenn ich den den Virtueller Ausgangs Befehl ändere zu tasmota/BW-SHP2/cmnd/Power on, dann steht im Log:
          16:16:10.324 INFO: MQTT received: tasmota/BW-SHP2/POWER: ON
          16:16:10.325 tasmota/BW-SHP2/POWER is cached
          16:16:10.326 tasmota/# matches tasmota/BW-SHP2/POWER, send to MS 1
          16:16:10.326 HTTP: Preparing input tasmota_BW-SHP2_POWER (using cache): 1
          16:16:31.601 OK: UDP IN: loxmini.lan (172.16.20.4): tasmota/BW-SHP2/cmnd/Power on
          16:16:31.602 Publishing: 'tasmota/BW-SHP2/cmnd/Power'='on'
          16:16:31.653 INFO: MQTT received: tasmota/BW-SHP2/cmnd/Power: on
          16:16:31.654 tasmota/BW-SHP2/cmnd/Power is cached
          16:16:31.654 tasmota/# matches tasmota/BW-SHP2/cmnd/Power, send to MS 1
          16:16:31.655 HTTP: Preparing input tasmota_BW-SHP2_cmnd_Power (using cache): 1
          16:16:31.821 INFO: MQTT received: tasmota/BW-SHP2/RESULT: {"POWER":"ON"}
          16:16:31.822 Expanding json message
          16:16:31.822 tasmota/BW-SHP2/RESULT/POWER is cached
          16:16:31.823 tasmota/# matches tasmota/BW-SHP2/RESULT, send to MS 1
          16:16:31.823 HTTP: Preparing input tasmota_BW-SHP2_RESULT_POWER (using cache): 1
          16:16:31.825 INFO: MQTT received: tasmota/BW-SHP2/POWER: ON
          16:16:31.826 tasmota/BW-SHP2/POWER is cached
          16:16:31.826 tasmota/# matches tasmota/BW-SHP2/POWER, send to MS 1
          16:16:31.826 HTTP: Preparing input tasmota_BW-SHP2_POWER (using cache): 1


          Der Aktor kann jetzt mit Loxone gesteuert werden.

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6292

            Und was willst Du uns jetzt damit sagen?
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar


            • 74homer
              74homer kommentierte
              Kommentar bearbeiten
              "Der Aktor kann jetzt mit Loxone gesteuert werden."

            • svethi
              svethi kommentierte
              Kommentar bearbeiten
              Das hast Du oben unter den Logauszug auch schon geschrieben

            • 74homer
              74homer kommentierte
              Kommentar bearbeiten
              Dann solltest du deine Frage präzisieren.
          • 74homer
            LoxBus Spammer
            • 26.02.2019
            • 253

            Hallo Christian,
            ich habe eine Frage im Zusammenhang mit MQTT Gateway - Alle FHEM-Readings weitergeben.
            Hast du auch das FHEM Modul MQTT2_CLIENT an Stelle von MQTT erfolgreich mit dem Loxberry MQTT Broker verbinden können?
            Dieses Modul ist hier im FHEM Wiki dokumentiert.

            Ich habe dieses Modul in FHEM so angelegt:
            define lb_mqtt MQTT2_CLIENT <loxberry IP>:1883 loxberry <deinMQTTPasswort>
            erhalte aber einen Authorisierungs-Fehler.

            Mit dem FHEM Modul MQTT gibt es dagegen keine Probleme.

            Interessant ist in diesem Kontext auch, dass das <deinMQTTPPasswort> im Klartext steht in der fhem.cfg, Abschnitt zum Device MQTT2_CLIENT.

            Gruß
            Thomas
            Zuletzt geändert von 74homer; 21.01.2021, 10:57.

            Kommentar


            • Christian Fenzl
              Christian Fenzl kommentierte
              Kommentar bearbeiten
              Ich hab grad bei mir nachgeschaut, ich verwende den MQTT2_CLIENT nicht.
              Ich bin jetzt auch nicht besonders erfahren in FHEM. Ich verwende es nur für Enocean, um alles per MQTT weiterzugeben.
          • chriz77
            Dumb Home'r
            • 13.01.2021
            • 12

            Hallo,

            ich habe Probleme mit MQTT und meinen Shellies. Die Statusinformationen kommen einfach nicht an. Es hat 1-2 mal funktioniert und seitdem kommt nichts mehr an. Ich habe schon die Shellies zurückgesetzt und MQTT auf dem Loxberry neu installiert. Leider alles ohne Erfolg. Wenn ich die Shellies mit einem anderen MQTT-Server (z.B. ioBroker) verbinde funktioniert alles einwandfrei. Also muss es irgendwie am Loxberry liegen. Ich verwende ich neueste Loxberry Version unter Proxmox, das ich über das Image aus dem Wiki installiert habe. Subcription: shellies/#

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: mqtt1.JPG
Ansichten: 922
Größe: 73,2 KB
ID: 287755
            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: mqtt2.JPG
Ansichten: 826
Größe: 195,5 KB
ID: 287756

            Irgendwelche Ideen, an was es liegen könnte?

            Danke und viele Grüße

            Chris

            Kommentar


            • hme0354
              hme0354 kommentierte
              Kommentar bearbeiten
              gib mal oben statt loxberry.local die ip Adresse des loxberry ein

            • chriz77
              chriz77 kommentierte
              Kommentar bearbeiten
              Hab ich auch schon probiert.

            • chriz77
              chriz77 kommentierte
              Kommentar bearbeiten
              Ich habe Loxberry komplett neu installiert. Nun läuft es.
          • guenther.wimmer@kt-net.at
            Smart Home'r
            • 20.09.2015
            • 34

            Hallo Zusammen!

            Ich versuche gerade zwei Werte gleichzeitig zur Loxone zu schicken und via Statusbaustein auszuwerten.
            rcvr_192.168.20.131_POST_type hängt auf AI1
            rcvr_192.168.20.131_POST_username auf AI2
            Als Statustext habe ich dann "<v2> macht etwas".
            Manchmal bekomme ich "Julia macht etwas" oder aber "0 macht etwas"

            Gib es eine Möglichkeit einzustellen wie lange ein wert ausgegeben wird, bis er wieder auf 0 zurück gesetzt wird?
            Oder gibt es MQTT seitig die Möglichkeit einen Wert verzögert (0,1s) zu senden?


            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: rcvr.jpg
Ansichten: 576
Größe: 30,1 KB
ID: 288430

            Kommentar

            • Christian Fenzl
              Lebende Foren Legende
              • 31.08.2015
              • 11217

              Servus Günther!
              I'm Statusbaustein reicht ein
              I1 != 0 UND I2 != 0 -> <v2> macht <v1>
              nicht aus?
              Ist das Gateway dafür zu schnell?
              Ginge es, nur Zb den type auf Reset-After-Send zu setzen, und den Usernamen stehen zu lassen?
              Wenn da dann der User switched, müssten wir uns nur darum kümmern, den type zu verzögern.
              Zuletzt geändert von Christian Fenzl; 27.01.2021, 21:24.
              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar


              • guenther.wimmer@kt-net.at
                guenther.wimmer@kt-net.at kommentierte
                Kommentar bearbeiten
                Beim AI1 reagiere ich nur auf den Type z.B.: 100 oder 301+ halt mit User dazu.
                Usernamen stehen zu lassen hätte ich versucht, da hatte ich aber das Problem, dass beim Userwechsel der alten User drinnen bleibt....

              • Christian Fenzl
                Christian Fenzl kommentierte
                Kommentar bearbeiten
                Bleibt der alte User überhaupt im VTI, oder wechselt er zu spät?
            • guenther.wimmer@kt-net.at
              Smart Home'r
              • 20.09.2015
              • 34

              Vom Gefühl her ist einmal der Typ dann der User zu schnell bzw. zu langsam.
              Ich hab beide VTIs an einen eigenen Tracker angeschlossen.
              Um 22:34:02 hat der "Typ" ausgelöst, aber der User ist erst um 22:34:03 aufgeschlagen.
              Wenn ich den User stehen lassen, kommt der neue User zu spät.
              Aber ich hab es auch schon gehabt das der User schon wieder weg war und der Typ dann erst gekommen ist.

              zum besseren Verständnis, ich versuche NodeRed mit MQTT zu tauschen:
              Grandstream GDS3710 IP-Video-Türstation - loxwiki - loxwiki -> Event Notification via Node-RED
              Angehängte Dateien
              Zuletzt geändert von guenther.wimmer@kt-net.at; 27.01.2021, 22:59.

              Kommentar


              • guenther.wimmer@kt-net.at
                guenther.wimmer@kt-net.at kommentierte
                Kommentar bearbeiten
                Ich werde das ganz bei Gelegenheit mal auf einen anderen Miniserver umleiten.
                Nicht dass das Timing Problem durch hohe Auslastung am Miniserver ausgelöst wird?!
            • Christian Fenzl
              Lebende Foren Legende
              • 31.08.2015
              • 11217

              Ich hab jetzt nochmal den Code durchgesehen, vom Übertragungsaspekt/Timing her läuft es so ab:
              Der rcvr gibt alle Daten gemeinsam ans Gateway weiter, hier gibt es also kein Delay einzelner Datensätze.
              Das Gateway gibt die Daten auch als einen Datensatz an MQTT weiter, also auch hier keine Verzögerung zwischen Datensätzen.
              Dann empfängt das Gateway die Daten vom Broker wieder als einen gemeinsamen Datensatz.
              Nun erfolgt das Zerlegen der Daten. Ab diesem Zeitpunkt ist die Reihenfolge nicht mehr einheitlich.
              Jetzt erfolgt das Senden der Daten an den MS. Die Reihenfolge ist nicht definiert, aber jeder Datensatz wird gesendet.
              Erst wenn sicher alle Datensätze gesendet sind, erfolgt ein zweiter Durchgang, wo alle Reset-After-Send-Daten wieder auf 0 gesetzt werden, wo die Reihenfolge auch unbestimmt ist.

              Vom zeitlichen Aspekt her gibt es dadurch jedenfalls einen Zustand, wo alle Daten gemeinsam gesetzt sind, bevor sie durch Reset-After-Send wieder zurückgesetzt werden.

              Kannst du mal zeigen, wie dein Statusbaustein aussieht?
              Den Typ, der ja eine Zahl ist, würde ich als VI statt VTI anlegen.
              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar

              • guenther.wimmer@kt-net.at
                Smart Home'r
                • 20.09.2015
                • 34

                Ursprünglich hatte ich denn TYP als VI und Username als VTI.
                Ich habe das dann bei beiden auf VTI Umgebaut, da ich vermutet habe, dass die Verarbeitung von VTI / VI ell. den unterschied macht.

                Theoretisch könnte ich die beiden Werte auf einmal an MQTT übergeben, also "Guenther 100" oder "Julia 301" nur kann ich das dann im Statusbaustein nicht mehr auswerten, oder?
                Mit dem Umlaut "ü" hatte ich auch so meine Probleme! ;-)
                Angehängte Dateien

                Kommentar

                • Christian Fenzl
                  Lebende Foren Legende
                  • 31.08.2015
                  • 11217

                  Kannst du im Statusbaustein mal in allen Zeilen (außer der letzten) überall dazu nehmen
                  AI2 ! = 0

                  und prüfen, ob alles durchkommt, und auch keine False-Positives.
                  Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                  Kommentar


                  • guenther.wimmer@kt-net.at
                    guenther.wimmer@kt-net.at kommentierte
                    Kommentar bearbeiten
                    hast du auch eine idee bezüglich umlaute „ü“? 😬

                  • Christian Fenzl
                    Christian Fenzl kommentierte
                    Kommentar bearbeiten
                    Wennst mir sagst/*zeigst*, was du meinst?

                  • Christian Fenzl
                    Christian Fenzl kommentierte
                    Kommentar bearbeiten
                    BTW Das war das selbe, wie ich in #716 geschrieben hatte 😉
                Lädt...