FHEM: Unterschied zwischen den Versionen

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen
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…“
 
Keine Bearbeitungszusammenfassung
Zeile 35: Zeile 35:
Die Seite http://fhem.de/commandref.html#at listet eine Reihe von Beispielen:
Die Seite http://fhem.de/commandref.html#at listet eine Reihe von Beispielen:


# absolute ones:
absolute ones:
   define a1 at 17:00:00 set lamp on                            # fhem command
   define a1 at 17:00:00 set lamp on                            # fhem command
   define a2 at 17:00:00 { Log 1, "Teatime" }                  # Perl command
   define a2 at 17:00:00 { Log 1, "Teatime" }                  # Perl command
Zeile 41: Zeile 41:
   define a4 at *17:00:00 set lamp on                          # every day
   define a4 at *17:00:00 set lamp on                          # every day


# relative ones
relative ones
   define a5 at +00:00:10 set lamp on                  # switch the lamp on in 10 seconds
   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 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
   define a7 at +*{3}00:00:02 set lamp on-for-timer 1  # Blink 3 times


# Switch the lamp on from sunset to 11 PM
Switch the lamp on from sunset to 11 PM
   define a9 at +*{sunset_rel()} set lamp on
   define a9 at +*{sunset_rel()} set lamp on
   define a10 at *23:00:00 set lamp off
   define a10 at *23:00:00 set lamp off


# More elegant version, works for sunset > 23:00 too
More elegant version, works for sunset > 23:00 too
   define a11 at +*{sunset_rel()} set lamp on-till 23:00
   define a11 at +*{sunset_rel()} set lamp on-till 23:00


# Only do this on weekend
Only do this on weekend
   define a12 at +*{sunset_rel()} { fhem("set lamp on-till 23:00") if($we) }
   define a12 at +*{sunset_rel()} { fhem("set lamp on-till 23:00") if($we) }


# Switch lamp1 and lamp2 on from 7:00 till 10 minutes after sunrise
  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)}
   define a13 at *07:00 set lamp1,lamp2 on-till {sunrise(+600)}


# Switch the lamp off 2 minutes after sunrise each day
  Switch the lamp off 2 minutes after sunrise each day
   define a14 at +{sunrise(+120)} set lamp on
   define a14 at +{sunrise(+120)} set lamp on


# Switch lamp1 on at sunset, not before 18:00 and not after 21:00
  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
   define a15 at *{sunset(0,"18:00","21:00")} set lamp1 on



Version vom 23. Mai 2011, 13:20 Uhr

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:

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

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

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

More elegant version, works for sunset > 23:00 too

 define a11 at +*{sunset_rel()} set lamp on-till 23:00

Only do this on weekend

 define a12 at +*{sunset_rel()} { fhem("set lamp on-till 23:00") if($we) }
 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)}
 Switch the lamp off 2 minutes after sunrise each day
 define a14 at +{sunrise(+120)} set lamp on
 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