[gelöst] Problem mit Enocean-Schalter und Schalt-Notify, bzw. DOIF

Begonnen von Stephan1965, 08 November 2020, 13:46:44

Vorheriges Thema - Nächstes Thema

Stephan1965

Hallo,
ich habe in meinem Badezimmer einen RPI3 aufgestellt, den ich als Squeezeplayer betreibe, um dort Musik abzuspielen. Zur Steuerung verwende ich einen Eltako Schalter:
Internals:
   DEF        FEEED47E
   FUUID      5f85db89-f33f-cd59-cdae-27455c9676fae4b2
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     236
   NAME       Stat_SW_Bad
   NR         348
   NTFY_ORDER 50-Stat_SW_Bad
   STATE      AI
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 236
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -92
   TCM_ESP3_0_ReceivingQuality bad
   TCM_ESP3_0_RepeatingCounter 1
   TCM_ESP3_0_SubTelNum 2
   TCM_ESP3_0_TIME 2020-11-08 09:55:10
   TYPE       EnOcean
   READINGS:
     2020-11-08 09:55:10   buttons         released
     2020-11-08 09:55:09   channelA        AI
     2020-11-07 18:41:03   channelB        BI
     2020-11-08 09:55:09   state           AI
     2020-10-13 18:53:29   teach           RPS teach-in accepted EEP F6-02-01 Manufacturer: no ID
   helper:
Attributes:
   IODev      TCM_ESP3_0
   eep        F6-02-01
   manufID    7FF
   room       2.2_Bad,EnOcean
   subType    switch
   teachMethod RPS


Der Schalter hat zwei Taster und ich frage die einzelnen Stellungen mit drei Notifys (Lauter, Leiser, Aus) und einem DOIF (Ein, bzw. Umschalten) ab.
DOIF:
Internals:
   DEF        ##1: erstes Einschalten
([Stat_SW_Bad:"^A0$"] and $cmd=~"0|2")
(set Squeeze_Badezimmer play;
set Squeeze_Badezimmer favorites WDR2_Rheinland_1004_Pop;
set Squeeze_Badezimmer volume 15)

##2: nochmalige Schalterbetätigung
DOELSEIF
([Stat_SW_Bad:"^A0$"] and $cmd==1)
(set Squeeze_Badezimmer favorites Rock_Mix_-_FLAC_Interactive)
   FUUID      5fa3d5e5-f33f-cd59-8915-cf257183cb577351
   MODEL      FHEM
   NAME       d_Musik_ein_Bad
   NOTIFYDEV  global,Stat_SW_Bad
   NR         365
   NTFY_ORDER 50-d_Musik_ein_Bad
   STATE      cmd_1
   TYPE       DOIF
   VERSION    22913 2020-10-04 21:46:02
   READINGS:
     2020-11-08 09:55:10   Device          Stat_SW_Bad
     2020-11-07 18:40:40   cmd             1
     2020-11-07 18:40:40   cmd_event       Stat_SW_Bad
     2020-11-07 18:40:40   cmd_nr          1
     2020-11-08 09:55:10   e_Stat_SW_Bad_events buttons: released
     2020-11-05 12:50:53   mode            enabled
     2020-11-07 18:40:40   state           cmd_1
   Regex:
     accu:
     cond:
       Stat_SW_Bad:
         0:
           &STATE     ^Stat_SW_Bad$
         1:
           &STATE     ^Stat_SW_Bad$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('Stat_SW_Bad',$hash,'^A0$',1) and $cmd=~"0|2"
     1          ::EventDoIf('Stat_SW_Bad',$hash,'^A0$',1) and $cmd==1
   do:
     0:
       0          set Squeeze_Badezimmer play; set Squeeze_Badezimmer favorites WDR2_Rheinland_1004_Pop; set Squeeze_Badezimmer volume 15
     1:
       0          set Squeeze_Badezimmer favorites Rock_Mix_-_FLAC_Interactive
     2:
   helper:
     DEVFILTER  ^global$|^Stat_SW_Bad$
     NOTIFYDEV  global|Stat_SW_Bad
     event      buttons: released
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Stat_SW_Bad
     timerevent A0
     triggerDev Stat_SW_Bad
     timerevents:
       buttons: pressed
       channelA: A0
       A0
     timereventsState:
       buttons: pressed
       channelA: A0
       state: A0
     triggerEvents:
       buttons: released
     triggerEventsState:
       buttons: released
   internals:
   perlblock:
   readings:
   trigger:
     all         Stat_SW_Bad
   uiState:
   uiTable:
Attributes:
   icon       helper_doif
   room       2.2_Bad


Notify Musik aus:
Internals:
   DEF        Stat_SW_Bad:channelA:.AI
set Squeeze_Badezimmer volume 18;;
set Squeeze_Badezimmer off

   FUUID      5f8d56be-f33f-cd59-31bf-11f98d280d90aea3
   NAME       n_Musik_aus_Bad
   NOTIFYDEV  Stat_SW_Bad
   NR         353
   NTFY_ORDER 50-n_Musik_aus_Bad
   REGEXP     Stat_SW_Bad:channelA:.AI
   STATE      2020-11-08 09:55:09
   TRIGGERTIME 1604825709.85554
   TYPE       notify
   READINGS:
     2020-11-07 11:37:58   state           active
Attributes:
   room       2.2_Bad


Notify Musik lauter
Internals:
   DEF        Stat_SW_Bad:channelB:.B0
set Squeeze_Badezimmer volumeUp
   FUUID      5f8d570d-f33f-cd59-6bd3-212629832cebb901
   NAME       n_Musik_lauter_Bad
   NOTIFYDEV  Stat_SW_Bad
   NR         354
   NTFY_ORDER 50-n_Musik_lauter_Bad
   REGEXP     Stat_SW_Bad:channelB:.B0
   STATE      2020-11-07 18:41:02
   TRIGGERTIME 1604770862.17292
   TYPE       notify
   READINGS:
     2020-11-06 17:00:25   state           active
Attributes:
   room       2.2_Bad


Notify Musik leiser
Internals:
   DEF        Stat_SW_Bad:channelB:.BI
set Squeeze_Badezimmer volumeDown
   FUUID      5f8d573e-f33f-cd59-a6ea-37d00579dfdc4f6f
   NAME       n_Musik_leiser_Bad
   NOTIFYDEV  Stat_SW_Bad
   NR         355
   NTFY_ORDER 50-n_Musik_leiser_Bad
   REGEXP     Stat_SW_Bad:channelB:.BI
   STATE      2020-11-07 18:41:03
   TRIGGERTIME 1604770863.67531
   TYPE       notify
   READINGS:
     2020-11-06 17:00:25   state           active
Attributes:
   room       2.2_Bad


Ich habe das Problem, dass die Funktion des Ausschaltens nicht funktioniert. Ich kann im Event Monitor sehen, dass die Taste Channel A AI betätigt wurde, aber der Squeezeplayer wird nicht ausgeschaltet. Momentan kann ich die Musik nur per Handy / Tablet oder Rechner ausschalten. Ich weiß irgendwie nicht mehr weiter.
Lauter und Leiser funktioniert, das Ein- und Umschalten per Schalter und DOIF funktioniert.

Viele Grüße
Stephan

MadMax-FHEM

Mach aus:
Zitat
set Squeeze_Badezimmer volume 18;;
set Squeeze_Badezimmer off


set Squeeze_Badezimmer volume 18;
set Squeeze_Badezimmer off


Wobei sich mir halt die Frage stellt, warum du hierfür 1 DOIF und 3 notify brauchst / hast... ;)

Aber wenn du es verstehst und es für dich tut (wenn es tut)...
...auch gut.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stephan1965

Danke!
Ich habe das nicht gesehen. Ich habe es gerade mal getestet und es funktioniert. War schon blöd.

ZitatWobei sich mir halt die Frage stellt, warum du hierfür 1 DOIF und 3 notify brauchst / hast...
Ich hatte ursprünglich pro Taststellung ein Notify, bin aber gerade dabei, dass ich durch wiederholtes Drücken "Ein" auch zwischen verschiedenen Programmen (Favoriten im Squeezeplayer) per DOIF umschalten kann.
Wahrscheinlich wird alles auf ein großes DOIF hinauslaufen...

Viele Grüße
Stephan