Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. MQTT >1.5 funktioniert bei mir nicht mehr

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

MQTT >1.5 funktioniert bei mir nicht mehr

Scheduled Pinned Locked Moved Unsolved Error/Bug
mqttupdatemqtt problem
11 Posts 3 Posters 1.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B blumfisch

    Hallo,

    ich nutze den MQTT-Adapter seit längerem in Version 1.5
    Darauf greifen Mikrocontroller 8266 per pubsub-Library und eine Webseite per Paho-Javascript Client zu.

    Das alles funktioniert wunderbar, bis ich den MQTT-Adapter auf Version >= 2 update.
    Dann ist nur noch Chaos:

    • Webseite kann sich nicht anmelden:
    client = new Paho.MQTT.Client("192.168.178.101", Number(1884), "/ws", "LABHTML");
    

    erzeugt Fehlermeldungen wie: AMQJS0008I Socket closed" und "WebSocket connection to 'ws://192.168.178.101:1884/mqtt' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED"

    • MQTT Adapter blinkt mal grün, mal gelb, mal rot. Hier die Fehlermeldung:
    mqtt.0	2019-07-12 23:13:20.083	info	Starting MQTT -WebSocket' server on port 1884
    mqtt.0	2019-07-12 23:13:20.078	info	Starting MQTT ' server on port 1883
    mqtt.0	2019-07-12 23:13:17.442	info	starting. Version 2.1.0 in /opt/iobroker/node_modules/iobroker.mqtt, node: v8.16.0
    host.ioBroker-RasPi	2019-07-12 23:13:15.038	info	instance system.adapter.mqtt.0 started with pid 30135
    host.ioBroker-RasPi	2019-07-12 23:12:44.996	info	Restart adapter system.adapter.mqtt.0 because enabled
    host.ioBroker-RasPi	2019-07-12 23:12:44.996	error	instance system.adapter.mqtt.0 terminated with code 0 (OK)
    Caught	2019-07-12 23:12:44.996	error	by controller[0]: at Connection.emit (events.js:211:7)
    Caught	2019-07-12 23:12:44.996	error	by controller[0]: at emitOne (events.js:116:13)
    Caught	2019-07-12 23:12:44.996	error	by controller[0]: at Object.onceWrapper (events.js:315:30)
    Caught	2019-07-12 23:12:44.995	error	by controller[0]: at Connection.<anonymous> (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:53:12)
    Caught	2019-07-12 23:12:44.995	error	by controller[0]: at Connection.emit (events.js:211:7)
    Caught	2019-07-12 23:12:44.995	error	by controller[0]: at emitOne (events.js:116:13)
    Caught	2019-07-12 23:12:44.995	error	by controller[0]: at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:10:8)
    Caught	2019-07-12 23:12:44.995	error	by controller[0]: at Connection.emit (events.js:211:7)
    Caught	2019-07-12 23:12:44.995	error	by controller[0]: at emitOne (events.js:116:13)
    Caught	2019-07-12 23:12:44.994	error	by controller[0]: at Connection.client.on.options (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:750:30)
    Caught	2019-07-12 23:12:44.994	error	by controller[0]: TypeError: stream.setTimeout is not a function
    mqtt.0	2019-07-12 23:12:44.950	info	terminating
    mqtt.0	2019-07-12 23:12:44.432	error	at Connection.emit (events.js:211:7)
    mqtt.0	2019-07-12 23:12:44.432	error	at emitOne (events.js:116:13)
    mqtt.0	2019-07-12 23:12:44.432	error	at Object.onceWrapper (events.js:315:30)
    mqtt.0	2019-07-12 23:12:44.432	error	at Connection.<anonymous> (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:53:12)
    mqtt.0	2019-07-12 23:12:44.432	error	at Connection.emit (events.js:211:7)
    mqtt.0	2019-07-12 23:12:44.432	error	at emitOne (events.js:116:13)
    mqtt.0	2019-07-12 23:12:44.432	error	at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:10:8)
    mqtt.0	2019-07-12 23:12:44.432	error	at Connection.emit (events.js:211:7)
    mqtt.0	2019-07-12 23:12:44.432	error	at emitOne (events.js:116:13)
    mqtt.0	2019-07-12 23:12:44.432	error	at Connection.client.on.options (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:750:30)
    mqtt.0	2019-07-12 23:12:44.432	error	TypeError: stream.setTimeout is not a function
    mqtt.0	2019-07-12 23:12:44.431	error	uncaught exception: stream.setTimeout is not a function
    mqtt.0	2019-07-12 23:12:44.049	info	Client [LABHTML] connected with secret 262996_851
    
    • Und der 8266er stürzt ab.

    Ich habe alles nach Standard-Beispielen programmiert.
    Und sobald ich auf 1.5 zurückgehe, funktionieren 8266 und die Javascript-Webseite wieder tadellos und schnell.

    Deshalb meine Fragen:
    Was hat sich geändert in diesem Update? Erkennt jemand meinen Fehler?
    Und vor allem: Was muss ich tun, damit es mit dem Update wieder funktioniert?

    Alles läuft im lokalen Netzwerk auf einem RasPi mit aktuellen Updates(?)
    node=8.16.0
    npm=6.4.1
    Paho=alte+neue Version getestet: https://www.eclipse.org/paho/clients/js/

    B Offline
    B Offline
    blumfisch
    wrote on last edited by blumfisch
    #2

    Niemand? Funktioniert das bei allen? Oder habe ich was Wichtiges nicht geposted?

    Ich zeig euch mal den Code:
    Eigentlich nur das Muster-Beispiel, das bei paho-mqtt.js dabei ist:
    (hier ist auch ein fiddle.js wo man nur bei ("broker.mqttdashboard.com", 8000 ") seine ("eigene MQTT-Broker-IP", 1884) eingeben muss:
    http://jsfiddle.net/gLBsu/3/ )

    <script type="text/javascript" src="new paho-mqtt.js"> </script>
     
    <script type="text/javascript">  
    
    // Create a client instance
    var host = "192.168.178.101";
    var port = 1884;
    client = new Paho.Client(host, port, "MQTTTEST");
    
    // set callback handlers
    client.onConnectionLost = onConnectionLost;
    client.onMessageArrived = onMessageArrived;
    
    // connect the client
    client.connect({onSuccess:onConnect});
    
    
    // called when the client connects
    function onConnect() {
      // Once a connection has been made, make a subscription and send a message.
      console.log("onConnect");
      client.subscribe("World");
      message = new Paho.Message("Hello");
      message.destinationName = "World";
      client.send(message);
    }
    
    // called when the client loses its connection
    function onConnectionLost(responseObject) {
      if (responseObject.errorCode !== 0) {
        console.log("onConnectionLost:"+responseObject.errorMessage);
      }
    }
    
    // called when a message arrives
    function onMessageArrived(message) {
      console.log("onMessageArrived:"+message.payloadString);
    }
    </script>
    

    Entweder erhalte ich die Fehlermeldung:

     MQTTTest2.html:48 onConnectionLost:AMQJS0008I Socket closed.
    

    Oder

    new paho-mqtt.js:1054 WebSocket connection to 'ws://192.168.178.101:1884/mqtt' failed: 
    Error in connection establishment: net::ERR_CONNECTION_REFUSED
    LibraryFactory.ClientImpl._doConnect	@	new paho-mqtt.js:1054
    LibraryFactory.ClientImpl.connect	        @	new paho-mqtt.js:887
    Client.connect	@	new paho-mqtt.js:2028
    (anonymous)	@	MQTTTest2.html:35
    
    new paho-mqtt.js:1052 WebSocket connection to 'ws://192.168.178.101:1884/mqtt' failed: 
    Error in connection establishment: net::ERR_CONNECTION_REFUSED
    LibraryFactory.ClientImpl._doConnect	@	new paho-mqtt.js:1052
    LibraryFactory.ClientImpl._disconnected	@	new paho-mqtt.js:1617
    LibraryFactory.ClientImpl._on_socket_error	@	new paho-mqtt.js:1453
    

    iobroker Log gibt mir immer wieder diese Schleife als Fehlermeldung:

    mqtt.0	2019-07-16 19:13:20.566	info	Starting MQTT -WebSocket' server on port 1884
    mqtt.0	2019-07-16 19:13:20.564	info	Starting MQTT ' server on port 1883
    mqtt.0	2019-07-16 19:13:19.588	info	starting. Version 2.1.0 in /opt/iobroker/node_modules/iobroker.mqtt, node: v8.16.0
    host.ioBroker-RasPi	2019-07-16 19:13:18.220	info	instance system.adapter.mqtt.0 started with pid 2957
    host.ioBroker-RasPi	2019-07-16 19:12:48.208	info	Restart adapter system.adapter.mqtt.0 because enabled
    host.ioBroker-RasPi	2019-07-16 19:12:48.208	error	instance system.adapter.mqtt.0 terminated with code 0 (OK)
    host.ioBroker-RasPi	2019-07-16 19:12:48.207	error	Caught by controller[0]: at Connection.emit (events.js:211:7)
    host.ioBroker-RasPi	2019-07-16 19:12:48.207	error	Caught by controller[0]: at emitOne (events.js:116:13)
    host.ioBroker-RasPi	2019-07-16 19:12:48.207	error	Caught by controller[0]: at Object.onceWrapper (events.js:315:30)
    host.ioBroker-RasPi	2019-07-16 19:12:48.207	error	Caught by controller[0]: at Connection.<anonymous> (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:53:12)
    host.ioBroker-RasPi	2019-07-16 19:12:48.206	error	Caught by controller[0]: at Connection.emit (events.js:211:7)
    host.ioBroker-RasPi	2019-07-16 19:12:48.206	error	Caught by controller[0]: at emitOne (events.js:116:13)
    host.ioBroker-RasPi	2019-07-16 19:12:48.206	error	Caught by controller[0]: at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:10:8)
    host.ioBroker-RasPi	2019-07-16 19:12:48.206	error	Caught by controller[0]: at Connection.emit (events.js:211:7)
    host.ioBroker-RasPi	2019-07-16 19:12:48.205	error	Caught by controller[0]: at emitOne (events.js:116:13)
    host.ioBroker-RasPi	2019-07-16 19:12:48.204	error	Caught by controller[0]: at Connection.client.on.options (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:750:30)
    host.ioBroker-RasPi	2019-07-16 19:12:48.199	error	Caught by controller[0]: TypeError: stream.setTimeout is not a function
    mqtt.0	2019-07-16 19:12:47.641	error	TypeError: stream.setTimeout is not a function at Connection.client.on.options (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:750:30) at emitOne (events.js:116:13) at Connection.e
    mqtt.0	2019-07-16 19:12:47.640	error	uncaught exception: stream.setTimeout is not a function
    mqtt.0	2019-07-16 19:12:47.639	info	Client [MQTTTEST] connected with secret 1563297167353_5931
    mqtt.0	2019-07-16 19:12:20.580	info	Starting MQTT -WebSocket' server on port 1884
    mqtt.0	2019-07-16 19:12:20.578	info	Starting MQTT ' server on port 1883
    mqtt.0	2019-07-16 19:12:19.496	info	starting. Version 2.1.0 in /opt/iobroker/node_modules/iobroker.mqtt, node: v8.16.0
    host.ioBroker-RasPi	2019-07-16 19:12:18.236	info	instance system.adapter.mqtt.0 started with pid 1758
    

    Oder ist das ein Fehler der Paho.Mqtt-Library?

    Aber mit
    MQTT Adapter 1.5 war alles ok.
    MQTT Adapter 2.0 ist auch ok. (obwohl es ab 2.0 anderes seltsames Verhalten gibt, aber das muss ich noch erforschen)
    MQTT Adapter 2.0.1 auch ok.
    MQTT Adapter 2.0.2 auch ok
    MQTT Adapter 2.0.4 auch ok

    Adapter 2.05 und 2.06 konnte ich nicht installieren.

    Und erst mit MQTT Adapter Version 2.1.0 geht es eben NICHT mehr.

    Das spricht doch dafür, dass in dieser Version was nicht stimmt, oder?
    Aber die 8266er, die per pubsub.h an MQTT angebunden sind, funktionieren übrigens auch mit Version 2.1.
    Nur der Javascript-Client scheint Probleme zu haben.
    Also ist es doch Paho.mqtt?

    Ich weiß nicht ...
    Wäre für jede Hilfe wirklich sehr dankbar.

    1 Reply Last reply
    0
    • MikewolfM Offline
      MikewolfM Offline
      Mikewolf
      wrote on last edited by
      #3

      hallo habe mit esp8266 ähnliches problem schon sehr lange...!
      issue auf gizhib ist auch offen !!

      Mit freundlichen Grüßen
      mikwolf

      Homematic (ca450 Rf komponenten), FS20,Alexas,Sonoff,ESP,Arduino,Lightly,Milight,NEEO,Harmony,Synology,HP-Gen8

      RF-link,Dreamboxen,Raspi,Cubie,Odroid,Fritz,Xiaomi-Vaccum,

      B 1 Reply Last reply
      0
      • MikewolfM Mikewolf

        hallo habe mit esp8266 ähnliches problem schon sehr lange...!
        issue auf gizhib ist auch offen !!

        Mit freundlichen Grüßen
        mikwolf

        B Offline
        B Offline
        blumfisch
        wrote on last edited by blumfisch
        #4

        @Mikewolf Danke für die Antwort!

        Meine ESP8266 funktionieren wie gesagt mit pubsub.h.

        Ich musste aber seit 1.5 das Verhalten von MQTT ändern, damit die mitmachen:
        Auf 1.5 hatte ich NUR Häkchen bei "Sende auch Zustände (ACK=true)". Alles andere war aus.

        Bei Versionen 2.+ habe ich umgestellt auf "Publish nur bei Änderung" und alles andere aus gemacht. QoS=0, default retain flag true. Dann funktionieren sie bei mir wieder. Hab ich aber auch erst gestern beim Testen rausgefunden. Noch nicht ausführlich geprüft.

        Vielleicht hilfts ja.

        Denke, dass MQTT ein absolut zentraler Baustein im IoT ist und auf jeden Fall funktionieren sollte.
        Weiß halt nur nicht, ob es am Adapter oder an Paho liegt.

        1 Reply Last reply
        0
        • B Offline
          B Offline
          blumfisch
          wrote on last edited by blumfisch
          #5

          Hm... Auch weitere Tests haben jetzt bestätigt: Irgendwas ist mit Version 2.1 des MQTT Adapters.

          Hat denn jemand Erfahrung MQTT?
          Ich plane das für ein Produktiv-System.
          Wenn ich das nicht updaten kann und es dann evtl. irgendwann ausfällt oder unsicher wird, kann ich ioBroker nicht einsetzen.

          Sollte ich vielleicht einen eigenen Mosquitto-MQTT-Server aufsetzen, statt den von ioBroker zu nutzen?
          Kann ich den auf dem Raspberry laufen lassen, auf dem auch ioBroker läuft? Oder brauche ich dafür extra einen zweiten?
          Oder doch openHAB oder ein anderes System?
          Hat jemand bei sich zuhause eine stabile MQTT-Umgebung?

          1 Reply Last reply
          0
          • WalW Offline
            WalW Offline
            Wal
            Developer
            wrote on last edited by Wal
            #6

            Habe MQTT 2.1 als Server schon länger ohne Probleme am laufen. Habe Temperatur-Sensoren und pi-mqtt-gpio daran gekoppelt.
            pi-mqtt-gpio nutzt paho.

            Gruß
            Walter

            DoorIO-Adapter
            wioBrowser-Adapter und wioBrowser

            B 1 Reply Last reply
            0
            • WalW Wal

              Habe MQTT 2.1 als Server schon länger ohne Probleme am laufen. Habe Temperatur-Sensoren und pi-mqtt-gpio daran gekoppelt.
              pi-mqtt-gpio nutzt paho.

              B Offline
              B Offline
              blumfisch
              wrote on last edited by blumfisch
              #7

              @Wal hm... interessant. Das macht es noch seltsamer.
              Und wenn du in das fiddle-Beispiel (http://jsfiddle.net/gLBsu/3/) oben deine lokale MQTT-Broker IP eingibst und auf Run und dann den Button "1. CONNECT" drückst... läuft es dann oder meldet der iobroker-Log Fehler und einen Neustart des Adapters?

              Das benutzt auch PAHO, genauer mqttws31.js.

              WalW 1 Reply Last reply
              0
              • B blumfisch

                @Wal hm... interessant. Das macht es noch seltsamer.
                Und wenn du in das fiddle-Beispiel (http://jsfiddle.net/gLBsu/3/) oben deine lokale MQTT-Broker IP eingibst und auf Run und dann den Button "1. CONNECT" drückst... läuft es dann oder meldet der iobroker-Log Fehler und einen Neustart des Adapters?

                Das benutzt auch PAHO, genauer mqttws31.js.

                WalW Offline
                WalW Offline
                Wal
                Developer
                wrote on last edited by
                #8

                @blumfisch
                du hast Recht, über Websocket's funzt der Adapter nicht. Er steigt bei mir mit den gleichen Fehlermeldungen aus.

                Gruß
                Walter

                DoorIO-Adapter
                wioBrowser-Adapter und wioBrowser

                B 1 Reply Last reply
                0
                • WalW Wal

                  @blumfisch
                  du hast Recht, über Websocket's funzt der Adapter nicht. Er steigt bei mir mit den gleichen Fehlermeldungen aus.

                  B Offline
                  B Offline
                  blumfisch
                  wrote on last edited by
                  #9

                  @Wal Danke fürs Verifizieren!

                  Dann stimmt wohl was mit den Websockets nicht (wenn man das so sagen kann)

                  An wen wende ich mich denn jetzt am besten? Das kann ich selbst nicht reparieren.

                  WalW 1 Reply Last reply
                  0
                  • B blumfisch

                    @Wal Danke fürs Verifizieren!

                    Dann stimmt wohl was mit den Websockets nicht (wenn man das so sagen kann)

                    An wen wende ich mich denn jetzt am besten? Das kann ich selbst nicht reparieren.

                    WalW Offline
                    WalW Offline
                    Wal
                    Developer
                    wrote on last edited by
                    #10

                    @blumfisch

                    habe nochmal getestet.
                    Wenn ich auf der Seite HiveMQ keepalive auf 0 stelle, funktioniert es.

                    Gruß
                    Walter

                    DoorIO-Adapter
                    wioBrowser-Adapter und wioBrowser

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      blumfisch
                      wrote on last edited by
                      #11

                      Ich nutze MQTT nur im internen Netzwerk, also kein HiveMQ.
                      Habs trotzdem mal getestet, denn das entspräche ja:

                      var client = new Messaging.Client("localhost", 1884, "myclientid_", 0));
                      

                      und/oder

                       var options = {
                           timeout: 0,
                      

                      Oder?
                      Fazit: Stürzt immer noch ab.

                      Ich habe aber was Entscheidendes bemerkt: Das DEFAULT Repository ist erst bei MQTT Version 2.0.4. Ich hatte meinen ioBroker zuhause auf LATEST gestellt.

                      Vielleicht sollte ich das in einer Produktivumgebung auch sein lassen :-) Gehe jetzt also definitiv zurück auf 2.0.4.

                      Hoffe, es hilft vielleicht trotzdem, Version 2.1 näher an DEFAULT zu bringen.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      418

                      Online

                      32.4k

                      Users

                      81.6k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe