HmIP-BSL - Frage zu DOIF & LEDs

Begonnen von errazzor, 22 Januar 2023, 16:17:37

Vorheriges Thema - Nächstes Thema

errazzor

Hallo,

ich habe einen HmIP-BSL in Betrieb genommen.
Dazu hätte ich zwei Fragen / Probleme:

Wenn der Schalter an ist, soll die obere Tastenwippe grün leuchten - und wenn er aus ist, wieder erlöschen.
Das habe ich auch hinbekommen, allerdings zeigt sich folgendes Verhalten:

- Schalter wird eingeschaltet
- Tastenwippe geht auf grün
- Tastenwippe geht aus
- Tastenwippe geht auf grün

und wenn man ihn ausschaltet:

- Schalter wird ausgeschaltet
- Tastenwippe geht aus
- Tastenwippe geht auf grün
- Tastenwippe geht aus

In meinem DOIF frage ich den STATE des Schalters ab. Ich vermute, dass es daran liegt - denn offenbar wird der State (ON oder OFF) mehrmals vom Schalter gesendet und das DOIF scheint darauf zu reagieren (?).

Ich weiss leider nicht, wie ich das in den Griff bekommen könnte. Das DOIF abändern oder einen anderen Wert abfragen? Vielleicht mag mir jemand helfen.

Zur Erläuterung:

HmIP_BSL_Terrasse_3 ist der eigentliche Schalter (Licht an/aus)
HmIP_BSL_Terrasse_7 ist die obere LED-Wippe
HmIP_BSL_Terrasse_11 ist die untere LED-Wippe

Hier mal das LIST des HmIP-BSL: (etwas gegkürzt wegen Zeichenlänge des Posts)


Internals:
   DEF        001A5D899A8AB0  sd=3.STATE cd=4.STATE
   FUUID      63cd279b-f33f-d150-99ad-d792f6e43949c13c
   IODev      CCU2
   NAME       HmIP_BSL_Terrasse_3
   NR         1298
   STATE      off
   TYPE       HMCCUDEV
   ccuaddr    001A5D899A8AB0
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HmIP-BSL-Terrasse
   ccurolectrl SWITCH_VIRTUAL_RECEIVER
   ccurolestate SWITCH_TRANSMITTER
   ccusubtype BSL
   ccutype    HmIP-BSL
   eventCount 185
   firmware   1.0.2
   readonly   no
   READINGS:
     2023-01-22 14:49:35   1.PRESS_SHORT   pressed
     2023-01-22 16:15:09   15.WEEK_PROGRAM_CHANNEL_LOCKS 0
     2023-01-22 16:15:07   3.PROCESS       STABLE
     2023-01-22 14:38:21   3.SECTION       
     2023-01-22 16:15:07   3.SECTION_STATUS UNKNOWN
     2023-01-22 16:15:07   3.STATE         off
     2023-01-22 16:15:07   4.PROCESS       STABLE
     2023-01-22 16:15:07   4.SECTION       0
     2023-01-22 16:15:07   4.SECTION_STATUS NORMAL
     2023-01-22 16:15:07   4.STATE         off
     2023-01-22 14:34:22   IODev           CCU2
     2023-01-22 16:15:10   activity        alive
     2023-01-22 16:15:07   control         off
     2023-01-22 16:15:10   devstate        ok
     2023-01-22 16:15:10   hmstate         off
     2023-01-22 16:15:10   rssidevice      -54
     2023-01-22 16:15:09   rssipeer        -52
     2023-01-22 16:15:07   state           off
     2023-01-22 14:38:21   voltage         0.0
   hmccu:
     channels   16
     defCDP     4.STATE
     defSDP     3.STATE
     detect     5
     devspec    001A5D899A8AB0
     forcedev   0
     nodefaults 1
     role       0:MAINTENANCE,1:KEY_TRANSCEIVER,2:KEY_TRANSCEIVER,3:SWITCH_TRANSMITTER,4:SWITCH_VIRTUAL_RECEIVER,5:SWITCH_VIRTUAL_RECEIVER,6:SWITCH_VIRTUAL_RECEIVER,7:DIMMER_TRANSMITTER,8:DIMMER_VIRTUAL_RECEIVER,9:DIMMER_VIRTUAL_RECEIVER,10:DIMMER_VIRTUAL_RECEIVER,11:DIMMER_TRANSMITTER,12:DIMMER_VIRTUAL_RECEIVER,13:DIMMER_VIRTUAL_RECEIVER,14:DIMMER_VIRTUAL_RECEIVER,15:DIMMER_WEEK_PROFILE
     setDefaults 0
     cmdlist:
       get       
       set        on-for-timer off:noArg on-till on:noArg toggle:noArg
     control:
       chn        4
       dpt        STATE
     
     roleCmds:
       get:
       set:
         off:
           channel    4
           role       SWITCH_VIRTUAL_RECEIVER
           subcount   1
           syntax     V:STATE:0
           usage      off
           subcmd:
             000:
               args       0
               dpt        STATE
               fnc       
               max        1
               min        0
               parname    STATE
               partype    3
               ps         VALUES
               scn        000
               unit       
         on:
           channel    4
           role       SWITCH_VIRTUAL_RECEIVER
           subcount   1
           syntax     V:STATE:1
           usage      on
           subcmd:
             000:
               args       1
               dpt        STATE
               fnc       
               max        1
               min        0
               parname    STATE
               partype    3
               ps         VALUES
               scn        000
               unit       
         on-for-timer:
           channel    4
           role       SWITCH_VIRTUAL_RECEIVER
           subcount   2
           syntax     V:ON_TIME:?duration V:STATE:1
           usage      on-for-timer duration
           subcmd:
             000:
               args       
               dpt        ON_TIME
               fnc       
               max        8580000.0
               min        0.0
               parname    duration
               partype    2
               ps         VALUES
               scn        000
               unit       s
             001:
               args       1
               dpt        STATE
               fnc       
               max        1
               min        0
               parname    STATE
               partype    3
               ps         VALUES
               scn        001
               unit       
         on-till:
           channel    4
           role       SWITCH_VIRTUAL_RECEIVER
           subcount   2
           syntax     V:ON_TIME:?time V:STATE:1
           usage      on-till time
           subcmd:
             000:
               args       
               dpt        ON_TIME
               fnc       
               max        8580000.0
               min        0.0
               parname    time
               partype    2
               ps         VALUES
               scn        000
               unit       s
             001:
               args       1
               dpt        STATE
               fnc       
               max        1
               min        0
               parname    STATE
               partype    3
               ps         VALUES
               scn        001
               unit       
     state:
       chn        3
       dpt        STATE
Attributes:
   alexaName  Terrassenlicht
   alexaRoom  alexa
   ccureadingfilter 1,15,2,3,4..*
   cmdIcon    on:general_an off:general_aus
   group      HmIP-BSL-Terrasse,Licht
   room       Hausstatus,Licht


Hier das List meines DOIF:


Internals:
   CFGFN     
   DEF        ([HmIP_BSL_Terrasse_3:"on"]) (set HmIP_BSL_Terrasse_7 datapoint 8.COLOR 2 8.LEVEL 100) DOELSE (set HmIP_BSL_Terrasse_7 datapoint 8.LEVEL 0)
   FUUID      63cd3e85-f33f-d150-992a-535f09a5e9ef6a2c
   MODEL      FHEM
   NAME       DOIF_BSL_Terrasse_3
   NOTIFYDEV  global,HmIP_BSL_Terrasse_3
   NR         1483
   NTFY_ORDER 50-DOIF_BSL_Terrasse_3
   STATE      cmd_2
   TYPE       DOIF
   VERSION    26938 2023-01-01 18:13:32
   eventCount 45
   READINGS:
     2023-01-22 16:15:10   Device          HmIP_BSL_Terrasse_3
     2023-01-22 16:15:08   cmd             2
     2023-01-22 16:15:08   cmd_event       HmIP_BSL_Terrasse_3
     2023-01-22 16:15:08   cmd_nr          2
     2023-01-22 16:15:10   e_HmIP_BSL_Terrasse_3_events devstate: ok,hmstate: off
     2023-01-22 15:04:05   mode            enabled
     2023-01-22 16:15:08   state           cmd_2
   Regex:
     accu:
     collect:
     cond:
       HmIP_BSL_Terrasse_3:
         0:
           &STATE     ^HmIP_BSL_Terrasse_3$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('HmIP_BSL_Terrasse_3',$hash,'on',1)
   do:
     0:
       0          set HmIP_BSL_Terrasse_7 datapoint 8.COLOR 2 8.LEVEL 100
     1:
       0          set HmIP_BSL_Terrasse_7 datapoint 8.LEVEL 0
   helper:
     NOTIFYDEV  global,HmIP_BSL_Terrasse_3
     event      devstate: ok,hmstate: off
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   HmIP_BSL_Terrasse_3
     timerevent devstate: ok,hmstate: off
     triggerDev HmIP_BSL_Terrasse_3
     timerevents:
       devstate: ok
       hmstate: off
     timereventsState:
       devstate: ok
       hmstate: off
     triggerEvents:
       devstate: ok
       hmstate: off
     triggerEventsState:
       devstate: ok
       hmstate: off
   hmccu:
   internals:
   readings:
   trigger:
     all         HmIP_BSL_Terrasse_3
   uiState:
   uiTable:
Attributes:
   room       Licht


Und ein Auszug aus dem Eventmonitor, wenn die Wippen betätigt werden:


EINSCHALTEN:

2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 rssidevice: -68
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 activity: alive
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 rssidevice: -68
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 activity: alive
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 rssidevice: -68
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 activity: alive
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 4.SECTION_STATUS: NORMAL
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 4.PROCESS: STABLE
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 4.SECTION: 3
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 control: on
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 4.STATE: on
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 3.SECTION_STATUS: UNKNOWN
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 3.PROCESS: STABLE
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 on
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 3.STATE: on
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: on
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:17:55 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: on

AUSSCHALTEN:

2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 rssidevice: -60
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 activity: alive
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: on
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 rssidevice: -60
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 activity: alive
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 rssidevice: -60
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 activity: alive
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 1.PRESS_SHORT: pressed
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: on
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 1.PRESS_SHORT: pressed
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 1.PRESS_SHORT: pressed
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:18:03 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 rssidevice: -54
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 activity: alive
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: on
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 rssidevice: -54
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 activity: alive
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 rssidevice: -54
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 activity: alive
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 3.PROCESS: STABLE
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 3.SECTION_STATUS: UNKNOWN
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 3.STATE: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 control: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 4.STATE: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 4.SECTION: 0
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 4.PROCESS: STABLE
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 4.SECTION_STATUS: NORMAL
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_3 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_11 hmstate: off
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 devstate: ok
2023-01-22 14:18:05 HMCCUDEV HmIP_BSL_Terrasse_7 hmstate: off


Vielleicht kann mir jemand sagen, wie ich es hinbekomme, dass die LED nicht mehrfach an und aus geht.

Frage 2:

Ist es bei diesem Schalter möglich, ein "Toggle" zu setzen? Bei den klassischen (nicht-IP) Schaltern habe ich es hinbekommen, dass egal welche Wippe gedrückt wird, der Zustand (an/aus) geändert wird. Bei diesem Schalter habe ich noch nicht herausfinden können, ob und wie das geht.

Ich würde mich über Hilfe sehr freuen, wenn noch Informationen benötigt werden, bitte bescheid sagen.

Danke.

errazzor

#1
Hat sich  erstmal erledigt, ich habe es per Direktverknüpfung per CCU gelöst.
Allerdings funktioniert das mit den LED-Wippen nur, wenn man die Taster bedient. Wird der Aktor per FHEM eingeschaltet, leuchten die LEDs nicht.

Scheint aber nicht anders zu gehen.