Artikel
0 Kommentare

FHEM: Umzug von SQLite nach MySQL / MariaDB

Der Einfachheit halber beginnt man bei FHEM mit dem Logging von Daten entweder in Logfiles oder in einer SQLite. So erging es mir mit Letzterem. Die immer größer werdende Anzahl von Einträgen, sowie neue Möglichkeiten rund um Grafana bewegten mich zu einem Wechsel der Datenbank. Wie ich von SQLite nach MariaDB gewechselt bin möchte ich Euch kurz beschreiben und die nötigen Informationen auf einer Seite bereitstellen.[Weiterlesen]

FHEM und Temperaturplots
Artikel
0 Kommentare

FHEM unter Archlinux installieren

FHEM ist ein super System um das eigene Zuhause zu automatisieren. Auf meinem Raspberry Pi läuft Archlinux. Das AUR stellt auch ein Paket zur Installation bereit. Allerdings schmierte die Installation bei mir aber immer wieder ab. Da sich ein integrierter Updatemechanismus in der Software befindet, wiegt das Ausbleiben einer Paketmanagementintegration nicht so schwer. Also mache ich mich daran unter Archlinux die „Freundliche Hausautomatisierung und Energie-Messung“ manuell zu installieren.

[Weiterlesen]

Artikel
2 Kommentare

Mit OWFS und Konsorten Temperatursensoren (DS18B20) auf dem Raspberry Pi abfragen

In meinem Beitrag vom November „Mit Perl Skript 1-Wire Temperatursensor DS18B20 am Raspberry Pi abrufen“ habe ich beschrieben, wie man ohne großartige Software einen Temperatursensor des Modells DS18B20 per Skript abrufen kann. Mittlerweile bin ich aus dem Ultra-Alpha-Stadium (Ausnahme bildet hier die Verkabelung (da bin ich echt nicht gut drin)) raus und habe auf einen DS9490R und mehrere DS18B20 umgerüstet.

Temperatursensor DS18B20 über Lüsterklemme verkabelt

Temperatursensor DS18B20 über Lüsterklemme verkabelt

Hierbei bin ich auf ein paar Probleme gestoßen. Wie man Temperatursensoren noch ansteuern kann, möchte ich hier kurz erläutern. Meine Anleitungen basieren ab sofort auf dem DS9490R, es scheint hier ein paar Unterscheidungen zu der GPIO-Variante zu geben.

Variante 1: OWFS

Unter Archlinux lässt sich OWFS (1-Wire Filesystem) einfach über Pacman installieren. Nachdem man sich einen Mountpoint angelegt hat, lässt sich der 1-Wire Bus über folgenden Befehl einbinden:

owfs --allow_other -a alias.txt -u /mnt

Ich mounte immer als Root, deshalb empfiehlt sich der an FUSE durchgereichte Parameter „–allow_other“. Mit der Option „-u“ teilt man OWFS mit, dass er den DS9490R als Quelle verwenden soll. Mein absoluter Favorit bildet die Option „-a“, die es ermöglicht menschenfreundliche Namen hinter den IDs zu hinterlegen. Im eingebundenen Verzeichnis finden sich dann nicht mehr die kryptischen IDs, sondern die entsprechenden Namen. Weitere Informationen findet man in der ausführlichen Onlinehilfe. Zusätzliche Optionen habe ich bisher nicht benötigt. Zugriff ergibt sich dann z.B. über cat:

[pi@pi ~]$ cat /mnt/$NAME_DES_SENSORS/temperature; echo
     20.4375
[pi@pi ~]$

Die Temperatur wird immer eine gewisse Zeit – ich nenne es mal so – gecached. Ich teste immer ob ich den richtigen Sensor habe, in dem ich Ihn anhauche – da braucht man unter Umständen einen etwas längeren Atem. 😉

Variante 2: OWServer

Ich führe explizit den OWServer auf, da er im Zusammenspiel mit FHEM (Super Anleitung) genutzt wird. Es gibt aber auch noch weitere Usecases. So lässt sich OWFS auf einen OWServer verbinden, der im Netzwerk bereit steht. Es ergibt sich zum Beispiel der Anwendungsfall, dass die Verbindung nicht unbedingt kabelgebunden (über 1-Wire) erfolgen muss. Über den OWServer lässt sich auch direkt über meine Lieblingssprache Perl programmieren (auch über USB direkt möglich).

Variante 3: OWhttp

Die Oberfläche von OWhttp würde ich jetzt nicht gerade als „fancy“ bezeichnen, aber es passt irgendwie zu 1-Wire: stabil und funktional. Hier lassen sich alle Werte auslesen und gegebenenfalls auch setzen.

OWHTTP zeigt die Sensoren an

 

Anzeige eines DS18B20 über OWHTTP

Die Syntax wiederholt sich und wird sicherlich den ein oder anderen langweilen. Mit „-p“ habe ich OWHTTP auf Port 5000 zum Lauschen geschickt.

owhttpd -u -p 5000 -a alias.txt

Variante 4, 5, …

Es gibt noch zig andere Varianten auf 1-Wire Devices zuzugreifen. Es seien genannt:

  • owftpd – Zugriff über FTP-Befehle
  • owshell – Zusammenfassung von Befehlen für die Shell-Programmierung

Fazit

Am Anfang dachte ich: Warum zur Hölle all diese Programme um 1-Wire zu benutzen? Ich muss sagen, dass ich positiv von der Stabilität und Macht von 1-Wire und seinen Programmen überrascht bin. Selten so gut und leicht verständliche Dokumentation gelesen, was wahrlich keine Selbstverständlichkeit ist. Ich bin gerade am Testen von FHEM in Verbindung mit OWserver. Über OWserver kann ich dann natürlich dank OWFS Möglichkeiten einer Netzwerkverbindung parallel zu FHEM auf die Temperatursensoren zugreifen. Modularität for the win!