CMD wird erst nach zweimaliger Tasterbetätigung ausgeführt

Begonnen von caldir65, 13 September 2020, 12:57:12

Vorheriges Thema - Nächstes Thema

caldir65

Moin,

ich habe hier ein etwas seltsames Verhalten meiner Logik:Internals:
   DEF        ([Wandtaster.Licht.Wohnzimmer:"^Wandtaster.Licht.Wohnzimmer_Btn_01.Short$"]) (
set shelly.Wohnzimmer.TV_Licht off;
set shelly.Wohnzimmer.Sofa off;
set Shelly.Esszimmer.Buecher off;
    set shelly.Wohnzimmer.Stehlampe off;
    set Shelly.Esszimmer.Vitrine off
    )
DOELSEIF
([Wandtaster.Licht.Wohnzimmer:"^Wandtaster.Licht.Wohnzimmer_Btn_02.Short$"]) (
set shelly.Wohnzimmer.TV_Licht on;
set shelly.Wohnzimmer.Sofa on;
set Shelly.Esszimmer.Buecher on;
    set shelly.Wohnzimmer.Stehlampe on;
    set Shelly.Esszimmer.Vitrine on
    )
DOELSEIF ([FS20.Wohnzimmer.Sitzecke:"^off$"]) (
    set shelly.Wohnzimmer.TV_Licht off;
set shelly.Wohnzimmer.Sofa off;
set Shelly.Esszimmer.Buecher off;
    set shelly.Wohnzimmer.Stehlampe off;
    set Shelly.Esszimmer.Vitrine off
    )
DOELSEIF ([FS20.Wohnzimmer.Sitzecke:"^on$"])(
    set shelly.Wohnzimmer.TV_Licht on;
set shelly.Wohnzimmer.Sofa on;
set Shelly.Esszimmer.Buecher on;
    set shelly.Wohnzimmer.Stehlampe on;
    set Shelly.Esszimmer.Vitrine on
    )
   FUUID      5ee0a2cb-f33f-378b-685c-4e966a4071e47144
   FVERSION   98_DOIF.pm:0.227350/2020-09-05
   MODEL      FHEM
   NAME       Taster.Wohnzimmer.Wand_doif
   NOTIFYDEV  global,Wandtaster.Licht.Wohnzimmer,FS20.Wohnzimmer.Sitzecke
   NR         1903
   NTFY_ORDER 50-Taster.Wohnzimmer.Wand_doif
   STATE      cmd_3
   TYPE       DOIF
   VERSION    22735 2020-09-05 11:05:46
   READINGS:
     2020-09-13 12:47:44   Device          FS20.Wohnzimmer.Sitzecke
     2020-09-13 12:47:44   cmd             3
     2020-09-13 12:47:44   cmd_event       FS20.Wohnzimmer.Sitzecke
     2020-09-13 12:47:44   cmd_nr          3
     2020-09-13 12:47:44   e_FS20.Wohnzimmer.Sitzecke_events off,RSSI: -76,RAWMSG: 810b04xx0101a001ed68010000
     2020-09-13 12:47:39   e_Wandtaster.Licht.Wohnzimmer_events Wandtaster.Licht.Wohnzimmer_Btn_02 Short
     2020-09-13 12:46:09   mode            enabled
     2020-09-13 12:47:44   state           cmd_3
   Regex:
     accu:
     cond:
       FS20.Wohnzimmer.Sitzecke:
         0:
         1:
         2:
           &STATE     ^FS20.Wohnzimmer.Sitzecke$
         3:
           &STATE     ^FS20.Wohnzimmer.Sitzecke$
       Wandtaster.Licht.Wohnzimmer:
         0:
           &STATE     ^Wandtaster.Licht.Wohnzimmer$
         1:
           &STATE     ^Wandtaster.Licht.Wohnzimmer$
         2:
         3:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('Wandtaster.Licht.Wohnzimmer',$hash,'^Wandtaster.Licht.Wohnzimmer_Btn_01.Short$',1)
     1          ::EventDoIf('Wandtaster.Licht.Wohnzimmer',$hash,'^Wandtaster.Licht.Wohnzimmer_Btn_02.Short$',1)
     2          ::EventDoIf('FS20.Wohnzimmer.Sitzecke',$hash,'^off$',1)
     3          ::EventDoIf('FS20.Wohnzimmer.Sitzecke',$hash,'^on$',1)
   devices:
   do:
     0:
       0            set shelly.Wohnzimmer.TV_Licht off; set shelly.Wohnzimmer.Sofa off; set Shelly.Esszimmer.Buecher off;     set shelly.Wohnzimmer.Stehlampe off;     set Shelly.Esszimmer.Vitrine off     
     1:
       0            set shelly.Wohnzimmer.TV_Licht on; set shelly.Wohnzimmer.Sofa on; set Shelly.Esszimmer.Buecher on;     set shelly.Wohnzimmer.Stehlampe on;     set Shelly.Esszimmer.Vitrine on     
     2:
       0               set shelly.Wohnzimmer.TV_Licht off; set shelly.Wohnzimmer.Sofa off; set Shelly.Esszimmer.Buecher off;     set shelly.Wohnzimmer.Stehlampe off;     set Shelly.Esszimmer.Vitrine off     
     3:
       0               set shelly.Wohnzimmer.TV_Licht on; set shelly.Wohnzimmer.Sofa on; set Shelly.Esszimmer.Buecher on;     set shelly.Wohnzimmer.Stehlampe on;     set Shelly.Esszimmer.Vitrine on     
     4:
   helper:
     DEVFILTER  ^global$|^Wandtaster.Licht.Wohnzimmer$|^FS20.Wohnzimmer.Sitzecke$
     NOTIFYDEV  global|Wandtaster.Licht.Wohnzimmer|FS20.Wohnzimmer.Sitzecke
     event      off
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   FS20.Wohnzimmer.Sitzecke
     timerevent off
     triggerDev FS20.Wohnzimmer.Sitzecke
     timerevents:
       off
       RSSI: -76
       RAWMSG: 810b04xx0101a001ed68010000
     timereventsState:
       state: off
       RSSI: -76
       RAWMSG: 810b04xx0101a001ed68010000
     triggerEvents:
       off
       RSSI: -76
       RAWMSG: 810b04xx0101a001ed68010000
     triggerEventsState:
       state: off
       RSSI: -76
       RAWMSG: 810b04xx0101a001ed68010000
   internals:
   readings:
   trigger:
     all         Wandtaster.Licht.Wohnzimmer FS20.Wohnzimmer.Sitzecke
   uiState:
   uiTable:
Attributes:
   do         always


Benutze ich nur den Handsender oder den Wandtaster, so kann ich ein- und wieder ausschalten. Sobald ich aber an einem Device einschalte, muß ich am anderen Device auch "einschalten", bevor ich ausschalten kann, analog verhält es mit mit dem Einschalten.

Wo mache ich jetzt bloß einen Fehler, oder habe ich etwas vergessen?

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 128GB SSD, Lubuntu 24.04.01LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

amenomade

Eingentlich merkwürdig.
Vielleicht im Eventmontior die Events beobachten, aber grundsätzlich sind die Bedingungen OK
   condition:
     0          ::EventDoIf('Wandtaster.Licht.Wohnzimmer',$hash,'^Wandtaster.Licht.Wohnzimmer_Btn_01.Short$',1)
     1          ::EventDoIf('Wandtaster.Licht.Wohnzimmer',$hash,'^Wandtaster.Licht.Wohnzimmer_Btn_02.Short$',1)
     2          ::EventDoIf('FS20.Wohnzimmer.Sitzecke',$hash,'^off$',1)
     3          ::EventDoIf('FS20.Wohnzimmer.Sitzecke',$hash,'^on$',1)


Versuche mal vielleicht noch ein chekall zu setzen. Aber ich kann mir das Verhalten nicht erklären
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

caldir65

Moin,

ich habe jetzt mal zumindest schnell den Handsender im Eventmonitor beobachtet (Filter auf FS20 als Namensbestandteil ...):2020-09-16 07:59:37.112 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010011
2020-09-16 07:59:37.112 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -67.5

2020-09-16 07:59:38.474 FS20 Handsender.Wohnzimmer_TV RAWMSG: 810b04xx0101a001ed68630011
2020-09-16 07:59:38.474 FS20 Handsender.Wohnzimmer_TV RSSI: -68.5

2020-09-16 08:00:01.753 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010011
2020-09-16 08:00:01.753 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -71.5

2020-09-16 08:00:07.022 DOIF Taster.Wohnzimmer.Wand_doif cmd_event: FS20.Wohnzimmer.Sitzecke
2020-09-16 08:00:07.025 FS20 FS20.Wohnzimmer.Sitzecke off
2020-09-16 08:00:07.025 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010000
2020-09-16 08:00:07.025 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -71.5
2020-09-16 08:00:10.222 DOIF Taster.Wohnzimmer.Wand_doif cmd_event: FS20.Wohnzimmer.Sitzecke
2020-09-16 08:00:10.223 FS20 FS20.Wohnzimmer.Sitzecke on
2020-09-16 08:00:10.223 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010011
2020-09-16 08:00:10.223 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -72

(Die Leerzeilein habe ich nachträglich zur besseren Lesbarkeit eingefügt ...)
Mir ist aufgefallen, daß der Handsender in den ersten drei Zeilen kein Event sendet, nur RSSI und Rawmsg (3x Druck auf on - re. Taste) Erst mit dem ersten Druck auf OFF kommt auch ein Event, hier natürlich das definierte OFF, danach kommen auch wieder Events bei ON

Inzwischen habe ich auch bei einem zweiten Handsender in Kombination mit einem HM-Wandtaster das gleiche Verhalten festgestellt ...

Wurde vlt. in der jüngeren Vergangenheit etwas im DOIF-, HM- oder CUL-Verhalten geändert, was über ein Update gekommen ist? Aufgefallen ist dieses Verhalten ein paar Tage, bevor ich diesen Fred eröffnet habe ...

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 128GB SSD, Lubuntu 24.04.01LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Damian

Zitat von: caldir65 am 16 September 2020, 08:23:26
Moin,

ich habe jetzt mal zumindest schnell den Handsender im Eventmonitor beobachtet (Filter auf FS20 als Namensbestandteil ...):2020-09-16 07:59:37.112 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010011
2020-09-16 07:59:37.112 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -67.5

2020-09-16 07:59:38.474 FS20 Handsender.Wohnzimmer_TV RAWMSG: 810b04xx0101a001ed68630011
2020-09-16 07:59:38.474 FS20 Handsender.Wohnzimmer_TV RSSI: -68.5

2020-09-16 08:00:01.753 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010011
2020-09-16 08:00:01.753 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -71.5

2020-09-16 08:00:07.022 DOIF Taster.Wohnzimmer.Wand_doif cmd_event: FS20.Wohnzimmer.Sitzecke
2020-09-16 08:00:07.025 FS20 FS20.Wohnzimmer.Sitzecke off
2020-09-16 08:00:07.025 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010000
2020-09-16 08:00:07.025 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -71.5
2020-09-16 08:00:10.222 DOIF Taster.Wohnzimmer.Wand_doif cmd_event: FS20.Wohnzimmer.Sitzecke
2020-09-16 08:00:10.223 FS20 FS20.Wohnzimmer.Sitzecke on
2020-09-16 08:00:10.223 FS20 FS20.Wohnzimmer.Sitzecke RAWMSG: 810b04xx0101a001ed68010011
2020-09-16 08:00:10.223 FS20 FS20.Wohnzimmer.Sitzecke RSSI: -72

(Die Leerzeilein habe ich nachträglich zur besseren Lesbarkeit eingefügt ...)
Mir ist aufgefallen, daß der Handsender in den ersten drei Zeilen kein Event sendet, nur RSSI und Rawmsg (3x Druck auf on - re. Taste) Erst mit dem ersten Druck auf OFF kommt auch ein Event, hier natürlich das definierte OFF, danach kommen auch wieder Events bei ON

Inzwischen habe ich auch bei einem zweiten Handsender in Kombination mit einem HM-Wandtaster das gleiche Verhalten festgestellt ...

Wurde vlt. in der jüngeren Vergangenheit etwas im DOIF-, HM- oder CUL-Verhalten geändert, was über ein Update gekommen ist? Aufgefallen ist dieses Verhalten ein paar Tage, bevor ich diesen Fred eröffnet habe ...

Gruß, Christoph

Wenn, dann hat das eher etwas mit dem Device HM zu tun und weniger mit DOIF.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF