NEWS
MQTT: Message xxx deleted after 11 retries
-
@watcherkb Hmm - er der Adapter muss halt nicht nur pausiert, sondern richtig umgestellt werden. Und halt schauen, dass sonst kein Adapter wie Shelly, Sonoff läuft. Die simulieren ja auch alle einen mqtt-Broker.
Der mqtt-Adapter muss ja auch 1883 laufen, das ist schon richtig.
Ich mosquitto log siehst Du doch auch ob sich der mqtt-Adapter (anhand der Client ID) mit mosquitto verbindet?
-
@mickym ja hab schon auf Client umgestellt. Aber keine Besserung.
Sonoff-Adapter habe ich auch, aber auf Port 1884
Und beim Shelly-Adapter ist der Port auf 1882Leider sehe ich im Log nur die Clients und deren Messages, aber NICHT den Mqtt Client aus ioBroker.
-
@watcherkb Na wenn es wirklich so ist, dass der mqtt Adapter den Port 1883 sich schnappt und nichts anderes (also Du das merkst, wenn Du den Adapter aus und einschaltest, vielleicht muss man den Adapter ganz raus schmeissen und noch mal neu installieren. Es muss ja rauszufinden sein, wer den Port noch belegt.
-
@mickym hab jetzt nochmal mosquitto installiert, aber vorher mqtt Adapter gestoppt. Jetzt scheint auch alles zu laufen, aber die log-Datei sieht für mich nicht sauber aus. Ich nutze KEINE Authentification. Iobroker und der ganze Server ist dabei total ausgelastet, Ram und CPU sind am Limit.
1642433853: New client connected from 127.0.0.1 as iobroker.mqtt.0 (c1, k1000). 1642433853: Socket error on client iobroker.mqtt.0, disconnecting. 1642433853: New connection from 127.0.0.1 on port 1883. 1642433853: New client connected from 127.0.0.1 as iobroker.mqtt.0 (c1, k1000). 1642433856: Socket error on client iobroker.mqtt.0, disconnecting.
-
@watcherkb Ja aber dann ist da immer noch was nicht in Ordnung. Die log Datei ist nicht sauber - das schaut für mich aus, als ob da dauernd der mqtt Adapter andocken will aber nicht geht.
Hast Du explitzit in Deiner mosquitto conf angegen
allow_anonymous true
-
@mickym ne hab nichts dergleichen eingestellt. Habe die Standardconfig gelassen. Schau ich mir an
-
@watcherkb Na eigentlich ist das standardmässig falsch. Ich würde mal den mqtt Adapter aus dem iobroker mal komplett deinstallieren (also nicht nur die Instanz) und schauen, ob das System sich dann mit CPU etc. beruhigt und das mosquito log sauber ist.
-
Wenn der MQTT-Adapter als Client läuft, schnappt der sich gar keinen Port - der ist dann ja Client und nicht Server.
Wenn man den von Server auf Client umstellt wäre das löschen aller Datenpunkte eine gute Idee gewesen, ich weis nicht ob der Client das einfach so übernimmt / übernehmen kann. Mit dem Deinstallieren des Adapter ist dies aber ja passiert.Im Client musst dann den Port einstellen auf den du auch den Mosquitto gesetzt hast - der vermutlich auf Port 1883 läuft wenn er denn kann. In der Log-Datei solltest du sehen können wenn sich der Client verbindet.
Wenn du in Mosquitto eine Anmeldung eingerichtet hast so muss du das im Adapter natürlich auch einstellen (oder eben nicht. Da gibt es ja auch einen "Verbindung Testen" Button
-
Die Maske zum bekanntgeben eigener States sollte auf
mqtt.0.*
Stehen. Sonst schickt der Adapter jeden Datenpunkt zum mqtt.
-
@peterfido Da dies der Default ist hatte ich das nicht extra erwähnt
-
Darf man fragen warum du auf Mosquitto ausweichen willst?
-
@hydrotec weil ich dieselben Probleme mit den Messages habe wie im Eingangsthread geschildert. Hoffe dadurch das Problem zu beheben.
-
So wie ich das verstanden habe, hattest du zuerst den mqtt Adapter als Server konfiguriert.
Und jetzt würdest du gerne den mqtt Adapter als Client, welcher auf mosquitto zugreift, konfigurieren.
Sollte das richtig sein, dann versuch mal folgendes.Zuerst den jetzigen mqtt Adapter löschen.
(quasi Neuinstallation des Adapters)
Dann den Adapter wieder installieren.
und als Client einrichten
Die "Verbindungseinstellungen" und "Authentifizierungseinstellungen" an deine Umgebung anpassen.
Wenn alles, wie gewünscht, funktioniert, würde ich dir empfehlen,
dein mosquitto wenigstens mit Benutzer:Passwort abzusichern. -
@watcherkb Ich hab das subscribe pattern auf dem Standard: # gelassen, damit Du alle topics im Adapter zur Verfügung hast. Vielleicht will man ja mehr über mqtt anbinden und nicht die Adapter nutzen, wenn Geräte von sich aus mqtt sprechen. So mache ich das jedenfalls.
-
-
@watcherkb sagte in MQTT: Message xxx deleted after 11 retries:
@hydrotec @mickym
danke das teste ich mal. Aber ich würde ungerne die alten Objekte löschen, da ich schon etliche Datenpunkte mit influxdb tracke. Wenn ich den Adapter lösche, werden automatisch die DP gelöscht, richtig?Wenn Du den Adapter oder auch nur die Instanz löschst - werden in jedem Fall die Objekte mitgelöscht.
Ich kann Dir aber auch nicht garantieren, dass bei der Umstellung von Client auf Server das erhalten bleibt. Kannst aber versuchen. Jedenfalls lass alle Optionen aus (wie im Screenshot von @hydrotec gepostet)- und hake vor allen Dingen nicht so was wie sende Zustände an - sonst hast Du ganz schnell Endlosschleifen und den ganzen Mist im mosquitto. Sobald die Geräte sich selbst mit dem mosquitto verbinden, bekommst ja der Adapter dann wieder in die Datenpunkte als Update geliefert.
Für die Zukunft würde ich aber was Datenbank Logging betrifft über die Verwendung von Alias nachdenken, dann bist Du zumindest bei zukünftigen Änderungen oder auch bei Hardwaretausch gegen solche Dinge immun.
-
@watcherkb sagte in MQTT: Message xxx deleted after 11 retries:
..., da ich schon etliche Datenpunkte mit influxdb tracke.Die Datenbank füllt sich wieder.
Ansonsten wirklich über den Alias Adapter, oder ähnliches, nachdenken, so wie es @mickym schon erwähnt hat.
@mickym sagte in MQTT: Message xxx deleted after 11 retries:
Ich hab das subscribe pattern auf dem Standard: # gelassen, ...
Ich teile gerne die Instanzen in Gruppen ein, z.B. Siedle, zigbee2mqtt, Tablet, Kameras, usw., finde ich persönlich übersichtlicher.
Aber das ist Geschmacksache. -
@hydrotec sagte in MQTT: Message xxx deleted after 11 retries:
@watcherkb sagte in MQTT: Message xxx deleted after 11 retries:
..., da ich schon etliche Datenpunkte mit influxdb tracke.
Die Datenbank füllt sich wieder.
Ansonsten wirklich über den Alias Adapter, oder ähnliches, nachdenken, so wie es @mickym schon erwähnt hat.Das nützt ihm nur nichts, wenn die Datenpunkte dann zwar wieder kommen, aber die Konfiguration zum Loggen in der Datenbank ist mir dem Löschen der Objekte weg. (das konfigurierst ja über das Zahnrädchen zum Datenpunkt) Deswegen will er die Instanz ja nicht löschen.
Wie gesagt, vielleicht klappt es ja. Nur wenn nicht und er dann so oder so das Loggen wieder konfigurieren muss, dann würde ich das über Aliase machen - da dann der Aufwand sowieso und nur minimal höher ist.
-
@mickym @hydrotec
teilweise mache ich das schon so mit den Alias, aber einige Datenpunkte haben es noch nicht geschafft als Alias. Würde ich auch gerne ändern aber dadurch verliere ich die Daten der letzten Jahre. Ich bin da so ein bißchen wie ein Datenmessi und lösche nicht gerne. Wenn man die alten Datenbestände in influxdb auf einen neuen Namen ändern könnte, würde ich mir das ganze gerne mal anschauen und mir den Aufwand machen. -
@mickym sagte in MQTT: Message xxx deleted after 11 retries:
Das nützt ihm nur nichts, wenn die Datenpunkte dann zwar wieder kommen, aber die Konfiguration zum Loggen in der Datenbank ist mir dem Löschen der Objekte weg. (das konfigurierst ja über das Zahnrädchen zum Datenpunkt) Deswegen will er die Instanz ja nicht löschen.
Das ist mir schon alles bewusst.
Ist doch nicht das Problem die neu angelegten Objekte wieder in die Datenbank zu loggen.
Deswegen muss er ja keine extra Datenbank anlegen, die ist doch schon konfiguriert.
Und ich sag mal, auf das Zahnrad klicken, und das Logging einschalten, daran wird es doch nicht liegen.@watcherkb sagte in MQTT: Message xxx deleted after 11 retries:
Würde ich auch gerne ändern aber dadurch verliere ich die Daten der letzten Jahre.
Bin jetzt nicht der "InfluxDB" Spezialist, doch nur weil du Objekte löschst, sind doch die Daten nicht weg, oder.
Müsste man sich informieren, wie man die Bezeichnungen in der Datenbank anpassen kann, müsste theoretisch gehen.
(wurde hier im Forum bestimmt auch schon mal angefragt)
Und wenn ich die vergangenen Posts so durchlese, dann hast du doch schon einiges umgestellt.
Also auch neue Datenpunkte angelegt, oder hab ich das falsch rausgelesen.Nur du entscheidest was du machen möchtest, deine mqtt Umgebung gerade rücken, oder deine Daten unberührt lassen.
Vielleicht noch einmal im Detail deine jetzige Konstellation beschreiben,
eventuell auch mal die jetzige mqtt Instanz auf debug stellen, und das Log (mit Fehlermeldung) hier posten.
Es gibt ja mehrere Möglichkeiten, wie man eine lösbare Aufgabe bewältigt.