NEWS
MQTT-Einstellungen-Pattern nicht konfigurierbar
-
@dreistein Ich möchte einzelne Topics angeben können, die aboniert werden sollen. Geht aber nicht, weil das Eingabefeld beim Verlassen wieder gelöscht wird.
Vorgegeben ist # für alle Topics. Das funktioniert auch, will ich aber nicht. Daher habe ich die Vorgabe gelöscht und wollte definierte Topics angeben. Geht eben, wie oben beschrieben nicht, da die Eingabe beim Verlassen des Feldes sofort wieder gelöscht wird. z.B: EN_EG/#, EN_KELLER/Lampe1/#, OG_77/Taster77.
Mit dem MQTT-Client funktioniert das. -
Du verwendest Mosquitto ? Dann wäre der Client ja da richtige für dich.
Denn der funktioniet ja. -
@georgenewman sagte in MQTT-Einstellungen-Pattern nicht konfigurierbar:
Ich möchte einzelne Topics angeben können, die aboniert werden sollen.
das geht mit dem mqtt-client Adapter ganz bequem.
-
@homoran Danke für die schnelle Reaktion, die aber leider auf meine Beobachtung nicht eingeht.
Ich habe inzwischen auch fest gestellt, daß der mqtt Brocker auch keine Auswahl der Topics ermöglicht, die ich aber gerne hätte. So wird es wohl auch für den Broker als Client keine Auswahl geben, obwohl das Formular anderes verspricht. Ich werde also beim mqtt-client bleiben.Damit ist für mich die Sache erledigt, vielen Dank!
-
@georgenewman sagte in MQTT-Einstellungen-Pattern nicht konfigurierbar:
@homoran Danke für die schnelle Reaktion, die aber leider auf meine Beobachtung nicht eingeht.
Ich habe inzwischen auch fest gestellt, daß der mqtt Brocker auch keine Auswahl der Topics ermöglicht, die ich aber gerne hätte. So wird es wohl auch für den Broker als Client keine Auswahl geben, obwohl das Formular anderes verspricht. Ich werde also beim mqtt-client bleiben.Damit ist für mich die Sache erledigt, vielen Dank!
Dass Du <Enter> drücken musst, nachdem Du die Topics/Masks eingetippt hast, ist Dir bewusst? Wenn Du das nicht machst und einfach das Feld wechselst, ist die Eingabe in der Tat wieder weg.
-
@georgenewman sagte in MQTT-Einstellungen-Pattern nicht konfigurierbar:
die aber leider auf meine Beobachtung nicht eingeht.
wieso?
-
@georgenewman sagte in MQTT-Einstellungen-Pattern nicht konfigurierbar:
So wird es wohl auch für den Broker als Client keine Auswahl geben,
du sollst ja deswegen den mqtt-client Adapter nehmen.
da kannst du an jedem Datenpunkt frei konfigurieren was du willst -
@marc-berg Danke, das war der entscheidende Hinweis. So klappt die Eingabe. Sehr ungewöhnlich, alle anderen Felder lassen sich ohne <CR> verlassen und behalten ihren Wert. Normalerweise erwartet man, daß die Werte bis zum Abspeichern in den Feldern bleiben. Vielen Dank.
Ich wollte mich schon vom IOBroker verabschieden, denn das Versenden von Messages über den mqtt-client habe ich nicht hinbekommen:
sendTo("mqtt.0", "sendMessage2Client", {
"topic": 'Lampe_ServerRaum/cmnd/POWER', "message": 'ON'});funktioniert
sendTo("mqtt-client.0", "sendMessage2Client", {
"topic": 'Lampe_ServerRaum/cmnd/POWER', "message": 'ON'});funktioniert nicht. Keine Fehlermeldung.
Ich werde es nochmal versuchen.
Danke für die Unterstützung! -
Warum schreibst du nicht direkt mit "Steuere" in den Datenpunkt des Adpaters ?
Warum "sendTo" ? -
@dreistein 1.)Es sind unterschiedliche Datenpunkte für Status und Kommando
2.) Läßt sich mit dem Lampenadapter aber bewerkstelligen, da der separate Id's zum Steuern für An und Aus hat, die auf denselben Datenpunkt verweisen. Allerdings kann die Leuchte auch von Hand eingeschaltet werden und dann kann sie vom iobroker nicht wieder ausgeschaltet werden, da der mqtt nur bei Statuswechsel des Komandopunktes ein publish durchführt. Also im Kommando steht ein OFF, die Lampe wird per Hand eingeschaltet und kann mit einem erneuten OFF nicht ausgeschaltet werden.
Habe ich jetzt so gelöst, daß zwei Datenpunkte im Userbereich für eine Anforderung zum Ein- oder Ausschalten gesetzt werden. E. Jscript fragt die Datenpunkte ab, setzt bei gesetztem Punkt ein publish ab und setzt die Punkte wieder auf 0.on('0_userdata.0.JN_OG.Server.Lupe.EIN', function (obj) {
if (!obj.state.ack && obj.state.val) {
sendTo("mqtt.0", "sendMessage2Client", {
"topic": 'Lampe_ServerRaum/cmnd/POWER', "message": 'ON'});
setState('0_userdata.0.JN_OG.Server.Lupe.EIN', '' );
} });on('0_userdata.0.JN_OG.Server.Lupe.AUS', function (obj) {
if (!obj.state.ack && obj.state.val) {
sendTo("mqtt.0", "sendMessage2Client", {
"topic": 'Lampe_ServerRaum/cmnd/POWER', "message": 'OFF'});
setState('0_userdata.0.JN_OG.Server.Lupe.AUS', '' );
} });Damit funktioniert es einwandfrei.