Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS mqtt (12981)

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

    Moin,
    ja der Baustein hat anscheind so seine Probleme sofern er mehrfach verwendet wird.
    Leider hatte ich noch keine Zeit mir das im Detail anzugucken.

    Kommentar


      Hallo derPaul,

      so lange du es noch auf dem Schirm hast ist es ja gut:-). Wäre klasse wenn du das Thema nicht abschreiben würdest, auch wenn du mqtt bei dir nicht einsetzt.

      Viele Grüße!

      Kommentar


        Kann mich den Vorrednern nur anschließen, es wäre klasse wenn du hier nochmal drauf schaust.
        Bekomme leider nicht alle Nachrichten des Topics am LBS ausgegeben.
        Klappt die regelmäßige Abfrage des MQTT Brokers nicht mehr?
        Im Einsatz ist HS 4.11

        Kommentar


          Ich versuch da zeitnah noch mal ein Auge drauf zu werfen ..

          Kommentar


            Hallo Christian,
            ich habe folgenden Effekt festgestellt: wenn der Eingang 3 (Topic) direkt mit einem Text beschrieben wird, funktioniert alles. Wenn ich aber einen Textselektor-Baustein davorschalte, dann kann sich der MQTT-Baustein nicht mit dem Broker verbinden. Er verbleibt lange im Zustand "Connecting", um dann in "Connection lost" zu gehen. Im Logfile des Brokers erscheint dann ein socket error. Ich habe das 1:1 verglichen, ohne sonstige Änderungen.
            Ich habe in den Beispielen hier im Thread auch keines gefunden, in dem der Text nicht festverdrahtet war.
            Hast Du mal Vergleichbares ausprobiert?

            Grüße

            Gerald

            Kommentar


              Moin,
              Interessant, nein hab ich nicht ... wie gesagt, ich selber nutz ja auch gar kein mqtt in meinem System.
              Aber ist ein guter Punkt den man sich dann mal beim debuggen mit anschauen muss.

              Danke fürs melden.

              Gruß

              Nachtrag : Bei der Durchsicht vom Code macht das aber Sinn ... wenn der Selektorbaustein kein Wert liefert beim Init kann er keinem Topic beitreten ... Der Baustein ist ehrlicherweise auch nicht darauf ausgelegt das Topic zur Laufzeit zu wechseln ... das müsste eingebaut werden.
              Zuletzt geändert von derPaul; 29.03.2023, 15:38.

              Kommentar


                Ok, das hätte den Charme, dass man verschiedenste Topics von unterschiedlichen Geräten mit einer Instanz des LBS abfragen kann.
                Ich wüsste aber auch nicht, wie ich den Textselektor überreden könnte, zur Init-Zeit einen Wert auszugeben.

                Kommentar


                  mhhh das macht aber nicht wirklich sinn ... ;-) so kann der LBS ja nicht auf ein Topic lauschen ... dafür sollst du ja einfach mehrere Instanzen anlegen ...

                  Ich hab mir das vorhin schon mal angeschaut ...verstehe noch nicht so ganz wieso der Baustein probleme bekommt sobald mehrer im Einsatz sind, aber ich hab schon eine Idee für ein Redesign ...

                  Kommentar


                    Ich hatte die Vorstellung, stücker 10 topics regelmäßig durchzuklingeln und die Resultate auf KOs zu schreiben.

                    Kommentar


                      Mhhhh das macht (für mich) keinen Sinn ... richtiger wären hier 10 Instanzen vom LBS mit jeweils den entsprechenden Topics ...

                      Ich muss mal gucken .... ich hab eine Idee von einem Redesign im Kopf die das gesamte Teil auf den Kopf stellt ... Die Idee wäre das sich jeder Baustein für sich auf den Server verbindet und dann so 8-10 Topics bereit stellt als E und als A ....

                      Kommentar


                        ok, das wäre natürlich noch besser…

                        Kommentar


                          V1.00
                          - ACHTUNG TEST​


                          So ich hab mal eine V1 hochgeladen die ich gerade ein wenig umgebaut habe. ACHTUNG Sie verhält sich grundlegend anders. Folgendes ist zu beachten.
                          1. Pro mqtt Server wird nur EINE Instanz vom LBS benötigt. Egale wieviele Topics.
                          2. An E3 registriert ihr ALLE Topics vom Broker auf die ihr lauschen oder senden wollt! Das kann on demand passieren!
                          3. E8 und E9 müsst ihr zusammen bauen : TOPIC||Wert . Also der zu postene Topic gefolgt von einer Double Pipe || gefolgt vom Wert
                          4. A3 und A4 geben euch jeden Wert nach gleichem Schema zurück Topic||Wert

                          Alles klar? - Das ganze ist erst mal nur ein Test um zu schauen ob und wie Stabil das ganze dann läuft. Über die Ein und Ausgabe kann man sich dann noch unterhalten.
                          Wobei es glaub ich ziemlich charmant ist wenn die Kommunikation zentral läuft.

                          Alternative wäre das jede LBS Instanz sich selber pro Topic auf den Broker verbindet, das "fühlt" sich für mich aber irgendwie falsch an ... könnte man aber ggf. auch umsetzen.

                          Freu mich auf euer Testing und Rückmeldung

                          Kommentar


                            Bin nicht sicher, ob ich Deine Anweisungen richtig verstanden habe. Wenn damit mein ursprüngliches Verfahren gemeint war (Textselektor, der "on demand" einen Topic übergibt) - dann funktioniert es bei mir noch nicht vollständig (mein Test war jetzt allerdings auch nur quick'n'dirty).
                            Der Status des Brokers geht nach Setzen eines Topics und nach einiger Zeit von "Connecting" auf "subscribed", was schon mal ein Erfolg ist.
                            Auf den Ausgängen A3 und A4 kommt allerdings immer 0 raus.
                            Im Logfile des Brokers sehe ich:
                            Code:
                            2023-03-29T22:31:03.082235026+02:00 1680121863: New connection from 192.168.26.248 on port 1883.
                            2023-03-29T22:31:03.082378641+02:00 1680121863: Client mqtt-lbs-1.00 already connected, closing old connection.
                            2023-03-29T22:31:03.082540634+02:00 1680121863: New client connected from 192.168.26.248 as mqtt-lbs-1.00 (p2, c1, k120).
                            ​
                            Ähm, ich merke gerade, dass ich noch zwei Instanzen (eine zum Test) auf meinem Logikblatt habe.
                            Kann das mein Problem verursachen?
                            Ich schau mir das morgen noch mal genauer an.

                            Kommentar


                              Ja also JEDE Instanz verbindet sich zum Broker daher das Problem im Log .... ;-)

                              Jein es ist eine Mischung aus dem was du probiert hattest ... auf E3 sendet mal alle Topics denen man folgen möchte...

                              Wenn du dann auf E8 oder E9 was sendest musst du die Eingabe vorher "manipulieren" mit nem Text zusammensetzer oder so ...
                              Angenommen du hast 3 Topics: Topic1 / Topic2 / Topic3 ... die registrierst du dann so über E3.

                              Jetzt willst du was auf Topic2 senden, dann musst du den Wert wie folgt auf E8 schicken : Topic2||Neuer Wert

                              Der Baustein lauscht jetzt aber auch auf alle 3 Topics. Kommt in Topic3 ein neuer Wert an so kommt auf A3 z.B : Topic3||Hello World

                              Kommentar


                                Hallo Christian,
                                nachdem ich die zweite Instanz entfernt hatte, ging der Status sofort auf subscribed. Bei der Zuweisung der Topics zum Eingang bin ich beim Textselector geblieben - ich wüßte gar nicht, wie ich sonst mehrere Topics diesem Eingang zuweisen sollte (im Moment geht es bei mir nur um Lesen vom Broker, Publish kommt später). Die Teststrings der gewünschten Topics habe ich ja nicht auf einer GA, sondern ich habe sie fest den 10 Eingängen des Textselektors zugewiesen. Oder wie schwebte Dir das vor ("...alle Topics, denen man folgen möchte..."?
                                Ich habe dann für den ersten Topic ein vernünftiges Ergebnis bekommen. Beim Wechsel des Topics auf dem Eingang E3 geht der Ausgang 3 auf 1 und der Ausgang 4 auf 0. Der Broker-Status bleibt auf "subscribed".

                                Kommentar

                                Lädt...
                                X