NEWS
MQTT-FEHLER
-
Ich konnte den Fehler lokalisieren.
Ein patch muss nur ausprobiert werden.
Man muss writeToStream.js austauschen:
hier /opt/iobroker/node_modules/mqtt-packet/writeToStream.js
oder hier /opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-packet/writeToStream.js
Damit
https://github.com/GermanBluefox/mqtt-p … oStream.js
Dann sollte gehen.
-
Scheint leider noch nicht zu funktionieren.
Ich habe an 4 verschiedenen Stellen die Datei writeToStream.js
Habe alle vier mal ausgetauscht (mit Sicherung natürlich).
SERVER 2017-02-03 14:00:32.835 info host.ARGO-SERVER Restart adapter system.adapter.mqtt.0 because enabled ARGO-SERVER 2017-02-03 14:00:32.835 error host.ARGO-SERVER instance system.adapter.mqtt.0 terminated with code 6 (uncaught exception) mqtt.0 2017-02-03 14:00:31.801 error mqtt.0 Error: Cannot find module './constants' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) a mqtt.0 2017-02-03 14:00:31.799 error mqtt.0 uncaught exception: Cannot find module './constants' host.ARGO-SERVER 2017-02-03 14:00:29.249 info instance system.adapter.mqtt.0 started with pid 6900 host.ARGO-SERVER 2017-02-03 14:00:19.547 info Restart adapter system.adapter.mqtt.0 because enabled host.ARGO-SERVER 2017-02-03 14:00:19.545 error instance system.adapter.mqtt.0 terminated with code 6 (uncaught exception) mqtt.0 2017-02-03 14:00:18.501 error at require (internal/module.js:12:17) mqtt.0 2017-02-03 14:00:18.501 error at Module.require (module.js:353:17) mqtt.0 2017-02-03 14:00:18.501 error at Function.Module._load (module.js:300:12) mqtt.0 2017-02-03 14:00:18.501 error at Module.load (module.js:343:32) mqtt.0 2017-02-03 14:00:18.501 error at Object.Module._extensions..js (module.js:416:10) mqtt.0 2017-02-03 14:00:18.501 error at Module._compile (module.js:409:26) mqtt.0 2017-02-03 14:00:18.501 error at Object. (C:\Program Files\ioBroker\node_modules\iobroker.mqtt\node_modules\mqtt-connection\lib\writeToStream.js:3:16) mqtt.0 2017-02-03 14:00:18.501 error at require (internal/module.js:12:17) mqtt.0 2017-02-03 14:00:18.501 error at Module.require (module.js:353:17) mqtt.0 2017-02-03 14:00:18.501 error at Function.Module._load (module.js:276:25) mqtt.0 2017-02-03 14:00:18.501 error at Function.Module._resolveFilename (module.js:325:15) mqtt.0 2017-02-03 14:00:18.501 error Error: Cannot find module './constants' mqtt.0 2017-02-03 14:00:18.484 error uncaught exception: Cannot find module './constants'
P.S.:
Ich habe die Dateien erst alle ausgetauscht, danach die Version 1.3.5. installiert.
Das scheint nicht zu funktionieren.
Mit der Version 1.2.5 scheint es zu funktionieren.
Allerdings läuft die 1.2.5 ja sowieso irgendwie besser .
-
Alle Dateien auszutauschen ist falsch.
Nur die, die ich benannt habe.
Du hast komplett andere Datei mit überschrieben.
Vergleich mal:
https://github.com/mqttjs/mqtt-connecti … oStream.js
und
https://github.com/GermanBluefox/mqtt-p ... oStream.js
Namen sind gleich, aber die sind komplett anders.
gut dass, die Datei nicht index.js heißt. :lol:
-
Leider scheint es aber diese Pfade in der Windows-Version von ioBroker nicht zu geben
Wo soll ich dann genau die Datei austauschen?
-
Leider scheint es aber diese Pfade in der Windows-Version von ioBroker nicht zu geben
Wo soll ich dann genau die Datei austauschen? `
Das hängt davon ab, welche npm version du hast. ich vermute 2.15.xxxDann solltest du hier eine Datei finden:
C:\Program Files\ioBroker\node_modules\iobroker.mqtt\node_modules\mqtt-connection\node_modules\mqtt-packet\writeToStream.js
-
Wie es aussieht, funktioniert das jetzt:).
Ich habe die entsprechende Datei ausgetauscht.
DANKESCHÖN:)!!
Vielleicht kann das ja bei dem nächsten Update eingepflegt werden;).
-
Wie es aussieht, funktioniert das jetzt:).
Ich habe die entsprechende Datei ausgetauscht.
DANKESCHÖN:)!!
Vielleicht kann das ja bei dem nächsten Update eingepflegt werden;). `
Es wird eingepflegt, sonst gibt es kein nächsten Update -
Bei mir hat auch funktioniert!
Danke!
-
Schaut mal, was ich machen muss nun eure "falsch implementierte" Clients zu unterstützen.
https://github.com/mqttjs/mqtt-packet/i … -277351131
Das ist mühsam....
-
Habe alles abgecheckt. Fazit: schmeißt eure MQTT clients in die Tonne. :lol:
-
Habe alles abgecheckt. Fazit: schmeißt eure MQTT clients in die Tonne. :lol: `
Es gibt keine alternative..?
Die alte version (1.2.5) vom MQTT server hat doch funktioniert :? Mit deinem Fix geht auch die neue. Ist klar, das ist nur Übergangs Lösung, aber die Tonne soll noch warten
-
Habe alles abgecheckt. Fazit: schmeißt eure MQTT clients in die Tonne. :lol: `
Es gibt keine alternative..?
Die alte version (1.2.5) vom MQTT server hat doch funktioniert :? Mit deinem Fix geht auch die neue. Ist klar, das ist nur Übergangs Lösung, aber die Tonne soll noch warten
`
Fix beweist, dass meine Vermutung richtig ist.1.2.5 hat nur zufällig funktioniert.
Andy was für einen Client hast du?
-
Hmm - das würde mich auch mal interessieren was ihr für Clients habt.
Ich habe nämlich mit meinen 2 Arduinos die ich über MQTT angebunden habe den Fehler glücklicherweise noch nicht gehabt. Und ich habe vor, diese Schiene von Arduino über MQTT weiter auszubauen. Aber wenn da ein Systemfehler in MQTT ist?? Könnte der dann auch irgendwo mal zuschlagen? Ich habe jetzt leider nicht so wirklich verstanden was der Grund ist - dazu bin ich zu wenig Netzwerker, ich bin mehr in Datenbanken zu Hause…
-
Guten Morgen:).
Also ich habe 12 ESP8266-Clients in Nutzung.
Davon laufen einige als reine Sender und einige auch als Actoren.
Basis ist die PubClient-Library in der Arduino IDE.
Das funktioniert auch top.
Meine "Grundscripts" habe ich ja schon vor einiger Zeit unter "Praktische Anwendungen" veröffentlicht.
Ich denke, MQTT ist ein wirklich ziemlich zuverlässiges Verfahren.
-
Hallo Kollegen,
in die letzten Tagen habe ich auch Probleme mit dem MQTT-Adapter (s. log unten). Habe 4 ESP8266 im Einsatz, node.js 4.2.6. Weder der downgrade auf MQTT 1.2.5 noch den scriptaustaush haben geholfen.
Ich habe die Datei writeToStream.js an 5 stellen:
osmc@osmc:~$ find /opt -name writeToStream.js 1 -/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/lib/writeToStream.js 2 -/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/writeToStream.js 3 -/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/benchmarks/writeToStream.js 4 -/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt/node_modules/mqtt-packet/writeToStream.js 5 -/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt/node_modules/mqtt-packet/benchmarks/writeToStream.js
habe 2 und 4 (nacheinander) ausprobiert auszutauschen - leider mit Fehler:
beim 2:
osmc 2017-02-07 18:05:00.667 error host.osmc instance system.adapter.mqtt.0 terminated with code 6 (uncaught exception) mqtt.0 2017-02-07 18:04:59.662 error mqtt.0 SyntaxError: Unexpected token ILLEGAL at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:374:25) at Object.Module._extensions..js (module.js:417:10) at Modu mqtt.0 2017-02-07 18:04:59.655 error mqtt.0 uncaught exception: Unexpected token ILLEGAL
beim 4 - gleichen Fehler wie im Log (uncaught exception: parts.trim is not a function).
Hat jemand Ideen?
LOG vom MQTT 1.2.5:
! ````
mqtt.0 2017-02-07 15:56:18.556 error mqtt.0 TypeError: parts.trim is not a function at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59) at Connection. (/opt/iobroker/node_modules/iobroker.m
mqtt.0 2017-02-07 15:56:18.555 error mqtt.0 uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:56:18.545 error mqtt.0 Closed because of error
mqtt.0 2017-02-07 15:55:25.956 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:55:25.956 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:55:25.956 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:55:25.956 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:55:25.956 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:55:25.956 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:55:25.956 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:55:25.956 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:55:25.956 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:55:25.956 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:55:25.956 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:55:25.930 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:50:06.552 error Closed because of error
mqtt.0 2017-02-07 15:49:14.597 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:49:14.597 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:49:14.597 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:49:14.597 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:49:14.597 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:49:14.597 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:49:14.597 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:49:14.597 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:49:14.597 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:49:14.597 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:49:14.597 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:49:14.539 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:48:24.443 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:48:24.443 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:48:24.443 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:48:24.443 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:48:24.443 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:48:24.443 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:48:24.443 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:48:24.443 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:48:24.443 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:48:24.443 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:48:24.443 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:48:24.392 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:47:36.787 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:47:36.787 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:47:36.787 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:47:36.787 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:47:36.787 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:47:36.787 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:47:36.787 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:47:36.787 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:47:36.787 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:47:36.787 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:47:36.787 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:47:36.733 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:46:50.613 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:46:50.613 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:46:50.613 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:46:50.613 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:46:50.613 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:46:50.613 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:46:50.613 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:46:50.613 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:46:50.613 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:46:50.613 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:46:50.613 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:46:50.550 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:46:06.202 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:46:06.202 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:46:06.202 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:46:06.202 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:46:06.202 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:46:06.202 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:46:06.202 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:46:06.202 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:46:06.202 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:46:06.202 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:46:06.202 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:46:06.180 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:45:41.257 error Closed because of error
mqtt.0 2017-02-07 15:44:52.747 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:44:52.747 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:44:52.747 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:44:52.747 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:44:52.747 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:44:52.747 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:44:52.747 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:44:52.747 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:44:52.747 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:44:52.747 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:44:52.747 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:44:52.717 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:37:31.217 error Closed because of error
mqtt.0 2017-02-07 15:36:42.850 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:36:42.850 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:36:42.850 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:36:42.850 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:36:42.850 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:36:42.850 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:36:42.850 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:36:42.850 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:36:42.850 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:36:42.850 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:36:42.850 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:36:42.827 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:32:53.630 error Closed because of error
mqtt.0 2017-02-07 15:32:05.886 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:32:05.886 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:32:05.886 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:32:05.886 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:32:05.886 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:32:05.886 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:32:05.886 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:32:05.886 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:32:05.886 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:32:05.886 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:32:05.886 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:32:05.864 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:32:05.757 error Closed because of error
mqtt.0 2017-02-07 15:31:15.578 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:31:15.578 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:31:15.578 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:31:15.578 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:31:15.578 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:31:15.578 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:31:15.578 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:31:15.578 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:31:15.578 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:31:15.578 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:31:15.578 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:31:15.550 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:30:37.441 error Closed because of error
mqtt.0 2017-02-07 15:29:48.190 error at Connection.Duplexify._forward (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/duplexify/index.js:163:26)
mqtt.0 2017-02-07 15:29:48.190 error at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:157:10)
mqtt.0 2017-02-07 15:29:48.190 error at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:198:18)
mqtt.0 2017-02-07 15:29:48.190 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:29:48.190 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:29:48.190 error at Connection.emitPacket (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/connection.js:14:8)
mqtt.0 2017-02-07 15:29:48.190 error at Connection.emit (events.js:169:7)
mqtt.0 2017-02-07 15:29:48.190 error at emitOne (events.js:77:13)
mqtt.0 2017-02-07 15:29:48.190 error at Connection. (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:423:17)
mqtt.0 2017-02-07 15:29:48.190 error at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59)
mqtt.0 2017-02-07 15:29:48.190 error TypeError: parts.trim is not a function
mqtt.0 2017-02-07 15:29:48.156 error uncaught exception: parts.trim is not a function
mqtt.0 2017-02-07 15:29:38.893 error Closed because of error -
Lösche mal das Verzeichnis
/opt/iobroker/node_modules/iobroker.mqtt
und installiere
cd /opt/iobroker npm i iobroker.mqtt@1.2.5
Aber das Problem ist in dem Client. Am besten das benutzen: https://github.com/knolleary/pubsubclient
-
Hallo Bluefox,
danke für den Tipp, habe ich gemacht. Ich benutze schon die PubSubClient in ESP8266 (s. Screenschot). Habe mittlerweile mein Fehler gefunden (parts.trim is not a function). Ich habe versucht Daten über MQTT zu übergeben, formatiert in eckige klammern [] und Komma. Das hat der MQTT-Brocker böse geärgert.
Der downgrade auf MQTT 1.2.5 hat leider nicht geholfen (habe ich früher auch probiert) - bekomme immer noch eine einzige Meldung - "Closed because of error" (MQTT Adapter).
Ich frage mich wieso hat das MQTT monatelang funktioniert und jetzt plötzlich nicht?
1247_pubsubclient.png -
Prüfe bitte, was für eine Version von mqtt-packet du hast?
Hast du an dieser Stelle den Fehler?
-
Hallo nochmal Bluefox,
wie meinst du, welche Version von MQTT-Packet?
Das ESP-Programm wird mit PubSubClient Library v.2.6.0 kompiliert (s. Screenshot oben).
Der MQTT-Brocker hat die Version 1.2.5 (wie oben empfohlen - npm i iobroker.mqtt@1.2.5). Es lässt sich auch nicht mehr per web-interface hochrüsten (weder auf 1.3.0, noch auf 1.3.1 vom Github) - stirbt mit Fehler 25. Per ssh nicht probiert. Erstmals die 1.2.5 gelassen, obwohl das Problem mit dem reset noch besteht ("Closed because of error").
Die Fehler mit trim wurde nicht vom ioBroker, sonder vom ESP-Seite verursacht (und schon beseitigt - s. unten), deine Frage betrifft aber die ioBroker-Seite. Wenn ich zuhause bin, werde versuchen die "Bekanntgeben eigene States beim Verbinden" auszuschalten - wenn ich dein Vorschlag richtig verstehe (Zeile 148 vom main.js).
Zu der Fehler mit "parts.trim is not a function". Ich habe auf meinem ESP8266 ein String erzeugt, im Form von:
"text=[Zahl,Zahl,Zahl,Zahl,Zahl,Zahl]text=01101010...u.s.w. 01 sequenz"
mit länge nicht mehr als 50-60 Zeichen. Dieses String wollte ich im einen Topic publischen (und die Topic wie immer bis jetzt im ioBroker automatisch erzeugen lassen). Dieses String hat aber den ioBroker MQTT Adapter zum absturz gebracht mit dem Meldung "parts.trim is not a function". Ich habe im ESP-Programm die eckige klammer mit dem String "start" und "end" und die kommaseparator mit dem Buchstabe "t" ausgetauscht und dann siehe da - die Variable (Topic) wurde automatisch im ioBrocker eingelegt und den gewünschten Inhalt wird übertragen. Kein Fehlermeldung wegen trim mehr.
"text=startZahltZahltZahltZahltZahltZahlendtext=01101010...u.s.w. 01 sequenz"
Ob die kommaseparator oder die "[]" der Brocker zum abstürz brachten weis ich nicht (habe auf einmahl kompiliert und per OTA eingespielt). Experimentierereien mit genau diesen node will ich nicht wirklich, weil schwer zugänglich, und wenn die node nicht mit MQTT verbunden ist (z.B. MQTT-Brocker abgestürzt), das laden des Programms via OTA funktioniert nicht wirklich (die Seite zum laden des Firmwares öffnet sich nicht, weil das ESP-Programm beschäftigt ist die MQTT-Verbindung aufzubauen - ein Teufelskreis, meine Programmierung ist nicht sauber an diese Stelle).
-
Hallo nochmal Bluefox,
wie meinst du, welche Version von MQTT-Packet?
Das ESP-Programm wird mit PubSubClient Library v.2.6.0 kompiliert (s. Screenshot oben).
Der MQTT-Brocker hat die Version 1.2.5 (wie oben empfohlen - npm i iobroker.mqtt@1.2.5). Es lässt sich auch nicht mehr per web-interface hochrüsten (weder auf 1.3.0, noch auf 1.3.1 vom Github) - stirbt mit Fehler 25. Per ssh nicht probiert. Erstmals die 1.2.5 gelassen, obwohl das Problem mit dem reset noch besteht ("Closed because of error").
Die Fehler mit trim wurde nicht vom ioBroker, sonder vom ESP-Seite verursacht (und schon beseitigt - s. unten), deine Frage betrifft aber die ioBroker-Seite. Wenn ich zuhause bin, werde versuchen die "Bekanntgeben eigene States beim Verbinden" auszuschalten - wenn ich dein Vorschlag richtig verstehe (Zeile 148 vom main.js).
Zu der Fehler mit "parts.trim is not a function". Ich habe auf meinem ESP8266 ein String erzeugt, im Form von:
"text=[Zahl,Zahl,Zahl,Zahl,Zahl,Zahl]text=01101010...u.s.w. 01 sequenz"
mit länge nicht mehr als 50-60 Zeichen. Dieses String wollte ich im einen Topic publischen (und die Topic wie immer bis jetzt im ioBroker automatisch erzeugen lassen). Dieses String hat aber den ioBroker MQTT Adapter zum absturz gebracht mit dem Meldung "parts.trim is not a function". Ich habe im ESP-Programm die eckige klammer mit dem String "start" und "end" und die kommaseparator mit dem Buchstabe "t" ausgetauscht und dann siehe da - die Variable (Topic) wurde automatisch im ioBrocker eingelegt und den gewünschten Inhalt wird übertragen. Kein Fehlermeldung wegen trim mehr.
"text=startZahltZahltZahltZahltZahltZahlendtext=01101010...u.s.w. 01 sequenz"
Ob die kommaseparator oder die "[]" der Brocker zum abstürz brachten weis ich nicht (habe auf einmahl kompiliert und per OTA eingespielt). Experimentierereien mit genau diesen node will ich nicht wirklich, weil schwer zugänglich, und wenn die node nicht mit MQTT verbunden ist (z.B. MQTT-Brocker abgestürzt), das laden des Programms via OTA funktioniert nicht wirklich (die Seite zum laden des Firmwares öffnet sich nicht, weil das ESP-Programm beschäftigt ist die MQTT-Verbindung aufzubauen - ein Teufelskreis, meine Programmierung ist nicht sauber an diese Stelle). `
Ich habe natürlich ioBroker Seite gemeint und auch "mqtt-packet" als npm packet. Sollte irgendwo in node_modules drin sein.Dein Payload passt zu folgende Regelung an:
https://github.com/ioBroker/ioBroker.mq … er.js#L297
Es wird versucht die falsch encoded Strings zu decoden.
Gerade jetzt ich empfehle dir so ein Code da zu benutzen. Zeile von 298 bis 308 (In deiner Version es können andere Zeilen sein)
if (typeof message === 'string' && message.match(/^(\d)+,\s?(\d)+,\s?(\d)+/)) { //adapter.log.info('Try to convert ' + message); var parts = message.split(','); try { var str = ''; for (var p = 0; p < parts.length; p++) { str += String.fromCharCode(parseInt(parts[p].trim(), 10)); } message = str; } catch (e) { // cannot convert and ignore it } //adapter.log.info('Converted ' + message); } ```` `