NEWS
UNSOLVED MQTT Adapter erstellt einfach Datenpunkte
-
@mickym Das ganze läuft als Server.
-
@mapix Maske zum Bekanntgeben eigener States, steht ein Stern. Wenn man das verändert sollte man wissen, was man macht. Mit Stern publiziert er den ganzen iobroker. Standardmäßig steht nur die eigene Instanz drin, also mqtt.0.* . Warum Zustände geschickt werden sollen, gerade wenn man das als Broker betreibt erschließt sich mir ebenfalls nicht. Gerade als Broker sollte man in meinen Augen alle Haken weg machen. Mich wundert ehrlich, warum das Teil überhaupt läuft - für mich sieht das wie eine ewige Endlosschleife aus.
Wenn man den Adapter als Broker betreibt, sollten einzig und alleine die Clients, also die Subscriber festlegen, was gepublished wird.
Am Besten Du löschst die gesamte Instanz und erstellst sie nochmal neu, und belässt alle Standardeinstellungen des Adapters- außer ggf. Verbindungseinstellungen. -
@mickym Ich bin mir nicht bewusst, jemals was an den Einstellungen geändert zu haben. Habe jetzt den gesamten Adapter gelöscht und neu installiert. Hat aber leider keine Änderung gebracht. sobald die Instanz dann gestartet wird, wird wieder alles überschrieben. Die Einstellungen sind jetzt Standard und sehen so aus:
[Edit]
Ich verstehe halt vor allem nicht, wieso mqtt direkt meine Influx Daten überschreiben kann.
um01.00 wird das System neu gestartet, die mqtt Instanz scheint dann immer um 01.02 gestartet zu sein und ändert die daten. Weis aber weder warum noch woher diese daten kommen. um 04.00 wird dann durch ein Blockly script die Daten wieder berichtigt.
-
@mapix in meinen Augen sollte das mit dem mqtt.0.* schon mal helfen, dass er nicht in andere Adapter schreibt. Ich würde halt noch alle Haken weg machen und den Job neu starten. Falls der dann immer noch in anderen Instanzen rumschreist, musst halt ein Issue aufmachen. Ich betreibe diesen Adapter nur noch als Client und habe mosquitto laufen, weil der Broker bei mir auch Zicken, aber andere gemacht hat. Das wäre dann die nächste Option, wenn das mit den Haken rausnehmen und Neustart nichts hilft.
Vielleicht sind die Einträge bei Deiner influx dB aber historische Einträge. Du hast es ja erst jetzt wieder korrekt eingestellt.. würde ich mal abwarten. Und wie gesagt, das liegt daran, dass du mit dem * gesagt hast, dass das alle States dem mqtt Adapter gehören, da brauchst Dich also nicht wundern.
Also warte erst mal ab, ob noch Einträge vom mqtt-Adapter in deiner influx Instanz auftauchen. Die geposteten sind ja meines Erachtens alt.
-
@mickym Hab jetzt das ganze so gemacht wie du vorgeschlagen hast und jetzt paar tage beobachtet. Wenn alle Haken weg sind, wird zwar nichts überschrieben, aber alles andere funktioniert dann auch nicht mehr weil keine daten mehr verschickt werden. Mit Haken ist alles wie vorher.
Werde wohl das komplette System löschen und alles neu aufsetzen wenn ich keine Lösung finde.
Danke für deine Hilfe @mickym
-
Lass mal nur den Hacken „bei verbinden“ raus. Wenn du um 0100 ein reboot machst, wird die Instanz neu gestartet und eine neue Verbindung aufgebaut. Dadurch schreibt er vermutlich dann auch. Warum er überhaupt in die Datenbank schreibt?? Kann ich auch nicht sagen.
-
@mapix Das Hauptproblem war der Stern bei den eigenen States, anstelle von mqtt.0.*. Die Haken können normalerweise raus. Ich weiss nicht, ob Du weisst wie ein mqtt-Broker funktioniert. Er sendet in der Regel GAR NICHTS, sondern sammelt nur Daten, die von Clients gepublished werden. Lediglich wenn ein Client ein topic subscribed und sich NEUE Informationen zu diesem Topic vorhanden sind, sendet der MQTT-Broker diese Informationen an NUR DEN CLIENT der dieses TOPIC subscribed hat.
Von mir aus machst Du die Haken wieder rein, wie gesagt das Hauptproblem war der * bei den eigenen States.
-
servus in die Runde...
ich habe nach dem Winterschlaf meinen Robo wieder erweckt (Mährobi) und via MQTT hat dieser immer sein Garagentor geöffnet / geschlossen.
Über die Wintermonate hatte ich meinen iobroker sowie die Adapter aktualisiert.
Ende vom Lied...Tor funktionierte nicht mehr.
Nun ist mir aufgefallen, dass der Robi den MQTT Datensatz nicht in das entsprechende Homematic Objekt "publiziert" hat, sondern einen eigenen Datenpunkt erstellt hat, welcher die Struktur des Homematic Datenpunktes hat, jedoch unter MQTT direkt und nicht unter hm-rpc.
Hoffe das ich mich verständlich ausdrücke ^^
über Blockly kann ich es zwar wieder beheben, so dass der eigene Status via Script den Status im hm-rpc ändert,
aber ich würde gern verstehen, woran das liegt.Vielen Dank!
-
kann da keiner eine aussage treffen oder mir das ganze erklären?
-
Ich kann zu Deinen Geräten nichts sagen, aber das ein Gerät das mqtt spricht auch mit dem mqtt Adapter kommuniziert und nicht mit dem Homematic ist normal. Es gibt Adapter, die mqtt Broker emulieren (Shelly, Sonoff) - aber ansonsten DARF keine mqtt Kommunikation in einem anderen Adapter auftauchen (ausser er emuliert einen über einen eigenen Port).