FHEM

Aus Zebradem WIKI
Version vom 19. Mai 2011, 20:30 Uhr von Mandy28 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Um z.B. die Komponenten aus der "FS20"-Serie in FHEM einzubinden, ist es erforderlich, sich vorher mit der Arbeitsweise der FS20-Module vertraut zu machen. Die…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Um z.B. die Komponenten aus der "FS20"-Serie in FHEM einzubinden, ist es erforderlich, sich vorher mit der Arbeitsweise der FS20-Module vertraut zu machen. Die folgenden Beschreibungen sind entnommen aus http://fhem.de/HOWTO.html und http://fhem.de/commandref.html

Dem FHEM Image liegt eine Konfigurationsdatei von FHEM bei. Nach der Installation des FHEM Image auf der Box liegt dieses im internen Speicher im Verzeichnis /opt/etc/fhem.cfg und kann auch innerhalb der FHEM-Webseiten (http://192.168.178.1:8083/fhem?cmd=style%20edit%20fhem.cfg) bearbeitet werden.

Durch Hinzufügen der Zeilen

 #define autocreate autocreate
 #attr autocreate autosave 1
 #attr autocreate device_room %TYPE
 #attr autocreate filelog /opt/fhem/log/%NAME-%Y.log
 #attr autocreate weblink 1
 #attr autocreate weblink_room Plots

erkennt FHEM Geräte in der Umgebung automatisch, sobald es Übertragungen von diesem empfängt und legt in der FHEM Konfiguration neue Geräte an.

Wird z. B. der Schaltvorgang eines FS20 Handsenders mit dem Hauscode a751 und Tastencode 01 empfangen, legt FHEM ein neues Gerät mit der Bezeichnung FS20_a75101 an.

Umbenennung von erkannten Geräten

Wäre z.B. ein darauf reagierender Aktor ein Funkschalter FS20 ST könnte dieser Zuweisung von passendem Namen und Darstellung in der FHEM Weboberfläche eingebunden werden.

Dazu kann das neue Gerät durch Eingabe des Kommandos

rename FS20_a75101 Steckdose

in der FHEM Kommandozeile in "Steckdose" umbenannt werden und durch

attr Steckdose model fs20st

dem Webinterface als Funkschalter bekannt gemacht werden. Eine Liste der von FHEM unterstützten FS20 Geräte findet sich hier: http://fhem.de/commandref.html#model

Aktionen zu bestimmten Uhrzeiten durchführen

Um Aktionen zu bestimmten Zeitpunkten oder periodisch durchzuführen, sind Zeitregeln vom Typ "at" zu definieren. Die Seite http://fhem.de/commandref.html#at listet eine Reihe von Beispielen:

  1. absolute ones:
 define a1 at 17:00:00 set lamp on                            # fhem command
 define a2 at 17:00:00 { Log 1, "Teatime" }                   # Perl command
 define a3 at 17:00:00 "/bin/echo "Teatime" > /dev/console"   # shell command
 define a4 at *17:00:00 set lamp on                           # every day
  1. relative ones
 define a5 at +00:00:10 set lamp on                  # switch the lamp on in 10 seconds
 define a6 at +00:00:02 set lamp on-for-timer 1      # Blink once in 2 seconds
 define a7 at +*{3}00:00:02 set lamp on-for-timer 1  # Blink 3 times
  1. Switch the lamp on from sunset to 11 PM
 define a9 at +*{sunset_rel()} set lamp on
 define a10 at *23:00:00 set lamp off
  1. More elegant version, works for sunset > 23:00 too
 define a11 at +*{sunset_rel()} set lamp on-till 23:00
  1. Only do this on weekend
 define a12 at +*{sunset_rel()} { fhem("set lamp on-till 23:00") if($we) }
  1. Switch lamp1 and lamp2 on from 7:00 till 10 minutes after sunrise
 define a13 at *07:00 set lamp1,lamp2 on-till {sunrise(+600)}
  1. Switch the lamp off 2 minutes after sunrise each day
 define a14 at +{sunrise(+120)} set lamp on
  1. Switch lamp1 on at sunset, not before 18:00 and not after 21:00
 define a15 at *{sunset(0,"18:00","21:00")} set lamp1 on


Aktionen durch Sensoren auslösen

Um Aktionen durch Sensoren auszulösen, sind Regeln vom Typ "notify" oder "watchdog" zu definieren, z.B.

  1. Blink 3 times if the piri sends a command
 define n1 notify piri:on.* define a8 at +*{3}00:00:02 set lamp on-for-timer 1

schaltet das Gerät "lamp" 3x in Folge an und aus, wenn das Gerät "piri" (Bewegungsmelder) auslöst.

Komplexere Beispiele finden sich unter:

http://fhemwiki.de/index.php/Schalten_mit_mehreren_Bedingungen http://fhemwiki.de/index.php/Category:Code_Snippets

Die FHEM Community diskutiert auf:

http://groups.google.com/group/fhem-users