NEWS
[Doku] Themensammlung zu MQTT allgemein
-
@hydrotec Das Problem - was hier anscheinend noch nicht erkannt ist - habe ich mal kurz nachgestellt.
Ich bin mal ein Geräte und kommunizieren mit meinem mqtt-Broker (egal ob der Adapter als Client oder Server arbeitet).
Ich veröffentliche also über mqtt einen topic wie folgt:
test/state1/state2 mit dem Wert 45678
Der Adapter arbeitet auch richtig und legt den State (noch!) richtig an:
Die Objekte fehlen wie erwartet. Man kann nun zwar weitere Datenpunkte anscheinend selbst unter state1 anlegen, obwohl dies kein Objekt enthält (war mir auch neu) - aber unter state2 kann ich immer noch nichts anlegen.
Es ist nun möglich Objekte anzulegen, selbst wenn das Parent kein Objekt hat. Allerdings kann ich immer noch keine Objekte unter states anlegen (also in der Admin Oberfläche).
Wird das extern gepublished, dann legt es der Adapter an - das müsste man dann halt ggf. so beschreiben.
-
@mickym sagte in MQTT Broker/Client Adapter:
Wird das extern gepublished, dann legt es der Adapter an
Das ist doch Sinn der Sache!
Mach doch da jetzt kein Thema von.Selbst wenn da noch nicht alle Issues behoben sind, sollte hier der Idealfall beschrieben werden.
Und soooo tief wird da kein Einsteiger lesen wollen und es auch in der Doku nicht stehen werden.Da kommt das Prinzip rein. Und bei einem Broker kann man davon ausgehen, dass die Daten von extern kommen.
Dass ich persönlich allein wegen der individuellen Konfiguration jeden einzelnen States sowieso den MQTT-Client Adapter nehemn würde wenn es um einen Cleint geht ist eine andere Sache -
@mickym und nicht vergessen, dass wenn ein Client etwas an einen Topic sendet, welcher noch nicht vorhanden ist, dann wird dieser von Adapter erstellt (sofern Broker)
Das war das, was mich etwas irritiert hatte (damals...)
-
@homoran Gerade hier ist meines Erachtens gerade auch für Anfänger ein Herausstellen der Unterschiede beider Adapter nötig.
Der MQTT-Client Adapter eignet sich in meinen Augen nur um einzelne States aus anderen Namensräumen oder Adapter an einen MQTT-Broker veröffentlichen.
Der MQTT Client/Server Adapter arbeitet sowohl als Broker (mit manchen Fehlern) oder als Client und Front-End zu einem Broker. Während sich der MQTT-Adapter also Client um die Veröffentlichung existierende iobroker states eignet, ist der Client im MQTT Client/Server Adapter eine Möglichkeit direkt mit einem mqtt-Broker zu kommunizieren. Hier gibt es states, die sonst im iobroker gar nirgends auftauchen oder auftauchen müssen.
Gerade als Anfänger steht man doch vor dem Problem, welchen Adapter ich nehmen soll und da sollte man zumindest in Grundzügen die Unterscheide zu klären. Ansonsten mit dem MQTT-Client Adapter jedes einzelne topic zu subscriben ist sehr mühsam. (glaube mit Wildcards zum subscriben geht gar nicht - aber weiß ich nicht 100%ig).
ICh finde den Thread gerade nicht - aber es war jemand der von Openhab auf den iobroker wechseln wollte und an einen bestehenden mosquitto andocken wollte und dafür ist der reine MQTT_Client Adapter ungeeignet. Ich schau mal ob ich den Thread noch finde.
EDIT:
Habe ihn gefunden: https://forum.iobroker.net/topic/51468/solved-zigbee2mqtt-setup/9?_=1643051411198 -
Ich möchte da nur kurz darauf eingehen.
@mickym sagte in MQTT Broker/Client Adapter:
... - was hier anscheinend noch nicht erkannt ist - ...
Das Problem ist sehr wohl bekannt, zumindest mir.
Doch es ist der falsche Thread, es hier auszudiskutieren, wie man das beheben kann.
Nicht falsch verstehen, in diesem Thread möchte ich gerne Vorschläge/Hinweise sammeln.
Wie du im ersten Post erkennen kannst, ist der Punkt schon mit aufgenommen@homoran sagte in MQTT Broker/Client Adapter:
... dass die Daten von extern kommen.
Es gibt auch Geräte, die aus ioBroker heraus gesteuert werden sollen.
Und ich bin der Ansicht, das es schon zu einer Doku dazugehört, einen Weg zu beschreiben,
wie man so etwas umsetzen kann.Muss ich noch sehen, wie letztendlich die Doku zu MQTT aufgebaut wird, und wo man das dann unterbringt.
-
@hydrotec Ja wie gesagt, wie in meinem letzten Post ist glaube gerade für eine Doku oder einen Anfänger wichtig, die Unterschiede beider MQTT-Adapter herauszustellen und deshalb auch unterschiedliche Einsatzmöglichkeiten einander gegenüberzustellen.
Mich und auch viele andere hat das schon verwirrt - und es ist meines Erachtens mehr als nur Geschmackssache.
-
Was aus meiner Sicht wichtig ist:
- eine Entscheidungsmatrix wann mqtt als Server, wann als client
- best practices für den Umgang mit dem Server
- best practices für den Umgang mit dem client.
A.
-
Damit ich eine Dokumentation zu den verschiedenen Adaptern erstellen kann, muss ich sie erst einmal selbst testen.
Wenn ich dazu noch Fragen habe, wende ich mich in einem anderen Thread an Personen,
welche den jeweiligen Adapter schon im Einsatz haben.
(oder ich melde mich gleich bei dir )Das Thema MQTT ist so umfangreich, das ich ehrlich gesagt noch nicht weiß, wie,
oder in wieweit es Sinn macht, das alles unter einen Hut zu bringen.Aktuell tendiere ich in die Richtung, in der Doku alles ansprechen, und dann über Verlinkungen zu Tutorials einzelne Themen ausführlicher zu beschreiben.
Da möchte ich aber noch ein paar Tage abwarten, was hier noch alles so an Vorschlägen/Hinweisen reinkommt. -
Hallo @hydrotec,
ich betrachte mich als Anfänger in ioBroker.
In MQTT würde ich sagen bin ich blutiger Anfänger.Ich helfe gerne mit, in dem ich, wenn ich etwas nicht verstanden habe, dazu fragen stelle.
Aus den Antworten könnte die Beschreibung auf meinem Level angepasst werdenDann hättest du den Anfängerbereich schon mal abgedeckt.
Ich schreibe selber auch Dokus und muss diese so abändern, das Leute die mit der Materie noch nie etwas zu tun hatten es verstehen können, das ist nicht einfach, weil für einen selber ist das alles so simple und einfach.So, wo gibet schon was zu lesen?
-
Dankeschön das du dich hier auch meldest.
Aktuell bin ich noch am Sammeln von Ideen, siehe Eingangspost.
Sobald ich eine ungefähre Rohfassung der Doku zusammen habe, werde ich sie hier zur Ansicht einstellen.
Das kann aber noch etwas dauern.Gruß, Karsten
-
Eine Bitte an alle Mitlesenden,
Bezüglich der Adapter, welche einem auf der ioBroker Admin Oberfläche zur Installation angezeigt werden,
wenn man nach "mqtt" filtert.
Unter dem Ergebnis werden vier Adapter aufgelistet.
Habt ihr von den vier Adaptern einen, oder auch mehrere, im Einsatz.
Oder kennt jemanden, welcher mit den Adaptern Erfahrungen hat.
(Bitte denjenigen nicht direkt nennen, sondern ihn auf dieses Thema hinweisen)
Ich würde mir gerne etwas mehr an Hintergrundwissen zu den einzelnen Adaptern aneignen,
darf auch gerne historischer Situation sein, warum ein bestimmter Adapter entstanden ist.Meine bisherigen Informationen/Erkenntnisse zu den Adaptern, und ihren Abhängigkeiten.
1.)
- erscheint nur im Repository "latest"
- scheint aktuell nicht mehr weitentwickelt zu werden
- wird nur in Verbindung zu "Home Assistant" genutzt
2.)
- bedient sich des MQTT-Protokolls
- es besteht aktuell Support/Entwicklung
- nur in Verbindung mit Sonoff Geräten (Tasmota/ESP) im Einsatz
3.)
- kann sowohl als Client, wie auch als Broker konfiguriert werden
- in der Client Version, wird ein externer Broker vorrausgesetzt
- spricht grundsätzlich mit allen Geräten, welche über das MQTT-Protokoll kommunizieren
- es besteht aktuell Support/Entwicklung
- Standard Adapter Client/Server bei ioBroker?
4.)
- reiner MQTT Client
- es wird ein externer Broker vorrausgesetzt
- spricht grundsätzlich mit allen Geräten, welche über das MQTT-Protokoll kommunizieren
- es besteht aktuell Support/Entwicklung
- Standard Adapter Client bei ioBroker?
Bei Punkt drei und vier bin ich mir nicht sicher, warum es eine Client/Server Version und eine reine Client Version gibt.
(deswegen der Stichpunkt als Fragestellung)Vorab schon einmal Dankeschön zu eurer Unterstützung, mir bei diesem Thema zu helfen.
Angenehmen Tag noch
Gruß, Karsten -
@hydrotec sagte in MQTT Broker/Client Adapter:
warum es eine Client/Server Version und eine reine Client Version gibt.
der reine MQTT-Client Adapter hat wesentlich mehr individuelle Einstellungsmöglichkeiten für jedes Topic/Datenpunkt.
Der klinkt sich wie History in die Objekt-Liste ein und man kann dann dort ganz spezifische Topics für publish und subscribe erstellen -
Danke für den Hinweis
Nur das ich es richtig verstanden habe, setzt "MQTT-Client" auf vorhandene Status in Objekte auf,
welche über das MQTT-Protokoll zu einem MQTT-Broker übermittelt, und über diesen auch gesteuert, werden.
Der "MQTT Broker/Client" Adapter wiederum, in der Client Version, erstellt neue Objekte mit Status,
welche dann übermittelt/gesteuert werden können.
Kann man es so, vereinfacht, sehen. -
@hydrotec sagte in MQTT Broker/Client Adapter:
Kann man es so, vereinfacht, sehen.
Nein!
auch der Client erstellt objekte, wenn er sie subscribedIch suche schon die ganze Zeit meine alte Doku dazu
-
@homoran sagte in MQTT Broker/Client Adapter:
Ich suche schon die ganze Zeit meine alte Doku dazu
Meinst du diese hier
https://www.iobroker.net/docu/index-378.htm?page_id=3790&lang=de
Die hattest du mir schon zur Verfügung gestellt.
Oder hast du speziell zu diesem Adapter noch eine erstellt?
Dann wäre ich dir sehr dankbar, wenn du sie mir, bei Gelegenheit, noch zur Verfügung stellen könntest.
Danke -
@hydrotec sagte in MQTT Broker/Client Adapter:
Meinst du diese hier
nein, das ist IMHO die für ioBroker.MQTT (Broker/Client) nicht für iobroker.mqtt-client
@hydrotec sagte in MQTT Broker/Client Adapter:
Dann wäre ich dir sehr dankbar, wenn du sie mir, bei Gelegenheit, noch zur Verfügung stellen könntest.
dazu müsste ich sie erst mal finden, oder wenigstens die alten Screenshots
-
@homoran sagte in MQTT Broker/Client Adapter:
dazu müsste ich sie erst mal finden, oder wenigstens die alten Screenshots
Eilt ja nicht.
Ich sammle gerade soviele Informationen, wie ich bekommen kann.
Sind noch genug weitere Punkte in meiner Doku offen,
mit denen ich mich beschäftigen kann. -
@hydrotec Wenn Du alle Adapter raussuchst, die MQTT sprechen, ist das ggf. gefährlich.
Der Owntracks und der Shelly Adapter sind zumindest 2 weitere die den Endgeräte vorgaukeln sie wäre Broker.
Ich hatte an anderer Stelle schon mal angemerkt, dass es hier wohl generell besser wäre, dass diese Adapter auch die Option böten einen externen MQTT Broker einzubinden. Bin mir auch nicht sicher, ob nicht noch andere Adapter diese "Fake-MQTT Broker" zur Verfügung stellen.Worauf ich auf jeden Fall in der Doku hinweisen würde, dass diese Adapter nicht wie MQTT-Broker zu behandeln sind. Gerade bei dem Sonoff, wird dieser nicht wie angegeben nur für Sonoff Komponenten, sondern auch wie Du schreibst für alle Komponenten auf den Tasmota läuft etc. Das ist aber ungut - ich habe hier ein paar Threads ohne dass ich auf die Suche gehe, die eben scheitern, sobald der Adapter halt einen Parameter nicht kennt und somit nicht interpretieren kann und ggf. auch dann die Datenpunkte nicht zur Verfügung stellt.
Im Gegenteil würde ich auf diese Gefahr hinweisen, dass all diese Adapter, die MQTT Topics selbst interpretieren und aufbereiten eben nur im Rahmen ihrer Grenzen (sprich bekannte Datenpunkte und mqtt Nachrichten) ordnungsgemäß funktionieren können.
Zu dem reinen mqtt-Client kann ich nicht viel sagen, aber er scheint mit als client mit Wildcards nicht richtig zu arbeiten, wie man eben in dem kürzlich zitierten Thread erkennen kann. Aber wie gesagt ich kenn das nicht, da der andere MQTT Adapter halt als Front-end für einen externen MQTT_Broker (wie mosquitto) genutzt werden kann.
-
@mickym sagte in MQTT Broker/Client Adapter:
aber er scheint mit als client mit Wildcards nicht richtig zu arbeiten, wie man eben in dem kürzlich zitierten Thread erkennen kann.
ich kann es in dem Thread nicht erkennen, allerdings habe ich auch ewig nichts mehr mit dem Client gemacht. Wenn ich das noch richtig in Erinnerung habe nutzt MQTT andere Wildcards
-
@homoran sagte in MQTT Broker/Client Adapter:
@mickym sagte in MQTT Broker/Client Adapter:
aber er scheint mit als client mit Wildcards nicht richtig zu arbeiten, wie man eben in dem kürzlich zitierten Thread erkennen kann.
ich kann es in dem Thread nicht erkennen, allerdings habe ich auch ewig nichts mehr mit dem Client gemacht. Wenn ich das noch richtig in Erinnerung habe nutzt MQTT andere Wildcards
Im iobroker kannst Du das Sternchen * in der Mitte und am Ende nutzen.
Im MQTT ist es in der Mitte ein + und am Ende ein #.
Man scheint wohl auch zu den iobroker Anfängen sich an mqtt orientiert zu haben. Im NodeRed bekommen die Topics aus den iobroker-in Nodes immer noch Slash / als HIerarchietrennzeichen und keine Punkte. Es wird wohl auch beides akzeptiert.