Ich habe ca 10 Geräte, die mit mosquitto und der ,,alten" MQTT-Anbindung in FHEM fehlerfrei laufen. Lohnt sich der Umstieg auf die FHEM-interne Lösung? Also ist das viel Arbeit und bringt es vielleicht auch Vorteile?
Gesendet von iPad mit Tapatalk Pro
Wenig Aufwand und weniger Perl Versionsnummer Abhängigkeiten - but Never change a Running System ;-)
Gruß Arnd
Gesendet von iPhone mit Tapatalk
...kommt doch drauf an, was du willst, oder?
Zum Testen kannst du auch einfach parallel einen MQTT2_CLIENT anlegen. Dann hast du selbst einen Eindruck davon, ob sich das "lohnt".
Allgemein würde ich - das allerdings auf Basis der bisherigen MQTT-Module mit Stand Anfang Oktober - behaupten, dass MQTT2 einfacher ist, wenn du es mit JSON und eher exotischen Geräten zu tun hast, v.a. in Senderichtung.
Ein Sonderfall dazu ist zigbee2mqtt; da ist MQTT2_DEVICE m.E. den bisherigen Lösungen weit voraus (map-Generierung usw.). (Entsprechendes gilt für den ESP-Milight-Hub, aber da ist es nur das Konfigurieren in Senderichtung)
Weiterer Vorteil: Neu hinzukommende Geräte lassen sich mit templates sehr schnell konfigurieren.
Da klink ich mich mal ein.
Wie wäre das beste vorgehen, wenn man seine mosquitto devices auf mqtt2 migrieren möchte?
so aus dem Bauch raus, würde ich nicht den MQTT2 internen Server verwenden ... es müssen noch mehr Nachrichten durch Fhem verarbeitet werden und jede Nachricht kostet ein klein wenig Zeit und als singlethreaded nimmt auch die Latenz zu ...
werden die Nachrichten extern aus FHEM Sicht "verteilt", dann kann zumindest ein anderer CPU Kern die Arbeit machen
Ist aber nur ein Gefühl
ZitatIst aber nur ein Gefühl
Und mein Gefuehl ist, dass MQTT2_CLIENT (oder MQTT) bei vergleichbaren Menge an Nachrichten den gleichen Last in FHEM erzeugt wie MQTT2_SERVER.
Meiner Ansicht nach ist mosquitto zu bevorzugen, wenn die MQTT Daten ueberwiegend fuer was Anderes (nicht FHEM) verwendet werden, oder MQTT zweckentfremdet wird (wie z.Bsp. fuer Musikuebertragung). MQTT2_SERVER ist dafuer da, um den Anfaenger die Anbindung von MQTT Geraeten in FHEM einfacher zu machen. Also wenn man es nicht besser weiss, dann sollte man MQTT2_SERVER verwenden.
Zitat von: rudolfkoenig am 23 Dezember 2018, 10:39:18
Und mein Gefuehl ist, dass MQTT2_CLIENT (oder MQTT) bei vergleichbaren Menge an Nachrichten den gleichen Last in FHEM erzeugt wie MQTT2_SERVER.
Meiner Ansicht nach ist mosquitto zu bevorzugen, wenn die MQTT Daten ueberwiegend fuer was Anderes (nicht FHEM) verwendet werden, oder MQTT zweckentfremdet wird (wie z.Bsp. fuer Musikuebertragung). MQTT2_SERVER ist dafuer da, um den Anfaenger die Anbindung von MQTT Geraeten in FHEM einfacher zu machen. Also wenn man es nicht besser weiss, dann sollte man MQTT2_SERVER verwenden.
Ja MQTT2_SERVER ist definitiv die einfachste Variante von der Handhabung her und ein großer Sprung. MQTT2_CLIENT mit mosquitto ist auch ok aber nicht so komfortabel für den Anfänger. Zu MQTT kann man insbesondere für neue Projekte eigentlich nicht raten. Viel mehr Aufwand und man braucht viele mehr Verständnis für mqtt und json.
ich lese hier mal mit ;)
Gruß Peter
Zitat von: osr am 24 Dezember 2018, 13:52:51
Viel mehr Aufwand
Wenn man einmal verstanden hat, dann nicht wirklich.
Zitat von: osr am 24 Dezember 2018, 13:52:51
man braucht viele mehr Verständnis für mqtt und json.
DAS ist wiederum ein Vorteil ;)
Ich würde immer einen externen Server nehmen. Würde allerdings MQTT2_CLEINT dem MQTT mittlerweile bevorziehen.
Hallo zusammen,
den Diskussionsstand habe ich mal versucht, hier zusammenzufassen: https://wiki.fhem.de/wiki/MQTT#Performancefragen...
Rückmeldungen dazu sind willkommen!
Zitat von: hexenmeister am 27 Dezember 2018, 14:05:17
DAS ist wiederum ein Vorteil ;)
Sehe ich zwar ähnlich, aber vermutlich nur, weil ich mir mit dem ganzen Sidoh-Bridge-Gedöhns zwischenzeitlich die Grundlagen angeeignet habe. Für den "Otto-Normaluser" (so es den gibt) wage ich zu behaupten, dass er keine vertieften Kenntnisse in JSON braucht (bzw. für den weiteren Anwendungsfall HTTPMOD demnächst auch nicht mehr).
Gruß, Beta-User
Hallo zusammen,
ich würde gerne von MQTT auf MQTT2 umstellen, nur wenn ich
define myBroker2 MQTT2_SERVER 1883 global
eingebe, bekomme ich folgende Meldung
myBroker2: Can't open server port at 1883: Address already in use
mosquitto läuft noch auf dem RPi, muß ich den zuerst deinstallieren? Wenn ja, wie?
danke
Robert
Naja es kann nur Einen auf Port 1883 geben.
Du kannst erstmal für den neuen einfach einen anderen Port nehmen:
define myBroker2 MQTT2_SERVER 1884 global
Oder den Alten beenden
sudo systemctl stop mosquitto
sudo systemctl disable mosquitto
Gruß Otto
Zitat von: Otto123 am 28 April 2020, 19:37:40
Naja es kann nur Einen auf Port 1883 geben.
Du kannst erstmal für den neuen einfach einen anderen Port nehmen:
define myBroker2 MQTT2_SERVER 1884 global
Oder den Alten beenden
sudo systemctl stop mosquitto
sudo systemctl disable mosquitto
Gruß Otto
Danke, hat super funktioniert!