NEWS
SOLVED [gelöst] mqtt bleibt gelb, arbeitet aber "ein bisschen"
-
Hallo Zusammen,
ich möchte nach einigen Selbstversuchen einmal in die Runde fragen, was bei mir nicht so richtig läuft.
Ich habe Probleme mit dem mqtt adapter. Nach dem Löschen (auch alle Datenpunkte) und komplett Neuinstallieren dauert es nur wenige Stunden, bis es wieder nicht geht.
Der mqtt Adapter zeigt gelb, verbnden mit mqtt falsch. Die Datenpunkte in den mqtt Objekten werden nicht korrekt angezeigt, d.h. einige fehlen,andere werden nicht aktualisiert (z.B. wenn ich mit mqtt-fx etwas schalte)
Zu meiner Konfiguration:
iobroker 3.1.6 auf Raspi
mqtt Broker/Client 2.1.13, 1 Instatz, mqtt läuft auf anderem pc, gleiches Netz, keine Verschlüsselung, user und passwort habe ich sicher korrekt eingetragenWenn ich beim mqtt-adapter in den Einstellungen den User neu eintrage und damit Speichern kann, sehe ich im Log, dass die Verbindung geklappt hat und alle states gepublished wurden
mqtt.0 2020-11-19 05:20:23.233 info (19083) All states published
mqtt.0 2020-11-19 05:20:05.074 info (19083) Subscribe on: "#"
mqtt.0 2020-11-19 05:20:05.065 info (19083) Connected to 10.10.60.80
mqtt.0 2020-11-19 05:20:04.640 info (19083) Try to connect to mqtt://iobroker:*******************@10.10.60.80:1883?clientId=iobrokerIn den Instanzen bleibt der adapter trotzdem gelb und es werden "einige" States die geändert werden angezeigt, andere nicht.
Eine Verbindung mit mqtt-fx zum Broker bleibt übrigens dauerhaft bestehen, ohne irgendwelche Anzeichen von disconnect etc.Hat jemand eine Idee, was das sein kann und wie ich es abstelle?
Danke schon mal im Voraus cwIch habe, nachdem ich das hier geschrieben hatte, noch einen Eintrag hier gefunden, dass der mqtt-client wohl die bessere Wahl ist. Den habe ich dann auch installiert, den Client/Broker deaktiviert.
Verbunden zeigt er jetzt an, ist grün, aber die Funktion ist gleich.
Neue States, die nach einem Befehl im mqtt-fx eine Schaltung erzeugen, werde nicht angelegt und vorhandene nicht upgedated.
Ach ja, der mqtt-server ist ein mosquitto version 1.4.8 -
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Ach ja, der mqtt-server ist ein mosquitto version 1.4.8
und der published auch die Werte, die er von seinen Clients erhält?
-
@Homoran
Ich weiss nicht genau, was Du mit "der" meinst.
Es werden im mqtt-fx ewig viele gepublishte Werte angezeigt. Ich kann dort auch mis publish Kommando eine Lampe ein und ausschalten. Im -fx wird das alles angezeigt, aber die states im iobroker ändern sich nicht (physisch geschaltet wird aber)Vielleicht hatte ich es ja falsch gemacht, aber bei der Erstinstallation von mqtt habe ich über den mqtt-fx z.B. die Datenpunkte anlgelegt, indem ich darüber z.B. die LED eingeschaltet habe. Dann war das Kommando und der State im iobroker sichtbar.
Ich konnte damit anfangs auch arbeiten, aber irgendwann hat es nichtmehr funktioniert. Ich habe immer alle Adapter aktualisiert, hab aber nicht aufgepasst, ob es damit zusammen hing. -
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
was Du mit "der" meinst.
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
der mqtt-server ist ein mosquitto
-
@Homoran
Hab das Script ausgeführt, keine Änderung.
Aber ich habe mich heute früh vertan. Der mqtt.client.0 ist ein eigener Datenpunkt ordner. Das hatte ich übersehen. Ich habe imm er im mqtt.0 geschaut.
im mqtt.client.0 gibt es "nur" einen ordner info mit 1 datenpunkt: connection. Der steht auf true. Sonst ist alles leer.
Aber das Log, und der Instanz Status zeigen beide grün bzw. connected an.Ich hab aber den Unterschied glaube ich nicht ganz verstanden. der Client ist nur passiv und lauscht auf dem Port 1883.
Der Broker/Client lauscht auf 1883 und sendet aber auch die Zustände vom ioBroker? Ist das richtig? -
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Ist das richtig?
nein!
beide können senden
Beim Client kannst du die topics in den Objekten einstellen
Beim Broker/Client hast du auch noch einen Broker zur Verfügung, den du aber nicht brauchst@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Ich habe imm er im mqtt.0 geschaut.
wenn die Struktur noch existiert hast du natürlich Client und Broker/Client laufen.
Ich weiß das jetzt nicht auswendig ob da ggf. zu Problemen mit dem Port kommt.
(das gilt auch für andere Adapter, bei denen ein MQTT unter der Haube steckt!)@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
und der Instanz Status zeigen beide grün bzw. connected an.
Wie ist denn die Konfiguration des mqtt-client?
subscribe on all ( also #)? -
so ist der Client eingestellt:
MQTT Broker IP ip des brokers auf anderem rechner
Port 1883
Client ID muss einmalig sein: iobrokerclient
Benutzername: iobrokerclient
Kennwort:
Topic bei Verbindung: #Das ist alles, sonst sind die Einstellungen am Client leer.
Der Broker/Client läuft nicht gleichzeitig, den habe ich gestoppt. Aber mit dem stoppen bleiben die Datenpunkte erhalten.
es gibt in den Objekten jedoch 2 mqtt Verzeichnisse, eines für mqtt-client und eines für mqtt -
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
so ist der Client eingestellt:
Bitte Screenshot
-
@Homoran
Hier von broker, client und den datenpunkten.
hier noch die Ausgabe vom log, wenn ich den client adapter startemqtt-client.0 2020-11-19 12:08:26.401 info (21775) connected to broker mqtt-client.0 2020-11-19 12:08:26.024 info (21775) Try to connect to mqtt://iobrokerclient:*******************@10.10.60.80:1883?clientId=iobrokerclient mqtt-client.0 2020-11-19 12:08:25.914 warn (21775) adapter.objects.getObjectView is deprecated, and will be removed in the future. Please use adapter.getObjectView/Async. Report this to Developer! mqtt-client.0 2020-11-19 12:08:25.780 info (21775) starting. Version 1.3.1 in /opt/iobroker/node_modules/iobroker.mqtt-client, node: v12.19.0, js-controller: 3.1.6
MOD-Edit: Code in code-tags gesetzt!
-
Hast du den Sonoff Adapter installiert?
-
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Hier von
broker,clientIst leider lange her dass ich mit dem mqtt-client gearbeitet habe, aber bei zusätzliche subscriptions müsste IMHO das # stehen.
Da wo es bei dir steht müsste etwas stehen, dass der clienet beim Start an deinen Broker senden soll, damit du in dessen Daten siehst dass er online ist
-
@haselchen
nein, kein sonoff, der beisst sich ja mit mqtt. -
@Homoran said in mqtt bleibt gelb, arbeitet aber "ein bisschen":
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Hier von
broker,clientIst leider lange her dass ich mit dem mqtt-client gearbeitet habe, aber bei zusätzliche subscriptions müsste IMHO das # stehen.
Da wo es bei dir steht müsste etwas stehen, dass der clienet beim Start an deinen Broker senden soll, damit du in dessen Daten siehst dass er online ist
Ja, das war schon eine Änderung. Ich habe bei Zusätzliche subscriptions noch ein # eingetragen, da kommen jetzt Daten an.
Aber es werden nur die Verzeichnisse angelegt, die sind alle leer, bis auf manche inhalte in "tele"
Zum Beispiel mqtt-client.0.tele.decke_buero_vorne hat er eingetragen und hier steht auch Online. Aber den Schaltvorgang hat er weder in cmnd noch in stat eingetragen.
Habe noch mal ein Bild gemacht -
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Aber den Schaltvorgang hat er weder in cmnd noch in stat eingetragen.
1.) mach mal ein reload.
2.) ich habe mqtt damals nur zum Empfangen genutzt, gepublished habe ich im Prinzip nur die Datenpunkte mit Sensorwerten.
Dies wird über den Schraubenschlüssel bei den Objekten eingestellt -
@Homoran
Ja, ich habe den ganzen adapter neu gestartet, und jetzt trudeln die Daten so langsam ein.
Super es gibt auch schon 2 cmnd Datenpunkte
Danke für den Hinweis, ich glaube es wird langsam voller!! Super.Aber beim Schraubenschlüssel ist mqtt-client aktiv für abonnieren. Wenn ich da publish auch aktiviere, kommt dann nicht alles doppelt? Die Nachricht kommt ja z.B. von einem Lichtschalter (Sonoff) und der client liest es. wenn der auch published, wird das dann nciht noch einmal gesendet?
-
@chrisweber sagte in mqtt bleibt gelb, arbeitet aber "ein bisschen":
Wenn ich da publish auch aktiviere, kommt dann nicht alles doppelt?
Das ist ja das schöne am MQTT-Client.
Da kannst du entscheiden für jeden Datenpunkt aus ioBroker ob und mit welchem topic er gepublished werden soll.
Natürlich solltest du Datenpunkte aus dem Client, die dieser vom Broker bekommt, nicht einfach noch mal publishen -
Eben nicht. Es gibt 2 Ports für MQTT.
1883 und 8883.
Wenn du deine Tasmota Geräte über den Sonoff Adapter laufen lässt und Port 8883 nimmst , können beide parallel laufen. -
@haselchen
Das ist interessant. Kannst Du mir bitte auch sagen, was ich für einen Vorteil von beiden habe? Soll ich den tasmota auch installieren?
Ich dachte besser ist es in der tasmota Software den mqtt client zu nutzen? -
@Homoran
Ja ok, dann lasse ich es so, wie es ist.
Danke nochmal für die Hilfe! -
Bei mir ist die Sache , dass ich ne Nodemcu habe, die dauernd die Verbindung verliert. Dadurch wird der Adapter immer wieder neu gestartet.
Und mit dem Sonoff habe ich ein Backup sozusagen. Läuft auch über MQTT aber eben stabil. Darüber steuer ich Steckdosen etc.