Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues MQTT Plugin

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

    Irgendwie habe ich jetzt das Problem das das Modul/Plugin nach eine gewissen Zeit die Verbindung verliert und dann die Items nicht mehr aktualisiert werden.
    Ich habe mal ein Debug log für MQTT angehängt. Parallel habe ich einen MQTT Explorer Fenster auf das sieht die Daten ankommen.
    Der reconnect scheint irgendwie nicht sauber zu funktionieren..


    1625097118: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
    1625097732: Client smarthome.MQTT-module has exceeded timeout, disconnecting.
    1625097732: Socket error on client smarthome.MQTT-module, disconnecting.
    1625097762: New connection from 127.0.0.1 on port 1883.
    1625097762: New client connected from 127.0.0.1 as smarthome.MQTT-module (c1, k60).



    2021-07-01 02:02:39 CEST INFO __init__ modules.mqtt.paho_client _callback_to_plugin: Using topic 'ems-esp/mixer_data_hc2', payload '{'type': 'hc', 'flowTemp': 26.1, 'flowSetTemp': 5, 'pumpStatus': 'off', 'valveStatus': -100}' (type dict) for callback to plugin 'mqtt-13' <bound method MqttPlugin._on_mqtt_message of <plugins.mqtt.Mqtt2 object at 0x7f0215501780>> -- (__init__.py:_callback_to_plugin:528)
    2021-07-01 02:02:39 CEST INFO __init__ modules.mqtt.paho_client Disconnection returned result '1' -- (__init__.py:_on_disconnect:731)
    2021-07-01 02:02:42 CEST INFO __init__ modules.mqtt.paho_client Connection returned result 'Connection Accepted.' (userdata=None) -- (__init__.py:_on_connect:705)
    2021-07-01 02:02:43 CEST INFO __init__ modules.mqtt.paho_client Connected to broker 'mosquitto version 1.5.7' at address 127.0.0.1:1883 -- (__init__.py:_log_brokerinfo:301)
    2021-07-01 08:00:00 CEST INFO __init__ plugins.uzsu.uzsu_Rolladen.DG.Bad.Links.Schaltuhr Update item: Rolladen.DG.Bad.Links.pos, item has been changed outside this plugin -- (__init__.py:update_item:216)

    Kommentar


      Kannst Du das Logging bei so konfigurieren, wie es seit einigen Versionen bei SmartHomeNG Standard ist und hier als [ CODE ] einfügen? So ist das ziemlich unleserlich.

      Dann könntest Du den Loglevel für modules.mqtt auf INFO anheben und anschließend auch den Loglevel für plugins.mqtt. Das Details-Log sollte Dir dann einige Infos mehr geben. (und damit vielleicht auch einen Hinweis, wieso der paho_client ein disconntect vom Broker bekommt.

      P.S.: Ich bin übrigens produktiv noch auf mosquitto v1.4.10, weil ich bei einem Upgrade des Brokers eine buggy Version erwischt hatte und nach dem Downgrade bisher keinen neuen Upgrade Versuch gemacht habe.


      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar


        Irgendwie sieht das eingefügte immer bescheiden aus. Ich habe mal das smarthome & MQTT log zusammen kopiert und angehängt. Das Problem tritt zur Zeit immer Nachts um 2 Uhr auf. Dann gibt es ein connection timeout im Mosquitto log und nach dem reconnect von smarthome kommen die Werte nicht mehr an.

        Angehängte Dateien

        Kommentar


          Problem mit: MOSQUITTO und MQTT auf verschiedenen Rechnern

          Hallo!
          Laufen MQTT und MOSQUITTO auf demselben Rechner - funktioniert alles einwandfrei. Mosquitto-Log mit drei connections:
          1625485070: Config loaded from /etc/mosquitto/mosquitto.conf.
          1625485070: Opening ipv4 listen socket on port 1883.
          1625485070: Opening ipv6 listen socket on port 1883.
          1625485077: New connection from 127.0.0.1 on port 1883.
          1625485077: New client connected from 127.0.0.1 as HomeServer-on-OMV.MQTT-module (c1, k60).
          1625485078: New connection from 192.168.2.8 on port 1883.
          1625485078: New client connected from 192.168.2.8 as shellyplug-s-B5845A (c1, k60).
          1625485158: New connection from 192.168.2.9 on port 1883.
          1625485158: New client connected from 192.168.2.9 as DVES_A7452B (c1, k30, u'DVES_USER')
          ...
          Läuft MOSQUITTO auf einem anderen Rechner als MQTT (im selben lokalen Netzwerk), funktioniert die Kommunikation nur ganz kurz (mit MQTT). Auszug aus dem Mosquitto-Log:
          1625497675: Opening ipv4 listen socket on port 1883.
          1625497675: Opening ipv6 listen socket on port 1883.
          1625497676: New connection from 192.168.2.16 on port 1883.
          1625497676: New client connected from 192.168.2.16 as HomeServer-on-OMV.MQTT-module (c1, k60).
          1625497705: Socket error on client HomeServer-on-OMV.MQTT-module, disconnecting.
          1625497724: New connection from 192.168.2.16 on port 1883
          ...
          Hierauf folgen keine neuen Verbindungsaufbauten. Die zwei weiteren Clients (1x Shelly-Plug, 1x Tasmota) tauchen gar nicht auf.

          Das Log-Level in Smarthome habe ich bereits auf DEBUG (für MQTT) gesetzt; die Forumssuche habe ich auch schon benmüht: beides ohne Erfolg.

          Aus den Web-IFs (Shelly, Tasmota) lassen sich dann auch die Devices nicht mehr aufrufen. Die Links haben dann nur noch den Inhalt "http".

          Muss ich an der Konfig noch was drehen? Oder wo liegt das Problem.....

          -------------------------------------------------------------
          System-Info:
          2021-07-05 18:06:07 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.1.master (84873f74) --------------------
          2021-07-05 18:06:07 WARNING lib.smarthome.main Running in Python interpreter 'v3.7.3 final', from directory /usr/local/smarthome
          2021-07-05 18:06:08 WARNING lib.smarthome.main - on Linux-4.19.0-17-amd64-x86_64-with-debian-10.10 (pid=5242)
          2021-07-05 18:06:08 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'None', 1 benutzerdefinierte(r) Feiertag(e) definiert
          2021-07-05 18:06:12 WARNING lib.item.item Item System_Item.RAM_Auslastung: problem evaluating 'sh.System_Item.RAM.Used()/sh.System_Item.RAM.Total()*100.0': division by zero
          2021-07-05 18:06:12 WARNING lib.smarthome.main -------------------- SmartHomeNG initialization finished --------------------

          Kommentar


            Zitat von knxms Beitrag anzeigen
            Die zwei weiteren Clients (1x Shelly-Plug, 1x Tasmota) tauchen gar nicht auf.
            Das sind keine weiteren Clients. Es gibt nur einen Client am Broker und das ist das MQTT Modul. Das handelt die Kommunikation aller Plugins, die auf MQTT aufsetzen.

            Ich persönlich habe keine Probleme. Ich nutze allerdings auch Mosquitto 1.4.10 auf dem selben Host auf dem auch SmartHomeNG läuft.
            Ich habe folgende MQTT nutzende Plugins aktiv im Einsatz: shelly, tasmota und 2 Instanzen mqtt.

            Aus den Infos die Du gegeben hast, kann ich leider nichts ableiten. Interessant wäre, ob der Disconnect zwischen Client und Broker im Zusammenhang mit der Übermittlung (Senden oder Empfangen eines Telegrams) durch SmartHomeNG auftritt oder unabhängig davon.
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              Ich habe MQTT nur 1x am laufen.
              Zur Konifg: in module.yaml steht (mqtt-module) die IP-Adresse des fremden (=nicht-SHNG-)Hosts, auf dem der Broker läuft, im gleichen lokales Netz.
              Ansonsten ist der Broker wie in der Komplettanleitung konfiguriert (ohne user/pw, Standardport).

              Zum Disconnect: hier nochmals ein Auszug vom Broker-LOG
              Code:
              Mon Jul 5 19:29:53 2021: New connection from 192.168.2.16 on port 1883.
              Mon Jul 5 19:29:53 2021: New client connected from 192.168.2.16 as HomeServer-on-OMV.MQTT-module (c1, k60).
              Mon Jul 5 19:39:22 2021: mosquitto version 1.5.7 terminating
              Mon Jul 5 19:39:22 2021: mosquitto version 1.5.7 starting
              Mon Jul 5 19:39:22 2021: Config loaded from /etc/mosquitto/mosquitto.conf.
              Mon Jul 5 19:39:22 2021: Opening ipv4 listen socket on port 1883.
              Mon Jul 5 19:39:22 2021: Opening ipv6 listen socket on port 1883.
              Mon Jul 5 19:39:23 2021: New connection from 192.168.2.16 on port 1883.
              Mon Jul 5 19:39:23 2021: New client connected from 192.168.2.16 as HomeServer-on-OMV.MQTT-module (c1, k60).
              Mon Jul 5 19:40:54 2021: Client HomeServer-on-OMV.MQTT-module has exceeded timeout, disconnecting.
              Mon Jul 5 19:40:54 2021: Socket error on client HomeServer-on-OMV.MQTT-module, disconnecting.
              Mon Jul 5 20:09:23 2021: Saving in-memory database to /var/lib/mosquitto/mosquitto.db.
              Mon Jul 5 20:09:36 2021: New connection from 192.168.2.16 on port 1883.
              Im Anhang noch ein Auszug aus dem Smarthome-Log (Debug-Level für mqtt-module + mqtt-plugin).

              19:39:22 --> Restart des Mosquitto-Brokers
              20:09:36 --> SmarthomeNG Core Neustart
              Angehängte Dateien

              Kommentar

              Lädt...
              X