[Modul] MQTTSync

Mein Fehler.
Habe es übersehen das man noch einen Namen vergeben muss.
„MQTT Topic“

Vielleicht als Optimierung. Bei leeren Feld eine MessageBox.

1 „Gefällt mir“

Schaue ich mir an.

Grüße,
Kai

@orion, ich habe deinen Thread mal mit dem Modul Thread zusammengeführt.

Grüße,
Kai

@KaiS Ich musste eben einen MQTTSync zwischen zwei IPS-Systemen neu anlegen. Hierbei habe ich auf dem Quellsystem Dein MQTT-Modul (Server) erstellt. Im Zielsystem wird scheinbar der Symcon eigene MQTT-Client genommen. Ist das so richtig?

Die Daten fließen vom Server zum Client. Nur zurück bekomme ich nicht hin. An was könnte das liegen?

Tom

Du musst den MQTT Server von Symcon nehmen und den Client.
Kannst du evtl. mal deine Konfiguration posten?

Grüße,
Kai

Hallo Kai,
vielleicht verstehe ich das System und die Herangehensweise einfach nicht, trotz Lesen der Anleitungen und vieler Versuche. Ich kann auf einer Seite einfach keine Variablen abonnieren, die ich dann auf der anderen Seite erstelle und dann synchronisieren kann.

Was habe ich gemacht…

System A / hier liegen die Variablen die ich in das System B bekommen möchte und zwischen beiden System aktuell halten möchte:

  • auf System A habe ich den Symcon MQTT Client Configurator hinzugefügt / den dazugehörigen MQTTClient und den Client Socket konfiguriert (der Socket hat die IP und den Port vom MQTTServer vom System B)
  • auf System B habe ich den Symcon MQTT Server Configurator hinzugefügt und den dazugehörigen Splitter und Server Socket konfiguriert

Die beiden System reden auch miteinander. Doch wie bekomme ich jetzt die Variablen von System A in das MQTT-System. Ich bin der Meinung, ich konnte diese früher mal einfach im Konfigurator hinzufügen, das finde ich einfach nicht mehr…

Wen ich im System A eine Instanz als MQTT Client Device hinzufüge, dann wir mir dieses Device im MQTT Client Configurator auf System A und dann auch im MQTT Server Configurator auf System B angezeigt. Ich kann dann auf System B eine entsprechende Instanz dafür erstellen und die darunterliegenden Variablen werden auch synchronisiert.

Nur möchte ich (wenn möglich) eben nicht auf System A für alle Variablen die mit dem System B verbunden werden sollen, jeweils noch ein extra MQTT Device erstellen.

Was mache ich da falsch oder verstehe ich nicht?

Tom

Du machst es dir zu schwer… das Sync-Modul übernimmt die gesamte Konfig (außer du hast in deinen Erklärungen immer nur die Bezeichnung Sync weg gelassen :slight_smile: )

Also die Seite wo die Variablen JETZT schon da sind:

  • Modul installieren
  • MQTT Sync Server Instanz anlegen → hier wird gleich ein MQTT Server angelegt, du kannst aber über Gateway ändern auch einen vorhandenen mqtt-Server verwenden
  • über „hinzufügen“-Button Geräte oder Variablen auswählen
  • beim nächsten Part mache ich das manchmal nach „Verdacht“
    • Daten synchronsieren drücken + in den Expert Aktionen alle 3 Buttons drücken

auf der Empfänger Seite

  • Modul installieren
  • MQTT Sync Client Configurator installieren als Instanz
  • da drin über GAteway den mqtt-Server auswählen
  • aktualisieren drücken (ruhig auch 2x) und es werden die Geräte und Variablen aufgelistet
  • die auswählen die du haben willst und Erstellen drücken… fertig

So hatte ich es ja auch verstanden. Jedoch nach meinen Versuchen mit dem Modul bekomme ich den Sync nicht hin. Heißt (bei der Konstellation wie von Dir beschrieben), wenn ich dann auf B eine Änderung mache. Kommt da nicht auf A an.

Dazu hatte ich oben gefragt und @KaiS meinte, ich solle den den MQTT Server von Symcon. Mit dem ich mich dann versucht habe. Jedoch ohne Erfolg wie unter oben dann auch beschrieben.

Geht bei Dir diese Modul (von Kai) und Du kannst die Werte auch in beiden Richtungen abgleichen?

Tom

ich hab es aktuell nicht mehr im Betrieb, vor ein paar Wochen hatte ich es aber am Start und da ging es problemlos

Danke! Dann mach ich das nochmal gaaaanzzz in Ruhe und Schritt für Schritt von vorn…

Tom

Ich kann dir anbieten, es mir einfach mal per Fernwartung anzuschauen.

Grüße,
Kai

Das wäre große Klasse!!

Tom

Hallo, und vielen Dank für dieses Modul, es hat sofort funktioniert auch synchron auf beiden Systemen.
Ich schaue nur öfters bei den Statusprotokoll nach und da tauchten jetzt folgende Fehlermeldung auf.

08.12.2022, 10:45:41 | KernelMT | InstanzManager: Fehler bei Instanz #42815, Meldung VM_UPDATE:
Notice: Undefined variable: ObjectID in C:\ProgramData\Symcon\modules.store\info.schnittcher.info.ips.mqttsync\MQTTSyncServer\module.php on line 111

Und zwar jedes Mal wenn ich den Schalter dann betätige.
Das war jetzt zum testen ein Homematic Lichtschalter, habe zum testen dann noch ein Shelly hinzugefügt und dann häufen sich diese Fehler Meldungen, also jedes Mal wenn wohl Änderungen sind und die Daten abgeglichen werden.
Und jetzt wird es noch besser noch ein weiteres Gerät hinzugefügt ein Plugwise Modul und die Daten abgeglichen.
Am Anfang war in MQTT Sync Client Configurator auch alles Ok, drei verschieden Remote ObjektID und auch drei verschieden InstanzID zum anlegen,welche ich alle drei angelegt habe.
Darauf hin schaute ich mir die angelegten Objekte an und siehe da stimmt was nicht, Ordner 3 x vorhanden ok, Namen auch ok, aber in allen Ordner alles komplett zusammen von allen Objekten, und das dann 3x in allen Ordner, hoffe bin verständlich.
Und dann wieder auf MQTT Sync Client Configurator geschaut und siehe da nun haben alle InstanzID die gleiche InstanzID, was kurz vorher nicht gewesen ist.
Habe jetzt gerade alles gelöscht und nochmals gemacht, leider wieder das gleiche.
Verwende beides auf 2.Windows Rechner mit zwei aktuellsten Versionen.




@Zorro2019 kannst du mal die aktuelle Beta Version testen, ist der Fehler damit weg?

Grüße,
Kai

Hallo und vielen Dank für die Antwort.
Ich habe gerade beide Module auf Server und Client deinstalliert, und beide Dienste dann extra noch neu gestartet.
Dann auf Beta gewechselt und auf beiden Systeme MQTTSync installiert.
Server eingerichtet, Client eingerichtet noch alles o.k.
Dann nur mal wieder den HM Lichtschalter im Server ausgewählt und Daten synchronisiert und tauchen im Client sofort auf, dort angelegt und 1x Licht geschaltet, soweit funktioniert alles bestens. Nachgeschaut im Statusprotokoll, leider wie vorher.

09.12.2022, 14:35:53 | KernelMT | InstanzManager: Fehler bei Instanz #20638, Meldung VM_UPDATE:
Notice: Undefined variable: ObjectID in C:\ProgramData\Symcon\modules.store\info.schnittcher.info.ips.mqttsync\MQTTSyncServer\module.php on line 111

bei jedem Schaltvorgang dann.

Dann wieder zweites Gerät den Shelly hinzugenommen, Daten synchronisiert zum Client, keine InstanzID da, aktualisiert und sofort beide mit gleicher Nummer da, damit bietet es dann auch keine Erstellen an.
Dann im Objektbaum es gelöscht, und siehe da 2x InstanzID mit keine da.
Jetzt kann ich ja beide anlegen lassen, also alle erstellen gedrückt 2 verschiedene InstanzID da.
Jetzt erst im Objektbaum geschaut 2 neue Instanzen angelegt, aufgeklappt…Mist wieder alles
zum enthalten von beiden angelegten wie vorher.
Nun noch MQTT Sync Client Configurator welcher noch 2 verschiedene InstanzID anzeigte auf
aktualisieren geklickt und siehe wieder 2 gleiche InstanzID`s.
Also hat sich leider nichts geändert, alles genau wie vorher.
Habe gestern schon einiges probiert gehabt, aber bisher ohne Erfolg.

Hatte noch weiter getestet, und die Sache mal rum gedreht und den Client zum Server gemacht und Server dann Client.
Beides auf beiden Versionen vorher gelöscht und dann rum gedreht wieder aufgesetzt.
Auf Client jetzt Server zwei Geräte angelegt und dann wie vorher erst MQTT Sync auf normale Version installiert, alles wie oben.
Dann beide unter MQTT Sync auf Beta gestellt und wieder getestet, aber leider immer mit gleichem Ergebnis wie oben.
Schade, was könnte ich sonst noch probieren ?.

Weiter getestet und 1x mit einem neu aufgesetztem Raspberry versucht.
Auch beides in beiden Richtungen und auch normal und dann Beta, nix genau wie oben halt.
:sleepy:

Ich denke ich muss da was fixen. Ich schaue mir das noch an. Aber ich hab aktuell viel auf meinem Bau zu tun.

Grüße,
Kai