Button-Long auf der HM-RC-8 auswerten

Begonnen von bommel-bs, 20 Oktober 2021, 21:11:46

Vorheriges Thema - Nächstes Thema

bommel-bs

Button-Long auf der HM-RC-8 auswerten

Hallo,

ich möchte eine Schleife solange laufen lassen, wie die Taste auf der Fernbedinung gedrückt ist.
Dafür habei ich zwei Notify eingerichtet, mit denen der Status eines Dummy gesetzt werden soll.

Notify 1 zum Start:
n_WohnZimmer_Shally_Sofa_2_long


Internals:
   DEF        WZ_Fernbedienung_Btn_02:Long.1.* {
  my $event = $EVENT;
  Log 2,("n_WohnZimmer_Shally_Sofa_2_long Event $event");
  fhem("set WZ_Fernbedienung_Btn_02_Long true");
}
   FUUID      608ef6a4-f33f-78f8-259c-dc2243a84ac9808c
   NAME       n_WohnZimmer_Shally_Sofa_2_long
   NOTIFYDEV  WZ_Fernbedienung_Btn_02
   NR         716
   NTFY_ORDER 50-n_WohnZimmer_Shally_Sofa_2_long
   REGEXP     WZ_Fernbedienung_Btn_02:Long.1.*
   STATE      2021-10-20 20:38:20
   TRIGGERTIME 1634755100.8416
   TYPE       notify
   READINGS:
     2021-10-19 14:36:17   state           active
Attributes:
   room       99_System


Und Notify zwei zum Ende:
n_WohnZimmer_Shally_Sofa_2_long_end


Internals:
   DEF        WZ_Fernbedienung_Btn_02:LongRelease.1.* {
  my $event = $EVENT;
  Log 2,("n_WohnZimmer_Shally_Sofa_2_long_end Event $event");
  fhem("set WZ_Fernbedienung_Btn_02_Long false");
}
   FUUID      616db22a-f33f-78f8-08af-267f25cddfab3395
   NAME       n_WohnZimmer_Shally_Sofa_2_long_end
   NOTIFYDEV  WZ_Fernbedienung_Btn_02
   NR         735
   NTFY_ORDER 50-n_WohnZimmer_Shally_Sofa_2_long_end
   REGEXP     WZ_Fernbedienung_Btn_02:LongRelease.1.*
   STATE      2021-10-19 14:40:37
   TRIGGERTIME 1634647237.48291
   TYPE       notify
   READINGS:
     2021-10-19 14:40:07   state           active
Attributes:
   room       99_System



Bei dem Notify eins sehe ich Logfile sofort eine Zeile und nach 8 Sekunden die nächsten Ausgaben


2021.10.20 20:32:35 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 1_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:43 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 10_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:44 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 11_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:44 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 12_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:45 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 13_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:45 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 14_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:45 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 15_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:46 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 16_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:46 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 17_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:32:47 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 18_108 (to virtual_Wohnzimmer_Fernbedienung)
2021.10.20 20:38:20 2: n_WohnZimmer_Shally_Sofa_2_long Event Long 19_110 (to virtual_Wohnzimmer_Fernbedienung)


bei allen versuchen sehe ich, das der Zähler bis 19 hoch geht und dann stehen bleibt.
Von der zweiten Notify sehe ich keine Eintrag im Logfile.

Die Taste heißt in fhem WZ_Fernbedienung_Btn_02


Internals:
   CFGFN      /opt/fhem/FHEM/Wohnzimmer.cfg
   DEF        2F6F2302
   FUUID      5c4b3ff4-f33f-78f8-0bc4-ffb80bc8787053fe
   NAME       WZ_Fernbedienung_Btn_02
   NR         257
   NTFY_ORDER 48-WZ_Fernbedienung_Btn_02
   STATE      LongRelease 28_110 (to virtual_Wohnzimmer_Fernbedienung)
   TYPE       CUL_HM
   chanNo     02
   device     WZ_Fernbedienung
   disableNotifyFn 1
   peerList   virtual_Wohnzimmer_Fernbedienung_Btn2,virtual_Wohnzimmer_Fernbedienung_Btn3
   CHANGED:
     commState: CMDs_done
     commState: CMDs_done
   READINGS:
     2021-10-18 18:51:48   R-sign          off
     2021-10-19 15:04:15   R-virtual_Wohnzimmer_Fernbedienung_Btn2-expectAES off
     2021-10-19 15:04:15   R-virtual_Wohnzimmer_Fernbedienung_Btn2-peerNeedsBurst off
     2021-10-19 15:04:16   R-virtual_Wohnzimmer_Fernbedienung_Btn3-expectAES off
     2021-10-19 15:04:16   R-virtual_Wohnzimmer_Fernbedienung_Btn3-peerNeedsBurst off
     2021-10-19 15:05:04   RegL_01.         00:00 04:10 08:00 09:00
     2021-10-19 15:05:05   RegL_04.virtual_Wohnzimmer_Fernbedienung_Btn2  00:00 01:00
     2021-10-19 15:05:06   RegL_04.virtual_Wohnzimmer_Fernbedienung_Btn3  00:00 01:00
     2021-10-19 15:06:07   cfgState        updating
     2021-10-20 20:38:24   commState       CMDs_done
     2021-10-19 15:05:04   peerList        virtual_Wohnzimmer_Fernbedienung_Btn2,virtual_Wohnzimmer_Fernbedienung_Btn3
     2021-10-20 20:38:23   state           LongRelease 28_110 (to virtual_Wohnzimmer_Fernbedienung)
     2021-10-20 20:38:23   trigger         Long_110
     2021-10-19 15:02:08   triggerTo_Steckdose_02 Short_95
     2021-10-19 14:12:32   triggerTo_Steckdose_03 Short_82
     2021-10-20 20:38:23   triggerTo_virtual_Wohnzimmer_Fernbedienung Long_110
     2021-10-20 20:38:23   trigger_cnt     110
   helper:
     BNO        110
     BNOCNT     28
     peerFriend peerAct,peerVirt
     peerIDsRaw ,91234502,91234503,00000000
     peerIDsState complete
     peerOpt    4:remote
     regLst     1,4p
     cfgChk:
       idPz02     p:virtual_Wohnzimmer_Fernbedienung_Btn3
       idRc03     fail
     cmds:
       TmplKey    virtual_Wohnzimmer_Fernbedienung_Btn2,virtual_Wohnzimmer_Fernbedienung_Btn3:no:1634588872.93111
       TmplTs     1634588872.93111
       cmdKey     1:0:0::WZ_Fernbedienung:00DA:02:virtual_Wohnzimmer_Fernbedienung_Btn2,virtual_Wohnzimmer_Fernbedienung_Btn3
       cmdLst:
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerChan   -btnNumber- -actChn- [({single}|dual|reverse)] [({set}|unset)] [(actor|remote|{both})]
         peerSmart  -peerOpt-
         regBulk    -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         tplSet_virtual_Wohnzimmer_Fernbedienung_Btn2 -tplPeer-
         tplSet_virtual_Wohnzimmer_Fernbedienung_Btn3 -tplPeer-
         trgEventL  -peer- -condition-
         trgEventS  -peer- -condition-
         trgPressL  [(-peer-|{all})]
         trgPressS  [(-peer-|{all})]
       lst:
         condition  slider,0,1,255
         peer       virtual_Wohnzimmer_Fernbedienung_Btn2,virtual_Wohnzimmer_Fernbedienung_Btn3
         peerOpt    remove_virtual_Wohnzimmer_Fernbedienung_Btn2,remove_virtual_Wohnzimmer_Fernbedienung_Btn3,AnkleideZimmer_Rolladen,Ankleidezimmer_Heizung_WindowRec,Ankleidezimmer_Heizung_remote,Bad_Heizung_WindowRec,Bad_Heizung_remote,Buero_Heizung_WindowRec,Buero_Heizung_remote,Buero_Rolladen,Buero_Schalter_Tuer_unten_Sw_01,Buero_Schalter_Tuer_unten_Sw_02,CUL_HM_HM_LC_Dim1T_Pl_3_2C60C9_Sw1_V_01,CUL_HM_HM_LC_Dim1T_Pl_3_2C60C9_Sw1_V_02,Dimmer_Steckdose_01_Sw,Dimmer_Steckdose_02_Sw,Dimmersteckdose_02_Sw1_V_01,Dimmersteckdose_02_Sw1_V_02,FluerEG_Ofen,FlurEG_Heizung_WindowRec,FlurEG_Heizung_remote,FlurOben_Wechsler_1,HM_616E86_Dim_V_01,HM_616E86_Dim_V_02,HZ.WZ_remote,KZ_HZ_WindowRec,KZ_HZ_remote,K_Heizung_WindowRec,K_Heizung_remote,KinderZimmer_Dimmer,KinderZimmer_Heizung_Fen_WindowRec,KinderZimmer_Heizung_Fen_remote,KinderZimmer_Rolladen_Balkon,KinderZimmer_Rolladen_Fenster,Kinderzimmer_Heizung_Mitte_WindowRec,Kinderzimmer_Heizung_Mitte_remote,Kueche_Rolladen,Kueche_Wandthermostat_WindowRec,Kueche_Wandthermostat_remote,MaedelsZimmer_Heizung_WindowRec,MaedelsZimmer_Heizung_remote,PM1_Sw,Rauchmelder_Team,SZ_Heizung_WindowRec,SZ_Heizung_remote,Schlafzimmer_Heizung_links_WindowRec,Schlafzimmer_Heizung_links_remote,Steckdose_01,Steckdose_02,Steckdose_03,Steckdose_04,Steckdose_05,Steckdose_06,Steckdose_07,Teichpumpe,WK_Maschmaschine_SW,WZ_Heizung_WindowRec,Wintergarten_Heizung_WindowRec,Wintergarten_Heizung_remote,Wintergarten_Rolladen_Tuer,virtualWeatherDoor,virtueller_Aktor_Btn1,virtueller_Aktor_Btn2,virtueller_Aktor_Btn3,virtueller_Aktor_Btn4,virtueller_Aktor_SZ_Btn1,virtueller_Aktor_SZ_Btn2,virtueller_Aktor_SZ_Btn3,virtueller_Aktor_SZ_Btn4,virtueller_Aktor_SZ_Btn5,virtueller_Aktor_SZ_Btn6,virtueller_Aktor_SZ_Btn7,virtueller_Aktor_SZ_Btn8
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]


Was mache ich falsch, das der zweite Notify keine Wirkung zeigt?

Viele Grüße
Stefan

betateilchen

Eigentlich hast Du kein Problem mit Homematic, sondern mit Deinen notify :)

Zitat von: bommel-bs am 20 Oktober 2021, 21:11:46
bei allen versuchen sehe ich, das der Zähler bis 19 hoch geht und dann stehen bleibt.

Der Zähler bleibt nicht stehen, aber alles was danach kommt, wird von Deinem notify ignoriert, weil Du explizit auf alles, was mit 1 beginnt, einschränkst:

ZitatWZ_Fernbedienung_Btn_02:Long.1.*

Deshalb werden die events von 2-9 und von 20-99 ignoriert. Ab 100 würde es wieder funktionieren. Die regexp ist schlichtweg falsch gewählt.




Zitat von: bommel-bs am 20 Oktober 2021, 21:11:46
Was mache ich falsch, das der zweite Notify keine Wirkung zeigt?

Vermutlich auch eine falsche regexp:

ZitatWZ_Fernbedienung_Btn_02:LongRelease.1.*

Ich würde auf diesen event triggern:

2021-10-20 21:53:48 CUL_HM HM_39D35A HM_39D35A_Btn_04 LongRelease

Ganz ohne Nummer am Ende. Schau Dir einfach mal an, wie der Event bei Dir genau aussieht - es gibt davon immer zwei:


2021-10-20 21:53:48 CUL_HM HM_39D35A HM_39D35A_Btn_04 LongRelease
2021-10-20 21:53:48 CUL_HM HM_39D35A_Btn_04 LongRelease 2_50 (to hmvccu)


Will man auf den ersten triggern, sieht die regexp dafür einfach so aus:

defmod HM_39D35A_notify_1 notify HM_39D35A:HM_39D35A_Btn_04.LongRelease {}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Pfriemler

Interessant wäre noch zu wissen, was der Fragesteller eigentlich beabsichtigt. Eventuell wäre es hilfreich, auf nur ein Long-Event zu reagieren (und alle weiteren zu ignorieren), etwa um etwas einzuschalten, und LongRelease um auszuschalten. Für so etwas bietet sich ein DOIF mit zwei Zweigen ja geradezu an. Den aktuellen Zustand des DOIF kann man dann auch gleich auswerten oder gewünschte Aktionen direkt ausführen lassen.
jm2c.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

bommel-bs

Hallo betateilchen,

Zitat von: betateilchen am 20 Oktober 2021, 22:01:14

Der Zähler bleibt nicht stehen, aber alles was danach kommt, wird von Deinem notify ignoriert, weil Du explizit auf alles, was mit 1 beginnt, einschränkst:

Deshalb werden die events von 2-9 und von 20-99 ignoriert. Ab 100 würde es wieder funktionieren. Die regexp ist schlichtweg falsch gewählt.




Vermutlich auch eine falsche regexp:




Danke für den Hinweis. Genau wegen der 1 wurden natürlich nur Zähler mit ein beginnend erwischt.
Jetzt machen die beiden Notify fast das was ich möchte. Wenn ich die Taste loslasse, kommt das Ereignis mit ca. 8 Sekunden Verzögerung. Mal sehen ab das ein Problem ist.

Zitat von: Pfriemler am 20 Oktober 2021, 22:21:30
Interessant wäre noch zu wissen, was der Fragesteller eigentlich beabsichtigt.

Ich habe eine Shally Vintage und möchte diese mit einer Taste auf der Fernbedienung steuern.
Bei einem kurzen Druck soll die Birne an bzw. aus gehen. Dafür habe ich dieses Notify n_WohnZimmer_Shally_Sofa_2_short:

Internals:
   DEF        WZ_Fernbedienung_Btn_02:Short.* set WohnzimmerSofaBirne toggle
   FUUID      608ef3eb-f33f-78f8-6f8e-2901f5cbb0524e24
   NAME       n_WohnZimmer_Shally_Sofa_2_short
   NOTIFYDEV  WZ_Fernbedienung_Btn_02
   NR         714
   NTFY_ORDER 50-n_WohnZimmer_Shally_Sofa_2_short
   REGEXP     WZ_Fernbedienung_Btn_02:Short.*
   STATE      2021-10-20 21:37:44
   TRIGGERTIME 1634758664.13305
   TYPE       notify
   READINGS:
     2021-10-18 22:26:37   state           active
Attributes:
   room       99_System


Mit einen langen Druck soll die Birne hller bzw. dunkler werden.
Das mache ich jetzt über 3 notiy und einen Dummy für die Variablen.
Notify eins setzt den Dummy WZ_Fernbedienung_Btn_02_Long auf true.
Dadurch wird der Dimmernotify n_WohnZimmer_Shally_Sofa_dimmer gestartet. Der schaut nach, ob es heller oder dunkler werden soll und schauert in einer Schleife die Birne an. Solbald das dritte Notify die Variable WZ_Fernbedienung_Btn_02_Long  auf false setzt hört die Dimmerschleife auf und merkt sich die letzte Richtung in einem Reading im Dummy WZ_Fernbedienung_Btn_02_Long.

Viele Grüße
Stefan

Pfriemler

#4
Anwendungsfall passt, hatte mir schon sowas gedacht.
Hier eine eben ausprobierte Lösung:
defmod WZ_Fernbedienung_Btn_02_Long DOIF ([FB4V:"^FB4V_Btn1.Long$"]) ( ) ## in der Klammer könnte eine auszuführende Aktion stehen wenn ein Long erkannt wird)\
DOELSEIF ([FB4V:"^FB4V_Btn1.LongRelease$"]) ( ) ## und hier eine wenn die Taste losgelassen wurde
attr WZ_Fernbedienung_Btn_02_Long cmdState true|false

Dieses DOIF mit dem Namen Deiner Variablen (statt des Dummys) wechselt so den Wert zwischen true (gedrückt) und false (losgelassen). Du müsstes "FB4V_Btn1" durch "WZ_Fernbedienung_Btn_02" und "FB4V" vor dem Doppelpunkt durch den Namen Deines Gerätes des Tasters ersetzen (ich nehme mal an "WZ_Fernbedienung") ersetzen, also bspw.
defmod WZ_Fernbedienung_Btn_02_Long DOIF ([WZ_Fernbedienung:"^WZ_Fernbedienung_Btn_02.Long$"]) ( ) ...

Mit diesem DOIF werte ich das Event testweise aus:
defmod WZ_Fernbedienung_Btn_02_Long_DOIF_1 DOIF ([WZ_Fernbedienung_Btn_02_Long:"^true$"]) (set dummy on)\
DOELSEIF ([WZ_Fernbedienung_Btn_02_Long:"^false$"]) (set dummy off)


edit: Natürlich sollte auch Dein notify zum Starten und Stoppen der Rampe damit sofort funktionieren, das müsstest Du nicht einmal umschreiben. Das DOIF erzeugt ebenso Events beim Wechsel des Status wie sie beim Ändern des Dummywertes entstehen.

Der Wechsel zwischen true und false erfolgt hier in Sekundenbruchteilen nach dem Drücken (systemisch natürlich erst nach ca 0,5 Sekunden) und dem Loslassen.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

bommel-bs

Hallo Pfriemler,

die Idee mit dem DOIF gefällt mir gut.

Folgendes DOIF habe ich definiert:

Internals:
   DEF        ([WZ_Fernbedienung:"^WZ_Fernbedienung_Btn_02.Long$"])
   ( ) ## in der Klammer könnte eine auszuführende Aktion stehen wenn ein Long erkannt wird)
DOELSEIF ([WZ_Fernbedienung:"^WZ_Fernbedienung_Btn_02.LongRelease$"])
   ( ) ## und hier eine wenn die Taste losgelassen wurde
   FUUID      61719639-f33f-78f8-41ed-0350dc61e94f229a
   MODEL      FHEM
   NAME       di_WZ_Fernbedienung_Btn_02_Long
   NOTIFYDEV  global,WZ_Fernbedienung
   NR         746
   NTFY_ORDER 50-di_WZ_Fernbedienung_Btn_02_Long
   STATE      false
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2021-10-21 19:16:53   Device          WZ_Fernbedienung
     2021-10-21 19:16:53   cmd             2
     2021-10-21 19:16:53   cmd_event       WZ_Fernbedienung
     2021-10-21 19:16:53   cmd_nr          2
     2021-10-21 19:16:53   e_WZ_Fernbedienung_events commState: CMDs_done,CMDs_done
     2021-10-21 18:35:01   mode            enabled
     2021-10-21 19:16:53   state           false
   Regex:
     accu:
     collect:
     cond:
       WZ_Fernbedienung:
         0:
           &STATE     ^WZ_Fernbedienung$
         1:
           &STATE     ^WZ_Fernbedienung$
   attr:
     cmdState:
       0:
         true
       1:
         false
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('WZ_Fernbedienung',$hash,'^WZ_Fernbedienung_Btn_02.Long$',1)
     1          ::EventDoIf('WZ_Fernbedienung',$hash,'^WZ_Fernbedienung_Btn_02.LongRelease$',1)
   do:
     0:
       0           
     1:
       0           
     2:
   helper:
     DEVFILTER  ^global$|^WZ_Fernbedienung$
     NOTIFYDEV  global|WZ_Fernbedienung
     event      commState: CMDs_done,CMDs_done
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   WZ_Fernbedienung
     timerevent WZ_Fernbedienung_Btn_02 LongRelease
     triggerDev WZ_Fernbedienung
     timerevents:
       battery: ok
       commState: CMDs_done
       CMDs_done
       WZ_Fernbedienung_Btn_02 LongRelease
     timereventsState:
       battery: ok
       commState: CMDs_done
       CMDs_done
       state: WZ_Fernbedienung_Btn_02 LongRelease
     triggerEvents:
       commState: CMDs_done
       CMDs_done
     triggerEventsState:
       commState: CMDs_done
       state: CMDs_done
   internals:
   perlblock:
   readings:
   trigger:
     all         WZ_Fernbedienung
   uiState:
Attributes:
   cmdState   true|false
   room       99_System


Wie erwartet wechselt der state mit etwas Verzögerung zwieschen true und false.

Meine Schleife sieht wie folgt aus:

Internals:
   DEF        di_WZ_Fernbedienung_Btn_02_Long:true {
   my($upDown, $long, $lastLong, $TasteAktiv, $running);

   $TasteAktiv = $EVTPART0;
   Log 2,("n_WohnZimmer_Shally_Sofa_dimmer - Event0 $EVTPART0");

   # laeuft schon ein Dimmer?
   $running = ReadingsVal("n_WohnZimmer_Shally_Sofa_dimmer", "running","-");
   if ( $running eq "true" ) {
      Log 2,("n_WohnZimmer_Shally_Sofa_dimmer - es gibt schon einen aktiven Dimmer");
   }
   else {
      fhem("setreading n_WohnZimmer_Shally_Sofa_dimmer running true");
      $upDown = ReadingsVal("n_WohnZimmer_Shally_Sofa_dimmer", "UP_DOWN","down");

      while( $TasteAktiv eq "true") {
         $TasteAktiv = ReadingsVal("di_WZ_Fernbedienung_Btn_02_Long", "state","-");

         Log 2,("n_WohnZimmer_Shally_Sofa_dimmer - aktiv: $TasteAktiv");
         sleep(5);
      }
       
      if ( $upDown eq "up" ) {
         fhem("setreading n_WohnZimmer_Shally_Sofa_dimmer UP_DOWN down");
      }
      else {
         fhem("setreading n_WohnZimmer_Shally_Sofa_dimmer UP_DOWN up");
      }
      fhem("setreading n_WohnZimmer_Shally_Sofa_dimmer running false");
#      sleep(3);
   }
}
   FUUID      616dd52a-f33f-78f8-0b4f-87774e3e9ab2cbaa
   NAME       n_WohnZimmer_Shally_Sofa_dimmer
   NOTIFYDEV  di_WZ_Fernbedienung_Btn_02_Long
   NR         736
   NTFY_ORDER 50-n_WohnZimmer_Shally_Sofa_dimmer
   REGEXP     di_WZ_Fernbedienung_Btn_02_Long:true
   STATE      active
   TRIGGERTIME 1634836606.462
   TYPE       notify
   READINGS:
     2021-10-21 19:16:51   UP_DOWN         up
     2021-10-21 19:16:51   running         false
     2021-10-21 19:18:36   state           active
Attributes:
   room       99_System


Leider habe ich eine Endlos-Schleife. Die Variable $TasteAktiv ist in der Schleife immer true auch wenn in der Webansicht von di_WZ_Fernbedienung_Btn_02_Long schon state false steht. Lese ich die Variable falsch?

Viele Grüße
Stefan

Pfriemler

Oink, oink, sagte das Schwein als es ins Uhrwerk schaute. Ich sehe den Fehler nicht.
Der nächste bitte!
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."