Toggle Events auf On/Off umsetzen - nochmal fuer noops

Begonnen von Guest, 18 Juni 2011, 18:31:11

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Moin,

falls andere das Problem auch haben - bei mir geht's jetzt und ich
habe das so noch nirgends beschrieben gefunden - vielleicht kann ja
jemand Honig draus saugen:

Situation:

- Schalter nutzen doppelte Kanalzahl, senden "toggle".
- Aktoren sollen indirekt über fhem per on/off angesteuert werden
(fhem-Logik nutzbar).
-> fhem muss also "toggle" auf "on" bzw. "off" umsetzen.

Dazu gibt es schon einen Wiki-Eintrag, der aber dazu führt, dass man
ein Skript für jede Lampe schreiben muss. Rudi hat in einem älteren
Thread mal beschrieben, wie man ein generelleres Skript verwendet, um
für ähnlich / systematisch benannte Schalter/Aktoren mit einem Skript
hinzukommen. Das hakte bei mir aber mit einem "strict subs" Fehler.

Folgendes geht bei mir:

#Definitionen Sender/Taster, bei mir für Lampen immer "sLicht" mit
2stelliger Variable:
define sLicht01 FS20 abcd 00
define sLicht02 FS20 abcd 01

#Definitionen Empfänger/Aktoren, bei mir für Lampen immer "Licht" mit
selber 2stelliger Variable, wie der zugeordnete Sender/Taster:
define Licht01 FS20 abcd 20
define Licht02 FS20 abcd 21

#Skript dann (für die fhem.cfg, separat halt ohne die \ und nur ein ;
in Zeile 2):

define schalteLicht notify sLicht.* {\
 my $n = substr('@', -2, 2);;\
 if ("%" eq "toggle") {\
   if ($value{"Licht$n"} eq "off") {\
     fhem "set Licht$n on"\
   } else {\
     fhem "set Licht$n off"\
   }\
 } else {\
     fhem "set Licht$n %"\
 }\
}

Wichtig in Zeile 2 die ' um das @, sonst kommt bei mir der Fehler. -2,
2 wegen meiner zweistelligen Variable.

Sowas hab ich dann nochmal für ordinäre Steckdosen (schalteStrom),
komme aber mit zwei Skripten (statt einem pro Sender/Empfängerpaar)
aus und habe eine für mich durchschaubare Nomenklatur der Devices,
reicht ja für je 99 Lampen bzw. Stromdosen so :-)

Grüße
Georg

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

Guest

Originally posted by: <email address deleted>

Siehe auch hier - macht dasselbe, beruht aber nicht auf einer
konkreten Nomenklatur fuer die Schalter,
Bei Implementierung bitte die Implementierungsschritte ganz am Ende
des posts nutzen.

http://groups.google.com/group/fhem-users/browse_thread/thread/b79e29fb2bd5722b/fc94836f86acf7c1?lnk=gst&q=untoggle#fc94836f86acf7c1

Gruß, Uli

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

Guest

Originally posted by: <email address deleted>

Hi,

ah - da hatte ich mich bei meiner "toggle"-Suche wohl von der
Überschrift abschrecken lassen ;-)
Ja, bei mir spart man halt die notify-Zeile pro Schalter/
Aktorenpärchen und muss dafür einer Nomenklatur folgen. Viele Wege
führen nach Rom :-)

Grüße
Georg

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