NEWS
MQTT oder MQTT-Client
-
@mickym Eine Frage noch:
Ich betreibe EnOcean Rollos, der Daten auch im MQTT über ccu-jack gespeichert werden.
Bsp.

Das setzen der Datenpunkte funktioniert über den Set-Befehl:

Bisher steuere ich die Rollos über ein Script:

Muss ich hier sowohl "abonnieren" als auch subscriben" anklicken?
-
@martybr sagte: Test/Versuch, viele Daten im MQTT zu konzentrieren.
Das ist ein Umweg gegenüber HM-RPC.
-
@mickym Eine Frage noch:
Ich betreibe EnOcean Rollos, der Daten auch im MQTT über ccu-jack gespeichert werden.
Bsp.

Das setzen der Datenpunkte funktioniert über den Set-Befehl:

Bisher steuere ich die Rollos über ein Script:

Muss ich hier sowohl "abonnieren" als auch subscriben" anklicken?
-
@martybr Nein - wenn Du unterschiedliche topics zum setzen und zum Empfangen hast, dann musst Du einen Alias erstellen und dann kannst Du versuchen den sowohl zu publishen, als auch zu abonnieren.
-
Ich versuche seit Tagen CCU-Jack mit Iobroker zu verbinden. Bis jetzt werden alle Werte im IoBroker so dargestellt
{"ts":1711112812496,"v":false,"s":0}
Was muss ich ändern?

Das das sind meine Einstellungen: ccu-jack.cfg:
"Bridge": {
"Enable": true,
"Address": "xxxx",
"Port": 1885,
"BufferSize": 0,
"UseTLS": false,
"CACertFile": "",
"Insecure": false,
"Username": "xxxx",
"Password": "xxxxx",
"ClientID": "ccujack",
"CleanSession": true,
"Incoming": [
{
"Pattern": "+/set/#",
"LocalPrefix": "",
"RemotePrefix": "ccujack/",
"QoS": 0
},
{
"Pattern": "+/get/#",
"LocalPrefix": "",
"RemotePrefix": "ccujack/",
"QoS": 0
}
],
"Outgoing": [
{
"Pattern": "+/status/#",
"LocalPrefix": "",
"RemotePrefix": "ccujack/",
"QoS": 0
}
]
}
},

-
Wieso das ist doch gut - so hast Du alle Infos zusammen. Wenn Du einzelne Werte aus den Objekten haben möchtest, erstellst Du Dir einen Alias oder schreibst diese Werte in eigene Datenpunkte via Blockly, JS oder NodeRed.
Falls Du NodeRed nutzt - habe ich einen Flow - der Dir automatisch alles in einzelne Datenpunkte zerlegt. Aber meines Erachtens braucht es das nicht. Falls Du Dich für das automatische Erstellen in einzelne Punkte interessierst - hier der Thread mit der Anleitung:https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen
Wie Du an den Aufrufen siehst, hat er ja schon vielen geholfen.
Ansonsten wie Du einen einzelnen Wert in einem Alias extrahierst, habe ich hier im Detail beschrieben: https://forum.iobroker.net/post/980575
-
Die letzte Antwort ist ein Weilchen her aber wenn man die Frage googelt, wann welcher Adapter, MQTT client oder MQTT server and client einzusetzen ist dies hier ganz oben auf der Liste.
Daher vielleicht nochmal zur eigentliche Frage im Titel.Wenn ich Eclipse Mosquitto als MQTT Broker einsetzte, warum brauche ich noch den MQTT server and client?
Einzig was mir gerade einfällt sind:-
Hier stellt sich mir dennoch die Frage, möchte ich das, wenn ich beispielsweise mit Taster arbeite ?
-
@mickym sagte in MQTT oder MQTT-Client:
Der Grund warum die meisten den anderen Adapter nutzen (ich auch) - weil sie mosquitto also Broker nutzen und dann den Client/Server Adapter als Spiegel.
-
anstatt mit MQTT Explorer schauen, was alles verfügbar ist, den gesamten Broker spiegeln und nur im iobroker arbeiten
-
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?
-
-
Die letzte Antwort ist ein Weilchen her aber wenn man die Frage googelt, wann welcher Adapter, MQTT client oder MQTT server and client einzusetzen ist dies hier ganz oben auf der Liste.
Daher vielleicht nochmal zur eigentliche Frage im Titel.Wenn ich Eclipse Mosquitto als MQTT Broker einsetzte, warum brauche ich noch den MQTT server and client?
Einzig was mir gerade einfällt sind:-
Hier stellt sich mir dennoch die Frage, möchte ich das, wenn ich beispielsweise mit Taster arbeite ?
-
@mickym sagte in MQTT oder MQTT-Client:
Der Grund warum die meisten den anderen Adapter nutzen (ich auch) - weil sie mosquitto also Broker nutzen und dann den Client/Server Adapter als Spiegel.
-
anstatt mit MQTT Explorer schauen, was alles verfügbar ist, den gesamten Broker spiegeln und nur im iobroker arbeiten
-
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?
@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. -
-
@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.jetzt ist es alles klare und deckt sich mit meinen Annahmen, DANKE
@mickym sagte in MQTT oder MQTT-Client:
Na Du brauchst ja wenigstens einen MQTT Client, um mit Deinem MQTT Broker (also z.Bsp. mosquitto) zu kommunizieren
jo, dafür reicht dann aber der kleine MQTT client
kurioserweise ist der Client/Server schlanker als Client

@mickym sagte in MQTT oder MQTT-Client:
Man kann damit also auf einen Blick sehhen, was war die letzte Status
sprich der MQTT server and client dient auch als Debug-Hilfsmittel
@mickym sagte in MQTT oder MQTT-Client:
Die meisten Geräte bieten ja an unter welchem Topic sie etwas veröffentlichen.
meine dingz leider nicht, so muss ich über Alias gehen, um etwas Ordnung reinzubringen
-
jetzt ist es alles klare und deckt sich mit meinen Annahmen, DANKE
@mickym sagte in MQTT oder MQTT-Client:
Na Du brauchst ja wenigstens einen MQTT Client, um mit Deinem MQTT Broker (also z.Bsp. mosquitto) zu kommunizieren
jo, dafür reicht dann aber der kleine MQTT client
kurioserweise ist der Client/Server schlanker als Client

@mickym sagte in MQTT oder MQTT-Client:
Man kann damit also auf einen Blick sehhen, was war die letzte Status
sprich der MQTT server and client dient auch als Debug-Hilfsmittel
@mickym sagte in MQTT oder MQTT-Client:
Die meisten Geräte bieten ja an unter welchem Topic sie etwas veröffentlichen.
meine dingz leider nicht, so muss ich über Alias gehen, um etwas Ordnung reinzubringen
@PackElend MQTT Broker/Client als Client und MQTT Client funktionieren aber durchaus völlig unterschiedlich.
Der MQTT Broker/Client als Client liefert mir mit dieser Einstellung:

Liefert alles was der Mosquitto an Daten empfängt als Datenpunkte.Der MQTT Client liefert erst einmal nichts,
ok bei mir nichts weil ich diesen so eingestellt habe:

Da könnte man auch#eingeben.
Dafür hat man beim Client die Möglichkeit, das an einzelnen Datenpunkten zu aktivieren:

Ich nutze beides, den Client am MQTT eines Home Assistant Systems weil der MQTT-Broker/Client damit Probleme hatte. Zudem konnte ich so gezielt meine Geräte an Home Assistant senden/teilen
-
@PackElend MQTT Broker/Client als Client und MQTT Client funktionieren aber durchaus völlig unterschiedlich.
Der MQTT Broker/Client als Client liefert mir mit dieser Einstellung:

Liefert alles was der Mosquitto an Daten empfängt als Datenpunkte.Der MQTT Client liefert erst einmal nichts,
ok bei mir nichts weil ich diesen so eingestellt habe:

Da könnte man auch#eingeben.
Dafür hat man beim Client die Möglichkeit, das an einzelnen Datenpunkten zu aktivieren:

Ich nutze beides, den Client am MQTT eines Home Assistant Systems weil der MQTT-Broker/Client damit Probleme hatte. Zudem konnte ich so gezielt meine Geräte an Home Assistant senden/teilen
@BananaJoe sagte in MQTT oder MQTT-Client:
afür hat man beim Client die Möglichkeit, das an einzelnen Datenpunkten zu aktivieren:
Wo macht man dies, bei mir erscheint kein Zahnrad oder ähnliches, wie weiter oben erwähnt
-
@BananaJoe sagte in MQTT oder MQTT-Client:
afür hat man beim Client die Möglichkeit, das an einzelnen Datenpunkten zu aktivieren:
Wo macht man dies, bei mir erscheint kein Zahnrad oder ähnliches, wie weiter oben erwähnt
@PackElend sagte in MQTT oder MQTT-Client:
Wo macht man dies, bei mir erscheint kein Zahnrad oder ähnliches, wie weiter oben erwähnt
das Zahnnrad findest Du neben dem Datenpunkt in der Objektansicht, wenn Du den mqtt-Client installiert hast. Dort kannst Du auch eigene Datenpunkte erstellen.
