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.
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.
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).
Die Verkabelung und Verwendung der einzelnen Komponenten wird unter folgenden Links beschrieben:
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.
Je Instanz der verschiedenen Sensoren und Aktoren werden die zu sendenden Befehle bzw. die zu empfangenen Events beschrieben.
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 a 100ms (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 a 100ms 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 |
|
Rollo (Aktor)
| Telegram Rollo starten: | \xFD 12345.SHT.17.START.P1 \xFE |
|
| Funktionstyp: | SHT |
| Instanz-ID: | hier 17 (in XML nachschauen) |
| Aktion: | START |
| P1: | Richtung 0 = TOGGLE (entgegen der letzten Richtung), 1 = TO_CLOSE (schließen), 2 = TO_OPEN (öffnen) |
|
|
| Telegram Rollo stoppen: | \xFD 12345.SHT.17.STOP \xFE |
|
| Funktionstyp: | SHT |
| Instanz-ID: | hier 17 (in XML nachschauen) |
| Aktion: | STOP |
|
|
| Telegram Position anfahren: | \xFD 12345.SHT.17.TO_POS.P1 \xFE |
|
| Funktionstyp: | SHT |
| Instanz-ID: | hier 17 (in XML nachschauen) |
| Aktion: | TO_POS |
| P1: | Zielposition 0-100%, 0 = komplett geöffnet, 100 = komplett geschlossen |
|
|
| Telegram Statusabfrage: | \xFD 12345.SHT.17.gSTATUS \xFE |
|
| Funktionstyp: | SHT |
| Instanz-ID: | hier 17 (in XML nachschauen) |
| Aktion: | gSTATUS |
| Antwort: | \xFD 12345.SHT.17.rSTATUS.P1 \xFE |
|
| P1: | Aktuelle Position 0-100%, 0 = komplett geöffnet, 100 = komplett geschlossen |
|
|
Achtung: Es wird empfohlen, die Konfiguration nicht per RS485, sondern mit dem Haus-Bus Tool zu verändern.
Falls dies dennoch benötigt wird, bitte unbedingt darauf achten, dass die OPTIONS nicht verändert werden und entsprechend beim Setzen einer neuen Konfiguration der Wert aus einem vorherigen gCONFIG zu übergeben.
|
| Telegram Konfiguration abfragen: | \xFD 12345.SHT.17.gCONFIG \xFE |
|
| Funktionstyp: | SHT |
| Instanz-ID: | hier 17 (in XML nachschauen) |
| Aktion: | gCONFIG |
|
| Antwort: | \xFD 12345.SHT.17.rCONFIG.P1.P2.P3 \xFE |
|
| P1: | closeTime (Schließdauer in Sekunden) |
| P2: | openTime (Öffnendauer in Sekunden) |
| P3: | options (INTERN. Nicht verändern!) |
|
|
|
| Telegram Konfiguration setzen: | \xFD 12345.SHT.17.SET_CFG.P1.P2.P3 \xFE |
|
| Funktionstyp: | SHT |
| Instanz-ID: | hier 17 (in XML nachschauen) |
| Aktion: | SET_CFG |
|
| P1: | closeTime (Schließdauer in Sekunden) |
| P2: | openTime (Öffnendauer in Sekunden) |
| P3: | options (INTERN. Nicht verändern!) |
|
|
PV Leistungsregler (Aktor)
| Telegram anschalten: | \xFD 12345.OUT.49.ON_DUTY.P1.P2 \xFE |
|
| Funktionstyp: | OUT |
| Instanz-ID: | hier 49 (in XML nachschauen) |
| Aktion: | ON |
| P1: | gewünschte Leistung in Prozent 0-100 |
| P2: | Einschaltdauer in Sekunden (0 = daueran) |
|
|
| Telegram ausschalten: | \xFD 12345.OUT.49.OFF.P1 \xFE |
|
| Aktion: | OFF |
| P1: | Ausschaltverzögerung in Sekunden (0 = ohne Verzögerung) |
|
|
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 |
|
×
|