Haus-Bus.de Komponenten per SPS ansteuern
Diese Seite beschreibt, wie die Haus-Bus.de Komponenten mit einer SPS per RS485 Schnittstelle angesteuert werden können. Natürlich können die Taster auch einfach mittels Standardelektronik activeHigh an den Eingängen einer SPS verwendet werden, aber der volle Funktionumfang und Komfort ergibt sich erst durch die Ansteuerung per RS485 4-draht Bus (BUS A, BUS B, VCC, GND).
Eine Hardwarebeschreibung aller Komponenten findet man Hier auf der Loxone Seite
|  |
Module und XML Beschreibung
Die RS485 Schnittstelle unserer Komponenten wird in einfach lesbaren XML Dateien beschrieben, die mit einem einfachen Texteditor geöffnet werden können. Die Schnittstelle ist identisch zur Integration in den Loxone Miniserver. Der folgende Link führt zu unserem Templategenerator, wo das gewünschte Haus-Bus Modul ausgewählt und die Geräte ID einzugeben ist, die sich auf einem Aufkleber am Gerät befindet. Für Testzwecke kann eine beliebige ID wie z.b. 12345 eingegeben werden.
Anschließend kann die generierte XML Datei runtergelanden und für die eigene Programmierung analysiert werden.
Link zum Templategenerator
Kommandos und Events
Die XML Dateien der verschiedenen Module sind grundsätzlich immer gleich aufgebaut. Die RS485 Verbindungdaten lauten: 57600 Baudrate, 8 Databits, 1 Stopbits, Parity Even. Falls die Steuerung die automatisch Auswertung eines Endezeiches unterstützt, so kann 0xFE verwendet werden.
Des Weiteren beinhaltet die XML je Instanz der verschiedenen Aktoren und Sensoren die zu sendenden Befehle an Aktoren bzw. die zu empfangenen Events bei Sensoren. Alle Telegramme sind ASCII kodiert und sind umgeben mit dem binären Startzeichen 0xFD und dem binären Endezeichen 0xFE.
Grundaufbauer aller im Folgenden beschriebenen Telegramme:
Startzeichen immer 0xFD.
Punkte dienen als Trennzeichen der verschiedenen Elemente
Endezeichen immer 0xFE.
Element 1 ist die Geräte-ID, die entsprechend der verwendeten Module angepasst werden muss (hier beispielhaft jeweils 12345)
Element 2 ist ein Schlüsselwort für den jeweiligen Funktionstyp (z.b. BTN, LED, DIM, usw)
Element 3 ist die InstanzID gemäß XML Templates (also welche Taster oder welcher Dimmer konkret gemeint ist)
Element 4 zeigt die jeweilige Aktion zum Funktionstypen (z.b. ON, OFF, STATUS)
Anschließend kommen optional diverse Parameter, die mit P1,P2,...P3 bezeichnet werden
Im Folgenden wird nur noch auf die speziellen Telegramdaten eingegangen:
Taster oder digitaler Eingang (Sensor)
Telegram Event: | \xFD 12345.BTN.17.STATUS.P1 \xFE |
|
Funktionstyp: | BTN (kurz für Button) |
Instanz-ID: | hier 17 (in XML nachschauen) |
Aktion: | STATUS |
P1: | 1, wenn Taste gedrückt bzw. Eingang aktiv 0, wenn Taste losgelassen bzw. Eingang inaktiv |
|
|
Telegram Statusabfrage: | \xFD 12345.BTN.17.gSTATUS \xFE |
Antwort: | \xFD 12345.BTN.17.rSTATUS.P1 \xFE |
|
P1: | 1, wenn Taste gedrückt bzw. Eingang aktiv 0, wenn Taste losgelassen bzw. Eingang inaktiv |
|
Led (Aktor)
Telegram Helligkeit setzen: | \xFD 12345.LED.50.ON.P1.P2.P3 \xFE |
|
Funktionstyp: | LED |
Instanz-ID: | hier 50 (in XML nachschauen) |
Aktion: | ON |
P1: | gewünschte Helligkeit 0-100 |
P2: | Einschaltdauer in 100stel Sekunden (0 = daueran) |
P3: | Einschaltverzögerung in Sekunden (0 = ohne Verzögerung) |
|
|
Telegram Mindesthelligkeit: | \xFD 12345.LED.50.SET_MBR.P1 \xFE |
|
Aktion: | SET_MBR (Setzt eine Mindesthelligkeit, die auch dann erhalten bleibt, wenn man per OFF ausschaltet, damit eine Hintergrundbeleuchtung parallel zu Statusanzeigen realisiert werden kann) |
P1: | gewünschte Helligkeit 0-100 |
|
|
Telegram Statusabfrage: | \xFD 12345.LED.50.gSTATUS \xFE |
Antwort: | \xFD 12345.LED.50.rSTATUS.P1.P2 \xFE |
|
P1: | aktuelle Helligkeit 0-100 |
P2: | Einschaltdauer in 100stel Sekunden |
|
Hintergrundbeleuchtung (Aktor)
Telegram Mindesthelligkeit: | \xFD 12345.LBN.16.SET_MBR.P1 \xFE |
|
Aktion: | SET_MBR (Setzt eine Mindesthelligkeit gleißzeitig auf allen LEDs, die auch dann erhalten bleibt, wenn man die einzelnen LEDs per OFF ausschaltet, damit eine Hintergrundbeleuchtung parallel zu Statusanzeigen realisiert werden kann) |
P1: | gewünschte Helligkeit 0-100 |
|
|
Telegram Statusabfrage: | \xFD 12345.LBN.16.gSTATUS \xFE |
Antwort: | \xFD 12345.LBN.16.rSTATUS.P1 \xFE |
|
P1: | aktuelle Helligkeit 0-100 |
|
Temperatursensor (Sensor)
Telegram Event: | \xFD 12345.TMP.1.STATUS.P1.P2 \xFE |
|
Funktionstyp: | TMP (kurz für Temperatur) |
Instanz-ID: | hier 1 (in XML nachschauen) |
Aktion: | STATUS |
P1: | Temperatur in Grad Vorkommastellen |
P2: | Temperatur in Grad Nachkommastellen |
|
|
Telegram Statusabfrage: | \xFD 12345.TMP.1.gSTATUS \xFE |
Antwort: | \xFD 12345.TMP.1.rSTATUS.P1.P2 \xFE |
|
P1: | Temperatur in Grad Vorkommastellen |
P2: | Temperatur in Grad Nachkommastellen |
|
Feuchtesensor (Sensor)
Telegram Event: | \xFD 12345.RHD.1.STATUS.P1.P2 \xFE |
|
Funktionstyp: | RHD (kurz für Relative Humidity) |
Instanz-ID: | hier 1 (in XML nachschauen) |
Aktion: | STATUS |
P1: | Relative Luftfeuchtigkeit 0-100 Vorkommastellen |
P2: | Relative Luftfeuchtigkeit 0-100 Nachkommastellen |
|
|
Telegram Statusabfrage: | \xFD 12345.RHD.1.gSTATUS \xFE |
Antwort: | \xFD 12345.RHD.1.rSTATUS.P1 \xFE |
|
P1: | Relative Luftfeuchtigkeit 0-100 Vorkommastellen |
P2: | Relative Luftfeuchtigkeit 0-100 Nachkommastellen |
|
Helligkeitssensor (Sensor)
Telegram Event: | \xFD 12345.BRS.23.STATUS.P1.P2 \xFE |
|
Funktionstyp: | BRS (kurz für Brightness Sensor) |
Instanz-ID: | hier 23 (in XML nachschauen) |
Aktion: | STATUS |
P1: | Relative Helligkeit 0-255 Vorkommastellen |
P2: | Relative Helligkeit 0-255 Nachkommastellen |
|
|
Telegram Statusabfrage: | \xFD 12345.BRS.23.gSTATUS \xFE |
Antwort: | \xFD 12345.BRS.23.rSTATUS.P1 \xFE |
|
P1: | Relative Helligkeit 0-255 Vorkommastellen |
P2: | Relative Helligkeit 0-255 Nachkommastellen |
|
Dimmer (Aktor)
Telegram Helligkeit setzen: | \xFD 12345.DIM.1.ON.P1.P2 \xFE |
|
Funktionstyp: | DIM (kurz für Dimmer) |
Instanz-ID: | hier 1 (in XML nachschauen) |
Aktion: | ON |
P1: | gewünschte Helligkeit 0-100 |
P2: | Einschaltdauer in Sekunden (0 = daueran) |
|
|
Telegram Statusabfrage: | \xFD 12345.DIM.1.gSTATUS \xFE |
Antwort: | \xFD 12345.DIM.1.rSTATUS.P1.P2 \xFE |
|
P1: | aktuelle Helligkeit 0-100 |
P2: | Einschaltdauer in Sekunden |
|
RGB Dimmer (Aktor)
Die RGB Dimmer können entweder als Einzelkanäle mit den normalen DIM Befehlen angesteuert werden oder als RGB Kanal, an den die Helligkeiten an jeweils 3 Kanäle gleichzeitig übergeben wird:
Telegram anschalten: | \xFD 12345.RGB.1.ON.P1.P2 \xFE |
|
Funktionstyp: | RGB |
Instanz-ID: | hier 1 (in XML nachschauen) |
Aktion: | ON |
P1: | Gewünschte Farbe Tripel von 3 Prozentwerten für ROT,GRÜN,BLAU. Z.b. 100100100 bedeutet, alle 3 Farben auf 100% |
P2: | Einschaltdauer in Sekunden (0 = daueran) |
|
|
Telegram ausschalten: | \xFD 12345.RGB.1.OFF \xFE |
|
|
|
Telegram Statusabfrage: | \xFD 12345.RGB.1.gSTATUS \xFE |
Antwort: | \xFD 12345.RGB.1.rSTATUS.P1.P2 \xFE |
|
P1: | aktuelle Farbe als Tripel von 3 Prozentwerten |
P2: | Einschaltdauer in Sekunden |
|
Relais (Aktor)
Telegram anschalten: | \xFD 12345.OUT.17.ON.P1.P2 \xFE |
|
Funktionstyp: | OUT |
Instanz-ID: | hier 17 (in XML nachschauen) |
Aktion: | ON |
P1: | Einschaltdauer in Sekunden (0 = daueran) |
P2: | Einschaltverzögerung in Sekunden (0 = ohne Verzögerung) |
|
|
Telegram ausschalten: | \xFD 12345.OUT.17.OFF.P1 \xFE |
|
Aktion: | OFF |
P1: | Ausschaltverzögerung in Sekunden (0 = ohne Verzögerung) |
|
|
Telegram Statusabfrage: | \xFD 12345.OUT.17.gSTATUS \xFE |
Antwort: | \xFD 12345.OUT.17.rSTATUS.P1.P2 \xFE |
|
P1: | Zustand 1 = geschaltet, 0 = nicht geschaltet |
P2: | Einschaltdauer in Sekunden |
|
RFID Leser (Sensor)
Telegram Event: | \xFD 12345.RFD.1.TAG_ID \xFE |
|
Funktionstyp: | RFD (kurz für RFID) |
Instanz-ID: | hier 1 (in XML nachschauen) |
Aktion: | TAG_ID RFID Code des auslösenden Tags/Karte |
|
Gerätefunktionen
Telegram Reset: | \xFD 12345.SYS.1.RESET \xFE |
|
Funktionstyp: | SYS (kurz für System) |
Instanz-ID: | immer fix 1 |
Aktion: | RESET Gerät resetten |
|
|