Hausautomation mit Fhem auf Raspberry Pi mit Philips hue, Temperaturmodule, FH 20 Funksteckdosen

fhem

Update: 12.10.2013 Erweiterung Blog-Beitrag – 868 MHz Gesundheitsschädlich?

Update: 08.09.2013 Screen-Shot der Desktop-Version – Menü Lichtsteuerung
Update: 14.05.2013 Erweiterung des Blog-Beitrages -> Stromverbrauch messen
Fassen wir mal kurz meine Blog-Beiträge zusammen: Wir haben hier einen günstigen Raspberry Pi (-> Erfahrungsbericht), eine Philips Hue (-> Erfahrungsbericht) und mehrere Philips Living Colors Bloom. Als letzte Hardware kommt eine CC1101  (-> CUL V3 USB Stick CC1101 USB Lite 868MHz incl. Drahtantenne
) noch hinzu. Nun möchte man diese Komponenten mit einer Software steuern, oder sogar sinnvoll miteinander verbinden. Mehr noch, man müsste noch sagen können: Schalte um 5 Uhr das Licht an, fahre die Rolladen hoch, aber nur wenn an einem Arbeitstag ist und keine Ferien. Dafür gibt es Fhem.

Was ist Fhem? FHEM ist ein in perl geschriebener, GPL lizensierter Server für die Heimautomatisierung. Die Software ist kostenlos und kann auf Linux, NAS, Fritzbox 7390 und auf Windows-PCs (Lamp) installiert werden. Sehr gut funktioniert er mit Linux und besonders stromsparend auf einem Raspberry Pi. Der Verbrauch eines Raspberry Pi liegt bei ungefähr 3 W. Er läuft bei mir 24 Stunden und ich nehme ihn unter anderem als XBMC-Mediaserver.

Was kann man damit alles messen und schalten? Ziemlich viel! Es fängt mit Steckdosen an, geht über Temperaturmessung und hört bei zeitgesteuertes Einschalten von Lampen auf. Ich habe meine Philips Hue komplett in Fhem eingebunden. Ebenfalls habe ich meine Energiesparampel (-> Erfahrungsbericht)  mit in Fhem integriert und bekomme so eine Grafik über den Stromverbrauch im Haus. Neben den zahlreichen Plugins könnt ihr auch Euren Samsung TV damit steuern, z. B. die Lautstärke anpassen. Ihr könnt noch einiges mehr steuern, einfach mal auf die FHem.de Homepage gehen.

Wie kann man den Fhem steuern? Traditionell über den PC. Hierzu ruft man die URL des Servers  Eures Raspberry Pi nicht mit Port 80, sondern mit der Portadresse 8083 auf. Es erscheint nach der finalen Konfiguration ein Menü mit allen Informationen über Eure Sensoren und Aktoren. Da das Menü konfigurierbar ist haben viele Ihre Wohnung grafisch dargestellt und können so interaktiv agieren. Hierzu gibt es einige Beispiele: Interessant wird es aber, wenn man sich ein wenig mit der Programmiersprache Perl beschäftigt. Hier kann man mit einigen If / Else – Abfragen sinnvolle Statements scripten. Beispielsweise: Wenn es draußen regnet, dann schalte den Brunnen aus und fahre die Markise rein. Oder auch wenn es dunkel wird (Sonnenuntergang), dann fahre die Rolladen runter, aber auch nur wenn der Türkontakt geschlossen ist. Sonst sperrt man sich selber aus. Ansonsten gibt es ein Web-Interface für das iPhone / iPad oder Android.

Die benötigte Bauteile (Hardware): Als Zentrale hat man den Rasperry Pi:

Natürlich benötigt man spezielle Aktoren und Sensoren um zum Ziel zu kommen. Ich habe bei amazon.de mehrere Temperatur-Module (-> amazon.de: Funk-Temperatur-/Luftfeuchteaußensensor S 300 TH
) gekauft. Bei mir stehen sie im Badezimmer, auf dem Balkon und eines im Eisfach. Diese senden alle paar Minuten die Temperatur sowie die Luftfeuchte zum CUL. Ein CUL sieht aus wie ein USB-Stick und empfängt und sendet die codierten Daten zu den Sensoren und Aktoren. Der CUL wurde bei mir direkt am Raspberry  Pi angeschlossen. Foto siehe weiter unten.  Ebenfalls habe ich die Schaltsteckdose (amazon.de -> FS20 ST-3 Funk-Schaltsteckdose
) gekauft, um eine Lampe in einem anderen Zimmer script-mäßig ein- und auszuschalten. Ein weiteres Highlight ist das Philips-Hue-System, welches ich mir im März gekauft habe. Die Verbindung Fhem / Hue klappt tadellos, wenn man sich einmal durch die Installation durchgekämpft hat. Doch dazu später mehr. Es gibt noch viel mehr Hardware, welche mit der Fhem harmoniert. Und es kommen immer mehr Komponenten dazu. Eine Auflistung der Hardware bekommt man auf der Website. Alles in allem funktioniert sämtliche Hardware bei mir tadellos.

Nachtrag 08.11.2013 Es gibt eine günstigere Alternative zu den recht teuren ASH550 / S555TH, S300th Sensoren, um Luftfeuchte und Raumtemperatur mit FHEM zu messen. Dazu benötigt ihr aber einen Jeelink-Transceiver und die preisgünstigen Sensoren von La Crosse (z. B. TX29-IT). Mehr Informationen gibt es in meinem Blog-Beitrag!

Die Installation auf dem Raspberry Pi: Ich möchte Euch jetzt nicht mit der Installation langweilen, deshalb hier nur mal Probleme, die bei mir bei der Installation aufgeschlagen sind. Bei der Grundinstallation bin ich nach diesem Dokument vorgegangen.

CUL wird nicht richtig erkannt: Falls im Log solche Fehlermeldungen stehen ->

[sourcecode language=“text“ gutter=“false“]YYYY.MM.DD HH:MM:SS 1: usb create starting
YYYY.MM.DD HH:MM:SS 3: Opening CUL device /dev/ttyACM0
YYYY.MM.DD HH:MM:SS 3: Can’t open /dev/ttyACM0: Permission denied
YYYY.MM.DD HH:MM:SS 1: usb create end[/sourcecode]

muss man in der SSH-Kommandozeile folgende Zeilen eingeben:

[sourcecode language=“text“ gutter=“false“]
$ sudo usermod -a -G tty pi
$ sudo usermod -a -G tty fhem
$ sudo usermod -a -G tty root
[/sourcecode]

Steckdose anlernen:
Ist auch ganz interessant:
Hier muss man die Steckdose mit gedrückter Funktionstaste in die Steckdose stecken. Anschließend wird von Fhem per autocreate ein Eintrag erzeugt. Dann auf diesen Eintrag gehen und ein- und ausschalten. Fertig. Das Problem bei der Steckdose ist, das diese keine Einstellungen (DIP-Schalter) für den House-Code hat. Wichtig: Ihr könnt nicht jede x-beliebige Baumarkt-Steckdose, welche im 3er Set für 12,90 Euro angeboten wird, an die Fhem stecken. Diese Steckdosen haben andere Kommunikations-Codes und können von der Software nicht dekodiert werden.

Temperaturmodule S300 TH anlernen:

S 300 TH Temperaturmodul, klicken um zu vergrößern

S 300 TH Temperaturmodul, klicken um zu vergrößern

Das geht ganz einfach. Einfach jedem Temperatur-Modul unterschiedliche Codes geben und Fhem erkennt die Module innerhalb weniger Minuten. An der Rückseite des Temperatur-Feuchtigkeitsmessung-Moduls befinden sich 3 DIP-Schalter. Mit ihnen kann man bis zu 8 Temperatur-Sensoren an dem Fhem anschließen. Die Batterien halten je nach Beanspruchung bis zu 3 Jahre. Ein weiterer Pluspunkt: Der Server erstellt auch sofort ein Plot-Diagramm von jedem Modul. Zur Veranschaulichung gibt es am unten ein Screen-Shot. Eine weitere und kostengünstigere Variante bietet sich die Temperaturmessung über One-Wire-Sensoren an. Dazu habe ich einen separaten Blog-Beitrag geschrieben.

Philips-Hue anlernen:
Das ist etwas schwieriger. Derzeitig (April 2013) gibt es eine Fehlermeldung das JSON nicht installiert wurde. Hierzu muss mit cpan JSON die benötigten Bibliotheken auf dem Pi installiert werden.

Dann das Device (hier die Hue Bridge) anlegen:

[sourcecode language=“text“ gutter=“false“]
define bridge HUEBridge [/sourcecode]

  • Im Log steht jetzt: button not pressed
  • jetzt den weißen Link-Knopf auf der Bridge drücken
  • der Status sollte zu Connected wechseln
  • Nun die einzelnen HUE-Devices werden automatisch angelegt
  • Wichtig: In Fhem per save die Konfiguration und den Key speichern. Der Pairing-Key wird dann in der Konfigurations-Datei gespeichert.

Licht schalten zu bestimmten Uhrzeiten: Hierzu kann man ein kurzes Script schreiben, welche abhängig von der Zeit des Sonnenuntergangs Lampen ein- oder ausschaltet. Bei mir schaltet sich eine Billig-Baumarkt-Steckdose (433 MHz) an, an der eine LED-Lampe angeschlossen ist.

Das sieht dann so aus:

[sourcecode language=“text“ gutter=“false“]

define at_AbendStundAN at *{sunset("REAL",-1800,"16:00","21:00")} set Laterne_LED on[/sourcecode]

A sure 7 Zoll Tablet als Schalterpanel7 Zoll Tablet als Schaltzentrale: Bei eBay habe ich ein preiswertes 7-Zoll-Tablet gekauft (-> Erfahrungsbericht A-Sure Tablet). Damit schalte ich meine Steckdosen und Lampen einfach vom Schreibtisch aus. Ebenfalls lasse ich mir hiermit den Stromverbrauch anzeigen und auch die aktuellen Temperaturen (außen / innen) sowie die Wettervorhersage. Die Panel-Anzeige ist einfaches HTML mit einzelnen SVG-Grafiken als Schaltflächen. Weitere Infos bekommt ihr im Fhem-Forum. Das Tablet habe ich auf einem Acryl-Rahmen von IKEA mit einer Heißluft-Klebepistole geklebt. Euch fällt bestimmt noch was besseres ein! Her mit den Fotos, falls ihr die Ergebnisse zeigen wollt! Der Verbrauch des Tablets hält sich bei mir im 24h-Modus in Grenzen. Ich habe 3,3 W – 3,7 W gemessen.

Strom sparen mit Fhem:

Strom wird ständig teuerer. Mit Fhem und der Stromsparampel (-> siehe Blog-Beitrag) könnt ihr Euch einen Chart erstellen lassen, um Stromfresser zu identifizieren. Die Genauigkeit der Energiespar-Ampel ist hinreichend genug. Bei meinen Messungen seit Anfang Februar 2013 bis heute Mai 2013 hat der Sensor sich um gerade mal 10KWh vermessen. Bei einem Gesamtverbrauch in diesem Zeitraum von 865 KWh ein minimaler Wert. Fhem erkennt den ELV-Sender und dadurch könnt ihr auch eine Grafik erstellen lassen.

Sender der Stromspar-Ampel verbunden mit fhem-Hausautomations-Server

Sender der Stromspar-Ampel verbunden mit fhem-Hausautomations-Server

CUL 1101 Antenne:

CUL zum Anschluß am Respberry Pi, klicken um zu vergrößern

CUL zum Anschluß am Respberry Pi, klicken um zu vergrößern

Ich hatte bei amazon (CUL V3 USB Stick CC1101 USB Lite 868MHz incl. Drahtantenne
) eine Antenne Lamba/4 anlöten lassen. Mit dieser Antenne war ich nicht zufrieden. Der CUL hat keine Daten von der ESA 2000 WZ empfangen. Ich habe diese Antenne wieder abgelötet mit 2 qmm Kupferdraht eine eigene Antenne gebastelt, mit der ich zufrieden bin. Mit get CUL_0 ccconf kann man die aktuelle Frequenz aus der CUL holen. Ich habe mit folgenden Parametern den besten Erfolg gehabt. Frequenz: 868.000 MHz, bWidth: 406KHz, rAmpl 42dB,  Sens: 8 DB. Ihr könnt jeden Wert einzeln anpassen, indem ihr nacheinander im Administrationsbereich eingebt:

[sourcecode language=“text“ gutter=“false“]
set CUL_0 freq 868.300
set CUL_0 bWidth 406
set CUL_0 rAmpl 42
set CUL_0 sens 8
[/sourcecode]

bei CUL_0 auf Groß/Kleinschreibung achten!

Ist der Frequenzbereich von 433 Mhz oder auch 868Mhz gesundheitsschädlich? Hierzu schauen wir mal vergleichsweise die Sendeleistungen anderer bekannter Frequenzen an:

  • Sendeleistung eines GSM-Handys = 33dBm im D-Netz (ca. 900MHz= 2W)
  • Sendeleistung WLAN = 20dBm bei 2,4GHz (100mW)
  • Sendeleistung DECT (1880-1900 MHz) 250mW
  • Homematic im 868,3MHz ISM-Band = max 25mW

Man sieht, das wir hier von keiner Beeinträchtigung der Gesundheit ausgehen können.

Dieser Beitrag wird fortlaufend aktualisiert!

Das könnte Euch auch interessieren:

Temperatur-Plot, Ansicht auf einem iPad

Temperatur-Plot, Ansicht auf einem iPad

fhem Lichtsteuerung Desktop version

fhem Lichtsteuerung Desktop-Version

fhem Temperaturen desktop version

fhem Temperaturen desktop version

CUL - Sende - Empfangseinheit, angeschlossen am Raspberry Pi unter Fhem

CUL – Sende – Empfangseinheit, angeschlossen am Raspberry Pi unter Fhem

A sure 7 Zoll Tablet als Schalterpanel

 

War der Beitrag für Dich sinnvoll?
  • Interessant (0)
  • Nützlich (0)
  • Langweilig (0)
  • Schlecht (0)
  • Genial (2)
Dieser Beitrag wurde unter Fhem-Hausautomation, Philips Hue, Raspberry Pi abgelegt und mit , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

25 Kommentare zu Hausautomation mit Fhem auf Raspberry Pi mit Philips hue, Temperaturmodule, FH 20 Funksteckdosen

  1. Robin sagt:

    Hallo nccfast,

    ja habe ich. Ob es was bringt, weiß ich aber nicht.
    LG
    /robin

  2. nccfast sagt:

    Hallo,
    ich hab noch ein Frage zu der Antenne. Ich hab den CUL 868 von Busware und eine lambda/4 antenne. Da wo die Antenne ist sind drei goldene Streifen. Hast du an jeden Streifen einen Draht angelötet?

  3. Andreas sagt:

    Hallo Robin,
    wie kann ich FHEM so aussehen lassen wie in deinen „Desktop“ Screenshots. Habe die auf http://fhem.de angefühten Frontends durchgesehen…
    Danke!
    Andreas

  4. michael K. sagt:

    Das war der Thread, den ich gesucht habe. Vielen Dank!
    M.

  5. Robin sagt:

    Hallo Michael,
    simples HTML mit Grafiken im SVG-Format, mehr Infos im Fhem-Forum: http://forum.fhem.de/index.php/topic,21846.0.html

    Bei Fragen einfach Fragen.

    LG
    /robin

  6. michael K. sagt:

    Hallo Robin,
    ich bin auf der Suche nach einer simplen Button Lösung, so wie ich sie auf Deinem Tablett sehe. Was ist denn das für eine Lösung?

    Danke – M.

  7. Armin Lediger sagt:

    Hallo Sven,

    ich empfehle hierfür DLAN Adapter von Devolo.

    Wenn Du hierzu Hilfe benötigst, melde Dich einfach via PM.

    Viel Spaß beim Vernetzen.

    Armin

  8. Sven M sagt:

    Hallo ,

    kann mir jemand sagen wie ich den Server über 3 Stockwerke zum laufen bekomme.
    Meine Fritz B ist im dachgeschoss und müsste 3 runter bis in den Keller.

    Vielen Dank

    Sven

  9. Robin sagt:

    Hallo Jim,
    kann ich machen, aber wenn du dir die Kurzdoku für Anfänger von Fhem liest, erklären sich die Lösungen von selber,
    hier der Link zum Forum (http://forum.fhem.de) und unter Anfängerfragen und „Fhem für Einsteiger“ schauen. Dort gibt es PDF-Dokument.
    Nur Kurz: Die Zuweisung der Räume erfolgt mit dem Attribut „room“ und das verwendete Style ist das „Darkstyle“.

    LG
    /robin

  10. Jim sagt:

    Hallo,
    könntest du kurz erklären / posten wie du auf der Linken Seite RPI Auslastung
    Radios, Kamera eingebunden hast?
    und welcher Style ist deine Desktopversion?

  11. Robin sagt:

    Hallo Peter,
    bitte die Frage in dem fhem-forum posten, ist für hier zu speziell.

    LG
    /robin

  12. Peter aus Calw sagt:

    Hallo guten Abend,
    ich habe gerade eben meinen WDE1 an den Raspi gehängt und bekomme tatsächlich die seriellen Daten von den Sensoren(Empf.WDE1 an USB). Nun möchte ich das natürlich in FHEM sehen bzw. irgendwie im Floorplan unterbringen und der weitere Wunsch wäre, mit der Aussentemp und Restwärmetemp meine Blockspeicherzuladung steuern.
    Wie geht denn das ?
    Gruß von einem Greenhorn aus Calw

  13. Pingback: Raspberry Pi – erste Erfahrungen | Robins Blog - Technik und Multimedia

  14. Robin sagt:

    Hallo Martin,
    ich habe hier RaspBMC drauf und ich konnte Fhem nachinstallieren. Fhem läuft übrigens auch mit parallelem XBMC perfekt.
    LG
    /robin

  15. Martin sagt:

    Hi Robin,

    danke für den Hinweis. Openelec hatte ich auch schon installiert, bin dann aber gescheitert dort weitere Sachen zu installieren.

    Die Befehle wie sudo sind bei Openelec nicht mit installiert, daher konnte ich dann nichts nach installieren. Hättest du noch einen Hinweis wie ich da weiter komme?

    Danke
    Martin

  16. Robin sagt:

    Hallo Martin,
    mit dem XBMC-Image habe ich angefangen. Das habe ich in meinem Beitrag auch hier: http://blog.moneybag.de/raspberry-pi-erste-erfahrungen/ erwähnt. Bei einem Reboot startet sofort xbmc, fhem muss ich manuell starten. Das habe ich noch nicht hinbekommen. Macht aber nichts, weil eh stabil läuft und nur alle 2-3 Wochen fahre ich den Pi runter um ein Backup zu machen.

    LG
    /robin

  17. Martin sagt:

    Hi,

    du schreibst, das du XBMC und FHEM parallel laufen hast. Wie hast du XBMC installiert? Eine der vorgefertigten Installationen oder komplett individuell?

    Die meisten Anleitungen die man findet beschreiben wie man vorgefertigte Images auf seinem PI ans laufen bringt, das schließt dann aber das parallele Betreiben leider aus.

    ciao
    Martin

  18. Pingback: Hootoo WLAN Pan / Tilt IP-Webcam – ein Erfahrungsbericht | Robins Blog - Technik und Multimedia

  19. Robin sagt:

    Hallo Fabian,
    richtig, die beiden anderen Drähte außen haben Lambda /4 . Länge. Habe ich so gemacht, weil ich die Drähte direkt an der Platine angelötet habe. Vielleicht sollte man doch eine SMA-Kupplung für PCB vorher dranlöten. RSSI-Werte unter -80 sind ok, ich habe bei meinem ESA 2000 WZ Werte um die -90, die kommen auch nicht regelmässig, obwohl der Sender im Keller alle 3 min einen Wert sendet. Oben zeigt die Software trotzdem die richtigen Werte an (Vergleich Stromzähler / Strom-Ampel siehe meinen Blogbeitrag).

    LG
    /robin

  20. Robin sagt:

    Hallo Fabian,
    in dem S300Th-Set sind die Batterien mit enthalten. Keine speziellen Batterien genommen, je kälter, je besser, weil der Selbstentladevorgang sich verlangsamt.

    LG
    /robin

  21. Fabian sagt:

    Hast du spezielle Batterien in deinem S300TH der in der Tiefkühltruhe liegt? Würde meinen auch gerne da rein schmeißen.

  22. Fabian sagt:

    Hallo!

    Hab das gerade mal ausprobiert. Eine wesentliche Empfangsverbessung kann ich noch nicht ganz spüren, aber die IT’s schalten zur Zeit problemlos. Das war aber auch manchmal vorher der Fall. Naja mal schauen. Die S 300 TH’s haben jetzt einen leicht verbesserten RSSI Wert. Zwischen -56 und -60. Das ist ja schonmal gut oder? Nur der Aussen S300TH hat immer noch > -80
    Ich denke ich werd die 2 anderen Drähte auch noch dranlöten, vielleicht bringts ja was. Sind die gleich lang? Am Foto schauen sie irgendwie kürzer aus.
    Das die Sensoren regelmäßig senden bin ich mir ziemlich sicher. Hatte vorher eine XS1 und da kam alle 2-3 eine Temperatur rein.

    Derzeit trage ich den CUL in der ganzen Wohnung rum um den besten Standort zu finden. Derzeit ist er wie gesagt ziemlich Zentral gelegen. Ca. 30cm von der Wand weg und er hängt von der Decke runter. Eine Lampe ist in der Nähe das könnte vielleicht auch ein Problem sein. Ich werd ihn mal nochmal umhängen.

    Grüße

  23. Robin sagt:

    Hallo Fabian,

    Lambda=c/f , also wenn Du optimal bei 868 MHz schalten möchtest (intertechno hat 433 MHz), dann ist der mittlere Draht 34,5 cm, bei Lambda / 2 17,2 cm, Lambda / 4 8.6 cm. Ich habe die 17.2 cm Variante genommen. Etwas dickeren Kupferdraht nehmen, 2,5 qmm, abisolieren und an der CUL dranlöten. Ob die beiden anderen Drähte links und rechts was bringen, weiß ich nicht. Bei funktioniert die Antenne zumindest super. 1 Stockwerk zu schalten sollte locker gehen. Wichtig ist auch die richtige Position und Lage der Antenne, am besten ausprobieren, drehen usw. Wenn man bei die die Antenne nicht richtig ausrichtet, kommt nichts an. Aber bei zwei Etagen inkl. Fussbodenheizung möchte ich nicht meckern. Ebenfalls ist der ESA 2000 WZ – Sender zur Strommessung auch noch im geschlossenen Metall-Stromkasten untergebracht.
    Ob von den Sensoren bei Dir überhaupt was ankommt, kannst du mithilfe einer DVB-T-Karte testen. Dazu habe ich auch einen Beitrag geschrieben.

    Lese Dir auch meine anderen Beiträge durch.

    Bei der Intertechno (ich habe nur die Billig-Baumarkt-Variante) habe ich eine alte mitgelieferte Fernbedienung von dem Set genommen. Diese hat also eine separate Antenne, 50cm Kupferdraht reicht aus. Ich habe dafür auch einen Beitrag für den Arduino geschrieben, das Ganze läuft aber jetzt mit dem RPi und Fhem.

    Bitte um Info, wenn es funktioniert!

    LG
    /robin

  24. Fabian sagt:

    Hallo!

    Ich hab mir auch eine Lambda/4 Mikroantenne von Busware anlöten lassen und bin leider auch nicht zufrieden. Meine Intertechno Steckdosen schalten unzuverlässig und die S 300 TH Sensoren werden unregelmäßig empfangen. Manchmal alle 3 Minuten dann kommt hin und wieder mal für 1-2 Stunden nichts. Hab eine 1 Etagen Wohnung mit rund 80m2 und der CUL ist Zentral platziert.
    Hab mir schon überlegt eine RP-SMA Antenne 868MHz 15cm zuzulegen und die Buchse anzulöten. Aber deine Draht Antenne sieht auch ganz nett aus und würde das auch gerne vorher versuchen. Wie lang hast du die Drähte gemacht?

    Grüße aus Österreich
    Fabian

Schreibe einen Kommentar

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