MQTT KNX Gateway

Hallo zusammen,

MQTT in Symcon ist ja echt genial. Momentan nutze ich Zigbee2MQTT sowie die Shelly Module von KaiS. Ich hab aber auch noch KNX im Einsatz und würde gerne MQTT auf den KNX bringen.
Aktuell muss ich das mit vielen Scripten machen. Gibt es dazu ein besseres „Best practise“ ?
Ideal wäre ein Modul, welches zwei Instanzen immer Syncron hält. Ändert sich was am MQTT, dann ändert sich auch automatisch die KNX Instanz.

Wie habt ihr das gelöst?

Bin auf Anregungen gespannt.

Lg
Stephan

Da musst du mal Kai anpingen :slight_smile: Er hat ein Modul gebaut, welche Variablen zumindest in Richtung MQTT synchron hält… Mit RequestAction sollte es auch problemlos in die andere Richtung gehen.

paresy

Kannst du mir mal ein Beispiel zusammen schreiben?
Dann kann ich mal schauen, ob ich das was machen kann.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Hi,

Wäre das nicht eventuell auch was?

knx-mqtt-bridge/README.md at master · pakerfeldt/knx-mqtt-bridge · GitHub

mqtt-knx/README.md at master · krambox/mqtt-knx · GitHub

Gruß Micha.

Gesendet von iPhone mit Tapatalk

@Michi

Ja… Sowas würde funktionieren… Aber mittlerweile hab ich so ziemlich alle Funktionen auf Symcon vereint. Da hab ich bloß ein Single Point of Failure. Und Symcon unterstütz sehr viele Protokolle und Systeme.Ist daher ein ideales Gateway. Für die MQTT Bridge bräuchte ich wieder ein KNX Router, evtl… ein Mosquitto Broker. Alles viel zu umständlich. Im Notfall spiel ich das Backup von Symcon in irgendein Gerät ein und alles funktioniert.

@KaiS

Hab unten mal zwei Screenshoots angehängt. Im Prinzip sollten nur zwei Instanzen immer syncron gehalten werden. Die Hardware ist in den Fall ein Shelly, sendet per MQTT und deinem Modul auf Symcon. Dieser soll dann eine KNX Instanz (DPT01) immer aktuell halten und umgekehrt. Die KNX Instanz ist nur virtuell, hat aber den Vorteil, dass ich von jedem KNX Taster dann die MQTT Instanz schalten kann. Und umgekehrt. Drück ich den Shelly Taster ändert sich auch die KNX Instanz.
Das funktioniert jetzt schon durch einige Scripte, aber recht umständlich.
Ich träume von einem Modul in dem ich einfach beide Variablen eintrage und sie werden syncron gehalten.
Evtl. kann man das später dann auch auf Temperaturen, Roller Shutter usw. ausweiten.
Dann wäre Symcon ein ideales einfaches Gateway von MQTT auf KNX. Das würde mit Sicherheit auch mit LCN usw… funktionieren…

Hoff das war soweit verständlich…
Schöner Samstag

LG
Stephan

Das dürfte machbar sein.
Ändert sich die virtuelle Instanz, ändert sich auch das Shelly Gerät.
Ändert sich das Shelly Gerät, ändert sich auch die virtuelle Instanz?

Das sollte man mit einem Modul hinbekommen.
Ich überlege mir da mal was, vielleicht habe ich ja Lust das umzusetzen.

Grüße,
Kai

Genau so… Die Intstanz die sich dann syncron ändert muss dann den Zustand wieder aktiv senden (RequestAction).
Dann wäre Symcon ein geniales Gateway und sehr einfach zu konfigurieren…

Wäre prima !

Danke mal im Voraus…

Lg Stephan

Ich kann dir nicht versprechen wann ich dazu komme.
Genau wenn man es mit RequestAction macht, dann funktioniert es eigentlich für jedes Gerät. :slight_smile:

Aber du möchtest jede Variable einzeln angeben, oder?

Grüße,
Kai

Am einfachsten wäre wie im HomeKit Konfigurator einfach eine Liste wo ich Variable 1 und 2 eintrage.
Das Modul prüft dann die Variablen auf Veränderung und schaltet dann syncron die Instanz…
Sö wäre das absolut universell. Könnte man zum Start mit Boolean machen, später mit Werten, Temperaturen usw…

Wäre für jeden super einfach ein Gateway einzurichten. Variablen eintragen. Rest macht das Modul…

Lg Stephan

Das hat ja mit MQTT eigentlich gar nichts zu tun.
Du willst eigentlich nur wenn sich Variable A ändert auch Variable B ändern und andersrum.

Das kannst du ja jetzt mit Ereignissen abbilden.
Du willst also ein Modul haben, um es nicht mit Ereignisse abbilden zu müssen, damit die Konfiguration schneller und einfacher geht?

Grüße,
Kai

Ja, das Modul wäre universell. Würde halt jede Menge Arbeit mit Ereignisse und Scripte sparen. Das geht ja im Prinzip jetzt schon, aber mit viel Fleißarbeit. So ne Funktion wäre eigentlich schon im Core von Symcon toll. Symcon unterstützt so viele Systeme und Protokolle, aber sie lassen sich immer nur durch viel scripten zusammenführen. Das wünsche ich mir halt viel einfacher und schneller.

Lg
Stephan

Bei OpenHAB fand ich das gut gelöst: wenn der Datentyp (z.B. Switch oder Number) identisch ist, dann schreibt man in der Items-Datei einfach nur die Adresse beider Systeme rein und der Wert wird automatisch weitergeleitet. Ohne eine Zeile weiteren Code.

Beispiel Netatmo Feuchte nach KNX weiterleiten:

Number Netatmo_Humidity „Luftfeuchte [%.0f %%]“ (gNetatmo) {netatmo=„70:ee:50:02:4e:3e#02:00:00:02:72:60#Humidity“, knx=„9.007:4/1/20“}

Beispiel Yahoo Wetter nach KNX weiterleiten:

Number Temp_Morgen_Max „Morgen max [%.1f °C]“ (Aussentemp) {weather=„locationId=home, forecast=1, type=temperature, property=max“, knx=„4/0/121“}

Extrem effizient und einfach.

Ich habe mal etwas gebaut. Ich schicke dir dazu eine PN.

Grüße,
Kai

Gibt es zum Thema Universal-Gateway schon weitere Aktionen oder Bewegungen?

Ja… Schon länger… Das Universal Gateway im Modul Store von KaiS.

Läuft einwandfrei…