.

Zur Steuerung der Heizkreisläufe benötige ich einige Temperatur Daten. Ebenso für andere Dinge die Automatisiert werden sollen. Da wäre das anheben und absenken der Vorlauftemperatur, oder eine Info ob die Wärme im Speicher noch für das Heizen über die Nacht ausreicht. In beiden fällen spielt natürlich die Außentemperatur eine Rolle. Zum Anbinden der Temperatursensoren kommt ein OneWire Bus zum Einsatz.

Inhalt

OneWire Hardwareanbindung
OWFS installieren
OWFS konfigurieren
OneWire Binding installieren
Things anlegen

OneWire Hardwareanbindung

Alle meine Temperatursensoren (DS18B20) bereiten die Daten direkt digital auf und können über einen OneWire Bus abgefragt werden. Als Bindeglied dient mir eine OneWire to I2C Bridge (DS2482-100). Der I2C Bus wird unter Armbian unter ‚/dev‘ zur Verfügung gestellt. Eine kurze Kontrolle zeigt mir die aktiven I2C Bus Schnittstellen.

ls -al /dev/i2*

Ihr solltet sicher sein das diese Schnittstellen im System auch aktiviert sind. Wie das geht habe ich bereits im Artikel HeatMaster – Armbian auf dem A20-OLinuXino-MICRO beschrieben. Meine OneWire to I2C Bridge schließe ich an ‚/dev/i2c-1‘ an. Ihr könnt natürlich frei wählen und müsst nur eure Konfiguration entsprechend anpassen.

OWFS installieren

Ist der I2C Bus einsatzbereit müssen wir dafür sorgen dass OpenHAB mittels des I2C Bus auf den OneWire Bus zugreifen kann. Dazu kommt der ‚OWserver‘ zum Einsatz. Dieser ist Teil des Paket ‚OWFS‚. Das wir wie üblich als ‚root‘ User mit ‚apt-get‘ installieren. Doch vorher kurz ‚update‘ und ‚upgrade‘.

apt-get update && apt-get upgrade
apt-get install owfs

Eine praktische Sache ist das OWFS die OneWire Bus Informationen auch via Netzwerk zur Verfügung stellt. Wir können mittels ‚IP-Adresse:2121‘ im Browser darauf zugreifen. In meinem Fall: 192.168.1.2:2121

OWFS Webansicht nach der Installation.
Die ersten beiden Einträge ‚10.67…‘ & ‚05.4A…‘ sind fake Sensoren.

OWFS konfigurieren

Die Einstellungen von OWFS werden in der Datei ‚/etc/owfs.conf vorgenommen. Dazu öffnen wir diese mit nano.

nano /etc/owfs.conf

Änderungen müssen nur im Abschnitt ‚OWFS‘ vorgenommen werden. Der Inhalt sollte am Ende wie folgt aus sehen.

Ausschnitt aus der owfs.conf Datei.
Benutzt ihr eine andere I2C Schnittstelle um den DS2482-100 an zu schließen vergesst bitte nicht dies an zu passen!
mountpoint = /mnt/1wire
allow_other
device = /dev/i2c-1
Celsius
error_print = 0
error_level = 0

Zusätzlich habe ich noch die Zeile ’server: FAKE = DS18S20,DS2405′ auskommentiert da mich die fake Sensoren, die wir beim Aufruf im Webbrowser nach der Installation zu sehen bekommen haben, stören. Dies ist aber natürlich kein muss.

Nach dem speichern und schließen können wir eben den ‚OWserver‘ neu starten um die Änderungen zu übernehmen.

systemctl restart owserver

Hänge ich jetzt meine 19 Temperatursensoren an die Bridge sieht das im Browser wie folgt aus.

OWFS Webansicht der DS18B20 Temperatursensoren mit anzeige deren Adressen.
Die ’28. … ‚ sind die einmaligen Adressen meiner Sensoren.

OneWire Binding installieren

Um eine Verbindung zwischen OpenHAB und dem OWserver herstellen zu können benötigen wir noch das OneWire Binding.

Dazu rufen wir die Oberfläche von OpenHAB 3 im Browser auf. Und klicken dort unter Einstellungen auf Bindings. Dann findet man unten rechts ein Plus Symbol in einem Kreis und klicken auch dort zum hinzufügen.
Oben in der Suchleiste suchen wie nach ‚OneWire‘ und wählen dann das ‚OneWire Binding‘. Mit einem klick unten auf ‚Install‘ starten wir den Installationsprozess.

OpenHAB MainUI 'Install' OneWire Binding
Die Installation ist nach kurzer Zeit abgeschlossen.

Things anlegen

Es ist möglich die benötigten ‚Things‘ über das neue MainUI von OpenHAB 3 an zu legen. Alle die sich lieber ihre Konfiguration zusammen klicken können das gerne tun. Ich bevorzuge den Weg über die ‚config-files‘ im Ordner ‚/etc/openhab‘. Dort gibt es unter Ordner für Things, Items oder Rules.

Da wir den Ordner ‚/etc/openhab‘ auf unserem Arbeitsrechner als Netzwerklaufwerk ‚config‘ eingebunden haben (siehe HeatMaster – Samba Server für Netzwerkfreigaben) können wir nun bequem mit einem Editor oder VS-Code von unserem Arbeitsrechner darauf zugreifen.
Im Order ‚things‘, innerhalb des Netzwerklaufwerk ‚config‘ legen wir eine neue Datei an in der alle OneWire Things erstellt werden. Die Bezeichnung der Datei ist frei wählbar. Sie muss allerdings auf ‚.things‘ enden. Ich nenne meine neue Datei: ‚onewire.things‘

Nun muss als erstes eine Bridge erstellt werden. Diese dient dazu dem OneWire Binding mitzuteilen wo der OWserver zu finden ist. Im Eintrag ’network-adress= … ‚ tragen wir die lokale Netzwerk-IP des Armboard ein. Alle OneWire Things werden anschließend in den geschweiften Klammern der Bridge erstellt.

Ausschnitt aus der onewire.things Datei.

In den Things für die Temperatursensoren müssen Name, Ort, Sensoradresse und die Aktualisierungsrate (in Sekunden) festgelegt werden. Alle Einträge die ihr anpassen solltet sind in meinem Code in spitzen Klammern. Im Betrieb reicht eine Aktualisierungsrate der Sensoren von 5 bis 10 Minuten vollkommen aus.

Bridge onewire:owserver:OWserver "OW Server" @ "<Ort>" [ network-address="<192.168.1.2>" ] {

    Thing basic tempSensKueche "<SensorName>" @ "<SensorOrt>" [
        id="<SensorAdresse>",
        refresh=180, // Aktuallisierungsrate
        temperaturesensor="DS18B20"
        ] {
            Channels:
                Type temperature-por-res : temperature [
                    ignorepor=true,
                    resolution="12" // Auflösung in bit
                ]
        }

Nach dem Speichern dauert es einen kleinen Moment bis OpenHAB sich automatisch aktualisiert. Dann müsstet ihr die neuen Things unter Einstellungen im MainUI von OpenHAB, ähnlich wie ich, angezeigt bekommen.

Things Ansicht im OpenHAB MainUI.
Sind die Things nicht als ‚Online‘ markiert stimmt etwas nicht!

Ausblick

Mit OpenHAB 3 ist eine neue Oberfläche erschienen. Dort ist es möglich ‚Pages‘ zu erstellen. Diese haben ein schickes Design und bieten viele neue Möglichkeiten. Allerdings habe ich mich damit noch nicht intensiv auseinandergesetzt. Deshalb greife ich vorerst auf die alt bewährten Sitemaps aus OpenHAB 2 zurück. Ein weiterer Grund eine Sitemap zu erstellen ist die Nutzung der OpenHAB App, auf einem Smartphone oder Tablet. Denn die App greift auf die Sitemaps zurück.

In der Sitemap werden Items dargestellt die mit den Things verknüpft werden können. Im folgenden Artikel wird es also um die grafische Anzeige unserer Temperaturwerte gehen. Sowie die Schaffung der nötigen Voraussetzungen.


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.