NEWS
MQTT Broker/Client sendet nur beim Start
-
@kerschte_de sagte in MQTT Broker/Client sendet nur beim Start:
Genau das ist der Kreislauf,
Aber diesen "Kreislauf" kannst du ganz einfach durchbrechen, indem du beide Adapter nutzt.
So mache ich es auch. Den Broker/Client-Adapter (als Client zu mosquitto), der alle Pfade unter "mqtt.0." verarbeitet (auch das NSPanel!) und zusätzlich den MQTT-Client Adapter, den ich für einzelne Datenpunkte nutze, die sich irgendwo (z.B. unter "0_Userdata.*") befinden. -
@marc-berg wenn ich beide Adapter parallel betreiben will (bspw. als nachträgliche Install der mqtt-client), dann gibt es bei der Installation den Hinweis, dass die Instanz 1 bereits vom mqtt-broker/client genutzt wird. Wie müsste man das dann konfigurieren?
-
@kerschte_de sagte in MQTT Broker/Client sendet nur beim Start:
dann gibt es bei der Installation den Hinweis, dass die Instanz 1 bereits vom mqtt-broker/client genutzt wird.
Das glaube ich nicht, bis du mir diese Meldung zeigst.
EDIT: nur um sicher zu gehen, wir sprechen von zwei verschiedenen Adaptern.
-
@marc-berg ja, stimmt. Ich habe mich geirrt. Es ist der Port, über den da der Fehler kommt.
So wie ich MQTT über das Video von Matthias verstanden habe, ist der Port quasi die Funk-Frequenz. Eine zweite Frequenz würde bedeuten, dass Empfänger 2 Ports/2 Freuquenzen abhören müssen. In den Einstellungen muss man sich jedoch immer für 1 konkreten Port entscheiden. Wie gehst Du damit um?
-
@kerschte_de sagte in MQTT Broker/Client sendet nur beim Start:
In den Einstellungen muss man sich jedoch immer für 1 konkreten Port entscheiden. Wie gehst Du damit um?
Da wirfst du was durcheinander. Dein Broker (mosquitto) hat EINEN Port, den trägst du in beiden Instanzen ein. Kein Problem.
-
@marc-berg ach, das heißt, dass die rot eingefärbte Meldung gar keine Warn-/Fehlermeldung ist? Ich habe diese aufgrund der Farbe so interpretiert.
-
@kerschte_de sagte in MQTT Broker/Client sendet nur beim Start:
gar keine Warn-/Fehlermeldung
Stimmt, das ist verwirrend. Einfach ignorieren.
-
Ist das Konfigurationfeld PORT beim mqtt-client nicht der Port des entfernten Brokers?
Der Adapter baut doch nur Verbindungen AUF und lauscht nicht auf einem Port. Oder?
In der jsonConfig des Adapters ist das Feld als Typ PORT definiert. Dieser Typ ist aber für LISTENER-Ports gedacht und prüft daher, ob der Port am Host auch frei ist.Ich kenn mich mit mqtt leider zu wenig aus - aber ich glaube fast dass da ein Fehler im mqtt-client ist und da Feld einfach Text / Numerisch sein sollte ...
@haus-automatisierung
Da du den Adapter besser kennst und sorry wenn ich schon wieder störe:
Ist das ein Fehler / falscher Typ im jsonConfig deiner Meinung nach oder nicht?
EDIT: hat sich erübrigt - issue erstellt. S.u. -
@marc-berg tatsächlich, der zweite Adapter schaltet auf grün. Also können auf ein- und demselben Gerät mehrere Adapter auf dem gleichen Port arbeiten. Das habe ich nun verstanden. Zudem bin ich froh, dass ich nicht allein vor diesem Problem stehe und dass es eine Lösung dafür gibt.
Ich richte alles ein, teste und melde mich hier noch einmal. Ich hoffe auch, dass diese Sende-Verweigerung des mqtt-broker/client sich nur nicht auf das NSPanel auswirkt. Das hatte ich jetzt bei dem ganzen Herumprobieren erstmal wieder verworfen. Das richte ich dann jetzt erneut ein.
Bis hierhin schonmal ein dickes Danke für den Tipp -
@mcm1957 sagte in MQTT Broker/Client sendet nur beim Start:
Ist das Konfigurationfeld PORT beim mqtt-client nicht der Port des entfernten Brokers?
ja, wie auch beim mqtt-Adapter, wenn er als Client konfiguriert ist.
Der Adapter baut doch nur Verbindungen AUF und lauscht nicht auf einem Port. Oder?
Korrekt.
In der jsonConfig des Adapters ist das Feld als Typ PORT definiert. Dieser Typ ist aber für LISTENER-Ports gedacht und prüft daher, ob der Port am Host auch frei ist.
Dann ist das ein Fehler im Adapter. Zumindest im mqtt-client Adapter. Aber auch im mqtt-Adapter, wenn er keinen Broker "spielt".
-
@kerschte_de sagte in MQTT Broker/Client sendet nur beim Start:
tatsächlich, der zweite Adapter schaltet auf grün. Also können auf ein- und demselben Gerät mehrere Adapter auf dem gleichen Port arbeiten. Das habe ich nun verstanden.
Ja, beide Adapter sind ja auch lediglich nur MQTT Clients, wie das NSPanel und wovon sich in deinem Netz noch hunderte andere befinden könnten.
Ich richte alles ein, teste und melde mich hier noch einmal. Ich hoffe auch, dass diese Sende-Verweigerung des mqtt-broker/client sich nur nicht auf das NSPanel auswirkt.
Irgendwie kann ich mir nicht so richtig vorstellen, dass sich die "Sendeverweigerung" nicht beseitigen lässt. Da muss irgendwo noch ein Konfigurations-Wurm drin sein. Ist aber egal. Mit dem zusätzlichen mqtt-client Adapter bis du in jedem Fall flexibler, was weitere Aufgaben angeht.
-
@marc-berg said in MQTT Broker/Client sendet nur beim Start:
Dann ist das ein Fehler im Adapter. Zumindest im mqtt-client Adapter. Aber auch im mqtt-Adapter, wenn er keinen Broker "spielt".
Issue erstellt:
https://github.com/iobroker-community-adapters/ioBroker.mqtt-client/issues/377mqtt Adapter hat Typ number, er erlaubt daher immer die Porteingabe. Das ist das Gegenteil - im Servermode erkennt er erst zur Laufzeit dass es nicht geht. Läßt sich aber in jsonCOnfig derzeit nicht abbilden außer man definiert 2 getrennte Eingabefelder - und der Aufwand rechnet sich nicht.
-
Ich habe jetzt beide Adapter im Client-Modus laufen und melde mich, wenn ich das NSPanel wieder aktiv habe.
-
@mcm1957 sagte in MQTT Broker/Client sendet nur beim Start:
Issue erstellt:
Aber wie muss der jsonConfig Parameter dann heißen, wenn nicht "port"?
-
@marc-berg sagte in MQTT Broker/Client sendet nur beim Start:
Irgendwie kann ich mir nicht so richtig vorstellen, dass sich die "Sendeverweigerung" nicht beseitigen lässt. Da muss irgendwo noch ein Konfigurations-Wurm drin sein. Ist aber egal. Mit dem zusätzlichen mqtt-client Adapter bis du in jedem Fall flexibler, was weitere Aufgaben angeht.
Genau das vermute ich ja auch die ganze Zeit. Denn sonst würden sich viel mehr im Forum melden, dass da was nicht stimmt. Ich habe es durch Herumspielen mit den Einstellungen versucht, mit Neuinstall, mit allem, was mir so einfiel. Aber ich habe es nicht hinbekommen. Ich überlege auch die gesamte Zeit schon, ob ich den kompletten RasPi neu aufsetze - aus genau diesem Grunde.
-
@marc-berg said in MQTT Broker/Client sendet nur beim Start:
@mcm1957 sagte in MQTT Broker/Client sendet nur beim Start:
Issue erstellt:
Aber wie muss der jsonConfig Parameter dann heißen, wenn nicht "port"?
@marc-berg
Geht nicht um den Namen sondern um den TYP.
Der Parameter Port sollte vom Typ NUMBER sein, ggF mit Wertelimits. -
@kerschte_de sagte in MQTT Broker/Client sendet nur beim Start:
Ich überlege auch die gesamte Zeit schon, ob ich den kompletten RasPi neu aufsetze - aus genau diesem Grunde.
Kanonen/Spatzen.
Mit einem Löschen des Adapters solltest du eigentlich alles erwischen, was hier relevant ist. Bin mir aber auch nur zu 99% sicher.
-
@kerschte_de said in MQTT Broker/Client sendet nur beim Start:
@marc-berg sagte in MQTT Broker/Client sendet nur beim Start:
Irgendwie kann ich mir nicht so richtig vorstellen, dass sich die "Sendeverweigerung" nicht beseitigen lässt. Da muss irgendwo noch ein Konfigurations-Wurm drin sein. Ist aber egal. Mit dem zusätzlichen mqtt-client Adapter bis du in jedem Fall flexibler, was weitere Aufgaben angeht.
Genau das vermute ich ja auch die ganze Zeit. Denn sonst würden sich viel mehr im Forum melden, dass da was nicht stimmt. Ich habe es durch Herumspielen mit den Einstellungen versucht, mit Neuinstall, mit allem, was mir so einfiel. Aber ich habe es nicht hinbekommen. Ich überlege auch die gesamte Zeit schon, ob ich den kompletten RasPi neu aufsetze - aus genau diesem Grunde.
Hast du im (mqtt Adapter) den Paramater "Send states (ack=true) too:" / "Sende auch Zustände (ack=true)"angehakt?
Ohne den werden output States anderer Adapter die ja mit ACK=true befüllt werden nicht weitergeleitet.Sehe gerade dass dud as NICHT hast:
Aktiviere die Option mal, schätze denn sendet der mqtt auch brav...
-
@mcm1957 sagte in MQTT Broker/Client sendet nur beim Start:
Geht nicht um den Namen sondern um den TYP.
Ah okay. Danke für die Klarstellung.
-
@mcm1957 sagte in MQTT Broker/Client sendet nur beim Start:
Sehe gerade dass dud as NICHT hast:
Aktiviere die Option mal, schätze denn sendet der mqtt auch brav...
Das kann ich nicht aktivieren. Da arbeitet die Maschine tausende mqtt-messages vom NSPanel innerhalb von Sekunden ab und bringt meine Maschine fast zum Stillstand. Habe es gerade nochmal probiert. Innerhalb von 10 Sekunden 15.000 Werte gepublished ^^
In allen zu entdeckenden Screenshots von mqtt-Einstellungen zum Thema NSPanel ist dieses Häkchen nicht aktiviert. Ich vermute genau aus diesem Grund.