Autor Thema: Wunsch: DOIF und generelle TOT-Zeit  (Gelesen 123 mal)

Offline daedalus0815

  • Jr. Member
  • **
  • Beiträge: 54
Wunsch: DOIF und generelle TOT-Zeit
« am: Gestern um 10:40:40 »
Hallo Damian,

echt nur so als Idee....

--------------------------------

ich habe einen HUE-Switch, der folgendes absetzt:

2022-01-28 08:25:25 HUEDevice HUESwitch2 1000
2022-01-28 08:25:26 HUEDevice HUESwitch2 1002

oder mal
2022-01-28 08:25:25 HUEDevice HUESwitch2 1000
2022-01-28 08:25:26 HUEDevice HUESwitch2 1003

oder mal
2022-01-28 08:25:25 HUEDevice HUESwitch2 1000
2022-01-28 08:25:26 HUEDevice HUESwitch2 1004

Entscheidend ist dabei immer der letzte Wert.


Bisher ließ sich das mit [HUESwitch2:"^100"] wunderbar maskieren, funktioniert nur jetzt nimmer:
((Sorry...Keine Ahnung, ob das hier gegen die guten Sitten verstößt...ein Link zu meinem Anfangsproblem:))
https://forum.fhem.de/index.php/topic,125768.msg1203950.html#msg1203950

Jetzt muss man mit [HUESwitch2:"^1002"] bzw. [HUESwitch2:"^1003"] etc. maskieren....geht auch.
Ich stelle immer wieder fest, dass mir eine einstellbare DOIF-Gesamt-TOTzeit von wenigen Sekunden manches Problem leicht vom Hals halten würde.

In o.e. komme ich mit einem cmdPause ja nicht weiter, da ein Statuswechsel stattfindet... vielleicht sehe ich aber nur die bessere Lösung nicht  :o




Online Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9063
Antw:Wunsch: DOIF und generelle TOT-Zeit
« Antwort #1 am: Gestern um 10:48:15 »
[HUESwitch2:"^100"] bedeutet einfach: Event beginnt mit 100, Rest ist egal. Da hat sich an dieser Syntax noch nie etwas im DOIF geändert. Wenn etwas vorher funktioniert hat und jetzt nicht, dann liegt es nicht an "^100".

Du kannst immer von außen ein DOIF auf enable/disable per set setzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline daedalus0815

  • Jr. Member
  • **
  • Beiträge: 54
Antw:Wunsch: DOIF und generelle TOT-Zeit
« Antwort #2 am: Gestern um 10:52:55 »
Nachgedacht....man kann das aber auch so lösen:


die erste Bedingung fängt das  "HUESwitch2 1000" ab.....:

---------------------------------------------------------------------------------------

( [HUESwitch2:"000"]   ) 
()

DOELSEIF  ### alle 100[b]x[/b]
([HUESwitch2:"^100"]  and [?HUE_Tresen:&STATE] eq "on" )
( set HUE_Tresen off )


DOELSEIF 
( [HUESwitch2:"^100"]  and  [?HUE_Tresen:&STATE] eq "off" ) 
( set HUE_Tresen on   )
-----------------------------------------------

P.S: ..... ist klar, am DOIF hat sich ja wirklich nix geändert, nur am Timing und der Auswertung der HUE-Events (siehe Link).
Totzeit war ja auch nur eine Idee und kein "must have" oder Fehler......
Vielleicht nutzt dieser Eintrag aber auch einem anderen FHEMler ....

disable/enable via at für 2 Sekunden aus dem DOIF ist auch nicht schön.... toll wäre z.B. ein DOIF-Funktion "set $SELF death 2"
=> für 2 Sekunden DOIF - Sperrung der Eventverarbeitung, cmdPause bietet das ja bereits auf unterer Ebene

Viele Wege führ'n nach Rom
« Letzte Änderung: Gestern um 13:02:11 von daedalus0815 »

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16933
Antw:Wunsch: DOIF und generelle TOT-Zeit
« Antwort #3 am: Gestern um 10:56:22 »
Interessehalber: Wieso löst du sowas nicht innerhalb der ZigBee-Funktionalität, also entweder über ein "binding" oder eine Gruppe?
Server: HP-T620@Debian 11, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Offline daedalus0815

  • Jr. Member
  • **
  • Beiträge: 54
Antw:Wunsch: DOIF und generelle TOT-Zeit
« Antwort #4 am: Gestern um 11:17:24 »
Sorry @Beta-User,

....mußte lange darüber nachhdenken, was du meinst....hab's  jetzt...direktes binding.

Bei mir steht ja auch nicht " set HUE_Becken on"
sondern  "set HUE_Becken pct 68".... und das noch in verschieden Varianten für verschieden Uhrzeiten (Morgens/Abends) und
Abhängigkeiten zum Alarmstatus.


Liest man meinen o.e. Link, sieht man, dass sich scheinbar über
ein geändertes STATE-Update-Timing das Auswerte-Verhalten meines DOIFs geändert hat....was ja per se kein DOIF-Problem ist.

Solche schnelle Event-Sequenzen von Devices kommen bestimmt öfters vor, man will aber nur auf EINEN Event aus der Sequenz reagieren...
Ändert sich dabei noch der DOIF-Status kann man mit cmdPause leider nicht blocken.

Für mich habe ich ja nun eine praktible Lösung gefunden, die mir den Code noch übersichtlich hält.....

Vielleicht seht ihr ja auch das Potential einer anderen Lösung .... ;)




« Letzte Änderung: Gestern um 11:26:00 von daedalus0815 »

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11653
  • NIVEAu ist keine Creme...
Antw:Wunsch: DOIF und generelle TOT-Zeit
« Antwort #5 am: Gestern um 12:06:00 »
Solche schnelle Event-Sequenzen von Devices kommen bestimmt öfters vor, man will aber nur auf EINEN Event aus der Sequenz reagieren...

Wenn man ur auf EINEN Event (aus einer Sequenz) reagieren will, dann muss eben die Trigger-RegEx auch genau diesen einen Event "fassen"...
...klingt für mich ein wenig nach: nach Homematic Update schalten meine Geräte "komisch" -> zu "lasche" RegEx war dabei das eigentliche Problem

;)

Gruß, Joachim
FHEM PI3B+ Buster: 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)
FHEM PI3 RaspiOS (Test)
Zustimmung Zustimmung x 1 Liste anzeigen

 

decade-submarginal