ssmaart-Haus

Do It Yourself – Folge 4: Temperatursensor – Raspberry Pi als Low Budget Zentrale

Temperatursensor
danielboe
Geschrieben von danielboe
ssmaart-Haus

In den letzten beiden Folgen ging es um die detaillierte Software Installation. Eine wichtige Sache, denn diese ist das “Herz” unseres Smart Home Systems. Eine Software nutzt aber nur etwas, wenn sie auch mit Daten versorgt wird. Hier soll es um die Installation eines digitalen Temperatursensors gehen. Dieser misst nebenbei auch noch die Luftfeuchtigkeit, ist sehr günstig und die Inbetriebnahme ist ein Kinderspiel! In der Praxis lassen sich damit dann Heizungssteuerungen umsetzen (der Winter naht!). Eine Überwachung von Räumen zur Schimmelprävention ist auch möglich. Wir werden am Ende den Temperaturverlauf in übersichtlichen Diagrammen auswerten können.

 

Das wird benötigt:

Ich empfehle jedem, die Tutorials 1-3 aus dieser Serie zumindest einmal zu lesen, um die Software Pimatic und Pilight zu verstehen. Wer das schon gemacht hat, sollte nun auch ein Grundgefühl für den Umgang mit der Konsole haben. Ich stelle hier ein IMAGE (ca. 1,5GB) bereit, welches auf dem Stand am Ende von Teil 3 ist. Eine schöne Anleitung für die Image-Installation gibt es HIER in Jan Karres Blog (Schritt 1-3)

Einkaufsliste für Teil 4:

Wer jetzt merkt, dass ihm das Basteln viel Spass macht, kann auch über ein STECKBRETT mit Kabeln nachdenken. Damit kann man sehr gut experimentieren ohne jedes mal alles zu verlöten.

Anbringen des Temperatursensors

Der Sensor hat 3 Anschlüsse:Plus,Masse und die Datenleitung. Man spricht auch von “One Wire” denn es wird ja nur ein einziger Pin für die Kommunikation genutzt. Wie man es von Netzwerken kennt, hat jeder Sensor eine ID, wird vom Raspberry Pi angesprochen und gibt dann die Werte zurück. Wer etwas Fantasie besitzt, merkt jetzt: Über eine Leitung können auch mehrere Sensoren hintereinander geschaltet und ausgelesen werden. Darauf möchte ich hier aber erst einmal nicht weiter eingehen.

Temperatursensor

Temperatursensor Verkabelung

Der Widerstand ist wichtig um die Datenleitung bei Nichtbenutzung in einen festen Zustand zu versetzen. Es wäre sonst nicht klar, ob sie aktiv ist oder nicht. Um die Datenleitung zu beeinflussen würden ohne den Widerstand schon kleinste elektromagnetische Schwingungen reichen.

Konfiguration der Software

Der Sensor wird in der Konfigurationsdatei von Pilight definiert. Von dort aus wird er automatisch an Pimatic übergeben, kann also dann in beiden Web-Oberflächen verwendet werden. Ich werde hier gleich noch die Einstellungen für eine weitere Komponente auflisten: Ein 2. virtueller Temperatursensor, der mit Daten eines Wetterdienstes gefüttert wird. Als erstes loggen wir uns via SSH ins Raspberry Pi ein.

Pilight beenden. WICHTIG!

Pilight Verzeichnis aufrufen.

Konfiguration im Editor öffnen. Wir fügen folgende beiden “Devices” hinzu:

Achtet hier vorallem auf die “,” welche nach den “}” kommen. nur der letzte Block in der Konfiguration schließt NICHT mit Komma am Ende. “gpio :4” ist der Pin, an dem der Sensor angeschlossen ist. Hier im Beispiel wie in der Abbildung oben. Wenn alles fertig ist, speichern mit STRG+X->Y->ENTER.

Pilight wieder starten. sollte das nicht klappen (es kommt die Meldung “[FAIL] Starting : pilight failed!”, kann man nach Fehlern suchen. Das geht am einfachsten, indem man sich erst einmal die log Datei anschaut:

Wenn es Fehler bei der Formatierung gibt, kommt etwa so eine Meldung im log-file:

Das wars. Der Temperatursensor und die “Wetterstation” sind jetzt eingebunden. Ihr habt damit eine genaue Temperaturmessung für den Raum und eine recht zuverlässige für die Außentemperatur. Beide Werte können wir jetzt in diversen Regeln kombinieren.

Temperaturdaten aufzeichnen

Um die Temperatur aufzuzeichnen muss nicht viel gemacht werden. Pimatic hat bereits einen Data-Logger installiert. Ihr seht den Temperaturverlauf in der Weboberfläche und könnt einfach das Diagramm anklicken. Die Achsen können frei eingestellt werden und man kann so auch über mehrere Tage beobachten.

Temperatursensor Datenlog

Die Datenaufzeichnung im Web

Der Temperatursensor in der Praxis

Ein kleines Praxisbeispiel soll am Ende noch gezeigt werden. Für eine Heizungssteuerung fehlen uns noch die Heizregler , darum etwas anderes. Wir fügen Wetterdaten aus dem Internet für die Außentemperatur ein und lassen uns warnen, wenn es sinnvoll ist, das Fenster zu schließen. Das ist, gerade im Sommer, ganz nützlich. Die Regel sieht folgendermaßen aus:

Temperatursensor Regel

Pilight Regel: Fenster Offen

Hier wird, wenn die Aussentemperatur 30 Minuten lang 2 °C höher als die Innentemperatur ist, eine Meldung ans Smartphone geschickt. Der “then” Teil ist hier beliebig. Es kann auch eine E-Mail verschickt oder ein Alarm ausgelöst werden. Wie ihr einfach Infos verschickt bekommt, erfahrt ihr dann in Teil 5 des Tutorials.

Wie geht es weiter?

Im nächsten Teil geht es um die Einbindung des Smartphones. Ich werde zeigen, wie ihr euch Push-Mitteilungen auf das Handy schicken könnt. Euer Smart Home informiert euch über wichtige Events wie z.B. zu hohe Luftfeuchte, eine offene Tür oder auch die Anwesenheit von Personen.

Bei Fragen komm doch bitte in unser Forum. Ich versuche dort weitestgehend zu helfen.

Die Installation von Raspbian und der Einstieg in Linux

Do It Yourself – Folge 1 – Raspberry Pi als Low Budget Smart Home Zentrale

Hardware Installation und die Fernsteuerung von Funksteckdosen über das Smartphone

Do It Yourself – Folge 2: Pilight – Raspberry Pi als Low Budget Smart Home Zentrale

Einführung in Pimatic und damit die Automatisierung der Komponenten

Do It Yourself – Folge 3: Pimatic – Raspberry Pi als Low Budget Smart Home Zentrale

Push und Heizungssteuerung

DIY – Folge 5: Push und Heizungssteuerung – Raspberry Pi Zentrale

Diesen Blogpost hat geschrieben ...

danielboe

danielboe

Hi, ich bin Daniel, Geschäftsführer bei der "Smarthome Agentur UG" und mein Leben dreht sich rund um Technik seit ich denken kann. Mein Interesse gilt neuen Trends, welche den Alltag erleichtern. Dinge zu verstehen und sie noch besser zu machen ist mein Motto.
Wenn ich gerade nicht der Informatik Nerd bin, höre ich Musik, fahre Fahrrad oder treffe mich mit Freunden.

41 Kommentare

    • Hey Michael,
      danke für das Lob. Ich sitze schon an Teil 5, hatte aber noch Probleme mit einer Sinnvollen Idee für die Heizregler. Wie es jetzt aussieht, lassen sich aber die MAX! Heizthermostate integrieren. Wird also von der Thematik passend zum Winter ;-)
      Unterm Strich werde ich wohl ende der Woche damit fertig.

      Viele Grüße
      Daniel

      • Super. Sieht ja mal nicht verkehrt aus…
        Vielleicht kann ich das übers Wochenende mal testen.
        Jetzt hab ich jedoch nochmal eine Frage,
        Ist es normal, das, wenn man im Browser die Adresse der Pimatic aufruft, doch ziemlich lange warten muss bis die Seite geladen wird. Auch der refresh dauert recht lang.
        Ebenso habe ich immer wieder das Problem das ich 2 Geräte hintereinander, mit kurzer Pause zwischen drin, schalten möchte, jedoch nur eines geschalten wird. Weitere Versuche dieses Gerät einzuschalten,scheitern dann ebendfalls.
        Rufe ich dann die Pilight Oberfläche auf, kann ich das gerät damit dann schalten.

        Was mich auch interessieren würde, ist es irgendwie möglich das Signal der Fernbedienung, die bei den Steckdosen dabei ist, mit aufzuzeichen und dementsprechend den Schaltzustand der dementsprechenden Steckdose zu ändern? Wäre dann halt schon komfortabel, nicht immer den PC oder das Handy nutzen zu müssen.

        Alles in allem aber echt super bisher und hoffentlich gibt es noch viele weitere DIY dieser Art.
        Michi

  • Hallo Daniel,

    vielen Dank für die super Idee und Umsetztung.
    Alles super beschrieben auch für einen Neuling in diesem Thema.
    Danke Dir.

    mach weiter so.

    Sascha

  • Hi Daniel,
    Ich freue mich schon auf die nächsten Beiträge. Push Nachrichten, Heizungssteuerung und Video- /Audioüberwachug (Alarmanlage) fehlen mir noch für die perfekte Heimautomatisierung, aber Du bist ja schon auf dem besten Weg :)

    Danke
    Jens

    • Hallo Jens,
      danke für die Lorbeeren. Push kommt auf jeden Fall, die Heizungssteuerung funktioniert zum Teil mit den MAX! Thermostaten. Diese machen Preislich noch am ehesten Sinn. Videoüberwachung kann ich aktuell nicht bieten, da schaue ich aber gern noch einmal, was geht!

      Viele Grüße

      Daniel

  • Hi Daniel,
    tolle Anleitung. Vielen Dank. Habe sie mir zum Lesen ausgedruckt (kopiert und gedruckt – kommt ein print button oder habe ich ihn übersehen?)

    Wie hast Du MAX eingebunden. Der läuft doch mit 868MHZ. Leider habe ich alle sensoren (TinyTX) mit 433MHZ laufen.
    MfG Walter

  • Hallo Walter,

    das MAX! funktioniert nicht ohne den Cube. Kann es auch nicht, denn es gibt keine Dokumentation zum Funkprotokoll. Ich zeige in der Nächsten Folge, wie es geht. Sollte bis Freitag fertig werden ;-)

    Gruß

    Daniel

  • Hallo Daniel,

    zuerst einmal vielen Dank für dein super Tutorial. Linux ist für mich erstmal totales Neuland, aber mit deinen Erklärungen bin ich schon ganz schön weit gekommen.
    Leider hakt es im Moment mit der Funksteuerung. Die Konfiguration von hardware.json habe ich erst nicht verstanden; bin dann aber über die Kommentare darauf gekommen, dass die Pin Nummern mit wiringPi zu tun haben. Die Installation wurde aber im Verlauf des Tutotials nicht angesprochen. Bei dem Versuch es nachzuinstallieren bekomme ich aber immer eine Fehlermeldung (Wortlaut habe ich zur Zeit nicht zur Hand)
    Deshalb habe ich jetzt dein Image mit Stand Ende Teil3 installiert. Leider kann ich mich aber nicht mit root / Raspbian einloggen.

    Hast du dort andere Daten verwendet?

    LG
    Hermann

    • Hallo Hermann,
      versuch bitte mal: Name: pi Passwort: raspberry.
      Ansonsten ist es vielleicht sinnvoll mit dem Raspian original image und ab teil 2 zu arbeiten. dort sind viele Pakete schon installiert, wenn du Interesse hast die Tutorials noch einmal abzuarbeiten.

      Viele Grüße

      Daniel

  • Jetzt ist es wieder soweit :-(

    zum Installieren von PiLight habe ich hier
    “http://www.forum-raspberrypi.de/Thread-tutorial-pilight-433mhz-funksteckdosen-funkdimmer-und-mehr-schalten-und-darstellen”
    noch folgendes gefunden:

    Da pilight eine signierte Quelle nutzt, müssen wir den Schlüssel hierfür hinzufügen:
    wget -O – http://apt.pilight.org/pilight.key | apt-key add –

    Nach der installation und Konfiguration von PiLight habe ich mit “gpio -v” kontrollieren wollen, welche Version von wiringPi installiert ist.

    Ergebnis:
    -bash: gpio: Kommando nicht gefunden.

    Deshalb habe ich versucht mit dieser Anleitung
    “http://wiringpi.com/download-and-install/”
    wiringPi zu installieren.

    Leider kommt bei dem Befehl “./build” immer folgende Meldung:

    wiringPi Build script
    =====================

    WiringPi Library
    ./build: 53: ./build: sudo: not found
    ./build: 59: ./build: make: not found

    Make Failed…
    Please check the messages and fix any problems. If you’re still stuck,
    then please email all the output and as many details as you can to
    projects@drogon.net

    Kannst du mir helfen ?

  • Jetzt ist es wieder soweit :-(

    zum Installieren von PiLight habe ich hier
    “http://www.forum-raspberrypi.de/Thread-tutorial-pilight-433mhz-funksteckdosen-funkdimmer-und-mehr-schalten-und-darstellen”
    noch folgendes gefunden:

    Da pilight eine signierte Quelle nutzt, müssen wir den Schlüssel hierfür hinzufügen:

    wget -O – http://apt.pilight.org/pilight.key | apt-key add –

    Nach der installation und Konfiguration von PiLight habe ich mit “gpio -v” kontrollieren wollen, welche Version von wiringPi installiert ist.

    Ergebnis:
    -bash: gpio: Kommando nicht gefunden.

    Deshalb habe ich versucht mit dieser Anleitung
    “http://wiringpi.com/download-and-install/”
    wiringPi zu installieren.

    Leider kommt bei dem Befehl “./build” immer folgende Meldung:

    wiringPi Build script
    =====================

    WiringPi Library
    ./build: 53: ./build: sudo: not found
    ./build: 59: ./build: make: not found

    Make Failed…
    Please check the messages and fix any problems. If you’re still stuck,
    then please email all the output and as many details as you can to
    projects@drogon.net

    • Hey Hermann,

      du brauchst, soweit ich weiß, weder WiringPi noch gpio nachinstallieren. Was genau kommt denn, wenn du “sudo service pilight start” eingibst? Wenn du pilight erfolgreich über die Source installiert hast, werden im Normalfall alle benötigten Pakete mit installiert.
      Wenn ein Fehler beim starten kommt, schau mal in den Log mit: “tail -f /var/log/pilight.log”

      Gruß Daniel

  • Hi,
    wenn ich pilight so starte “sudo service pilight start” bekomme ich die meldung:
    -bash: sudo: Kommando nicht gefunden
    starte ich ohne sudo (ich arbeite z.Zt. als root) kommt:
    [ ok ] Starting : pilight.

    beim Aufruf von gpio -h kommt aber weiterhin die Meldung:
    -bash: gpio: Kommando nicht gefunden

    demnach ist wiringPi ja noch nicht installiert. Und da bei der Konfiguration von hardware.json ja auf die wiringPi Nummerierung verwendet wird, vermute ich, dass es installiert sein muss :-(

    • Bei mir ist gpio auch nicht installiert, ich habe mal geschaut. Daran kann es nicht liegen. Schau dir mal den Log an und poste ihn hier. kommst du denn auf die Website von pilight? also mit raspberryip:5001

      Gruß Daniel

  • so, da bin ich wieder

    das Problem hat wohl an dem Funksteckdosenset gelegen. Der Empfänger hatte bei “pilight-receive” keine Signale von der Funkfernbedienung empfangen. Deshalb hatte ich gedacht, es wäre ein Problem mit der Konfiguration von hardware.json, die ja die wiringPi belegung benutzt.
    Ich habe jetzt ein anderes Set versucht und damit geht es (nur die Rechweite des “Pi Senders” reicht leider hier nicht. Mal sehen, ob mir dazu noch was einfällt.

    Ersteinmal vielen herzlichen Dank
    Hermann

  • Hey!
    Vielen Dank für die tollen Anleitungen… Ich habe das Problem, dass der Sender nicht mehr funktioniert seitdem ich den DHT22 angeschlossen habe. Nehme ich den ab funktioniert alles… Verkabelung von Sender, Empfänger und DHT22 sind wie hier angegeben… Überfordert den Pi das von der Stromversorgung her oder woran kann das liegen?
    LG

    • Hey MrBlonde,
      Stromversorgung ist eher unrealistisch. Ist der Widerstand richtig gewählt? Funktioniert denn der Sensor an sich, also bekommst du Temperaturwerte?
      Die Pins sollten sich eigentlich nicht überschneiden, wenn alles wie hier gemacht wurde. Gib noch einmal Feedback, ob du das Problem lösen konntest!

      Gruß Daniel

  • Hi,

    bin erst vor Kurzem auf deine Tutorials gestoßen und auch noch recht neu in der Raspi und Smart Home Welt. Daher sind deine Tutorials genau das Richtige :-)
    Könntest du daher in deinem nächsten How-To vielleicht darauf eingehen, wie man die Logitech Harmony ( mit Hub) in dem System mit pilight einbindet, um damit die Steckdosen zu schalten? Das wäre nämlich mein primäres Ziel.

    Schon einmal vielen Dank für die tolle Arbeit hier!

    LG

  • Hallo,

    wirklich tolles Tutorial. Ich habe aber immer noch nicht ganz den unterschied zwischen pimatic und pilight verstanden.

    Habe jetzt meinen DHT22 Temperatursensor eingebunden und pilight startet auch ohne probleme.

    Das eigentliche Problem habe ich nun wenn ich pimatic über den Webbrowser öffnen möchte. Da erscheind nur noch “Cannot GET /”.

    pilight.log erzählt mir:

    ERROR: php support disabled due to missing php-cgi executable
    INFO: new client, ip: xxx.xxx.x.xx, port 123456
    INFO: client recognized as gui

    Vielleicht hast du da eine Idee?

    Mfg Dominik

  • hey, die aktuelle version von pimatic funktioniert leider nicht mehr in kompination mit pilight. entweder ihr installiert euch die alte version oder ihr schaut euch homduino an, das ist die neue und bessere plugin alternative.
    ich werde sicher dazu noch etwas schreiben, bis dahin erst einmal englische seite:
    http://pimatic.org/plugins/pimatic-homeduino/

    viele grüße

    daniel

  • Ich habe heute das fertige Image heruter gelade und auf meinem PI installiert. Das Hat auch alles super geklappt und der PI startet ohne Probleme. Nur stehe ich jetzt vor dem Login und weiß nicht was ich eingeben muss. Das Standard Passwort mit pi und raspberry habe ich schon probiert. Könnt ihr mir bitte helfen.

    Gruß Alex

    • raspbian oder raspberry. Auf dem Original image von der Raspberry seite ist es raspberry.
      Das Image von hier sollte namen: pi und pw: raspberry haben. Wenn nicht, mecker gern noch mal, dann prüfe ich das.

      Grüße Daniel

      • Hallo Daniel,

        Vielen Dank für die Antwort. Ich habe nun die BN: Pi und PW: Raspberry oder Raspbian in sämtlichen verschiedenen Kombinationen mit verschiedenen Groß und Klein Geschriebenen Wörtern Probiert.
        Leider kann ich mich nicht einloggen. Ich habe auch das Image nochmal komplett neu heruntergeladen und neu installiert .. nicht das hier der Fehler gewesen wäre aber leider hat das auch nichts gebracht.

        Solltest du mal Zeit haben wäre es cool wenn du das nochmal prüfen könntest :)

        Schon mal Danke im Voraus.

        Gruß Alex

  • Hallo ,

    ich habe Pilight bereits installiert und es funktioniert auch alles wie es soll (Steckdosen,Relay,Sensoren) .
    In der Pilight GUI sehe ich Werte die der DHT22 ausspuckt , in der Pimatic Weboberfläche jedoch nicht….
    Ist es richtig , dass die aktuelle Version von Pilight (7.0) nicht mehr mit Pimatic funktioniert….

    Danke für eure Antworten

  • Hallo,
    erst mal danke für deine Tollen Tut’s, echt klasse Arbeit geleistet !
    Ich habe jetzt ein Raspberry 2 als Mediaserver/Pimatic am laufen. Meine Funksteckdosen schalte ich auch schon damit.
    Jetzt wollte ich zu den Heizthermostaten und feuchtigkeitssensoren (Absaugung im BAD), hierzu die Frage:
    Ist es möglich z.b. ein Aduino nano im Bad einzusetzen der die Daten der Sensoren zum Raspberry schickt und dann auch den Lüfter schalten kann?

    Es wäre Natürlich möglich über eine 2. IP dann nur das BAD einzubinden und ein Pimatic alleine auf dem Aduino laufen zu lassen, aber gibt es auch die Möglichkeit alles Zentral über eine IP dann steuern zu können?

    VlG
    JENS

    • Es geht auf jeden fall, kommt auf dein Know-How an :P Schau dir dazu my-sensors an, das gibt es als pimatic plugin. Du kannst einen arduino mit einem RF modul einbinden. Kosten für ein Modul mit DHT22 sind dann insgesamt nicht über 10€, es lohnt sich also. Wie es mit der Batterielaufzeit aussieht bleibt fraglich, aber über ein 5V netzteil könntest du das ganze im Bad versorgen.

      Grüße

  • Hallo, ich habe leider das Problem wenn ich die config änder von Pilight also wenn ich den Temperatursensor bei Device
    hinzufüge kann ich danach nicht mehr im Browser auf Pilight zugreifen. Wenn ich die einstellung rückgängig mache funktioniert es wieder. Ich weiß nicht was ich falsch mache.

    mfg

  • Hallo,

    auch von mir besten Dank für das Tutorial! Ich beschränke mich aber zunächst nur auf den Temperatursensor.
    Leider schaffe ich es nicht, die config.json zu editieren. Immer wenn ich pilight neu starte, ist die config wieder die alte, ohne die Einträge.
    Was mache ich denn da falsch..?
    Danke und Grüße,

    marexel

  • Hallo
    Könnte man anhand der Temperatur werte ein Scrip schreiben mit dem ich bei einem bestimmten wert z.b. 21 grad den raspberry zum Öffner machen und unter 21 grad zum Schließer,,,,
    quasi als Raumthermostat für eine Heizung.
    Dies in Kombination mit deiner Variante von hier wäre genau richtig für mich bzw. mein Vorhaben…
    Vielen Dank und weiter so

Gib deinen Senf dazu!