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

    Gabs damals schon mal in Verbindung mit Docker (siehe #217). Am besten mal ab da weiterlesen, ob es eine Lösung gab. Ist aber vermutlich ein Berechtigungsproblem im Zusammenhang mit Docker. Da ich von Docker keine Ahnung habe, kann ich da leider nicht helfen.

    Kommentar


      Hi
      ich habe auf CentOS 7 aktualisiert. Der MQTT Subscribe Server läuft und "pulsiert".
      Der MQTT Publish Server "pulsiert" nicht. Im Log finde ich
      Code:
      CREATE PROCEDURE mqtt_publish(typ INT(10), ga VARCHAR(1000), name VARCHAR(1000), value VARCHAR(11000)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19001051.php ',typ,' ',ga,' \'',name,'\' \'',value,'\' & "'); SET logresult = log_error(cmd); SET result = sys_exec(cmd); END (4733)
      Ich habe den Baustein neu installiert und alle Installationsschritte auf OS ebene durchgeführt.
      Muss auf E12 was anderes stehen - bei Cent OS hatte ich "/etc/ssl/certs/ca-bundle.crt"
      Irgendeine Idee? Irgendwo noch logs die man suchen könnte?

      Gruß
      Thorsten

      Kommentar


        Warum und wonach willst du denn suchen?
        Was genau funktioniert denn nicht?
        Ich sehe auch keinen Fehler in deinem Log.

        Kommentar


          Naja... es wird nichts gepublished :-(
          (beim lesen sehe ich gerade das ich das garnicht geschrieben hatte...)

          Kommentar


            Rein zur Sicherheit (wobeoi unter CentOS 6.5 läuft es):
            E1=1, E2-E5 = Daten des Servers
            E6=Leer
            E7=Leer
            E8 Structure="ko"
            E9 QoS=1
            E10 Retain=1
            E11 tls=0
            E12 CA Pat =/etc/ssl/certs/ca-bundle.crt
            E13 Loglevel=8

            Im Mosquitto log sehe ich nur:
            1578242125: New client connected from 192.168.0.11 as EDOMI_MQTT_Subscribe_Server_4736-5e11f1647fc05 (c1, k60, u'edomi').

            Sieht also aus als wenn der publish-server sich garnicht verbindet...

            Gruß
            Thorsten
            Zuletzt geändert von ThorstenGehrig; 05.01.2020, 17:38.

            Kommentar


              Was steht denn im Log des Mosquitto Servers? Oder verwendest du einen anderen Broker?

              Kommentar


                Hi
                ich nutze mosquitto auf einem anderen (lokalen) server.
                dort steht nur
                1578250588: New client connected from 192.168.0.11 as EDOMI_MQTT_Subscribe_Server_4736-5e12315ca6dc9 (c1, k60, u'edomi').

                der 192.168.0.11 ist mein EDOMI - aber außer dem Subscribe server (und meinem Monitoring client zum Debuggen) sehe ich keine connection vom EDOMI.
                Der Publish-server müsste doch auch eine verbindung aufbauen, oder?

                Im Log vom publish-server steht nur
                Code:
                2020-01-05 19:56:28 652055 3188 debug LBS19001051 [v0.5]: QUERY: CREATE PROCEDURE mqtt_publish(typ INT(10), ga VARCHAR(1000), name VARCHAR(1000), value VARCHAR(11000)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19001051.php ',typ,' ',ga,' \'',name,'\' \'',value,'\' & "'); SET logresult = log_error(cmd); SET result = sys_exec(cmd); END (4733)
                Der subscribe-server "pulsiert" (=aktiv) in der EDOMI Liveansicht2 - der publish-server aber nicht. Ist das normal?
                Gruß
                Thorsten

                Kommentar


                  Ja das ist normal. Das Publish Server Exec Script wird aus eine MySQL Stored Procedure aufgerufen. Es läuft nicht als Daemon LBS.
                  Sieht für mich so aus als würde beim Anlegen der MySQL Trigger und Procedure etwas schief laufen.
                  Ich glaube irgendwo hier im Thread steht wie man sich die Trigger und Procedures in MySQL anzeigen lassen kann.

                  Kommentar


                    Stimmt!
                    Selbes Problem wie in Post#66 und #67.
                    Gelöst habe ich es wie in Post#99

                    Sieht erstmal gut aus. Ich beobachte das mal.

                    Ein großes DAAAANKE!

                    Gruß
                    Thorsten

                    Kommentar


                      Ein wenig OT, aber vielleicht kann mir aus dem MQTT-Bereich doch jemand helfen:

                      Gibt es eine Möglichkeit, sich mit einem Broker verbundene clients anzeigen zu lassen die an den broker senden?

                      Hintergrund:
                      Derzeit probiere ich als Neuling ein wenig mit MQTT rum. Broker ist ein package auf der Synology (192.168.178.21), clients sind überwiegend RPi´s (mit IP-Endung *.34 zB).
                      Nun habe ich so viel rumgespielt, dass anscheinend ein client permanent Daten sendet, obwohl er dies eigentlich nicht tun sollte.

                      Dies ist mir aufgefallen in einem "Rhasspy"-log.

                      Code:
                      [INFO:9747692] quart.serving: 192.168.178.21:36050 GET / 1.1 500 15 6338
                      [ERROR:9747688] __main__: BadRequest(400)
                      Traceback (most recent call last):
                          File "/usr/local/lib/python3.6/dist-packages/quart/app.py", line 1594, in full_dispatch_websocket
                              result = await self.dispatch_websocket(websocket_context)
                          File "/usr/local/lib/python3.6/dist-packages/quart/app.py", line 1636, in dispatch_websocket
                              raise websocket_.routing_exception
                      quart.exceptions.BadRequest: BadRequest(400)
                      [INFO:9744673] quart.serving: 192.168.178.21:36044 GET / 1.1 500 15 7177
                      [ERROR:9744668] __main__: BadRequest(400)
                      Traceback (most recent call last):
                          File "/usr/local/lib/python3.6/dist-packages/quart/app.py", line 1594, in full_dispatch_websocket
                              result = await self.dispatch_websocket(websocket_context)
                          File "/usr/local/lib/python3.6/dist-packages/quart/app.py", line 1636, in dispatch_websocket
                              raise websocket_.routing_exception
                      quart.exceptions.BadRequest: BadRequest(400)
                      Nun bestätigt MQTT.fx, dass mehrere clients connected sind, obwohl die Pi´s eigentlich ausgestöpselt sind. Siehe hier:

                      a.JPG

                      b.JPG

                      5 Clients sind derzeit definitiv nicht connected.
                      Wie kann ich raus kriegen, welche IP was sendet an den Broker?





                      Kommentar


                        Würde da, ungetestet, im log des brokers nachsehen.
                        Lg
                        Jean-Luc Picard: "Things are only impossible until they are not."

                        Kommentar


                          wow ... das ging schneller als das ich den post bearbeiten konnte.
                          Denn den log wollte ich noch hinzufügen, bringt mir aber auch nicht wirklich irgendwelche Informationen:

                          Code:
                          2020-01-11 00:16:05,827  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/uptime
                          2020-01-11 00:16:05,831  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/messages/received/1min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/messages/sent/1min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/bytes/received/1min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/bytes/sent/1min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/messages/received/5min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/messages/sent/5min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/bytes/received/5min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/bytes/sent/5min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/messages/received/15min
                          2020-01-11 00:16:05,832  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/messages/sent/15min
                          2020-01-11 00:16:05,833  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/bytes/received/15min
                          2020-01-11 00:16:05,833  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/load/bytes/sent/15min
                          2020-01-11 00:16:05,833  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/messages/received
                          2020-01-11 00:16:05,833  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/messages/sent
                          2020-01-11 00:16:05,833  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/bytes/received
                          2020-01-11 00:16:05,834  INFO --- MqttFX ClientModel             : messageArrived() with topic: $SYS/broker/bytes/sent
                          Das kommt alle 10 Sekunden an

                          Kommentar


                            Hier wird beschreiben welche topic logs du vom Broker sibscriben kannst.

                            http://www.steves-internet-guide.com/mosquitto-logging/
                            Jean-Luc Picard: "Things are only impossible until they are not."

                            Kommentar


                              Ich hab jetzt nochmal mit MQTT Explorer versucht herauszufinden, welche clients hier kommunizieren.
                              Auch hier werden verbundene clients ausgegeben, obwohl ich die Pi´s mal ausgesteckt habe.

                              a.JPG



                              Der log_type all in der mosquitto.conf gibt mir allerdings nur folgendes aus:

                              Code:
                              2020-01-12 21:07:03,379 INFO --- SubscribeController : onSubscribe
                              2020-01-12 21:07:04,797 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/uptime
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/messages/received/1min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/messages/sent/1min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/publish/sent/1min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/bytes/received/1min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/bytes/sent/1min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/messages/received/5min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/messages/sent/5min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/publish/sent/5min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/bytes/received/5min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/bytes/sent/5min
                              2020-01-12 21:07:04,801 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/messages/received/15min
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/messages/sent/15min
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/publish/sent/15min
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/bytes/received/15min
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/load/bytes/sent/15min
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/messages/received
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/messages/sent
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/publish/messages/sent
                              2020-01-12 21:07:04,802 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/bytes/received
                              2020-01-12 21:07:04,821 INFO --- MqttFX ClientModel : messageArrived() with topic: $SYS/broker/bytes/sent
                              Wie könnte man ansonsten noch rausbekommen, welche clients hier funken?

                              Kommentar


                                Hallo zusammen,

                                ich habe mal ne Verständnissfrage, bin allerdings MQTT Neuling.
                                Habe mir die LBS xxx52 und xxx54 geladen und installiert. Ich möchte die Werte Temperatur und Luftfeuchte von meinem ESP, welche schon beim Broker ankommen in 2 IKOS in Edomi schreiben, scheitere aber an der Logik.

                                Im Log sind die Werte entsprechend vorhanden:
                                2020-01-17 17:00:41 814583 25363 debug LBS19001054 [v0.5]: ================ ARRAY/OBJECT END ================
                                2020-01-17 17:00:41 817877 25363 debug LBS19001054 [v0.5]: MSGQID used: 197391401 (1330)
                                2020-01-17 17:00:41 820436 25363 debug LBS19001054 [v0.5]: LBS MQTT Subscribe Client ended (1330)
                                2020-01-17 17:00:41 888756 25377 debug EXE19001054 [v0.5]: Command received by daemon: subscribe (1330)
                                2020-01-17 17:00:41 891489 25377 debug EXE19001054 [v0.5]: Added subscription: /Generic ESP32/Terrasse/Temperatur with QoS: 1 (1330)
                                2020-01-17 17:01:25 626044 25377 debug EXE19001054 [v0.5]: Topic: /Generic ESP32/Terrasse/Temperatur - Payload: 23.18 (1330)
                                2020-01-17 17:01:25 786727 25377 debug EXE19001054 [v0.5]: Topic: /Generic ESP32/Terrasse/Feuchtigkeit - Payload: 39.98 (1330)
                                2020-01-17 17:01:25 945874 25377 debug EXE19001054 [v0.5]: Topic: /Generic ESP32/Terrasse/Druck - Payload: 979.84 (1330)
                                2020-01-17 17:02:27 630220 25377 debug EXE19001054 [v0.5]: Topic: /Generic ESP32/Terrasse/Temperatur - Payload: 23.19 (1330)
                                2020-01-17 17:02:27 789833 25377 debug EXE19001054 [v0.5]: Topic: /Generic ESP32/Terrasse/Feuchtigkeit - Payload: 39.87 (1330)
                                2020-01-17 17:02:27 946584 25377 debug EXE19001054 [v0.5]: Topic: /Generic ESP32/Terrasse/Druck - Payload: 979.82 (1330)

                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X