PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TCP / KNX Kommunikation



Bbros
26.10.15, 23:00
Hallo zusammen!

Ich wollte mal euren Rat einholen und hoffe, dass danach Klarheit herrscht und ich mit meinem Kunden weiter arbeiten kann bzw. ihm eine vernünftige Lösung anbieten kann.

Aufgabe :

An einer nicht Installation mit 8 Rolladen, die über via KNX gesteuert werden, sollen externe Befehle eingehen. Es wird mehrere Situationen gehen in denen die Rolladen sind. z.B. Tag, Nacht, Mittag, Abend etc. aufgefahren oder zugefahren sind. Diese Situationen werden nach meinem Verständnis als eine Art "Preset" im KNX Knoten abgelegt und können mit einem externen Protokoll via Netzwerkanbindung abgerufen werden. In Wortsprache würde das nach meinem Verständnis so aussehen

Start Kommunikation mit IP xxx.xxx.xxx.xxx Port xxx, Wähle Preset 1, Starte Preset 1, Ende Kommunikation

Das ganze muss natürlich in eine Sprache verpackt werden, die für KNX verständlich ist. Das ganze muss von einem externen Medium gesteuert werden, da zeitgleich mit diesem Befehl noch andere Dinge geschehen wie z.B. abspielen mehrerer Filme, ändern der Lichtstimmung, abspielen von Ton etc. Hierbei handelt es sich um ein Exponat. Daher der "externe" Befehl. Der externe Rechner bzw. das Tool was das "große - ganze" steuert läuft auf einer Windows Plattform und wird via Netzwerk mit der KNX verbunden.

Nun ist meine Frage :
Wie muss ein solches Protokoll bzw. der Befehl dahin aufgebaut sein, dass die KNX Steuerung meinen Befehl versteht ?
Muss ein solcher Befehl in z.B. C# oder ASCII geschrieben sein ?
Habt ihr Anmerkungen oder Empfehlungen oder vielleicht sogar Erfahrungswerte dazu ?

Ich danke euch für eure Hilfe.

Grüße
Benni

EIB-Freak
27.10.15, 07:25
Ich musste den Text 3 mal lesen, um ihn zu verstehen.

Das, was du meinst, sind z.B. Szenen.

Das System, was diese Szenen abrufen kann, können gute Tastsensoren oder Raumcontroller sein. Auf der IP-Ebene klassischer Weise Visualisierungen - da gibt es dutzende.

Wenn man mal z.B. nach Gira Homeserver sucht, wird man erschlagen.

Der Buszugriff kann über RS232 (veraltet), USB oder IP (IP-Schnittstelle, IP-Router) erfolgen.

Man kann auch unter Linux über den "eibd" bzw. "knxd" auf den Bus zugreifen und seine Eigene Software Programmieren - das ist aber nicht Professionell.

Bbros
27.10.15, 11:37
Hallo EIB Freak,

danke für die Antwort.

Mir ist nach dem jetzigen lesen auch aufgefallen das der Text eventuell mehr Verwirrung stiftet als Klarheit schafft.

Die Auskunft hilft mir schon mal weiter, danke.

Meine konkrete Frage wäre, wofür ich auch im Internet keine Antwort gefunden habe :

Wie muss so ein Befehl der via TCP/IP Befehl an die KNX Einheit gesendet wird aussehen?

Ein Beispiel :

Die IP die ich anspreche ist die 192.168.92.6
Die IP von der ich sende ist die 192.168.92.48

Gesendet habe ich die Gruppenadresse 2/0/11.
Diese empfängt nur einfache ein und aus Befehle für eine Lampe.


Wenn ich nun das Protokoll, welches über eine LAN Schnittstelle gesendet wurde auslesen, kommen dabei folgende Informationen raus.

(siehe Bild)

Wie muss der Befehl aufgebaut sein das ich z.B. 2/0/11 oder 2/0/12 etc.

Ich muss diesen Befehl in ein separates Skript schreiben, daher die Frage nach dem genauen Aufbau des Befehls.

Vielen Dank euch !

Benni

EIB-Freak
27.10.15, 12:24
Welche IP-Schnittstelle kommt denn zum Einsatz ?

Die KNX-Geräte hinter dieser IP-Schnittstelle werden ja nicht mehr über IP, sondern KNX-Adressen angesprochen.

Klaus Gütter
27.10.15, 13:18
Hallo Benni,

Das Protokoll das du suchst, heißt "KNXnet/IP". Es gibt dazu auch einen Wireshark Dissector (in der neuesten Wireshark-Version sollte der auch enthalten sein).

Es gibt dazu mehrere Sub-Protokolle. Welches du brauchst, hängt davon ab, ob du einen KNX-IP-Router oder eine KNX-IP-Schnittstelle hast. Die letztere spricht KNXnet/IP-Tunneling, die erstere KNXnet/IP-Routing (und auch Tunneling da alle mir bekannten KNX-IP-Router gleich auch noch ein oder mehrere Tunneling-Server integriert haben).

Gruß, Klaus