Leichtgewichtiges Modul zum Teilen von Variablen und Medien zwischen zwei (oder mehr) IP-Symcon Systemen über MQTT.
- Funktionsumfang
- Voraussetzungen
- Installation
- Einrichten der Instanzen in Symcon
- Statusvariablen und Darstellungen
- Visualisierung
- PHP-Befehlsreferenz
- Versionshistorie
Der Datenaustausch-Konfigurator verbindet zwei oder mehr Symcon Instanzen über einen gemeinsamen MQTT Broker, indem ausgewählte Variablen und Medienobjekte auf Topics gemappt werden. Pro Eintrag bestimmt die Richtung (publish, subscribe, publish+subscribe) ob der Wert gesendet, empfangen oder bidirektional synchronisiert wird. Ein integrierter Ping-Pong-Schutz verhindert dabei Rückkopplungsschleifen bei bidirektionalen Einträgen.
System A MQTT Broker System B
───────── ─────────── ────────
Variable "Temperatur" → symcon/share/temp/aussen → Lokale Variable "Temp_A"
Variable "Licht EG" ↔ symcon/share/licht/eg ↔ Lokale Variable "Licht_B"
Auf System A werden Variablen als Shared Variables eingetragen → das Modul published deren Werte auf MQTT.
Auf System B werden dieselben Topics als Mapped Variables auf lokale Variablen gemappt → eingehende MQTT-Nachrichten setzen die lokalen Variablen.
Das Modul entscheidet automatisch:
| Bedingung | Methode |
|---|---|
Variable hat VariableAction
|
RequestAction() – korrekte Ausführung der verknüpften Aktion (z.B. Lampe dimmen) |
| Keine Aktion verknüpft |
SetValue() – direktes Schreiben |
Warum nicht immer RequestAction?
RequestAction erfordert eine verknüpfte Instanz. Auf reinen "Datenvariablen" (z.B. berechnete Werte) gibt es keine Aktion → SetValue ist korrekt.
- Alle Topics nutzen
Retain = true→ der Empfänger bekommt den letzten Wert sofort nach Connect - Das Modul registriert Variablen dynamisch im
MessageSink– keine Kernelrestart nötig nach Konfigurationsänderung - Es erfolgt keine Prüfung der Objektkombatibilität, d.h. kein Test ob die zu synchronisierenden Variablen vom gleichen Typ sind!
- IP-Symcon ab Version 8.1
- Getestet mit verschiedenen Variablen und Bildern < 100kb
- Über den Modul Store das Modul Datenaustausch Konfigurator installieren.
- Alternativ Über das Modul-Control folgende URL hinzufügen.
https://github.com/Wilkware/ShareDataodergit://github.com/Wilkware/ShareData.git
Konfigurationsseite:
Einstellungsbereich:
🔗 Verbindung ...
| Name | Beschreibung |
|---|---|
| Topic-Präfix | Ist das grundlegende Themenpräfix, unter dem alle spezifischen Subtopics für Nachrichten in einem MQTT-System organisiert werden. Standardmäßig ist der Präfix auf 'symcon/share/' vorbelegt. |
📊 Variablen ...
| Name | Beschreibung |
|---|---|
| Variable | Symcon Variable auswählen |
| MQTT Sub-Topic | Topic ohne Präfix, z.B. temp-aussen
|
| Richtung |
Publish = nur senden, Subscribe = nur empfangen, Publish + Subscribe = bidirektional |
| Bei Aktualisierung synchronisieren | Auch nur bei Änderung von Metadaten (Timestamp, keine Werteänderung) senden |
🖼️ Medien ...
| Name | Beschreibung |
|---|---|
| Medienobjekt | Symcon Medienobjekt auswählen |
| MQTT Sub-Topic | Topic ohne Präfix, z.B. snapshot
|
| Richtung |
Publish = nur senden, Subscribe = nur empfangen, Publish + Subscribe = bidirektional |
⚙️ Erweiterte Einstellungen ...
| Name | Beschreibung |
|---|---|
| Alle Objekte beim Start publizieren? | Option, ob alle konfigurierten Objekte beim Start von Symcon publiziert werden sollen |
Aktionsbereich:
🚀 Aktion ausführen ...
| Aktion | Beschreibung |
|---|---|
| ALLE OBJEKTE JETZT PUBLIZIEREN | Löst eine Momentaufnahme(Snapshot) aus. |
Es werden keine zusätzlichen Statusvariablen/Darstellungen benötigt.
Es ist keine weitere Steuerung oder gesonderte Darstellung integriert.
Das Modul stellt keine direkten Funktionsaufrufe zur Verfügung.
v1.0.20260614
- NEU: Initialversion
Seit nunmehr über 10 Jahren fasziniert mich das Thema Haussteuerung. In den letzten Jahren betätige ich mich auch intensiv in der IP-Symcon Community und steuere dort verschiedenste Skript und Module bei. Ihr findet mich dort unter dem Namen @pitti 😉
Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.
Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International