OWFS 1 Wire

"OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim."

https://owfs.org/

Archiv : https://web.archive.org/web/20190405231200/http://owfs.org/

Installieren des Debian-Paketes möglich : $ sudo apt-get install owfs # geht, aber siehe unten

ACHTUNG : Wenn die aktuelle Version des Debian-Paketes nicht mit CCU.IO zusammen spielt, bleibt die manuelle Compilierung.

Nach der Installation mit $ sudo apt-get ... geht es so weiter

pi@pi3:~ $ /usr/bin/owserver --version # 2019-04-11

/usr/bin/owserver version:

3.1p5

libow version:

3.1p5

pi@pi3:~ $

2019-08-18 : Version 3.2p3

ACHTUNG : Nicht alle Version spielen mit Node-RED und dem OWFS Knoten -> manuell compilieren, dann geht es.

Schritt für Schritt owfs Installations-Anleitung : Installieren von OWFS

Die Anleitung ist zwar für Ubuntu geschrieben, ist für den Raspi aber auch gültig.

Mit dieser Version wurde vor einigen Jahren gestartet :

Wenn ein USB zu 1Wire Adapter benutzt wird muß die Konfigurationsdatei folgendermassen angepasst werden :

Default configuration file ( /etc/owfs.conf )

# This part must be changed on real installation

server: FAKE = DS18S20,DS2405

#

# USB device: DS9490

#server: usb = all

#

# Serial port: DS9097

#server: device = /dev/ttyS1

Ändern zu

# This part must be changed on real installation

#server: FAKE = DS18S20,DS2405

#

# USB device: DS9490

#server: usb = all

#

# Serial port: DS9097

server: device = /dev/ttyUSB0

Wenn die Installation geklappt hat, sieht man seine Sensoren im Browser auf Port 2121 :

Starten, Anhalten, Restart der OWFS Umgebung :

sudo service owserver start (stop, restart, status)

sudo service owhttpd start (stop, restart, status)

Die Einbindung in node.js geschieht über das npm "package" owfs.js.

Zum Installieren von owfs.js gibt man folgenden Befehl ein :

$ sudo npm install owfs

Das Paket owfs.js wird zusammen mit CCU.IO in ein Unterverzeichnis von CCU.IO installiert. Wer owfs.js also nur mit CCU.IO zusammen benutzen will, braucht es nicht zu installieren.

Zur Einbindung von OWFS in CCU.IO gibt es den OWFS CCU.IO Adapter. Dieser liest den OWFS Server über owfs.js aus und generiert Datenpunkte, die man im CCU.IO System benutzen kann. Der OWFS Adapter erkennt leider noch nicht automatisch die Anzahl und die Adressen der Temperatursensoren. Die Adressen der Messpunkte muß manuell in den Adapter eingetragen werden. Die Adresse des OWFS Servers ist im obigen Screenshot abzulesen und muß mit "port=4304" (IANA Default) in den Adapter eingetragen werden.

Wenn der OWFS Adapter wie nebenstehend konfiguriert wird, sollten die Temperaturen vom OWFS Server eingelesen werden. Die Planung der nächsten Schritte findet man im Quelltext des Adapters. Sollte der Adapter mehr Sensoren zeigen, als vorhanden sind, können nicht vorhandene Messstellen mit schon vorhandenen Adresse doppelt oder mehrfach vergeben werden.

Wer mehr oder weniger Sensoren als die zur Zeit eingestellte Anzahl der Sensoren hat, kann die Anzahl wie

folgt ändern : In der Datei /opt/ccu.io/adapter/owfs/settings.json einfach zusätzliche Sensoren

hinzufügen, bzw. entfernen. Dann CCU.IO einmal neu starten und die aktuellen Adressen

in der owfs-Adapter Konfiguration (siehe oben) eintragen. Es braucht nur "alias" und die "id" eingetragen werden. Die Einträge "family", "type", "property", ... werden ignoriert. Diese Information ergibt sich aus der Seriennummer.

Manchmal meldet sich der OWFS Adapter einfach ab, obwohl der OWFS Server weiterhin funktioniert :

Wenn sich das System aus OWFS Adapter und node.js Adaptierung weggehangen hat, kommt die Scriptengine auch aus dem Takt. Und DashUI zeigt "NaN" an :

Das OWFS System selber läuft aber immer stabil durch, wie man per Browser auf Port 2121 überprüfen kann.

Auch verblüffend : Nicht alle Temperaturen werden gestört und als "NaN" (Not a Number) dargestellt. Einige Temperaturwerte können gelesen werden.

Die Quellen & Speicherorte sind :

- OWFS https://github.com/owfs (war bis Anfang 2018 auf https://sourceforge.net/projects/owfs )

- owfs.js https://github.com/benediktarnold/owfs

- owfs Adapter (owfs.ccuio) https://github.com/Eisbaeeer/owfs (Status 2014)

- überarbeiteter owfs Adapter (owfs.ccuio) https://github.com/Giermann/ccu.io/tree/owfs-extensions/adapter/owfs