Timer im Schalter in fhem.cfg definieren - HomeMatic

7,684 views
Skip to first unread message

meesus

unread,
Aug 16, 2011, 5:37:34 PM8/16/11
to FHEM users
Hallo zusammen,

ich habe mir von HomeMatic den HM Lan Konfigurations Adapter und den
HM-LC-Sw4 PCP (4Kanal Schaltaktor) besorgt. Hintergrund ist der, dass
ich damit gerne meine Bewässerungsanlage steuern wollte. Da ich mit
meiner Fritzbox noch warten wollte habe ich Fhem 5.1 auf Ubunto
aufgespielt.
Geräte angelernt, so weit so gut. Über Fhem lassen sich auch wunderbar
die 4 Kanäle schalten. Bin leider noch auf diesem Gebiet absoluter
Newbie.
Jetzt wollte ich gerne einen Schalter mit einem Timer versehen und
verzweifle hierbei wirklich….
Unter dem Homematic Konfigurationsprg. sieht auch alles wunderbar aus.
Timer für 10 sek damit definiert, klappt am Hardware Taster und mit
dem HM Prg. wunderbar. Setze ich ein „set Lamp1 on-for-timer 10“ aus
der Fhem Console ab geht es auch. Leider ist es mir bis jetzt nicht
gelungen den Timer in der „fhem.cfg“ mit einzubinden. Hier gab es
schon einmal so eine ähnliche Anfrage aber mit FS20 Devices.
Der dort angegebene Tip, ich glaube der kam natürlich von Rudi, dieses
vorher mit „set Lamp1 timer 10“ zu setzen klappt bei mir leider
nicht… „Unknown argument timer, choose one of pair raw reset sign
statusRequest unpair off on on-for-timer toggle”
Also ich wollte einfach nur einen Schalter aktivieren der dann für
eine bestimmte Zeit aktiv ist und dann wieder nach der definierten
Zeit auf Off geht, ohne das ich dieses in der Console extra eingeben
muss. Ist dieses so möglich?

hmayr

unread,
Aug 16, 2011, 6:29:01 PM8/16/11
to FHEM users
Hallo meesus

eine Möglichkeit wäre in der fhem.cfg folgendes einzutragen:


define Schalter dummy
attr Schalter eventMap on:on off:off
attr Schalter room Schalter

define Lamp1On_for10sec notify Schalter.on { \
fhem ("set Lamp1 on-for-timer 10") ;; \
fhem ("define SchalterOff at +00:00:10 set Schalter off")}

define Lamp1Off notify Schalter.on {fhem ("set Lamp1 off")}



Der 2. Teil des vorletzten defines sorgt dann dafür, dass der Schalter
auch wieder "OFF" anzeigt.
Die letzte Zeile schaltet mit dem Schalter die Lampe wieder aus.

Viele Grüße,

Harry


hmayr

unread,
Aug 16, 2011, 6:40:18 PM8/16/11
to FHEM users
Ooops, letzte Zeile muss natürlich folgendermaßen lauten:

define Lamp1Off notify Schalter.off {fhem ("set Lamp1 off")}


außerdem kann man den erstn notify auch so definieren:

define Lamp1On_for10sec notify Schalter.on { \
fhem ("set Lamp1 on") ;; \
fhem ("define SchalterOff at +00:00:10 set Schalter off")}


dies hat den Vorteil, dass nach einem Refresh der Web-Oberfläche (nach
min. 10 Sekunden) die Lampe und der Schalter wieder auf OFF stehen.
Die Zeitangabe +00:00:10 kannst du beliebig ändern, hat auch meines
Wissens den Vorteil dass sie Sekundengenau ist, während beim on-for-
timer, abhängig von der Gesamtzeit, nur bestimmte Zeitspannen möglich
sind (zumindestens ist es bei FS20 so).

Nun dann, gute Nacht,

Harry

meesus

unread,
Aug 16, 2011, 6:52:29 PM8/16/11
to FHEM users
Hallo Harry,

danke ersteinmal für die Info.
Leider bekomme ich aber dann folgende Meldung ohne Schalter Symbol:

CUL_HM

Schalter ???



unter STATE steht dann "???"


hmayr

unread,
Aug 17, 2011, 12:45:18 AM8/17/11
to FHEM users
Hallo meesus,

auch wenn du oben links den Raum Schalter anklickst?
Du kannst dann mal

set Schalter on

eingeben. Bei mir wars so, dass der Schalter, wenn er allein einem
Raum zugeordnet ist, auch die Buttons On und Off angezeigt hat.

Viele Grüße,

Harry

Rudolf Koenig

unread,
Aug 17, 2011, 2:23:55 AM8/17/11
to fhem-...@googlegroups.com
> Leider ist es mir bis jetzt nicht gelungen den Timer in der ?fhem.cfg? mit
> einzubinden.

Ich verstehe nicht wirklich, wo das Problem ist, muss aber auch zugeben, dass
ich selbst bei FS20 nie timer verwende, nur on-for-timer.

Fuer HM habe ich (noch?) nicht alle Befehle implementiert, einerseits weil fuer
mich nicht ganz klar ist, wozu die gut sind, andererseits (wie in diesem Fall)
weil fuer HM sie deutlich aufwendiger zu implementieren sind als z.Bsp. beim
FS20 oder EnOcean.

Wenn der HM-Konfigurator den Timer setzen kann, dann wuerde ich vorschlagen, es
damit zu setzen, und im fhem mit "on" verwenden.

meesus

unread,
Aug 17, 2011, 9:13:09 AM8/17/11
to FHEM users
Hallo Harry, hallo Rudi

@Harry: Danke, ich werde es heute oder morgen testen. Ich befürchte
aber fast das es mit HM nicht so einfach ist, wie ich Rudi verstanden
habe.

@Rudi:

Schade wenn es nicht geht, hätte ich mir dann doch lieber die FS20
Variante holen sollen.

> Wenn der HM-Konfigurator den Timer setzen kann, dann wuerde ich vorschlagen, es
> damit zu setzen, und im fhem mit "on" verwenden.
Ich wollte gerne alles über das Fhem abwickeln, mit dem Timer finde
ich bei der Bewässerungsanlage sehr sinnvoll, da ich dann die
Sicherheit habe das nach einer Zeit das Wasser nicht die ganze Straße
überflutet - lol...

Ich probiere mal den Vorschlag von Harry aus.

Gruss Micha

Rudolf Koenig

unread,
Aug 17, 2011, 10:09:29 AM8/17/11
to fhem-...@googlegroups.com
> Ich wollte gerne alles �ber das Fhem abwickeln, mit dem Timer finde
> ich bei der Bew�sserungsanlage sehr sinnvoll, da ich dann die
> Sicherheit habe das nach einer Zeit das Wasser nicht die ganze Stra�e
> �berflutet - lol...

Dafuer ist doch "on-for-timer" da. Ich verstehe nicht, wieso Du unbedingt
timer verwenden willst.

meesus

unread,
Aug 17, 2011, 10:22:06 AM8/17/11
to FHEM users
Hallo Rudi,

thx für die schnelle Reaktion.

aber der "on-for-timer" funzt aus der Console ... nur nicht aus der
cfg heraus.

Setze ich ein „set Lamp1 on-for-timer 10“ aus
der Fhem Console ab geht es auch. Leider ist es mir bis jetzt nicht
gelungen den Timer in der „fhem.cfg“ mit einzubinden

mit dem Timer war es für mich als Newbie nur ein Versuch das es
vielleicht doch in der cfg klappt.

UliM

unread,
Aug 17, 2011, 10:28:35 AM8/17/11
to FHEM users
Hi,
brauchst Du vll ein notify, das dann den on-for-timer ausloest?
Siehe commandref 'notify' bzw 'fhem fuer Einsteiger' Seite 11.
=8-)

JörgR

unread,
Aug 17, 2011, 11:36:39 AM8/17/11
to FHEM users
Hallo meesus,

ich setzte 2 HM-LC-SW4-PCB`s für die Bewässerungssteuerung
zeitgesteuert mit on-for-timer ein.
Um den Komfort im Webinterface für meine Frau zu erhöhen :-), falls
Sie doch mal einfach zeitgesteuert manuell einen Strang bewässern
möchte, habe ich aus Zeitgründen erst mal 2 Buttons [15] und [30] mit
on-for-timer in 01_FHEMWEB.pm hinzugefügt. Besser wäre es wenn man das
individuell in der fhem.cfg und im 01_FHEMWEB.pm über NAME realisieren
könnte aber dafür fehlt mir jetzt die Zeit.

nach der Zeile
pH "cmd.$d=set $d off$rf", "${sp}off{sp}", 1;

if ($type eq "switch") {
pH "cmd.$d=set $d on-for-timer 900$rf", "${sp}15{sp}", 1;
pH "cmd.$d=set $d on-for-timer 1800$rf", "${sp}30{sp}", 1;
}

Rudolf Koenig

unread,
Aug 17, 2011, 12:13:29 PM8/17/11
to fhem-...@googlegroups.com
> aber der "on-for-timer" funzt aus der Console ... nur nicht aus der
> cfg heraus.

???

Eigentlich sollte man die Bewaesserung komplett automatisieren, d.h. man nimmt
Regenmenge und Durschnittstemperatur der letzten paar Tage (z.Bsp mit Hilfe
eines KS300) oder noch besser, die Werte eines Boden-Feuchte-Sensors, und
berechnet daraus fuer jeden der Giess-Bereiche die benoetigte Giess-Zeit.
Danach startet man als erstes die Wasserpumpe (mit "on-for-timer" fuer die
Summe aller Intervalle), und dann eins nach dem anderen die Ventile, auch mit
on-for-timer.

Siehe auch contrib/garden.pl (der aber eher als Idee, und nicht als fertiges
Programm da ist).

Das timer Kommando ist mAn nicht sehr nuetzlich: man muss dann immer manuell
ein "on" ausloesen.

Wenn man im Frontend beim Druecken von "on" eigentlich ein on-for-timer
ausgeloest haben will, dann reicht dafuer ein eventMap (Achtung: aktuelles CVS
notwendig):
attr Wasser eventMap /on-for-timer 30/on/

JörgR

unread,
Aug 17, 2011, 2:19:11 PM8/17/11
to FHEM users
Hallo Rudi,

das mit der kompletten Automatisierung sehe ich auch so.
Da der Bodenfeuchte-Sensor FS20-BF leider immer noch nicht lieferbar
ist, habe ich das auf Wunsch erst mal so umgesetzt. Die
Consolenbefehle sind super aber Buttons sind für meine Frau eine
einfache Bedienung.

Danke für den Hinweis mit contrib/garden.pl

hmayr

unread,
Aug 17, 2011, 5:13:52 PM8/17/11
to FHEM users


On 17 Aug., 18:13, Rudolf Koenig <inf...@koeniglich.de> wrote:
> Wenn man im Frontend beim Druecken von "on" eigentlich ein on-for-timer
> ausgeloest haben will, dann reicht dafuer ein eventMap (Achtung: aktuelles CVS
> notwendig):
>   attr Wasser eventMap /on-for-timer 30/on/

Hallo Rudi,

da muss ein Doppelpunkt zwischen die "30" und das "on" also:

attr Wasser eventMap /on-for-timer 30:on/

Man darf sich dann aber nicht täuschen lassen, denn als Symbol (und
State) wird dann "on" angezeigt, da mit den Änderungen um aktuellen
CVS die "Ersatzbezeichnung" verwendet wird. Also Befehl wird aber
wirklich der "on-for-timer" gesendet.

Viele Grüße,

Harry

hmayr

unread,
Aug 17, 2011, 5:20:07 PM8/17/11
to FHEM users


On 17 Aug., 23:13, hmayr <harald.m...@hotmail.de> wrote:
>... da mit den Änderungen um aktuellen
> CVS die "Ersatzbezeichnung" verwendet wird. Also Befehl wird aber
> wirklich der "on-for-timer" gesendet.

soll natürlich ",,,Änderungen in der aktuellen CVS..."

Man kann nun noch

attr Wasser follow-on-for-timer 1

setzen, und schon ist das State-Icon nach der abgelaufenen Zeit und
einem Refresh wieder auf off.

Viele Grüße,

Harry

meesus

unread,
Aug 23, 2011, 4:22:16 PM8/23/11
to FHEM users
Hallo zusammen,

hat zwar ein paar Tage gedauert, aber ich wollte nur noch kurz einen
kleinen Status abgegen und mich bei allen hier für die sehr guten Info
´s bedanken.

Nachdem ich hier mehrere Lösungsansätze bekommen habe, diese aber
leider nicht so ohne weiteres bei mir funktionierten, (liegt
vermutlich auch an mir)
habe ich dann das aktuelle CVS genommen. Leider ging es bei mit Ubunto
nicht über den Befehl der Fhem Console "UpdateFhem"
Jetzt nachdem aktuellen CVS geht der Update Befehl, soeben getestet...
Leider startet Fhem mit Ubunto jetzt nicht mehr automatisch, aber das
nur am Rande.

Der Eintrag "attr Wasser eventMap /on-for-timer 30:on/" funktioniert
jetzt mit Homematic HM-LC-SW4-PCB bestens.
Was noch nicht geht ist der "attr Wasser follow-on-for-timer 1"
Da kommt bei mir als Meldung "Unknown attribute follow-on-for-timer,
use attr global userattr follow-on-for-timer", diese Meldung hatte ich
vorher auch mit dem "on-for-timer", bevor ich das aktuelle CVS
genommen habe, aber ich bin schon glücklich das es jetzt mit dem on-
for-Timer funktioniert.

Natürlich kann Man(n) wie Rudi sagt, auf den Timer verzichten und
alles automatisieren, aber meine Mädels wollen das auch händisch
steuern können. Meine Tochter aktiviert sehr gerne den Vorgarten
Sprenger für Nachbarskinder / Verwandte etc. so hab ich dann auch
meinen Spass und bin entspannt das dieser nach einer Weile wieder
automatisch ausgeht :-)

Gruss Micha


Rudolf Koenig

unread,
Aug 24, 2011, 1:56:08 AM8/24/11
to fhem-...@googlegroups.com
> Was noch nicht geht ist der "attr Wasser follow-on-for-timer 1"

Wie man das in commandref.html schoen sehen kann, ist dieses Attribut fuer
CUL_HM nicht vorgesehen. Ich war schon dran das einzubauen, aber da ist es mir
eingefallen, dass die HM Geraete ja selbst ein off nach dem Ablauf des timers
senden.

meesus

unread,
Aug 24, 2011, 7:49:40 AM8/24/11
to FHEM users
Hallo Rudi, Thx für die Info, aber leider kommt das von dem
gelieferten "off" nach Ablauf des Timers nicht bei Fhem so an, wie ich
es mir vorstelle.
Das heisst, wenn der Ablauf des Timers "on-for-timer" erreicht ist,
wird nach aktualisieren der Fhem Web Seite mit [F5] nochmals die
Timer Funktion ausgelöst und das Spiel beginnt von neuem. Das Icon
"Lampe On" wird dann auch nicht automatisch auf "Lampe Off" gesetzt.
Deswegen wollte ich gerne, wie von Harry vorgeschlagen, den "follow-on-
for-timer" setzen, damit der "on-for-timer" nicht nochmal ausgelöst
wird und von Icon "Lampe On" auf Icon "Lampe Off" wechselt.

Gruss Micha

Rudolf Koenig

unread,
Aug 24, 2011, 8:00:16 AM8/24/11
to fhem-...@googlegroups.com
> Das heisst, wenn der Ablauf des Timers "on-for-timer" erreicht ist,
> wird nach aktualisieren der Fhem Web Seite mit [F5] nochmals die
> Timer Funktion ausgel�st und das Spiel beginnt von neuem.

Das mag zwar manche verwirren, funktioniert aber so wie gewollt, und
"follow-on-for-timer" wuerde an diesem Problem nichts aendern.

meesus

unread,
Aug 24, 2011, 8:40:10 AM8/24/11
to FHEM users
mhhh, das verwirrt mich in der Tat...
Also besteht zur Zeit keine Möglichkeit das, ich nenne es mal
laienhaft Rückgabesignal vom HM Empfänger "ich bin jetzt aus"
abzufragen und dann den Wert des "abgelaufenen" Timers / Schalters
wieder automatisch auf der FHEM Webseite auf "Off" zu setzen? Sorry
für meine Newie fragen, aber das interessiert mich halt...

Rudolf Koenig

unread,
Aug 24, 2011, 9:05:07 AM8/24/11
to fhem-...@googlegroups.com
> Also besteht zur Zeit keine M�glichkeit das, ich nenne es mal
> laienhaft R�ckgabesignal vom HM Empf�nger "ich bin jetzt aus"

> abzufragen und dann den Wert des "abgelaufenen" Timers / Schalters
> wieder automatisch auf der FHEM Webseite auf "Off" zu setzen?

FHEMWEB ist z.Zt passiv, wird also nicht ueber Zustandsaenderungen informiert.
Und "dank" der FHEMWEB Architektur fuehrt ein Refresh zum ausfuehren der
letzten Kommandos.

Natuerlich kann man nach dem Schalten eines Aktors nochmal auf dem Raum
klicken, wenn man danach ein Refresh durchfuehrt, dann wird nichts mehr
geschaltet, und etwaige Statuaenderungen werden angezeigt.

Wer ohne menschliches zutun (refresh) vom Eintreffen von Aktionen
benachrichtigt werden will, dem kann ich nur das "inform" Kommando im telnet
empfehlen.

Reply all
Reply to author
Forward
0 new messages