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

  • TobiDD
    antwortet
    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

    Einen Kommentar schreiben:


  • ThomasCologne
    antwortet
    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?

    Einen Kommentar schreiben:


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

    http://www.steves-internet-guide.com/mosquitto-logging/

    Einen Kommentar schreiben:


  • ThomasCologne
    antwortet
    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

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Würde da, ungetestet, im log des brokers nachsehen.
    Lg

    Einen Kommentar schreiben:


  • ThomasCologne
    antwortet
    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?





    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    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

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    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.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    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

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    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.

    Einen Kommentar schreiben:

Lädt...
X