# 1-Wire > Symcon Dokumentation · Deutsch · erzeugt am 2026-09-26 > Index: https://www.symcon.de/de/llms.txt Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ Das 1-Wire Bussystem ähnelt dem I2C. Es lassen sich auf einfache Weise verschiedene Sensoren an ein normales 3-adriges Kabel (Masse, Daten, und +5V) anschließen. Die Verbindung mit IP-Symcon erfolgt durch ein [USB-, Seriell-, LAN Gateway oder die SymBox integrierte Schnittstelle](1-wire.md) . > **Hinweis:** Folgende Geräte werden von IP-Symcon unterstützt: > > [Unterstützte Geräte](1-wire.md) > **Achtung:** Ab Version 4.0 wird, außer für DS2490/DS9490R, __kein__ TMEX Treiber mehr für den Betrieb benötigt. > **Achtung:** IP-Symcon unterstützt nicht den __parasitären__ Modus. > Eine __+5V__ Spannungsversorgung ist zwingend notwendig! ### Video-Tutorial zur Einrichtung [Video](https://www.youtube.com/embed/JbIdm5x0uxY?rel=0&cc_load_policy=1) ### Einbindung in IP-Symcon Bei Verwendung des LAN-Gateways kann dies über die [Gerätesuche](../components/management-console.md) eingebunden werden. Hierfür muss als System "OneWire Discovery" gewählt werden. Die Discovery-Instanz bietet dann die Erstellung eines OneWire [Konfigurators](../concepts.md) an. Nachdem der Konfigurator erstellt wurde, können über diesen die einzelnen Geräte mit "Erstellen" in einer Instanz erstellt werden. Die am 1-Wire-Bus angeschlossenen Bausteine versenden nicht automatisch ihre Werte – diese müssen angefragt werden. Wie oft dies geschehen soll, kann mit dem __Intervall__ in der jeweiligen Instanzkonfiguration angegeben werden. ![1-Wire: Timer](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/6ad04bb9a8-1790424938/1w-timer.png) > **Achtung:** Jede Abfrage kostet Zeit und belegt den Bus. Darum sollte der "Intervall" sparsam genutzt werden. In der Praxis ist z.B. ein Abfragezyklus von 60 Sekunden, um eine Zimmertemperatur auszulesen, mehr als ausreichend. Kleinere Werte unter einer Sekunde können aus den o.g. Gründen nicht eingestellt werden. Desweiteren sollte beachtet werden, dass je mehr Geräte an einem Adapter angeschlossen werden, die Busauslastung steigt. In unserem Musterhaus laufen 30 Geräte an einem Adapter ohne Probleme. Wir empfehlen bei größeren Installationen eine eigene Spannungsversorgung sowie mehrere Adapter einzusetzen. ### Tipps & Tricks * Der serielle Adapter hat eine andere Pinbelegung als der USB-Adapter und liefert keine +5V Busspannung. * Zur Spannungsversorgung wird ein stabilisiertes 5V-Netzteil mit Strombegrenzung empfohlen. * Für kleinere Systeme wird empfohlen ein Modular-Kabel mit RJ12 oder RJ45 Stecker zum Selbercrimpen und zur Verteilung eine 3er-Modular-Buchse zu nutzen. Das System wird dann 1:1 verkabelt (sternförmige Verkabelung). __Weitere Links:__ Wikipedia: [https://de.wikipedia.org/wiki/1-Wire](https://de.wikipedia.org/wiki/1-Wire) Hersteller: [https://www.maximintegrated.com/en/pl_list.cfm/filter/21] __COM Port eines USB Geräts auslesen unter Windows__[Video](https://www.youtube.com/embed/0w6weaMF8tg?rel=0&cc_load_policy=1) ## DS2405 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2405/ Der DS2405 ist ein 1-fach Switch (4mA) & Input (PIO) Baustein. Dieser wird nicht mehr hergestellt. Als Ersatztyp wird der [DS2413](1-wire.md) empfohlen. Der Pin kan wahlweise als “Digitaler Ausgang” oder “Digitaler Eingang” eingestellt werden. Zusätzlich kann der Status über ”Status invertieren” invertiert werden(siehe DS2413). Zu Testzwecken kann der Ausgang “AN" und “AUS” geschaltet werden. ![DS2405: Konfiguration](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/ds2405/8b38f3a88c-1790424938/ds2405-konfiguration.png) ## OW_SwitchMode Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2405/ow-switchmode/ `bool OW_SwitchMode(int $InstanzID, bool $Status)` setzt den Pin vom DS2405 auf an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Status` (bool): __TRUE__ für An, __FALSE__ für Aus **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__ für An, __FALSE__ für Aus **Beispiel** ```php OW_SwitchMode(12345, true); //Gerät einschalten ``` ## OW_ToggleMode Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2405/ow-togglemode/ `bool OW_ToggleMode(int $InstanzID)` toggelt den Pin vom DS2405 **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID des zu schaltenden Geräts **Beispiel** ```php OW_ToggleMode(12345); //Gerät togglen ``` ## DS2406 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2406/ Der DS2406 ist ein 2-fach Switch (50/8mA), Input (PIO) Baustein & 1Kb Memory Baustein. ## OW_SetPin Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2406/ow-setpin/ `bool OW_SetPin(int $InstanzID, int $Pin, bool $Status)` setzt einen Pin vom DS2406 auf an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Pin` (int): Pin des Bausteins (0..1) - `$Status` (bool): __TRUE__ für An, __FALSE__ für Aus **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__ für An, __FALSE__ für Aus **Beispiel** ```php OW_SetPin(12345, 0, true); //Gerät einschalten ``` ## DS2408 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ Der DS2408 und DS2408+ ist ein 8-fach Switch & Input (PIO) Baustein. Jeder der acht Kanäle kann als “Digitaler Ausgang” oder “Digitaler Eingang” eingestellt werden. Zusätzlich kann der Status über ”Status invertieren” invertiert werden (siehe [DS2413](1-wire.md)). Zu Testzwecken kann der Ausgang “AN" und “AUS” geschaltet werden. ![DS2408: Konfiguration](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ffe14c93a6-1790424938/ds2408-konfiguration.png) ## OW_SetPin Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ow-setpin/ `bool OW_SetPin(int $InstanzID, int $Pin, bool $Status)` setzt einen Pin vom DS2408 auf an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Pin` (int): 0-7 - `$Status` (bool): __TRUE__ für An, __FALSE__ für Aus **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__ für An, __FALSE__ für Aus **Beispiel** ```php OW_SetPin(12345, 2, true); //Pin 2 vom Gerät einschalten ``` ## OW_SetPort Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ow-setport/ `bool OW_SetPort(int $InstanzID, int $Bitmaske)` setzt den kompletten Port vom DS2408 auf Wert **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Bitmaske` (int): 0-255 (Bit0 = Pin0 … Bit7 = Pin7) **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. 0-255 (Bit0 = Pin0 … Bit7 = Pin7) **Beispiel** ```php OW_SetPort(12345, 0); //Alles ausschalten ``` ## OW_SetStrobe Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ow-setstrobe/ `bool OW_SetStrobe(int $InstanzID, bool $Status)` schaltet den Strobe vom DS2408 an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Status` (bool): __TRUE__ für An, __FALSE__ für Aus **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__ für An, __FALSE__ für Aus **Beispiel** ```php OW_SetStrobe(12345, true); //Strobe einschalten ``` ## OW_WriteBytes Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ow-writebytes/ `bool OW_WriteBytes(int $InstanzID, string $Daten)` sendet mehrere Bytes an den DS2408 **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Daten` (string): Folge von Bytes, die versendet werden sollen **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Folge von Bytes, die versendet werden sollen **Beispiel** ```php OW_WriteBytes(12345, Chr(0).Chr(1)); //Abfolge senden ``` ## OW_WriteBytesMasked Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2408/ow-writebytesmasked/ `bool OW_WriteBytesMasked(int $InstanzID, string $Daten, int $Maske)` sendet mehrere Bytes an den DS2408 unter Berücksichtigung einer Bitmaske **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Daten` (string): Folge von Bytes, die versendet werden sollen - `$Maske` (int): Bitmaske der Bit die gesetzt werden sollen **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. Bitmaske der Bit die gesetzt werden sollen **Beispiel** ```php OW_WriteBytesMasked(12345, Chr(255), Chr(1)); //Nur Bit 0 setzen ``` ## DS2413 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2413/ Der DS2413 ist ein 2-fach Switch & Input (PIO) Baustein. Seine Ausgänge können 20mA liefern. Weitere Einzelheiten können dem Datenblatt entnommen werden. > **Hinweis:** Definition des "Status Pins": > Ein logischer Low-Pegel am Ausgang wird als “Aus” / “False” gewertet (hierbei ist der interne Transistor aktiv). Wird z.B. eine LED mit gemeinsamer Anode angeschlossen, leuchtet diese bei “Status Pin == Aus”. In diesem Fall sollte “Status invertieren” aktiviert werden. ![DS2413: Konfiguration](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/ds2413/0b9784c119-1790424938/ds2413-konfiguration.png) Wird ein Pin als “Digitaler Eingang” verwendet, so ist darauf zu achten, dass der DS205 kein Latch besitzt. Es werden also keine Schaltimpulse gespeichert. > **Hinweis:** Um z.B. einen PIRI (Bewegungsmelder) auszuwerten, sollte der Timer auf zehn Sekunden eingestellt werden. Zusätzlich ist am Eingang, ein Widerstand 1M sowie ein Kondensator 10µF vorzusehen. Beide werden gemeinsam mit 0V verbunden. Ein Schaltimpuls zieht den Eingang kuzfristig auf +5V. Der Kondensator puffert solange die Spannung, bis der nächste Abfragezyklus den Pin als HI erkennt. ## OW_SetPin Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2413/ow-setpin/ `bool OW_SetPin(int $InstanzID, int $Pin, bool $Status)` setzt einen Pin vom DS2413 auf an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Pin` (int): 0-1 - `$Status` (bool): __TRUE__ für An, __FALSE__ für Aus **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__ für An, __FALSE__ für Aus **Beispiel** ```php OW_SetPin(12345, 0, true); //Pin 0 einschalten ``` ## DS2438 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2438/ Der DS2438 ist ursprünglich ein “Smart Battery Monitor”. Für den Einsatz in der Hausautomation besitzt er vier funktionale Eigenschaften: * Ein Spannungsmesser, dieser liefert die Busspannung (VDD) * Ein Thermometer – misst die Temperatur (Temperatur) * Ein AD-Wandler (VAD) – kann u.a. zur Messung der Feuchtigkeit oder Helligkeit verwendet werden * Einen Stromeingang (XSENS) - zur freien Verfügung ![DS2438: Tree](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/ds2438/757044ead0-1790424938/ds2438-tree.png) Praxisbeispiel: Feuchtigkeitsmessung Der Feuchtigkeitsfühler __HIH-4000__ von HONEYWELL besitzt eine Genauigkeit von 3,5% im Bereich von 0 to 100% RH. Wegen seines linearen Ausgangs kann er direkt mit dem DS2438 ausgelesen werden. Da dieser einen internen Temperatur-Sensor hat, kann auch eine Temperatur-Kompensation berücksichtigt werden. Beispielskript: ```php $Vad = GetValue(44045); $Vdd = GetValue(14570); $temp = GetValue(18691); $Srh = ($Vad - 0.958062) * 30.680; $Srh = $Srh / ((1.0305 + (0.000044 * $temp) - (0.0000011 * pow($temp,2)))); echo "Feuchte: $Srh %rh Temp.Comp.\n"; SetValue(49935 /*[Feuchte %rh]*/, $Srh); ``` ## DS2450 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2450/ Der DS2450 ist ein A/D-Wandler-Baustein mit einer Auflösung von bis zu 16-Bit. Zusätzlich können die vier Kanäle auch als Ausgang (4mA) verwendet werden. Weitere Einzelheiten können dem Datenblatt entnommen werden. ### Konfiguration Jeder der vier Kanäle kann als “Digitaler Ausgang” oder “Analoger Eingang” eingestellt werden. Zusätzlich sind zwei Spannungsbereiche wählbar: 2,55V sowie 5,1V. Desweiteren ist die Auflösung zwischen 1-Bit und 16-Bit frei einstellbar: ![DS2450: Konfiguration](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/ds2450/18eaf9574e-1790424938/ds2450-konfiguration.png) ## OW_SetPin Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2450/ow-setpin/ `bool OW_SetPin(int $InstanzID, int $Pin, bool $Status)` setzt einen Pin vom DS2450 auf an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Pin` (int): 0-3 (A-D) - `$Status` (bool): __TRUE__ für An, __FALSE__ für Aus **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. __TRUE__ für An, __FALSE__ für Aus **Beispiel** ```php OW_SetPin(12345, 2, true); //Pin C vom Gerät einschalten ``` ## DS2890 Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2890/ Der DS2890 ist ein Digital-Potentiometer mit 8-Bit-Auflösung. Dieser wird nicht mehr hergestellt. Einen Ersatztyp gibt es nicht. ![DS2890: Konfiguration](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/1-wire/ds2890/6e51cfe06f-1790424938/ds2890-konfiguration.png) Um auf dem 1-Wire-Center 0 bis 10V auszugeben, sollte “CHARGE PUMP CONSIDERATIONS” verwendet werden. Hierzu muss “Benutze CPC” aktiviert werden. Für einen Test kann der Schieberegler verändert werden und “SETZEN” gedrückt werden. ## OW_SetPosition Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ds2890/ow-setposition/ `bool OW_SetPosition(int $InstanzID, int $Wert)` setzt die Position vom DS2490 auf an/aus **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts - `$Wert` (int): 0-255 **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. 0-255 **Beispiel** ```php OW_SetPosition(12345, 123); //Gerät auf den Wert 123 setzen ``` ## Geräteliste Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/geraeteliste/ ### Unterstützte Gateways | Gateway | Beschreibung | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | | Symcon 1-Wire LAN Gateway
[Produktinformation](https://www.symcon.de/assets/files/product/1-wire-lan-gateway.pdf) | [Jetzt bestellen](https://www.symcon.de/de/shop/gateways/lan-1-wire/) | IP Gateway | | DS2480B | serielles Interface | | DS2490 (Nur Windows) | USB-Adapter | | DS9097U | serielles Interface | | DS9490R (Nur Windows) | USB-Adapter | | Link45 | serielles Interface | | LinkUSB | USB-Adapter | ### Unterstützte Komponenten | Produkt | Beschreibung | | --------------------------------------------- | ----------------------------------------------------------- | | DS1820 | Thermometer -55°C bis +125°C, 0.5 genau bei -10°C bis +85°C | | DS18B20 | Thermometer -55°C bis +125°C, 0.5 genau bei -10°C bis +85°C | | DS18S20 | Thermometer -55°C bis +125°C, 0.5 genau bei -10°C bis +85°C | | DS1920 | Thermometer -55°C bis +100°C, 0.5 | | [DS2405](1-wire.md) | 1-fach: Switch & Input (PIO) | | [DS2406](1-wire.md) | 2-fach: Switch & Input (PIO) | | DS2407 | 2-fach: Switch & Input (PIO) | | [DS2408](1-wire.md) | 8-fach: Switch & Input (PIO) | | [DS2408+](1-wire.md) | 8-fach: Switch & Input (PIO) | | [DS2413](1-wire.md) | 2-fach: Switch & Input (PIO) | | DS2423P | 4KB Zähler | | [DS2438](1-wire.md) | Strom- und Spannungsmessung | | [DS2450](1-wire.md) | A/D-Wandler | | [DS2890](1-wire.md) | Digital Potentiometer | ## OW_RequestStatus Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/geraete/1-wire/ow-requeststatus/ `bool OW_RequestStatus(int $InstanzID)` sende eine Leseanfragen an das OneWire Gerät **Parameter** - `$InstanzID` (int): ID des zu schaltenden Geräts **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. ID des zu schaltenden Geräts **Beispiel** ```php OW_RequestStatus(12345); //Gerät auslesen ```