Zeitsteuerung um 0:00 Uhr alle Lampen aus ?

2,106 views
Skip to first unread message

Doyanole

unread,
Dec 17, 2012, 10:51:27 AM12/17/12
to fhem-...@googlegroups.com
Hallo

ich wollte mal fragen ob es per FHEM machbar ist , dass man entweder Pro FS20 steuerung um eine Zeit X automatisch alles abschaltet, respektive mehrere FS20 automatisch abschaltet um eine gewisse uhrzeit ?


Danke im voraus

puschel74

unread,
Dec 17, 2012, 10:52:25 AM12/17/12
to fhem-...@googlegroups.com
Hallo,

ja, ist möglich.

Grüße

Doyanole

unread,
Dec 17, 2012, 10:53:12 AM12/17/12
to fhem-...@googlegroups.com
hehe, danke , und wie ?

Martin Thomas Schrott

unread,
Dec 17, 2012, 10:58:25 AM12/17/12
to fhem-...@googlegroups.com
Schau mal in die command ref auf der fhem seite:

at
Start an arbitrary fhem.pl command at a later time.
Define
define <name> at <timespec> <command>
<timespec> format: [+][*{N}]<timedet>
The optional + indicates that the specification is relative(i.e. it will be added
to the current time).
The optional * indicates that the command should be executed repeatedly.
The optional {N} after the * indicates,that the command should be repeated N-times
only.
<timedet> is either HH:MM, HH:MM:SS or {perlfunc()}, where perlfunc must return a
HH:MM or HH:MM:SS date.
Examples:
    # 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 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
# 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
# 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
Notes:
if no
* is specified, then a command will be executed only once, and then the at
 entry will be deleted. In this case the command will be saved to the statefile (as
it considered volatile, i.e. entered by cronjob) and not to the configfile (see the
save
 command.)
if the current time is greater than the time specified, then the command will be
executed tomorrow.
For even more complex date handling you either have to call fhem from cron or filter
the date in a perl expression, see the last example and the section
Perl special
.
Set
N/A
Get
N/A
...

lG
Martin
--
To unsubscribe from this group, send email to
fhem-users+...@googlegroups.com

puschel74

unread,
Dec 17, 2012, 10:59:12 AM12/17/12
to fhem-...@googlegroups.com
Hallo,

mit einem

define Alles_Aus at +00:00:00 set lampe1 off;;set lampe2 off;;set lampe3 off;;

Oder einem structure (siehe Commandref)

Alles ungetest - bitte in der Commandref unter at nachschauen oder im Einsteiger-PDF
nachlesen.

Grüße

Mister Eltako

unread,
Dec 17, 2012, 11:46:42 AM12/17/12
to fhem-...@googlegroups.com
Kann es sein, das man mehrere Schaltbefehle zu gleichen Zeit z.B. 22:00 Uhr nicht senden kann?

Habe 3 Lampendefinitionen mit jeweils eigenen "at"-Befehlen um 22:00 zum Ausschalten.
Dabei schaltet nur eine, obwohl im Log alle 3 Befehle stehen.

define aus1 at *22:00:00 set Lampe1 off
define aus2 at *22:00:00 set Lampe2 off
define aus2 at *22:00:00 set Lampe3 off

Versetze ich aber die Schaltzeiten um jeweils 3s klappt es, das alle Lampen aus sind....

MfG, MisterEltako.

UliM

unread,
Dec 17, 2012, 1:54:53 PM12/17/12
to fhem-...@googlegroups.com
Warum nicht

define aus1 at *22:00:00 set Lampe1,Lampe2,Lampe3 off

?

kossmann

unread,
Dec 17, 2012, 2:21:34 PM12/17/12
to fhem-...@googlegroups.com
Abgesehen davon, dass du aus2 doppelt definiert hast, was sicher nur ein Tippfehler ist, würde ich das ganze auch in einem einzigen define abarbeiten lassen. Du nimmst eine Anweisung von Chef doch auch nur einmal (zeitlich betrachtet) entgegen, auch wenn sie mehrere Anweisungen enthält. Stellt dir vor, 3 Chefs würden parallel auf dich einreden ;-) "Chef" soll hier natürlich für "define ... at" stehen.

Noch kürzer sollte (!?) ein

define LampenAus at *22:00 set Lampe[1-3] off

sein.

Doyanole

unread,
Dec 17, 2012, 2:24:11 PM12/17/12
to fhem-...@googlegroups.com
Ok, das klappt, kann man nun auch noch das ganze so eigeben , dass man es variabel ist, und man z.b. im floorplan angeben kann An oder Aus um : XX XX ?

UliM

unread,
Dec 17, 2012, 7:49:21 PM12/17/12
to fhem-...@googlegroups.com
Jawohl :)
Such mal in der commandref nach dem Stichwort timepicker.
=8-)

Doyanole

unread,
Dec 18, 2012, 2:12:47 AM12/18/12
to fhem-...@googlegroups.com
hui,

da steht nur das hier :


webCmd
Colon separated list of commands to be shown in the room overview for a certain device. On smallscreen devices only the first value is accessible.
If the first value references a command, for which "set device ?" lists a number possible choices (e.g. desired-temp for FHT devices), then a select widget will be displayed. If the values are "slider,min,step,max", then a javascript driven slider is displayed. if the value is "time", then a javascript timepicker is displayed. If the command is state, then the value will be used as a command.
Examples:
    attr lamp webCmd on:off:on-for-timer 10
    define d1 dummy
    attr d1 webCmd state
    attr d1 set setList state:on,off
    define d2 dummy
    attr d2 webCmd state
    attr d2 set setList state:slider,0,1,10
    define d3 dummy
    attr d3 webCmd state
    attr d3 set setList state:time
Note: this is an attribute for the displayed device, not for the FHEMWEB instance.


wie würde ich das denn nun setzen ? Wieso sind all diese dummy's drin ?
Sorry aber ich hab's nicht so mit programmieren , ich versuche das ganze langsam zu lernen , aber das is ziemlich heftig (für mich jedenfalls)

Danke für die Hilfe !!!

UliM

unread,
Dec 18, 2012, 3:20:33 AM12/18/12
to fhem-...@googlegroups.com
define d3 dummy
attr d3 webCmd state
attr d3 setList state:time

Doyanole

unread,
Dec 18, 2012, 3:27:06 AM12/18/12
to fhem-...@googlegroups.com
aber wieso d3 ? und wie macht er den Link mit der Lampe. nehmen wir mal an die Lampe heisst lamp1

wäre es dann :

define lamp1 dummy
attr lamp1 webCmd state
attr lamp1 setList state:time ?

falls ja , bekomme ich ne fehlermeldung dass lamp1 schon definiert worden ist...

UliM

unread,
Dec 18, 2012, 3:39:25 AM12/18/12
to fhem-...@googlegroups.com
Hi,
das ist ja nur ein Beisüiel, Du kannst das bei Dir nennen wie Du wollst.
Der Dummy (im Bsp d3) trägt nur die Uhrzeiteinstellung.
Diese übergibst Du per notify an Dein at.

Siehe http://www.fhemwiki.de/wiki/Wakeuplight
im unteren Teil.

Gruß, Uli

Doyanole

unread,
Dec 18, 2012, 5:09:31 AM12/18/12
to fhem-...@googlegroups.com
wir kommen der sache schon näher...

im moment steht im fhem nur state mit einem + Button. wenn ich den + Button drücke kommt automatisch 12:00 , und ich kann nichts anderes änderen. 

hier mal meine config :

define k3_beemchen FS20 3e9e 02
attr k3_beemchen fp_Living 400,1000,1, Beemchen
attr k3_beemchen room Living
define FileLog_k3_beemchen FileLog ./log/k3_beemchen-%Y.log k3_beemchen
attr FileLog_k3_beemchen logtype text
attr FileLog_k3_beemchen room FS20

define beemchen dummy
attr beemchen webCmd state
attr beemchen setList state:time
define n_beemchen notify k3_beemchen {fhem("modify k3_beemchen *%");;}

ich gehe mal davon aus ,dass die variable *% noch falsch ist , oder irre ich mich ?

Deckoffizier

unread,
Dec 18, 2012, 7:07:57 AM12/18/12
to fhem-...@googlegroups.com

Hallo,
vielleicht nicht so auf dem ersten Blick sichtbar, es sind Schieberegler versuch mal die Kästchen nach links ,rechts zu bewegen.

Gruß Hans-Jürgen



UliM

unread,
Dec 18, 2012, 7:20:37 AM12/18/12
to fhem-...@googlegroups.com


Am Dienstag, 18. Dezember 2012 11:09:31 UTC+1 schrieb Doyanole:
define n_beemchen notify k3_beemchen {fhem("modify k3_beemchen *%");;}

Du willst ja das at ändern, wenn der dummy geändert wurde, also muss die regexp auf beenchen (ohne k3_) gehen:
define n_beemchen notify beemchen {fhem("modify k3_beemchen *%");;}

Das modify geht auf ein FS20-device, muss aber ein at ansprechen.
Es fehtl also
define k4_beemchen at *09:00 set k3_beemchen on

und dann das notify glattziehen:
define n_beemchen notify beemchen {fhem("modify k4_beemchen *%");;}


Mister Eltako

unread,
Dec 19, 2012, 4:45:11 AM12/19/12
to fhem-...@googlegroups.com
Hallo!

Muss mich nochmals zum o.g. ursprünglichen Thema der Zeitschaltung melden.
Habe jetzt wie von UliM vorgeschlagen:

define Außenlampen_aus at *22:00:00 {\
    fhem (set Außenlampe_Suedseite off);;\
    fhem (set Außenlampe_Westseite off);;\
    fhem (set Außenlampe_Ostseite off);;\
}
definiert.
Die Befehle werden alle 3 um genau 22:00 gesendet. Aber:
Dabei passiert es aber, dass nur einer der Aktoren geschaltet wird. Die beiden anderen schalten nicht und liefern "Missing Ack" zurück.

Stelle ich aber die Definition um und versetze die Befehle um 1-2s (s.u.) geht es!!!! Oder gebe ich den Befehl manuell in der Komandozeile einzeln für jede Lampe ein geht es auch! Also kein Reichweitenproblem!

define Außenlampe1_aus at *22:00:00 { fhem (set Außenlampe_Suedseite off);;}
define Außenlampe2_aus at *22:00:01 { fhem (set Außenlampe_Westseite off);;}
define außenlampe3_aus at  *22:00:02{ fhem (set Außenlampe_Ostseite off);;}

Ist das normal????? Gesendet wird über HMLAN.

MfG, MisterEltako.

kossmann

unread,
Dec 19, 2012, 5:10:48 AM12/19/12
to fhem-...@googlegroups.com
Ich kann dazu nur sagen, dass mit einem CUL868 und Intertechno-Dosen folgendes funktioniert

define Job_Wohnzimmer_Weihnachtslicht_Morgens_An at *06:30 { \
  if ( !($we) ) { \
    fhem("set Wohnzimmer_FunkSteckdose[13] on");; \
  } \
}

Es soll nur FunkSteckdose1 und ...3 geschaltet werden, mit [1-3] hat es aber auch funktioniert (an Nr. 2 hängt eine Lavalampe, das lohnt sich morgens nicht). Für off um 8 Uhr gilt gleiches - es funktioniert.

Du könntest ein sleep 1 zwischen die Schaltungen setzten und es in einem define lassen.

Mister Eltako

unread,
Dec 19, 2012, 5:27:23 AM12/19/12
to fhem-...@googlegroups.com
Also liegt es am HMLAN-adapter??? Aber FHEM sendet ja alle 3 Befehle korrekt, nur kommen die sich wohl in die Quere....

MfG, MisterEltako

kossmann

unread,
Dec 19, 2012, 5:29:27 AM12/19/12
to fhem-...@googlegroups.com
Die Frage kann dir nur jemand beantworten, der ebenfalls einen HMlan-Adapter hat.

fhem-hm-knecht

unread,
Dec 19, 2012, 5:49:35 AM12/19/12
to FHEM users
@Mister Eltako

sind das einzelne Aktoren, oder 2-4Fach aktor?

Hary

Mister Eltako

unread,
Dec 19, 2012, 6:02:31 AM12/19/12
to fhem-...@googlegroups.com
Es sind 3 einzelne Aktoren (Homematic UP für Markenschalter 1-fach).

fhem-hm-knecht

unread,
Dec 19, 2012, 6:41:41 AM12/19/12
to FHEM users
ich habe bei mir gerade ein sleep von 0,5 sec eingebaut,
das sich bei mir als nahe 100% funktioniert.
bei mir sind es 10 Rolllaeden die runter, bzw hoch fahren
und das licht geht im Wohnzimmer an.
mußt du ausprobieren.
Du kannst auch mal schauen, wie dein rssi je device aussieht,
Werte zw 40 und 70 sind ok 80 -100 kann, muß aber nicht.
ich habe in meiner Installation 2 Hmlan und einen Cul, jedes Device
ist über attr io zugeordnet.
ich habe auch 2 launische schaltactoren, der eine redet nur mit dem
Cul, der andere nur mit dem Hmlan,
db werte um die 50, luftlinie 3m vom Sender... ist halt HF

z.b. aus der fhem.cfg direkt
define sonneunter_eg_3 at *{sunset(0,"20:35","23:10")} set eg_Roll1
zu;;sleep 0,5;;set eg_Roll2 zu;;sleep 0,5;;set eg_Roll3 zu;;sleep
0,5;;set eg_Roll4 zu;;sleep 0,5;;set eg_ku zu;;sleep 0,5;;set eg_klo
zu;;

Hary

Mister Eltako

unread,
Dec 19, 2012, 7:38:40 AM12/19/12
to fhem-...@googlegroups.com
Das ist ja letztendlich das gleiche, als wenn ich es wie o.g. um jeweils 1s versetze. Keine schöne Lösung, wie ich finde. Mit den RSSI-Werten muss ich erst heute Abend schauen.

Ist das eingebaute "sleep" bei dir nicht das, welches FHEM jeweils kurz blockiert???

fhem (sleep 0.5;; set <device> on;; sleep 0.5;; set <device> on);;
ist dagegen nicht blockierend. Oder liege ich da falsch?

Hatte mir mit dem "falschen sleep" schon Mal eine wunderschöne Endlosschleife produziert..... :o(

MfG, MisterEltako.

fhem-hm-knecht

unread,
Dec 19, 2012, 8:28:24 AM12/19/12
to FHEM users
> Ist das eingebaute "sleep" bei dir nicht das, welches FHEM jeweils kurz
> blockiert???

das ist dem Rudi sein sleep, da kannst du auch spielen ,welcher wert
für dich funktioniert,
zumal der cul-hmlan theoretisch ein sleep von 0,3 sec automatisch hat.

unschöne Lösung, find ich das nicht.
es ist ja auch nur ein Ansatz, wo das Problem bei dir liegen könnte.
und nicht vergessen, Funk ist keine Einbahnstrasse, da quasselt jeder,
und der Trick ist für Antworten einen Zeitschlitz freizuhalten
hary
Reply all
Reply to author
Forward
0 new messages