NEWS
Tasmota setzt FullTopic zurück wenn MQTT aktiv ist
-
Hallo zusammen,
habe ein sehr seltsames Verhalten von Tasmota mit IoBroker:einige meiner Tasmota Geräte (nicht alle) haben plötlich keinen FULL Topic mehr unter MQTT stehen.
nach vielem Testen hab ich festgestellt, dass ich solange der MQTT Broker (unter IoBroker) deaktiviert ist, den Full Topic einstellen kann und Tasmota das auch speichert.sobald der MQTT Broker aktiviert ist, setzt Tasmota den Full Topic auf NULL oder NAN
kann mir jemand einen Tip geben, bin gerade etwas ratlos
-
@mamu0015 Habe den MQTT Broker unter IoBroker jetzt mal deinstalliert und wieder installiert, jetzt scheint es wieder zu funktionieren.
Ist dieser Fehler bekannt?
woher kommt er?
wäre ja unschön wenn das öfter passiert -
@mamu0015 sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
@mamu0015 Habe den MQTT Broker unter IoBroker jetzt mal deinstalliert und wieder installiert, jetzt scheint es wieder zu funktionieren.
Ist dieser Fehler bekannt?
woher kommt er?
wäre ja unschön wenn das öfter passiertIch habe dieses verhalten auch und finde da keine Lösung für. Gibt es jemanden der eine Lösung gefunden hat.
-
hänge mich hier mal ran.
Kann das verhalten bestätigen. Gibt es lösungen? -
@luft-post sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
Gibt es lösungen?
Irgendwie traurig, dass hier nach Lösungen gefragt wird, aber KEINER der User hier in diesem Thread es mal geschafft hat, hilfreiche Details zu liefern. Da der Fehler ja offensichtlich nur einen sehr kleinen Kreis betrifft hätte man mit diesen Informationen vielleicht nach Gemeinsamkeiten und einer möglichen Ursache suchen können.
-
Hallo zusammen
ich habe ein ähnliches Problem.
Meine Konstellation:
Ich habe ca. 15 Geräte mit Tasmota (verschieden FW-Stände) im Einsatz.
Teils sind es Sonoff-, Shelly- oder diverse ESP-Geräte.
Als MQTT-Broker läuft Mosquito.
Unter ioBroker (alles auf den neusten Stand) kommuniziere ich über den "MQTT Broker/Client"-Adapter mit dem Broker.
Der Adapter arbeitet als Client/Subsciber.Das Problem:
Seit ca. 3 Jahren kommt es gelegentlich (alle 2-3 Monate) vor, das auf einzelnen Geräten (5-10) der FullTopic unter Tasmota verstellt ist.
Eingetragen ist dann statt des "%prefix%/%topic%/" ein "ON" oder "null".
Ob es immer die gleichen Geräte sind kann ich nicht sagen.
Folglich bekomme ich von den betreffenden Geräten keine Informationen mehr und kann dies auch nicht mehr schalten (dadurch fällt es dann auf).Heute habe ich festgestellt, dass sich das Problem reproduzieren lässt, wenn der "MQTT Broker/Client"-Adapter neu gestartet wird.
Ist es bei euch ähnlich?
Habt Ihr evtl. eine Lösung gefunden?Gruß
Andreas -
@ioali sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
Ist es bei euch ähnlich?
Habt Ihr evtl. eine Lösung gefunden?Man kann Tasmota von außen via MQTT ein neues Fulltopic mitgeben. Je nachdem, wie das Fulltopic vorher definiert ist, z.B. mit
cmnd/tasmota/FullTopic new_full_topic
oder
tasmota/cmnd/FullTopic new_full_topic
Ist dieses Topic in der Vergangenheit mal falsch gesetzt worden, zusammen mit der Einstellung des MQTT Adapters "Publish own states on connect" (oder wie es auf Deutsch übersetzt ist), so wird dieses Topic beim Neustart des Adapters neu published und kommt so am Tasmota-Gerät an und wird überschrieben.
Als erstes würde ich also mal den ioBroker-Objektbaum nach "FullTopic" durchsuchen und falls vorhanden löschen.
Eine weitere theoretische Möglichkeit besteht darin, dass dieses "FullTopic" mal als "retained" am Broker gesetzt wurde. Da fehlt mir aber im Moment die Phantasie, wie es dadurch zu diesen Effekten kommen könnte. Ob das so ist, kann man über den MQTT Explorer herausfinden. Dafür dieses Topic (je nach Tasmota Config) subscriben.
-
@marc-berg sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
Publish own states on connect
Hallo marc-berg,
danke für die zügige Antwort.Der Tip mit dem deaktivieren von "Publish own states on connect" hat schonmal dafür gesorgt das die FullTopic's Eintragungen in den Tasmota-Geräten nach einem Neustart des MQTT-Adapter nicht mehr durch "null" oder "ON" überschrieben werden.
Wie es sich dann im längeren Betrieb verhält müssen die kommenden Wochen zeigen.Gruß Andreas
-
@ioali sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
Der Tip mit dem deaktivieren von "Publish own states on connect" hat schonmal dafür gesorgt das die FullTopic's Eintragungen in den Tasmota-Geräten nach einem Neustart des MQTT-Adapter nicht mehr durch "null" oder "ON" überschrieben werden.
Das ist ja schön, aber nicht unbedingt die Ursache, sondern rumwerkeln am Symptom. Hast du mal nach "FullTopic" gesucht (einfach oben als Filter eintippen)? Würde mich interessieren und meine Theorie ggf. bestätigen.
-
@marc-berg
Das ist klar, dass es nicht die Lösung für das ursprüngliche Problem ist.Ja, nach FullTopic-Einträgen habe ich gesucht. Unter dem mqtt/0/cmnd taucht bei 26 Geräten das Objekt FullTopic auf, also mqtt/0/cmnd/Gerät/FullTopic. Als Wert ist dort aktuell entweder "null", "(null)" oder 2 x "%prefix%/%topic%/" eingetragen. Bei den 26 Geräten sind die dabei, die aktuell in Betrieb sind, aber auch ca. 10 Geräte, die ich schon lange nicht mehr nutze. Schau ich mir die im Gerät eingetragenen FullTopic-Werte mit dem TasmotaManager oder über das jeweilige Web-Frontend an, stelle ich fest, das bei allen Geräten der erwartete Eintrag "%prefix%/%topic%/" zu finden ist. Ich habe testweise alle FullTopic-Objekte unter mqtt/0/cmnd/Gerät/ im ioBroker gelöscht. Nach spätestens einem Tag sind sie wieder da, mit den oben erwähnten Werten.
-
Standardmäßig ist der Eintrag FullTopic NIE belegt - also hat den Wert (null). Ist auch Käse das über mqtt zu setzen. Ich würde alle Werte löschen und schauen, dass über das Webinterface die richtigen topics gesetzt sind. Und eigene States zu publishen ohne ein Prefix ist natrülich das .... was man machen kann. Ich rate immer dazu alle Haken raus zu machen und es gibt nur ganz spezifische Situationen, in den man einen Haken machen muss.
-
@mickym
So ähnlich sieht es bei mir auch aus:
gosund65 ist ein aktives Gerät, WEMOSD1..., RFID... sind Geräte, die schon lange nicht mehr in Betrieb sind, trotzdem werden diese hier nach einem händischen Löschen wieder angezeigt. Wie kann ich das verhindern? Scheinbar hat der MQTT-Broker sich was gemerkt.
-
@ioali sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
Wie kann ich das verhindern? Scheinbar hat der MQTT-Broker sich was gemerkt.
@marc-berg sagte in Tasmota setzt FullTopic zurück wenn MQTT aktiv ist:
Eine weitere theoretische Möglichkeit besteht darin, dass dieses "FullTopic" mal als "retained" am Broker gesetzt wurde. Da fehlt mir aber im Moment die Phantasie, wie es dadurch zu diesen Effekten kommen könnte. Ob das so ist, kann man über den MQTT Explorer herausfinden.
-
@ioali Wenn Du mosquitto hast und Du hast in Deinem Adapter (leider - wie gesagt man macht alle Haken weg) mal das Retain Flag gesetzt
dann kommt das immer wieder. In diesem Fall würde ich einfach mal den mosquitto service stoppen, die mosquitto Datenbank löschen und auch die mqtt Instanz im iob löschen und neu anlegen.
Die mosquitto db liegt standardmässig im Verzeichnis:
/var/lib/mosquitto$ ls mosquitto.db
Nachdem mqtt sowieso ein States DB ist und keine Daten in der Regel aufgehoben werden sollen - werden sich die Geräte mit ihren Datenpunkten melden. Ja die cmnd topics die nicht da sind musst Du halt nochmal anlegen und ggf. Kommandos absetzen.
Wenn Du nur einzelne topics mit retained löschen willst, dann schickst Du einen leeren String an das topic - damit ist zumindest das retained weg. (weiß gerade nicht auswendig - ob das mit retained geschickt werden muss).
Ich würde Dir aber empfehlen die Datenbank wegzuschmeissen und alles neu aufbauen zu lassen.