21. Februar 2016

Hydra – KNX®-Communication Engine

Hydra kann aber auch als Standalone Lösung für jedes Produkt genutzt werden, das via IP das KNX® Tunnel-Protokoll nutzt.
Seit der Version 0.8 unterstützt Hydra die Einbindung von 1-Wire® Geräten, indem die Geräte, einstellbar über eine Konfigurationsdatei, auf Gruppenadressen gemapped werden. Damit wird Hydra zum kostengünstigen 1-Wire®-Gateway!
Unterstützt werden aktuell Temperatur- und Feuchtigkeitssensoren, sowie Ein- und Ausgänge

Mehrere Clients können gleichzeitig über Hydra mit einem KNX®-IP-Interface kommunizieren ohne dass ein spezieller und teurer KNX®-Router benötigt wird. Es muss nur eine Hydra-Instanz auf einem Windows- oder Linux-Server gestartet werden. Die Clients verbinden sich mit Hydra, Hydra verbindet sich mit dem KNX®-IP-Interface.

Hydra Übersicht

Wie funktioniert Hydra ?

Hydra verbindet sich mit dem KNX®-IP-Interface als normaler Client, der das KNX®-Protokoll „spricht“.
Nachdem eine positive Connection Response empfangen wurde, sendet Hydra „Heartbeats“ (Connection State Requests / Responses) zum Interface.
Danach öffnet Hydra einen Listener-Channel, damit sich Clients verbinden können.
Wenn ein Client ein Connection Request schickt, antwortet Hydra mit einer Connection Response und speichert sämtliche wichtige Client-Parameter ab (Channel-ID, IP-Adresse, Sequenznummer, Control- und Data-Port, etc.) und startet connection state requests zum Client.
Das KNX®-Tunnel-Protokoll nutzt verschiedene Handshake-Mechanismen, um Daten korrekt und vollständig bidirektional zu übertragen. Die Schwierigkeit besteht darin, dass jeder Client die zu ihm gehörenden Datenpakete bekommt und nicht Client Nr. 1 eine Response auf eine Anfrage von Client Nr. 2 bekommt. Hydra löst dieses Problem, indem zu jedem Zeitpunkt die aktuellen Parameter und Zustände gespeichert werden. Zum Beispiel wenn Hydra ein Tunnel Request Acknowledge vom Interface mit der Sequenznummer 23 bekommt, schaut Hydra in einem Dictionary nach, welcher Client auf ein solche Acknowledge mit dieser Sequenznummer wartet.
Asynchrone Antworten, z.B. Responses auf Group Reads werden an den Client weitergeleitet, der genau auf eine Response von dieser Gruppenadresse wartet.
Optional können Group Writes von der KNX®-Installation als Indications an alle Clients verteilt werden.

Einschränkungen
  • Nur das Tunnel-Protokoll wird unterstützt, keine Device Configuration des IP-Interfaces, keine USB- oder serielle Adapter
  • Nur dreidimensionale Gruppenaddressen werden unterstützt