NEWS
[Gelöst] MQTT Kann kein CMND absetzen
-
Hi, normalerweise habe ich alle Probleme mit der MQTT mit der Suche lösen können. Aber hier zu finde ich leider nichts
Ich glaube (weis es aber nicht genau) das ich seit dem Update des MQTT Adapters auf v4.0.7 kein Kommando Richtung des Clients schicken kann.
Daten vom Geräte bekomme ich aber wunderbar.Vermutlich ist es irgendeine Einstellungssache.
Was habe ich schon gemacht:
- Adapter neugestartet
- Objektbaum des entsprechenden Gerätes in der MQTT.0 gelöscht (wurde danach wieder automatisch angelegt)
- Gerät neu gestartet.
Was versuche ich:
Ich versuche eigentlich nur "Power ON" oder "Power OFF" (habe es auch schon mit nur "ON" und "OFF" probiert) vom ioBroker abzusenden. Aber es kommt nichts an.... (Ich sehe in der Tasmota Console des Endgerätes nichts)Gebe ich den CMND direkt in der Console des Tasmota Geräte ein funktioniert es.
Hier mal die Screenshots aus dem MQTT Adapter einstellungen und des Objektbaumes:
-
@draexler Wenn Du willst, dass der mqtt Adapter rausschickt musst Du die Werte unbestätigt rausschicken, dann sollten auch entsprechende Einträge im Log da sein.
sowas wie:
send2Server ....
Und klar - wenn Du nur Änderungen publishst muss sich der Wert vom vorherigen unterscheiden.
Ansonsten schaut dein Tasmota Baum trotzdem komisch aus - hängt davon ab, wie Deine MQTT- Einstellungen in Tasmota sind - also %prefix%/%topic%/ oder umgekehrt - mit was davor oder nicht.
Es gibt nämlich einen cmnd Ast der ist nicht Gerätebezogen.
Allerdings sind im Standard - alle Geräte unter cmnd, stat und tele - ich hab das aber umgedreht, so dass ich pro Gerät einen cmnd, stat und tele Ast habe.
Mit kommen Deine tele-Punkte auf der gleichen Ebene wie cmnd komisch vor - bei mir sind die sauber getrennt auch die stat Punkte sind mit den tele Punkten gemischt - alles komisch:
-
@mickym Also ich schicke definitiv unbestätigt den Wert.
Die Einstellungen in Tasmota habe ich so. Vielleicht nicht nach Standart. Aber es hat so auch immer funktioniert.
-
@draexler sagte in MQTT Kann kein CMND absetzen:
@mickym Also ich schicke definitiv unbestätigt den Wert.
Die Einstellungen in Tasmota habe ich so. Vielleicht nicht nach Standart. Aber es hat so auch immer funktioniert.
Na das ist Käse was Du da machst.
- Sorry mein flapsige Ausdrucksweise.
Wenn Du das topic schon als Klartextnamen haben willst - dann sollte das ausreichen - wenn Du so einen Baum wie ich haben willst - dann änderst Du nur das topic und machst höchstens ein Präfix für alle Deine tasmota devices rein.
Der Präfix muss im Fulltopic in jedem Fall erhalten bleiben, damit Du saubere cmnd, stat und tele Äste bekommst. Das Prefix, das tasmota schreibt, heißt cmnd, stat und tele.
So wundert mich nicht, dass Dein Gerät nich darauf hört - da dieser cmnd Ast meines Erachtens nonsense ist, den Du beschreibst. Wie Du siehst ist es im Standard umgedreht - aber das habe ich ja in meinem Vorpost bereits erläutert.
-
@mickym Du kein Problem
Muss auch genau so gesagt werden.
Für mich nur komisch das es funktioniert bis her... Aber egal.
Ich habe jetzt mal das Geräte zurückgesetzt und konfiguriere es neu.
Aber ich steige bei den TOPIC und Full TOPIC noch nicht so ganz durch...
Verstehe ich es richtig das z.B.
-> Ventilsteuerung_Wasserzisterne = TOPIC
-> Garten/Ventilsteuerung_Wasserzisterne = Full Topicwäre
bzw. in der Konfiguration wenn der Gerätename "Ventilsteuerung_Wasserzisterne" ist
Topic:
%topic%
Full Topic:
Garten/%Topic%genau das das Ergebnis ist?
Ist das korrekt wie mein Gehirn denkt (was sich übrigens schon im Wochenende befindet
-
@draexler Ja aber Du vergisst wieder Dein Präfix.
Wenn Dein Tasmota- topic: Ventilsteuerung_Wasserzisterne ist und Du willst, dass alles unter dem MQTT-topic Garten auftauchen soll, dann gibst Du als Fulltopic
Garten/%topic%/%prefix%/
ein. Dann erhälst Du
Garten/Ventilsteuerung_Wasserzisterne/cmnd
für Deine Kommandos
Garten/Ventilsteuerung_Wasserzisterne/stat
für Deine Zustände
Garten/Ventilsteuerung_Wasserzisterne/tele
für das was aktuell im Device vorgeht, wie beispielsweise Signalstärke Deines WLANs etc.
Du darfst in KEINEM Fall das %prefix% in der Full-topic Definition weglassen und exakt arbeiten - nicht %Topic% sondern %topic%. Das sind variablen und das ist in Tasmota fix %topic% exakt so geschrieben, wie es in der Überschrift zu dem Feld heißt. Und vergiss auch nicht den abschließenden / in Deiner Full-Topic Definition!!! - Hat mich schon zur Verzweiflung gebracht.
-
@mickym Langsam fällt der Groschen
Dann werde ich das jetzt mal so umsetzten.
-
@mickym Ich werde es jetzt so machen das ich den Pfad so aufbaue das die Geräte nach Technik sortiert sind.
Also ein Verzeichnis für Tasmota, einen für ESPHOME etc.Ich habe mir jetzt mal die Tasmota MQTT Doku angesehen.
Nach dieser Doku könnte "CLIENT" eigentlich leer bleiben, oder? Aber schadet ja nicht.
Und der Rest würde jetzt so aussehen das er mir das TOPIC Ventilsteuerung_Wasserzisterne in das Verzeichnis tasmota packt, oder?
Warum ich nochmal frage ist, weil ich bereits ein "Tasmota" Verzeichnis habe.....
-
@draexler Der Client ist der Name mit dem sich das Gerät bei Deinem MQTT Broker meldet. Kannst leer lassen dann definiert Tasmota selbst einen.
-
@draexler ja so habe mich ch das auch gemacht, da ich mich besser zurecht finde, wenn ich on Top quasi die Quelle angebe. Deswegen heißt mein erster Topic: tasmota, shellies, owntracks usw.
Wenn Du dann darunter eine Ortstruktur aufbauen willst, dann nennst Du das %topic% zum Beispiel: Garten/Zisterne usw.
-
@mickym Habs jetzt genau so umgesetzt und nun funktioniert es. Habe dann auch gleich die ganze Struktur angepasst. Jetzt gefällt mir