<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Grembold</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Grembold"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Grembold"/>
	<updated>2026-05-05T17:57:35Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=OWServer_%26_OWDevice&amp;diff=16157</id>
		<title>OWServer &amp; OWDevice</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=OWServer_%26_OWDevice&amp;diff=16157"/>
		<updated>2016-08-13T19:01:59Z</updated>

		<summary type="html">&lt;p&gt;Grembold: /* owfs Pakete installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
==Einleitung==&lt;br /&gt;
&lt;br /&gt;
Bei OWServer handelt es sich um eine 1-Wire Server Komponente und bei OWDevice um eine Geräte-Komponente, die die angeschlossenen Module definiert-&lt;br /&gt;
Die Module benötigen die Serverkomponente von [http://www.owfs.org OWFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die Module sind eine eigenständige Möglichkeit, den 1-Wire Bus anzusteuern und kommen ohne die Module aus, deren Namen aus Großbuchstaben bestehen (wie OWX, OWSWITCH, OWTHERM, etc.). &lt;br /&gt;
Umgekehrt können die Module OWSWITCH, OWTHERM, etc. auch mit dem Backendmodul OWServer zusammenarbeiten, siehe dazu die commandref der betreffenden Module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung==&lt;br /&gt;
&lt;br /&gt;
Wie oben erwähnt, setzt OWServer/OWDevice auf OWFS auf. Dazu ist eine funktionierende OWFS Installation notwendig. Die Installation ist auf der selben Plattform (Debian-based) möglich oder auch Remote (zBsp Dockstar oder RPi). Eine gute [http://owfs.org/index.php?page=standard-devices Liste der Standard Devices]auf der Homepage von OWFS einzusehen. Nicht alle Standard Devices sind in OWDevice verfügbar (siehe unten).Wenn OWFS funktioniert kann&#039;s weiter gehen...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===owfs Pakete installieren===&lt;br /&gt;
&lt;br /&gt;
1) entweder sind die Pakete bereits vorpaketiert und man muss nur das [http://owfs.davromaniak.eu/ Repository] noch in /etc/apt/sources.list eintragen&lt;br /&gt;
&lt;br /&gt;
2) oder man muss selber kompilieren ([http://www.navitron.org.uk/forum/index.php?topic=12604.msg151750#msg151750 Quelle]). Version 3.1p0 von owfs lässt sich derzeit für den Raspberry Pi mit USB-Unterstützung nur kompilieren, wenn man einiges in den Make-Files patcht, wie [https://www.mail-archive.com/owfs-developers@lists.sourceforge.net/msg11484.html hier] beschrieben.&lt;br /&gt;
&lt;br /&gt;
Eine ältere, kompilierte Version für den RaspberryPi kann hier heruntergeladen werden: [http://forum.fhem.de/index.php?action=dlattach;topic=12219.0;attach=2463 owfs_2.8p17-1_all.zip]&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sudo apt-get install automake autoconf autotools-dev gcc g++ libtool libusb-dev fuse-utils libfuse-dev swig python-dev tcl-dev php5-dev&lt;br /&gt;
sudo apt-get install git git-buildpackage dh-make quilt php5-cli&lt;br /&gt;
git clone [git://git.debian.org/collab-maint/owfs.git git://git.debian.org/collab-maint/owfs.git] git&lt;br /&gt;
git-buildpackage -uc -us&lt;br /&gt;
cd ..&lt;br /&gt;
sudo dpkg -i ./owserver_2.8p7+cvs20110310-1_i386.deb ./libow-2.8-7_2.8p7+cvs20110310-1_i386.deb ./owfs-common_2.8p7+cvs20110310-1_all.deb&lt;br /&gt;
sudo dpkg -i ./owhttpd_2.8p7+cvs20110310-1_i386.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
diese Pakete wurden alle gebaut:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;libow-2.8-7_2.8p7+cvs20110310-1_i386.deb   owfs-common_2.8p7+cvs20110310-1_all.deb&lt;br /&gt;
libowcapi-2.8-7_2.8p7+cvs20110310-1_i386.deb owfs-dbg_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libow-dev_2.8p7+cvs20110310-1_i386.deb    owfs-doc_2.8p7+cvs20110310-1_all.deb&lt;br /&gt;
libownet-2.8-7_2.8p7+cvs20110310-1_i386.deb  owfs-fuse_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libownet-dev_2.8p7+cvs20110310-1_i386.deb   owftpd_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libownet-perl_2.8p7+cvs20110310-1_all.deb   owhttpd_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libownet-php_2.8p7+cvs20110310-1_all.deb   owserver_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libow-perl_2.8p7+cvs20110310-1_i386.deb    ow-shell_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libow-php5_2.8p7+cvs20110310-1_i386.deb    python-ow_2.8p7+cvs20110310-1_i386.deb&lt;br /&gt;
libow-tcl_2.8p7+cvs20110310-1_i386.deb    python-ownet_2.8p7+cvs20110310-1_all.deb&lt;br /&gt;
owfs_2.8p7+cvs20110310-1_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) In ältere Versionen von Raspbian (Debian wheezy) sind die notwendigen Pakete für Version 2.8p15 schon in den konfigurierten Quellen vorhanden. In der zukünftigen Version (Debian stretch) sind die Pakete ebenfalls (Version 3.1p1-6) enthalten. Zur Installation reicht ein&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install owserver ow-shell owhttpd owftpd&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die aktuellen Version von Raspbian (Debian jessie) enthält die Version 2.9p8-6. Diese hat einen Fehler und funktioniert nicht mit Device DS2408. Hier kann alternativ das oben zum download angegebene Paket owfs_2.8p17-1_all.zip herunter geladen und installiert werden.&lt;br /&gt;
&lt;br /&gt;
===Unterstütze Geräte===&lt;br /&gt;
Eine aktuelle Liste der von OWDevice unterstützen Geräte findet man im [http://fhem.de/commandref.html#OWDevice FHEM-Commandref].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Konfiguration von owserver==&lt;br /&gt;
&lt;br /&gt;
Folgendes ist eine beispielhafte Konfiguration für OWFS mit einem am USB-Port angeschlossenen [http://denkovi.com/usb-to-one-wire-interface-adaptor-converter-thermometer Denkovi-Adapter] (Klon von DS9097U).&lt;br /&gt;
&lt;br /&gt;
Es ist praktisch, dem Adapter ein festes Device zuzuordnen. Dazu legt man in /etc/udev/rules.d/ eine Datei 11-onewire.rules mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, ATTRS{serial}==&amp;quot;DAE001nq&amp;quot;, SUBSYSTEMS==&amp;quot;usb&amp;quot;, ACTION==&amp;quot;add&amp;quot;, MODE=&amp;quot;0660&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, SYMLINK+=&amp;quot;onewire&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Einstöpseln des USB-Kabels vom Adapter wird über die Seriennummer DAE001nq des USB-Wandlers auf dem Adapter das Gerät erkannt und der Symlink /dev/onewire auf das eigentliche USB-Gerät (z.B. /dev/ttyUSB1) erstellt.&lt;br /&gt;
&lt;br /&gt;
Eine Minimalkonfiguration für /etc/owfs.conf ist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;server: device = /dev/onewire&lt;br /&gt;
http: port = 2121&lt;br /&gt;
ftp: port = 2120&lt;br /&gt;
server: port = 4304&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, owhttpd installiert und laufen zu haben, um über die URL http://deinRaspberryPi:2121 zu sehen, dass owserver läuft und die Geräte am 1-wire-Bus erkennt.&lt;br /&gt;
&lt;br /&gt;
==Konfiguration in FHEM==&lt;br /&gt;
Als erstes definiert man OWServer. Hiermit wird ein logischer OWServer definiert, auf welchem OWFS installiert ist&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define &amp;amp;lt;name&amp;amp;gt; OWServer &amp;amp;lt;protocol&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;protocol&amp;amp;gt; hat das Format &amp;amp;lt;hostname&amp;amp;gt;:&amp;amp;lt;port&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
zBsp:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myOWServer OWServer 192.168.14.100:4304&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder wenn sich OWFS auf dem gleichen Server befindet wie FHEM:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myOWServer OWServer localhost:4304&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nach erfolgreichem &amp;quot;define&amp;quot; ist ein Klick auf den &amp;quot;Save&amp;quot; Button notwenig. Wenn nun der Status von myOWServer auf &amp;quot;Initialized&amp;quot; steht, ist der Server verbunden. Um sicher zu sein, dass der OWServer funktioniert, kann eine manuelle Abfrage der Device durchgeführt werden mit:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;get myOWServer devices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Danach werden sämtliche angeschlossene Geräte angezeigt, inkl. Busmaster&lt;br /&gt;
&lt;br /&gt;
===OWServer Set Befehle===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set &amp;amp;lt;name&amp;amp;gt; &amp;amp;lt;value&amp;amp;gt;&lt;br /&gt;
value:&lt;br /&gt;
timeout/directory&lt;br /&gt;
timeout/ftp&lt;br /&gt;
timeout/ha7&lt;br /&gt;
timeout/network&lt;br /&gt;
timeout/presence&lt;br /&gt;
timeout/serial&lt;br /&gt;
timeout/server&lt;br /&gt;
timeout/stable&lt;br /&gt;
timeout/uncached&lt;br /&gt;
timeout/usb&lt;br /&gt;
timeout/volatile&lt;br /&gt;
timeout/w1&lt;br /&gt;
units/pressure_scale&lt;br /&gt;
units/temperature_scale&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Weitere Informationen zu den Set Befehlen sind im [http://owfs.org/uploads/owserver.1.html#sect41 OWServer Manual] zu entnehmen.&lt;br /&gt;
&lt;br /&gt;
===OWServer Get Befehle===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;get &amp;amp;lt;name&amp;amp;gt; &amp;amp;lt;value&amp;amp;gt;&lt;br /&gt;
value:&lt;br /&gt;
/settings/timeout/directory&lt;br /&gt;
/settings/timeout/ftp&lt;br /&gt;
/settings/timeout/ha7&lt;br /&gt;
/settings/timeout/network&lt;br /&gt;
/settings/timeout/presence&lt;br /&gt;
/settings/timeout/serial&lt;br /&gt;
/settings/timeout/server&lt;br /&gt;
/settings/timeout/stable&lt;br /&gt;
/settings/timeout/uncached&lt;br /&gt;
/settings/timeout/usb&lt;br /&gt;
/settings/timeout/volatile&lt;br /&gt;
/settings/timeout/w1&lt;br /&gt;
/settings/units/pressure_scale&lt;br /&gt;
/settings/units/temperature_scale&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Zusätzlich stehen die FHEM-internen Befehle &amp;quot;errors&amp;quot; und &amp;quot;devices&amp;quot; zur Verfügung.&lt;br /&gt;
zBsp:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;get &amp;amp;lt;Devicename&amp;amp;gt; errors #listet die Fehler des Device auf&lt;br /&gt;
get &amp;amp;lt;Devicename&amp;amp;gt; devices #scan den Server nach Device&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Angeschlossene Geräte auslesen===&lt;br /&gt;
Grundsätzlich werden die am Busmaster von OWFS angeschlossenen 1-Wire Geräte durch aktives autocreate nach einem Neustart (erfordert shutdown restart) selber in FHEM definiert.&lt;br /&gt;
Der Busmaster (zBsp ein DS9490r) selbst wird ebenfalls eingelesen und angezeigt.&lt;br /&gt;
&lt;br /&gt;
===Definition von Geräten===&lt;br /&gt;
Es ist auch möglich, Geräte manuell anzulegen. Dies erfolgt in folgendem Format:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define &amp;amp;lt;name&amp;amp;gt; OWDevice &amp;amp;lt;address&amp;amp;gt; [&amp;amp;lt;interval&amp;amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
zBsp:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define Vorlauftemp OWDevice 28.334F2B040000 60&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Wobei der Wert 60 als Abfrageintervall in Sekunden zu verstehen ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OWDevice State===&lt;br /&gt;
Bei Temperaturfühler wie DS18S20 wird das Reading &amp;quot;state&amp;quot; wie folgt ausgegeben:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;temperature: 56.1875 alarm: 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Um die Temperatur wie bei anderen Temperatur-Sensoren (zBsp. CUL_WS) anzuzeigen, hilft das Attribut &amp;quot;stateFormat&amp;quot;. Dies kann wie folgt definiert werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr &amp;amp;lt;Devicename&amp;amp;gt; stateFormat T: &amp;amp;lt;wert&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
zBsp:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr Boiler stateFormat T: temperature&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
alternativ&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr &amp;amp;lt;Devicename&amp;amp;gt; stateFormat {sprintf(&amp;quot;%.1f&amp;quot;,ReadingsVal(&amp;quot;&amp;amp;lt;Devicename&amp;amp;gt;&amp;quot;,&amp;quot;temperature&amp;quot;,0)).&amp;quot;°C&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Zusätzlich rundet das obenstehende Attribut mit &amp;quot;%.1f&amp;quot; die Temperatur auf eine Kommastelle.&lt;br /&gt;
&lt;br /&gt;
==Tipps und Tricks==&lt;br /&gt;
1-wire-Geräte sind häufig generische Geräte, wie Zähler und Spannungsmesser (A/D-Wandler), an denen Sensorik hängt. Die rohen Werte vom 1-wire-Gerät (Zählimpulse, Spannungen) sind dann noch in menschenlesbare Werte zu verwandeln. Hier helfen userReadings, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr myEnergyMeter userReadings energy { (ReadingsVal(&amp;quot;myEnergyMeter&amp;quot;,&amp;quot;count.A&amp;quot;,0)+AttrVal(&amp;quot;myEnergyMeter&amp;quot;,&amp;quot;myBasis&amp;quot;,0))/1250.0;; }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Anwendungsbeispiele==&lt;br /&gt;
[[Stromzähler_und_1-Wire,_OWServer,_OWDevice|Hier]] findet man ein Beispiel einer Anbindung zweier Leistungsmesser (aka Stromzähler) mit S0 Ausgang über einen 1-wire-S0-Zähler an FHEM. &lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
=== Fhem hängt, wenn OWServer nicht erreichbar ist ===&lt;br /&gt;
Am Anfang gab es mit OWServer das Problem, dass Fhem immer komplett hing, wenn OWServer nicht erreichbar war (siehe z.&amp;amp;nbsp;B. [http://www.fischer-net.de/hausautomation/haustechnik/1-wire/60-1-wire-integration-in-fhem.html hier am Ende]). Das Problem wurde inzwischen dankenswerterweise für den laufenden Betrieb {{Link2Forum|Topic=16945|LinkText=behoben}} - &amp;lt;code&amp;gt;attr myOWServer nonblocking 1&amp;lt;/code&amp;gt; muss dazu gesetzt werden -, aber zumindest beim Start hängt Fhem nach wie vor, wenn OWServer nicht erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:1-Wire]]&lt;/div&gt;</summary>
		<author><name>Grembold</name></author>
	</entry>
</feed>