eine Taste mehrere Befehle pro Tastendruck

Begonnen von noice, 12 März 2015, 22:44:41

Vorheriges Thema - Nächstes Thema

noice

hallo Leute,

ich zerbrech mir gerade den kopf über folgende Funktion:
ich möchte auf einer 4 tasten fernbedienung eine Taste folgendermaßen programmieren - 1. Tastendruck = ein, 2. Tastendruck = Rot, 3. Tastendruck = blau, 4. Tastendruck = grün, 5. Tastendruck = aus

ist nur ein Beispiel.
Das ganze soll mit einem FS20 Sender und dem wifirgb modul realisiert werden.

bei mir fehlt es schon an den knowhow das umzusetzen .. IF? DOIF?

das Forum hab ich schon bemüht nur leider weiss ich nicht nach was genau ich suchen soll .. wenn wer einen Link auf einen Tread hat immer her damit ..

Danke
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000


noice

nee ich denke das ist nicht was ich suche .. das ist ja eher .. ich muss taste 1, 2 und 3 innerhalb einer gewissen zeit drücken damit die lampe an geht oder?
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

nesges

..oder taste 1, 1 und 1 - jedefalls verstehe ich das Beispiel unter triggerPartial so. Aber ich verwende das Modul nicht.

noice

BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

noice

Also das wars nicht ...

nur hab ich mir ein Define zusammengebastelt allerding ohne funktion ...
Da ich nicht wirklich der Fhem freak bin bitte ich um hilfe ...
Woran kann es liegen?
FS20_074a06:toggle {
if(ReadingsVal("WZ_LED_Stripe", "RGB", 0) eq "000000")  {
    fhem("set WZ_LED_Stripe RGB FFFFFF");
  }
  elsif {
  if(ReadingsVal("WZ_LED_Stripe", "RGB", 0) eq "FFFFFF")  {
    fhem("set WZ_LED_Stripe RGB FF0000");
  }
  elsif {
  if(ReadingsVal("WZ_LED_Stripe", "RGB", 0) eq "FF0000")  {
    fhem("set WZ_LED_Stripe RGB 00FF00");
  }
  elsif {
  if(ReadingsVal("WZ_LED_Stripe", "RGB", 0) eq "00FF00")  {
    fhem("set WZ_LED_Stripe RGB 0000FF");
  }
  }}}}


also das notify wird laut log nicht abgearbeitet...
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

nesges

Ich sehe grade nicht, was das mit dem ursprünglichen Problem zu tun hat. Deine elsif-Deklaration ist zudem syntaktisch falsch (http://perldoc.perl.org/perlsyn.html#Compound-Statements) und macht logisch keinen Sinn (meinst du vielleicht einfach nur "else"?). Davon abgesehen: Wenn das notify (das du nicht vollständig zeigst) nicht ausgeführt wird, liegt das idR daran, dass das Event nicht aufgetreten ist. Taucht FS20_074a06:toggle denn im Eventmonitor auf? Wie sieht die Eventmonitor-Zeile dazu aus?

noice

Im event monitor steht nur FS20_074a06:toggle .... mehr nicht
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

AHA1805

Würde das mit einem Zähler lösen

Gesendet von Tapatalk

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

AHA1805

Kann ich dir jetzt abend schicken, bin nur im Moment unterwegs und mit Tag ist das schlecht

Gesendet von Tapatalk

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

AHA1805

#10
Hallo Mirko

test das mal:
Kannst beliebig erweitern, würde Dir aber raten es im DEF über das WEB Interface anzupassen.

(Leider geht das Codesymbole nicht :-()


define itaster dummy
attr itaster room Light
define ntf_taster notify FS20_074a06:toggle {\
\
my $icount = Value("itaster");;\
$icount += 1;;\
if ($icount > 5) {$icount = 0}\
\
Log 1 , "evt_toggle $icount";;\
\
if ($icount == 0) \
{\
      fhem("set WZ_LED_Stripe  off")\
    } else {\
      fhem("set WZ_LED_Stripe:FILTER=STATE=off on")\
    } ;;\
if ($icount == 1) {fhem("set WZ_LED_Stripe rgb 0000FF")};;\
if ($icount == 2) {fhem("set WZ_LED_Stripe rgb 000022")};;\
if ($icount == 3) {fhem("set WZ_LED_Stripe rgb 000033")};;\
if ($icount == 4) {fhem("set WZ_LED_Stripe rgb 000004")};;\
if ($icount == 5) {fhem("set WZ_LED_Stripe rgb 000055")};;\
\
fhem("set itaster " . $icount);;\
\
}
attr ntf_taster room Light
define taster dummy
attr taster room Light
attr taster webCmd toggle



... jetzt auch im Code TAG ...
komisch von unterwegs via Tethering funktioniert es nicht  ???

Gruß Hannes

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

marvin78

Wenn das "code-Symbol nicht geht", kann man die tags auch selbst schreiben...ich mache das mal für dich

define itaster dummy
attr itaster room Light
define ntf_taster notify FS20_074a06:toggle {\
\
my $icount = Value("itaster");;\
$icount += 1;;\
if ($icount > 5) {$icount = 0}\
\
Log 1 , "evt_toggle $icount";;\
\
if ($icount == 0) \
    {\
      fhem("set WZ_LED_Stripe  off")\
    } else {\
      fhem("set WZ_LED_Stripe :FILTER=STATE=off on")\
    } ;;\
if ($icount == 1) {fhem("set WZ_LED_Stripe rgb 0000FF")};;\
if ($icount == 2) {fhem("set WZ_LED_Stripe rgb 000022")};;\
if ($icount == 3) {fhem("set WZ_LED_Stripe rgb 000033")};;\
if ($icount == 4) {fhem("set WZ_LED_Stripe rgb 000004")};;\
if ($icount == 5) {fhem("set WZ_LED_Stripe rgb 000055")};;\
\
fhem("set itaster " . $icount);;\
\
}

noice

also aus geht das licht schon mal ..
aber leider lässt es sich nicht schalten.
Folgenden Fehler bekomm ich im log:
2015.03.18 20:18:11 1: evt_toggle 3
2015.03.18 20:18:11 3: set WZ_LED_Stripe :FILTER=STATE=off on : unknown command (:FILTER=STATE=off): choose one of on off dim dimup dimdown HSV RGB sync pair unpair
2015.03.18 20:18:11 3: WZ_LED_Stripe set HSV 120, 100, 100 with ramp: 0, flags:
2015.03.18 20:18:14 1: evt_toggle 4
2015.03.18 20:18:14 3: set WZ_LED_Stripe :FILTER=STATE=off on : unknown command (:FILTER=STATE=off): choose one of on off dim dimup dimdown HSV RGB sync pair unpair
2015.03.18 20:18:14 3: WZ_LED_Stripe set HSV 240, 100, 100 with ramp: 0, flags:
2015.03.18 20:18:16 1: evt_toggle 5
2015.03.18 20:18:16 3: set WZ_LED_Stripe :FILTER=STATE=off on : unknown command (:FILTER=STATE=off): choose one of on off dim dimup dimdown HSV RGB sync pair unpair
2015.03.18 20:18:16 3: WZ_LED_Stripe set HSV 240, 0, 0 with ramp: 0, flags:
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

AHA1805

Hallo Mirko,

bei set WZ_LED_Stripe:FILTER=STATE=off on"
hat sich zwischen WZ_LED_Stripe und :FILTER ein Leerzeichen eingeschlichen  :-\

Habe oben den Code korrigiert.

Gruß Hannes
AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

noice

BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000