@PackElend sagte in MQTT oder MQTT-Client:
Wenn ich Eclipse Mosquitto als MQTT Broker einsetzte, warum brauche ich noch den MQTT server and client?
Na Du brauchst ja wenigstens einen MQTT Client, um mit Deinem MQTT Broker (also z.Bsp. mosquitto) zu kommunizieren. Falls Du keinen Adapter nutzt, kann zum Beispiel auch NodeRed - bzw. der NodeRed Adapter mit Deinem Broker direkt arbeiten und muss nicht über den MQTT Adapter laufen. Blockly braucht aber immer den Adapter.
@PackElend sagte in MQTT oder MQTT-Client:
The ioBroker MQTT-Broker in server mode only simulates the behavior of real MQTT-Broker (like Mosquitto), but it is not the same. Real MQTT-Broker normally does not save the values of the topics and just forwards the message to other subscribed clients.
Normalerweise funktioniert MQTT so, dass es EINE Nachricht an EINEN Client sendet und dann ist die Nachhricht ungültig bzw. nicht mehr existent (außer Du sendest eine Nachricht mit dem retain Flag - dann wird die Nachricht jedesmal bei Wiederverbinden gesendet).
Der iobroker Adapter behält aber in seiner Datenbank den letzten empfangenen Status. Man kann damit also auf einen Blick sehhen, was war die letzte Status - aber zum steuern muss man die Nachrichten immer wieder schicken.
@PackElend sagte in MQTT oder MQTT-Client:
Hier stellt sich mir dennoch die Frage, möchte ich das, wenn ich beispielsweise mit Taster arbeite ?
Ein Taster arbeitet nur mit einem Triggersignal und das ist dann immer true. - Den Status eines Gerätes über einen Taster ist immer ein anderes Topic, dass das Gerät dann von sich aus sendet. Deswegen triggert man immer mit true - egal ob Du mit dem Taster ein- oder ausschaltest.
@PackElend sagte in MQTT oder MQTT-Client:
anstatt mit MQTT Explorer schauen, was alles verfügbar ist, den gesamten Broker spiegeln und nur im iobroker arbeiten
Ja so mache ich das - man braucht keinen Explorer
@PackElend sagte in MQTT oder MQTT-Client:
um die evtl. sehr lange List von verfügbaren Clients des Brokers zu sortieren, in dem diese unterschiedlichen Instanzen des MQTT client zugeteilt werden, über spezifischen Subscribe von Topics. -
-> aber warum ist hier nicht der erste Weg über ioBroker.alias-manager (ioBroker ALIAS Definitionen)zu gehen?
Du kannst das machen wie Du willst. Die meisten Geräte bieten ja an unter welchem Topic sie etwas veröffentlichen. Wenn Du die Topics entsprechend frei wählst, dann brauchst Du den Alias eigentlich nicht, weil Du dann ja nicht mit Gerätenamen arbeitest.
Den Alias kannst Du dann verwendet, wenn Du zum Beispiel aus einem JSON einzelne Werte als einzelne Datenpunkte verfügbar haben willst. Wenn Du allerdings dann über Deine Logikmaschine (NodeRed, JS oder Blockly) weitere Steuerungen vornimmst, dann kann man die auch in dem Script oder dem Flow direkt referenzieren.