Hallo zusammen,
ich habe wie in anderen Threads beschrieben meinen Raspi B+ mit dem Smarthome.pi Image zum Laufen gebracht und greife damit auf eine Hausinstallation aus dem Jahr 2001 zu, die mit dem Hager-System "Tebis TS" aufgebaut ist. Dieses System wird nicht wie bei KNX üblich mit der ETS programmiert, sondern mittels eines Verknüpfungsgeräts, das in die Installation integriert ist. Das Protokoll ist proprietär für diese Baureihe, aber man kann über den eibd sehr gut auf dem Bus mithören und die Gruppenadressen identifizieren, die beim Drücken der einzelnen Schalter angesprochen werden.
Nach Konfiguration der items und Anlegen der html-Seiten kann ich im ganzen Haus das Licht über die SmartVisu steuern. Allerdings gibt es noch ein kleines Problem mit dem Status Update:
Die Tasterschnittstellen (oder das Verknüpfungsgerät?) geben dem Datensatz jeweils noch die Nummer des Eingangs mit. Nehmen wir einmal an, dass ich 4 Taster an einem Schnittstellenbaustein TS 304 betreibe und alle mit dem demselben Aktor verknüpfe, dann bekomme ich je nach gedrücktem Taster auf dem Bus die Werte 02, 12, 22 und 32 (jeweils Hex) für den Wert "Ein" sowie 00, 10, 20, 30 Hex für "Aus". Zwar kann ich über smarthome.py jeden dieser Werte ausgeben, aber sobald mehrere Taster von verschiedenen Eingängen mit demselben Aktor verknüpft sind, bekommt Smarthome.py über KNX_listen nicht mehr den richtigen Status mit, weil ich Smarthome.py nur einen definierten Wert für "Ein" mitgeben kann (aber nicht 4 verschiedene). Effekt ist, dass SmartVisu dann den falchen Status anzeigt. Das Tebis System reagiert dabei unabhängig von der Verknüpfung auf allen Aktoren gutmütig auf das Schreiben der Werte 02 und 00.
Aktuell muss ich mit dem Datentyp "num" arbeiten und verwende KNX_DPT=5. Um den Status bei KNX_listen richtig zu erfassen, bräuchte ich in Smarthome.py einen Datentyp von 4 Bit, der die kodierten Schnittstelleneingänge ignoriert, oder ich müsste gleich nach dem Einlesen die Rohdaten per AND-Funktion mit 0F Hex (0000 1111 Bin) manipulieren.
Hat jemand eine Idee, oder schon eine funktionierende Lösung, wie dies geht?
Danke und Gruß
Wolfram
P.S.: Ob ich per groupread auch Daten auslesen kann, habe ich nicht heraus gefunden. Ein Lesen auf den zum Schreiben verwendeten GAs bringt entweder gar keine Antwort, oder es werden Aktoren mit ganz anderen GAs geschaltet. Leider finde ich im Netz keinerlei Doku zu dem Protokoll von Tebis TS.
ich habe wie in anderen Threads beschrieben meinen Raspi B+ mit dem Smarthome.pi Image zum Laufen gebracht und greife damit auf eine Hausinstallation aus dem Jahr 2001 zu, die mit dem Hager-System "Tebis TS" aufgebaut ist. Dieses System wird nicht wie bei KNX üblich mit der ETS programmiert, sondern mittels eines Verknüpfungsgeräts, das in die Installation integriert ist. Das Protokoll ist proprietär für diese Baureihe, aber man kann über den eibd sehr gut auf dem Bus mithören und die Gruppenadressen identifizieren, die beim Drücken der einzelnen Schalter angesprochen werden.
Nach Konfiguration der items und Anlegen der html-Seiten kann ich im ganzen Haus das Licht über die SmartVisu steuern. Allerdings gibt es noch ein kleines Problem mit dem Status Update:
Die Tasterschnittstellen (oder das Verknüpfungsgerät?) geben dem Datensatz jeweils noch die Nummer des Eingangs mit. Nehmen wir einmal an, dass ich 4 Taster an einem Schnittstellenbaustein TS 304 betreibe und alle mit dem demselben Aktor verknüpfe, dann bekomme ich je nach gedrücktem Taster auf dem Bus die Werte 02, 12, 22 und 32 (jeweils Hex) für den Wert "Ein" sowie 00, 10, 20, 30 Hex für "Aus". Zwar kann ich über smarthome.py jeden dieser Werte ausgeben, aber sobald mehrere Taster von verschiedenen Eingängen mit demselben Aktor verknüpft sind, bekommt Smarthome.py über KNX_listen nicht mehr den richtigen Status mit, weil ich Smarthome.py nur einen definierten Wert für "Ein" mitgeben kann (aber nicht 4 verschiedene). Effekt ist, dass SmartVisu dann den falchen Status anzeigt. Das Tebis System reagiert dabei unabhängig von der Verknüpfung auf allen Aktoren gutmütig auf das Schreiben der Werte 02 und 00.
Aktuell muss ich mit dem Datentyp "num" arbeiten und verwende KNX_DPT=5. Um den Status bei KNX_listen richtig zu erfassen, bräuchte ich in Smarthome.py einen Datentyp von 4 Bit, der die kodierten Schnittstelleneingänge ignoriert, oder ich müsste gleich nach dem Einlesen die Rohdaten per AND-Funktion mit 0F Hex (0000 1111 Bin) manipulieren.
Hat jemand eine Idee, oder schon eine funktionierende Lösung, wie dies geht?
Danke und Gruß
Wolfram
P.S.: Ob ich per groupread auch Daten auslesen kann, habe ich nicht heraus gefunden. Ein Lesen auf den zum Schreiben verwendeten GAs bringt entweder gar keine Antwort, oder es werden Aktoren mit ganz anderen GAs geschaltet. Leider finde ich im Netz keinerlei Doku zu dem Protokoll von Tebis TS.
Kommentar