Hauptmenü

[erledigt]Doif als Taster

Begonnen von hugo, 01 März 2020, 12:56:46

Vorheriges Thema - Nächstes Thema

hugo

Hallo zusammen,
ich wollte ein Doif als Taster definieren. Für das Beispiel habe ich jetzt 3 Tasten definiert.
Die Readings zeigen den Schaltvorgang an Aber der Event wird nicht ausgeführt. Der STATE ändert aber nict seinen Wert.
ich hatte irgenwo schonso ein ähnliches Doif gefunden, dass sich selbst ausführt.
Es kann doch nur eine kleinigkeit sein oder bin ich auf den ganz falsche Weg.
Hier das List:

Internals:
   CFGFN     
   DEF        ## cmd_1: Ausschalten
([$SELF:effect] eq "off") (
set mySwitch1 off;
)
## cmd_2: Animation anhalten
DOELSEIF ([$SELF:effect] eq "stop") (
set mySwitch1 stop;
)
## cmd_3: Einschalten
DOELSEIF ([$SELF:effect] eq "on") (
set mySwitch1 on;
)
   FUUID      5e5b9ef1-f33f-effb-3587-472d6411dd6f3e44
   MODEL      FHEM
   NAME       di.test1
   NOTIFYDEV  di.test1,global
   NR         300
   NTFY_ORDER 50-di.test1
   STATE      cmd_3
   TYPE       DOIF
   VERSION    21224 2020-02-18 18:45:49
   READINGS:
     2020-03-01 12:50:08   cmd             3
     2020-03-01 12:50:08   cmd_event       di.test1
     2020-03-01 12:50:08   cmd_nr          3
     2020-03-01 12:50:08   e_di.test1_effect on
     2020-03-01 12:50:08   effect          on
     2020-03-01 12:39:29   mode            enabled
     2020-03-01 12:50:08   state           cmd_3
   Regex:
     accu:
     cond:
       di.test1:
         0:
           effect     ^di.test1$:^effect:
         1:
           effect     ^di.test1$:^effect:
         2:
           effect     ^di.test1$:^effect:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'di.test1','effect') eq "off"
     1          ::ReadingValDoIf($hash,'di.test1','effect') eq "stop"
     2          ::ReadingValDoIf($hash,'di.test1','effect') eq "on"
   do:
     0:
       0            set mySwitch1 off;
     1:
       0            set mySwitch1 stop;
     2:
       0            set mySwitch1 on;
     3:
   helper:
     DEVFILTER  ^global$|^di.test1$
     NOTIFYDEV  global|di.test1
     event      effect: on
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   di.test1
     timerevent effect: on
     triggerDev di.test1
     DOIF_eventa:
       cmd_nr: 3
       cmd: 3
       cmd_event: di.test1
       cmd_3
     DOIF_eventas:
       cmd_nr: 3
       cmd: 3
       cmd_event: di.test1
       state: cmd_3
     timerevents:
       effect: on
       e_di.test1_effect: on
       cmd_nr: 3
       cmd: 3
       cmd_event: di.test1
       cmd_3
     timereventsState:
       effect: on
       e_di.test1_effect: on
       cmd_nr: 3
       cmd: 3
       cmd_event: di.test1
       cmd_3
     triggerEvents:
       effect: on
       e_di.test1_effect: on
       cmd_nr: 3
       cmd: 3
       cmd_event: di.test1
       cmd_3
     triggerEventsState:
       effect: on
       e_di.test1_effect: on
       cmd_nr: 3
       cmd: 3
       cmd_event: di.test1
       cmd_3
   internals:
   readings:
     all         di.test1:effect
   trigger:
   uiState:
   uiTable:
Attributes:
   cmdIcon    stop:rc_STOP on:taster_ch_an_gruen off:taster_ch_aus_rot
   devStateIcon initialized:general_ok@green cmd_1:general_aus@darkred cmd_2:rc_STOP cmd_3:general_an@green cmd_4:rc_1
   do         always
   eventMap   /effect on:on/effect off:off/effect stop:stop/
   icon       helper_doif@black
   readingList effect
   room       Unsorted
   setList    effect
   stateFormat state
   verbose    5
   webCmd     stop:on:off


Mir ist klar, dass ich das auch über einen Dummy lösen könnte. :)

Gruß Josef
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

hugo

Sitze vielleicht schon zulange vor der Kiste, jetzt funktioniert es eichfach so wie ich es wollte.
Gruß Josef
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

curt

Hallo @hugo

Würdest Du bitte die Definition als raw zeigen - also so wie das in der fhem.cfg steht?

Danke!
RPI 4 - Jeelink HomeMatic Z-Wave

FHEM-User22

Hallo Curt,
da du es als erledigt markiert hast, gehe ich davon aus, das es klappt.
Wenn dir hier alle helfen sollen, wäre es auch nett, wen Du deine Lösung hier posten würdest.

Grüße
FHEM auf Raspberry Pi und Proxmox und... und.... und....

hugo

Hallo Curt,
hier meine Definition. War aber nur einmal ein test und habe das nicht wieter verfolgt.

defmod di.test1 DOIF ## cmd_1: Ausschalten\
([$SELF:effect] eq "off" ) (\
set mySwitch1 off;;\
)\
## cmd_2: Animation anhalten\
DOELSEIF ([$SELF:effect] eq "stop") (\
set mySwitch1 stop;;\
)\
## cmd_3: Einschalten\
DOELSEIF ([$SELF:effect] eq "on") (\
set mySwitch1 on;;\
)\

attr di.test1 cmdIcon stop:rc_STOP on:taster_ch_an_gruen off:taster_ch_aus_rot
attr di.test1 devStateIcon initialized:general_ok@green cmd_1:general_aus@darkred cmd_2:rc_STOP cmd_3:general_an@green cmd_4:rc_1
attr di.test1 do always
attr di.test1 eventMap /effect on:on/effect off:off/effect stop:stop/
attr di.test1 icon helper_doif@black
attr di.test1 readingList effect
attr di.test1 room Unsorted
attr di.test1 setList effect
attr di.test1 stateFormat state
attr di.test1 webCmd stop:on:off

setstate di.test1 cmd_1
setstate di.test1 2020-10-08 20:46:10 cmd 1
setstate di.test1 2020-10-08 20:46:10 cmd_event di.test1
setstate di.test1 2020-10-08 20:46:10 cmd_nr 1
setstate di.test1 2020-10-08 20:46:10 e_di.test1_effect off
setstate di.test1 2020-10-08 20:46:10 effect off
setstate di.test1 2020-03-01 13:46:08 mode enabled
setstate di.test1 2020-10-08 20:46:10 state cmd_1

Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

curt

RPI 4 - Jeelink HomeMatic Z-Wave