LoxBerry MQTT

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Clubsport
    MS Profi
    • 11.01.2018
    • 601

    Hi Christian,

    ich lern ja immer gern dazu... Warum lieber http als udp?
    Ich benutze eigentlich für fast alles udp, hab aber irgendwie letztens gelesen das würde den Miniserver mehr belasten...?

    Grüße, Martin

    Kommentar

    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11200

      Wenn du sagen wir 20 verschiedene Befehle in einem Virtuellen UDP Eingang hast (das kommt schnell zusammen - 5 Shelly 2 mit 10 Stati und 5x Power usw), dann muss der Miniserver bei jedem UDP-Paket 20x die Suchen der Befehlserkennungen wegen dieser 20 Befehle ausführen.

      Bei HTTP hingegen gibt es keine Befehlserkennungen, sondern jeder Wert wird genau in den richtigen VI geschrieben.

      LG Christian
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar


      • svethi
        svethi kommentierte
        Kommentar bearbeiten
        Allerdings ist so wiederum die Netzlast höher und ob es für den MiniServer wirklich besser ist, müsste man messen. Wenn man alle Werte in einem UDP Paket schickt, ist das sicher besser als für jeden einzelnen VI die HTTP Kommunikation abzubilden ;-)

      • Christian Fenzl
        Christian Fenzl kommentierte
        Kommentar bearbeiten
        Sehe ich nicht so.
        Ich schick „Hudri-Wudri“ per UDP an den Miniserver. „Hudri-Wudri“ kommt in keiner Befehlserkennung vor. Trotzdem laufen 20 Suchen.

        Bei http kommt einmal HTTP 500 (nicht wirklich: Loxone schickt immer 200 OK). Der http-Stack von Loxone ist imho nicht sehr ballastgeladen, kein Vergleich zu einem Apache oder so.
        Dass UDP effizienter wäre, stimmt vielleicht bei 3 Werten, aber nicht bei 20 oder 50. Cache nicht vergessen!
        Zuletzt geändert von Christian Fenzl; 21.01.2019, 09:53.

      • svethi
        svethi kommentierte
        Kommentar bearbeiten
        Ich sag ja, man müsste es messen. Und die Netzwerklast ist durch TCP und HTTP dennoch größer
    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11200

      Ergänzend zum Thema Cache und MQTT mit http und udp:

      Gehen wir wieder von 20 Befehlserkennungen aus, aber 40 Payloads, die wir per MQTT bekommen (es gibt ja vielleicht einiges, was wir garnicht auswerten, aber per Subscription trotzdem kommt).

      Cache in UDP:
      Angenommen, es ändern sich zwei Daten per MQTT (Relaystatus und Power). Da diese Änderungen vom Broker hintereinander kommen, gehen auch zwei UDP-Pakete hinaus (Ausnahme: Payload als JSON generiert ein kombiniertes UDP-Paket).
      Das löst am Miniserver 40 Suchen aus. Selbst wenn ich konkret die Power dieses Shelly garnicht als Befehlserkennung angelegt habe!

      Der Shelly hat auch die Angewohnheit, seine Payload ständig zu wiederholen.
      Hier erkennt der Cache, ob sich einer oder mehrere der Datensätze geändert hat.
      Keine Änderung -> keine UDP-Übertragung -> keine Suchen
      EINE Änderung -> Cache verkürzt das Datenpaket (also den gesendeten String) auf die Änderung -> trotzdem 20 Suchen (aber in kürzerem UDP-String).
      ZWEI Änderungen -> jeweils 20, also 40 Suchen.

      HTTP:
      Keine Änderung -> Cache -> keine Übertragung
      EINE Änderung -> Cache -> EIN gezielter http-Request
      ZWEI Änderungen -> ZWEI gezielte http-Requests.

      Je spezifischer ihr die Subscriptions anlegt, desto weniger Daten gehen zum Miniserver.

      Auch wenn ich keinen Lasttest durchgeführt habe, sagt mir der „Bauch“, dass zwei http-Requests effizienter sind als 40 Regex-Suchen.
      Zuletzt geändert von Christian Fenzl; 21.01.2019, 10:29.
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar

      • philox
        LoxBus Spammer
        • 16.06.2016
        • 279

        Ich habe mir in ioBroker einen MQTT Client eingerichtet, der mir die Daten meines Smart Meters schickt.

        Diese Daten kommen auch im LoxBerry an, aber leider kommt bei Loxone nichts an. Es scheint mir fast als würde der Virtuelle Eingang nicht erzeugt werden.

        Alle anderen MQTT Daten kommen wie gewohnt bei Loxone an.

        Hat da jemand eine Idee?
        Angehängte Dateien

        Kommentar


        • Blindfisch
          Blindfisch kommentierte
          Kommentar bearbeiten
          kann das am maximalen Wert bei der Validierung hängen 100W

        • philox
          philox kommentierte
          Kommentar bearbeiten
          Ich Holzkopf.... Danke!
      • w4Rd3n
        Smart Home'r
        • 03.09.2018
        • 43

        Falls es jemand interessiert:
        Doorbird Intercom unterstützt nun auch HTTP Aufrufe.
        Man kann diese direkt über einen Virtuellen Eingang in Loxone empfangen oder halt über den Mqtt Broker:

        Kommentar

        • AlexAn
          Lebende Foren Legende
          • 25.08.2015
          • 4215

          Hi Christian Fenzl hab da ein Problem wo ich nicht weiterkomme.

          Bei meiner Bulb schalte ich zwischen Mode Color und White hin und her.
          Schalte alle Farben und auch Warmweiß (Mode White)

          Klappt alles bis auf:
          schalte ich zurück auf Modus Color muss ich den Befehl ein 2.mal senden damit er zum Gateway kommt.

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

Name: shelly MQTT.JPG
Ansichten: 1313
Größe: 176,1 KB
ID: 187339
          Grüße Alex

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11200

            AlexAn
            Kannst du im MQTT Log schauen, ob der Command vom MS tatsächlich 2x rausgeht , oder etwa 1x vom MS geschluckt wird?
            Im Log steht jede eingehende UDP-Verbindung.

            Nochwas: Sind bei dir UDP-Out und UDP-In Ports noch gleich (11883)? Das macht Probleme am Miniserver, deswegen habe ich den Standard auf 11883 & 11884 geändert.
            Zuletzt geändert von Christian Fenzl; 25.01.2019, 19:21.
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • AlexAn
              Lebende Foren Legende
              • 25.08.2015
              • 4215

              Setting dürfte passen:
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Mqtt.JPG Ansichten: 0 Größe: 222,9 KB ID: 187377

              Vom Log her schaut es aus als ob nur Teile des Strings vom MS kommen!
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: MQTT2.JPG Ansichten: 0 Größe: 674,3 KB ID: 187378
              Grüße Alex

              Kommentar

              • Christian Fenzl
                Lebende Foren Legende
                • 31.08.2015
                • 11200

                Kann’s sein, dass der Status-Baustein in eine Bedingung kommt, die früher dran ist als der gesamte String?
                Oder dass der String noch nicht fertig zusammengebaut ist, wenn er sendet?
                Das Gateway scheint nichts verkehrt zu machen, wenn’s schon falsch rein kommt...
                Wenn du die Umschaltung um einen Tick verzögerst, passt es dann?
                Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                Kommentar


                • AlexAn
                  AlexAn kommentierte
                  Kommentar bearbeiten
                  Ja das könnte tatsächlich sein dass mir die Szenenausgabe den letzten Statusbaustein zu früh umschaltet.
                  Danke für den Impuls und schau mal wie ich das hinkriege.
                  Dachte schon ich muss ein Ticket aufmachen das mein Go zu lahm für den Loxberry ist
              • AlexAn
                Lebende Foren Legende
                • 25.08.2015
                • 4215

                Christian Fenzl gibt es eine Möglichkeit die VO-Vorlagen/Templates für dein Gateway in Gerätegruppen zu sortieren?
                Deine Arbeit trägt Früchte und die Anzahl steigt dementsprechend an.

                Hab jetzt gerade Robonect in Arbeit.

                Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Mqtt.JPG Ansichten: 0 Größe: 90,0 KB ID: 187684

                Oder einfach jeweils neu anlegen und im Loxwiki beim Hersteller ablegen??
                Zuletzt geändert von AlexAn; 27.01.2019, 20:26.
                Grüße Alex

                Kommentar


                • Christian Fenzl
                  Christian Fenzl kommentierte
                  Kommentar bearbeiten
                  Ich weiß nicht genau, was das ist - UDP-Ausgangsbefehle?
                  Ich bin der Ansicht, dass es sinnvoll ist, für Shelly via MQTT einen eigenen Shelly-Artikel unter https://www.loxwiki.eu/x/c4HeAg anzulegen, und dort weitere Unterartikel pro Shelly-Device. Auch würde ich die Artikel gleich in Englisch verfassen. Ich meld mich zu passender Zeit bei dir per PM, warum ich das so angedacht hätte.
                  lg, Christian

                • AlexAn
                  AlexAn kommentierte
                  Kommentar bearbeiten
                  Ja sind UDP Befehle. Alles klar und danke!
              • americanium
                Extension Master
                • 10.10.2016
                • 103

                Hallo Leute!

                Ich habe es nun erfolgreich geschafft MQTT Telegramme über Loxberry an den MS zu übertragen, aber retour bekomme ich einfach nicht zusammen... hätte mich an die paar Screenshots im Wiki gehalten, aber es kommt scheinbar gar nichts an, zumindest rührt sich im Log nichts und im MQTT Server Monitor mit "mosquitto_sub -d -v -t \#" auch nicht ...

                Danke!
                Angehängte Dateien
                KNX mit Gira Tastsensoren "3", MDT Wetterstation, MDT Schaltaktoren mit Strommessung, MDT Dimmaktoren, Griesser MGX-9 Raffstoresteuerung, Helios KWL - Loxone Miniserver - Raspberry Pi (Loxberry) mit HA Bridge für Amazon Echo, Gira Rauchmelder, E-Key, Fronius Symo, SDM530 Modbus Zähler + S0 für Verbrauchszweig + S0 für Wärmepumpe. In Planung: eBUS über Raspberry + FHEM

                Kommentar


                • andylox
                  andylox kommentierte
                  Kommentar bearbeiten
                  Du brauchst kein -m und auch keine " angeben, jedenfalls habe ich das nicht und funzt wunderbar.

                • AlexAn
                  AlexAn kommentierte
                  Kommentar bearbeiten
                  Schreib mal deinen Befehl bei: Befehl ein
                  Eine Zeile höher so wie im Wiki und schau im Log ob was ankommt!
                  Topic "loxberry" ??

                  Als Hilfe kannst du dir den Status anschauen was reinkommt und deine Befehle ähnlich (natürlich mit den Kommandos) aufbauen!
                  Zuletzt geändert von AlexAn; 28.01.2019, 15:21.

                • americanium
                  americanium kommentierte
                  Kommentar bearbeiten
                  Danke, ich könnte mich gerade selbst Ohrfeigen, ich hab glaub ich 10 mal geschaut ob ich in der richtigen Zeile bin .... jetzt gehts - Danke!
              • americanium
                Extension Master
                • 10.10.2016
                • 103

                Hallo!

                Ich habe seit einiger Zeit das Problem, dass nach dem Neustart der Mosquitto nicht mehr läuft und sich nur mal per Zufall (ich weiß nicht mehr wie) starten lies.
                Service daktivieren, aktivieren bringt nichts....

                Hier ein Log Auszug:
                20:18:46.298 INFO: LoxBerry Version 1.4.0.2 ( is_raspberry.cfg )
                20:18:46.298 INFO: MQTT Gateway Version 0.3
                20:18:46.298 INFO: Loglevel: 7
                20:18:46.372 INFO: KEEP IN MIND: LoxBerry MQTT only sends CHANGED values to the Miniserver.
                20:18:46.372 INFO: If you use UDP Monitor, you have to take actions that changes are pushed.
                20:18:46.412 OK: Reading config changes
                20:18:46.414 JSON Dump:
                20:18:46.416 $VAR1 = {
                'subscriptions' => [
                'loxberry/#'
                ],
                'Main' => {
                'convert_booleans' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                'udpport' => '11883',
                'use_http' => $VAR1->{'Main'}{'convert_booleans'},
                'enable_mosquitto' => $VAR1->{'Main'}{'convert_booleans'},
                'use_udp' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                'pollms' => '50',
                'msno' => '1',
                'expand_json' => $VAR1->{'Main'}{'use_udp'},
                'brokeraddress' => 'localhost',
                'udpinport' => '11884'
                }
                };

                20:18:46.416 INFO: MSNR: 1
                20:18:46.417 INFO: UDPPort: 11883
                20:18:46.417 INFO: Connecting broker localhost
                20:18:46.418 INFO: Subscribing loxberry/#
                20:18:46.418 OK: No conversions set
                20:18:46.419 Creating udp-in socket
                20:18:46.420 OK: UDP-IN listening on port 11884
                20:18:46.421 Creating udp-in socket
                20:18:46.422 OK: UDP-IN listening on port 11884
                20:18:46.427 INFO: Relayed topics are saved on RAMDISK for UI
                20:18:52.023 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:18:58.050 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:04.035 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:10.047 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:16.048 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:22.024 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:28.007 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:34.035 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:40.008 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:46.040 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:47.012 INFO: Relayed topics are saved on RAMDISK for UI
                20:19:52.009 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:19:58.039 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:20:04.029 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:20:10.030 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:20:16.002 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:20:22.043 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.
                20:20:28.019 WARNING: No connection to MQTT broker localhost - Check host/port/user/pass and your connection.


                Danke!


                UPDATE 20:36:
                Ich hab per SSH in der Konsole einfach nur "mosquitto" eingegeben, nun läuft es, aber nur solange ich das so offen lasse, wenn ich das wieder schließe stoppt das Ganze...

                root@loxberry:/opt/loxberry# sudo service mosquitto stop
                root@loxberry:/opt/loxberry# sudo service mosquitto start

                änder daran auch nichts...
                Zuletzt geändert von americanium; 29.01.2019, 20:38.
                KNX mit Gira Tastsensoren "3", MDT Wetterstation, MDT Schaltaktoren mit Strommessung, MDT Dimmaktoren, Griesser MGX-9 Raffstoresteuerung, Helios KWL - Loxone Miniserver - Raspberry Pi (Loxberry) mit HA Bridge für Amazon Echo, Gira Rauchmelder, E-Key, Fronius Symo, SDM530 Modbus Zähler + S0 für Verbrauchszweig + S0 für Wärmepumpe. In Planung: eBUS über Raspberry + FHEM

                Kommentar

                • Christian Fenzl
                  Lebende Foren Legende
                  • 31.08.2015
                  • 11200

                  americanium

                  Hi!
                  Könntest du bitte auf den letzten Stand gehen (wir sind bei 0.7.1, du 0.3).
                  Es gab mit dem Mosq-Start Probleme, irgendwo zwischen 0.3 und 0.7 hab ich auch was daran verbessert.
                  lg, Christian
                  Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                  Kommentar

                  • americanium
                    Extension Master
                    • 10.10.2016
                    • 103

                    Huch, dachte ich bin up2date da beim Button "Auf Updates prüfen" nichts neues daherkommt... sorry, ich installier gleich die aktuellste, dann schau ich weiter.

                    lg
                    KNX mit Gira Tastsensoren "3", MDT Wetterstation, MDT Schaltaktoren mit Strommessung, MDT Dimmaktoren, Griesser MGX-9 Raffstoresteuerung, Helios KWL - Loxone Miniserver - Raspberry Pi (Loxberry) mit HA Bridge für Amazon Echo, Gira Rauchmelder, E-Key, Fronius Symo, SDM530 Modbus Zähler + S0 für Verbrauchszweig + S0 für Wärmepumpe. In Planung: eBUS über Raspberry + FHEM

                    Kommentar

                    • americanium
                      Extension Master
                      • 10.10.2016
                      • 103

                      So, installiert, neu gestartet, 5 Minuten gewartet, genau das selbe ... sobald ich in einer Konsole "mosquitto" eingebe wird aus rot grün mit "mosquitto running", schließe ich das ganze, wirds wieder rot.

                      Christian Fenzl

                      lg
                      KNX mit Gira Tastsensoren "3", MDT Wetterstation, MDT Schaltaktoren mit Strommessung, MDT Dimmaktoren, Griesser MGX-9 Raffstoresteuerung, Helios KWL - Loxone Miniserver - Raspberry Pi (Loxberry) mit HA Bridge für Amazon Echo, Gira Rauchmelder, E-Key, Fronius Symo, SDM530 Modbus Zähler + S0 für Verbrauchszweig + S0 für Wärmepumpe. In Planung: eBUS über Raspberry + FHEM

                      Kommentar

                      Lädt...