Ankündigung

Einklappen
Keine Ankündigung bisher.

MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054

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

    Zitat von gulp2k Beitrag anzeigen
    ich glaube die MQTT LBSes haben das gleiche Memory Leak wie die Yeelight LBS
    Es ist nicht das gleiche Memory Leak, da die MQTT Bausteine gar keinen alternativen Error Handler verwenden.
    Daher die Frage, bei welchen MQTT Baustein ist das Problem aufgetreten?

    Kommentar


      Ich hab aktuell beide Subscribe LBS am laufen, also Server und Client.
      Im Mosquitto Log konnte ich sehen das es jede Sekunde ein Reconnect gab das dann aber vom Client wieder abgebrochen wurde dabei ging ziemlich schnell der Speicher beim EXEC Script hoch.

      Beim Subscribe Client im Log hatte ich dann folgendes:
      Code:
       [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
       	 		[TR]
       			[TD]2019-01-28 23:04:17[/TD]
       			[TD]084237[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:20[/TD]
       			[TD]155975[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:24[/TD]
       			[TD]539427[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:27[/TD]
       			[TD]611840[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:30[/TD]
       			[TD]672604[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: A TLS error occurred. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:33[/TD]
       			[TD]692131[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:36[/TD]
       			[TD]754374[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: A TLS error occurred. (4630)[/TD]
       		[/TR]
       		[TR]
       			[TD]2019-01-28 23:04:39[/TD]
       			[TD]771720[/TD]
       			[TD]17111[/TD]
       			[TD]debug[/TD]
       			[TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD]
       		[/TR]
       	 [/TABLE]
      Zuletzt geändert von gulp2k; 15.02.2019, 21:37. Grund: Logs
      Gruß
      Michael

      Kommentar


        Spontan kann ich die Ursache dafür nicht finden. Grundsätzlich wird alle 3 Sekunden versucht die Verbindung neu aufzubauen, dazu wird aber kein neues Client Objekt angelegt, sondern das bestehende immer wiederverwendet. Kam wirklich jede Sekunde ein Connect im Mosquitto? Im obigen Log sieht man, dass die Exception alle drei Sekunden auftritt. Dies passt zu dem Reconnect Verfahren des LBS. Dann sollten aber die Connect Versuche im Mosquitto auch nur alle 3 Sekunden stattfinden, es sei denn, die kommen von unterschiedlichen LBSen.

        Kommentar


          Zitat von trollmar Beitrag anzeigen

          hi Nanosonde

          wäre es auch möglich einen parser .....

          https://knx-user-forum.de/forum/proj...74#post1325474
          ..ping ;-)
          Jean-Luc Picard: "Things are only impossible until they are not."

          Kommentar


            Zitat von jonofe Beitrag anzeigen
            Spontan kann ich die Ursache dafür nicht finden. Grundsätzlich wird alle 3 Sekunden versucht die Verbindung neu aufzubauen, dazu wird aber kein neues Client Objekt angelegt, sondern das bestehende immer wiederverwendet. Kam wirklich jede Sekunde ein Connect im Mosquitto? Im obigen Log sieht man, dass die Exception alle drei Sekunden auftritt. Dies passt zu dem Reconnect Verfahren des LBS. Dann sollten aber die Connect Versuche im Mosquitto auch nur alle 3 Sekunden stattfinden, es sei denn, die kommen von unterschiedlichen LBSen.
            Sorry für die späte Antwort...
            Ich denke das past so, beide LBS haben wohl abwechselnd versucht sich zu verbinden was da ca 1s war. Da beide denn gleichen User verwenden konnte ich das nicht unterscheiden...
            Aktuell ist wieder alles gut, eventuell ist es ja auch ein Problem der MQTT Lib?! Ist halt schon ein Edge Case sich per TLS auf einen Mosquitto mit abgelaufenen Zertifikat zu verbinden...
            Gruß
            Michael

            Kommentar


              Zitat von gulp2k Beitrag anzeigen
              Ist halt schon ein Edge Case sich per TLS auf einen Mosquitto mit abgelaufenen Zertifikat zu verbinden...
              Das stimmt. Aber ich werde das bei Gelegenheit mal nachstellen um zumindest zu sehen, wo die Ursache liegt. Könnte wirklich sein, dass es in der Mosquittot Lib liegt.

              Kommentar


                Zitat von trollmar Beitrag anzeigen
                ..ping ;-)
                ...pong ;-)

                Ich beschäftige mich momentan nicht mehr mit Edomi.

                Kommentar


                  Danke für die Antwort!!
                  Lg
                  Jean-Luc Picard: "Things are only impossible until they are not."

                  Kommentar


                    Zitat von Nanosonde Beitrag anzeigen
                    Ich beschäftige mich momentan nicht mehr mit Edomi.
                    ...schade. Leistest Du noch Support für Deine Parser-LBSe?

                    Ich möchte momentan meinen Automower über MQTT (statt robonect-LBS) in EDOMI einbinden.
                    Es gibt zwei ähnliche Topics (Ich habe im robonect "am430x" als device konfiguriert.):
                    am430x/mower/status
                    am430x/mower/status/duration
                    Dabei tritt folgender Fehler auf:

                    Wenn am Topic Parser (LBS19001078) an E2 als Filter "am430x/mower/status" angegeben ist und folgende MQTT-Message vom Broker kommt:
                    am430x/mower/status/duration||32 Min.||0||0||0
                    kommt es im Fehler-Log von EDOMI zu folgendem Eintrag:
                    Code:
                    2019-05-05 15:34:03 | 285137 | ? | 14222 | Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001078.php | Fehlercode: 8 | Zeile: 52 | Undefined offset: 3 | ERROR
                    2019-05-05 15:34:03 | 285620 | ? | 14222 | Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001078.php | Fehlercode: 8 | Zeile: 63 | Undefined offset: 3 | ERROR
                    Leider kenne ich mich nicht so gut mit php aus, um Deinen LBS (list, foreach ...) zu durchschauen und einen Vorschlag zur Fehlerbehebung zu machen. Vielleicht kannst Du ja noch einmal Deinen LBS überarbeiten.

                    Vielen Dank und viele Grüße
                    Marco

                    Kommentar


                      Zitat von mars Beitrag anzeigen
                      Leistest Du noch Support für Deine Parser-LBSe?
                      Da er vor kurzem alle seine LBS aus dem Download Portal gelöscht hat, würde ich jetzt nicht zu viel Hoffnung da rein setzen.

                      Kommentar


                        vielen Dank für den Hinweis. Damit ist dann kein Topic-Parser o.ä. mehr im Downloadportal.
                        Ich mache mir die nächsten Tage mal ein paar Gedanken dazu ...

                        Kommentar


                          Zitat von mars Beitrag anzeigen
                          vielen Dank für den Hinweis. Damit ist dann kein Topic-Parser o.ä. mehr im Downloadportal.
                          Ich mache mir die nächsten Tage mal ein paar Gedanken dazu ...
                          Hi.
                          Falls neu Entwicklung des Parser dann gebe ich folgendes in die Runde:


                          Wäre es auch möglich einen Parser zu schreiben der Multilevel support hat?
                          So das man an E3 und fortlaufend mehrere Levels parsen kann?

                          Also z.B Topic:
                          fhem/out/status/wohnzimmer/wandheizkoerper/pid/delta||-0.300000000000001||1||0||176

                          E2= fhem/out/status/wohnzimmer/wandheizkoerper/#
                          E3= pid/delta
                          E4= pid/actuation
                          E5= Thermostat/battery

                          ...
                          LG
                          Jean-Luc Picard: "Things are only impossible until they are not."

                          Kommentar


                            Ich habe schon ein Grundgerüst eines Parsers, bin aber im Moment beruflich unterwegs, so dass es vermutlich erst am nächsten Wochenende etwas wird.

                            Kommentar


                              Ich war jetzt etwas ungeduldig (und wollte auch wieder mal etwas selbst versuchen )
                              Wozu ein "Grundgerüst" - keep it simple

                              Ich habe den LBS19001607 gerade ins DL-Portal geladen. Darin berücksichtigt ist quasi auch der Hinweis von trollmar. Einfach an den Eingängen 2 bis 10 die gewünschten Topics eintragen (vollständig, ohne Filter - aber sollte ja nureinmalige Arbeit sein). Dann werden an den jeweiligen Ausgängen die Payloads ausgegeben.

                              Also, um beim Beispiel zu bleiben:
                              E2= fhem/out/status/wohnzimmer/wandheizkoerper/pid/delta
                              E3= fhem/out/status/wohnzimmer/wandheizkoerper/pid/actuation
                              ...

                              Ich hoffe es ist nicht zu simpel (rudimentäre Fehlerbehandlung und kein Logfile bzw. Debug-Option).
                              Bitte testet und gebt mir Hinweise, was ggf. verbessert werden kann
                              Gruß Marco



                              Kommentar


                                Thx
                                Teste ich und gebe Rückmeldung
                                Jean-Luc Picard: "Things are only impossible until they are not."

                                Kommentar

                                Lädt...
                                X