Autor Thema: in DOIF SEQUENCE Trigger ODER Partial_1 auslesen  (Gelesen 546 mal)

Offline dafosy

  • Jr. Member
  • **
  • Beiträge: 51
in DOIF SEQUENCE Trigger ODER Partial_1 auslesen
« am: 21 März 2021, 13:51:39 »
Hallo Forum,

entschuldigt bitte, dass ich dieser Anfrage hier nochmal ein eigenes Thema widme, ich habe diese Anfrage bereits https://forum.fhem.de/index.php/topic,35739.0.html#top am Ende gestellt, möglicherweise jedoch dort nicht mehr die erforderliche Reichweite.

Aufbauend auf diesem Post https://forum.fhem.de/index.php?topic=84122.0 stelle ich mir die Frage, wie ich in

DOIF den SEQUENCE Status trigger oder partial_1 verwenden kann. Meines bisherigen Verständnisses nach, erhalte ich durch

DOELSEIF
(["K2_BI_OFF_seq"])
(set HUEDevice9 off)


nur den Status "trigger".

Hinweis:
defmod K2_BI_OFF_seq sequence EnO_FEEFAXXX:BI 0.5 EnO_FEEFAXXX:buttons:.released
Was muss ich bei DOIF eingeben, um auch den Status "partial_1" verwenden zu können?

Grüße
dafosy

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20195
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:in DOIF SEQUENCE Trigger ODER Partial_1 auslesen
« Antwort #1 am: 21 März 2021, 15:05:09 »
Hi,
Deine Frage(n) ist/sind hier falsch
*** Keine Fragethemen starten! Board ist nur für funktionsfähigen Code! ***
verschiebe das Bitte ins DOIF Board.

Wenn Du dazu noch Deine Events posten würdest könnte dann auch einer mitdenken :)

Gruß Otto
« Letzte Änderung: 21 März 2021, 15:08:13 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3890
  • ... wer sät, der erntet ...
Antw:in DOIF SEQUENCE Trigger ODER Partial_1 auslesen
« Antwort #2 am: 21 März 2021, 17:37:42 »

Hinweis:
defmod K2_BI_OFF_seq sequence EnO_FEEFAXXX:BI 0.5 EnO_FEEFAXXX:buttons:.released

Hallo,

wenn das die ganze Definition ist dann fehlt da noch ein gesetztes Attribut um partial_1 zu aktivieren.

Zitat
Was muss ich bei DOIF eingeben, um auch den Status "partial_1" verwenden zu können?

Hab mich nicht damit beschäftigt denke aber nach dem aktivieren von partial_1 erscheint das dann ja auch im Eventmonitor, dieses Event markierst du klickst oben im Event-Monitor Create/Modify Device und wählst in dem Dialogfeld statt notify DOIF aus.
Daraufhin wird dir die Syntax von partial_1 zur Verwendung in deinem DOIF angezeigt, das kopierst dir einfach raus.
Hoffe lieg nicht daneben  :P

Gruß

Thomas

Offline dafosy

  • Jr. Member
  • **
  • Beiträge: 51
Antw:in DOIF SEQUENCE Trigger ODER Partial_1 auslesen
« Antwort #3 am: 22 März 2021, 11:14:09 »
Danke dir für die Antwort.

Das Attribut "triggerpartial_1" hatte ich bereits gesetzt.
Neu war DOIFs aus dem Eventmonitor zu erstellen.  :D
Deine Lösungsweg hat erstmal geklappt.

Ziel meines DOIFs ist ja ein Dimmer mit Enocean:

Einfachklick BO: leuchtet schwach
Doppelklick BO: am hellsten
gedruckthalten BO: dimmt hoch
gedrückt halten BI: dimmt runter
Einfachklick BI: ausschalten

Bevor ich mein Projekt hier fürs Forum dokumentiere, folgende Frage noch:
bisher funktioniert mein Dimmer soweit, allerdings dimmt meine DOIF nur einmal beim gedrückt halten.

Welches Attribut muss ich setzen oder wie muss ich den Code schreiben, dass die DOIF nach erfolgreichem Durchlaufen wieder startet? Mit

"attr. do always"

klappt es noch nicht.

Zitat
([K2_Klicks_Dummy:state] eq 1 and [K2_BO_ON_seq:"^trigger$"])
(set HUEDevice9 pct 25) 
(set K2_Dimm_Dummy 20)
(set K2_Klicks_Dummy 0)
(set K2_Dauer_Dummy 0)

DOELSEIF
([K2_Klicks_Dummy:state] eq 2 and [K2_BO_ON_seq:"^trigger$"])   
(set HUEDevice9 pct 100)   
(set K2_Dimm_Dummy 100)
(set K2_Klicks_Dummy 0)
(set K2_Dauer_Dummy 0)

DOELSEIF
([K2_BI_OFF_seq:"^trigger$"])
(set HUEDevice9 off)
(set K2_Klicks_Dummy 0)
(set K2_Dauer_Dummy 0)

DOELSEIF
([K2_BO_ON_seq:"^partial_1$"])
(set HUEDevice9 dimUp)
(set K2_Dauer_Dummy 0)

DOELSEIF
([K2_BI_OFF_seq:"^partial_1$"])
(set HUEDevice9 dimDown)
(set K2_Dauer_Dummy 0)

Attribute aktuell:
do always
wait 0,0,0.7,0:0,0,0.7,0:0,0,0:0,0,0:0,3 (hier fehlt nochwas)
room: K2



Gruß
dafosy

Offline dafosy

  • Jr. Member
  • **
  • Beiträge: 51
Antw:in DOIF SEQUENCE Trigger ODER Partial_1 auslesen
« Antwort #4 am: 22 März 2021, 16:57:44 »
Das Attribut "repeatcmd" wird es sein, ich probiere.

Offline dafosy

  • Jr. Member
  • **
  • Beiträge: 51
Antw:in DOIF SEQUENCE Trigger ODER Partial_1 auslesen
« Antwort #5 am: 01 April 2021, 17:16:48 »
Hallo Team,

ich sitze an der Programmierung des Dimmers und es läuft ganz gut. Auch die Dokumentation fürs Forum schreitet voran. Allerdings ein Problem taucht auf und zwar:

wenn ich den Taster gedrückt halte, dann löst dieser auch das Event "Partial_1" aus. In meiner DOIF ist das der folgende Punkt:

DOELSEIF
([SZ_ON_seq:"^partial_1$"])
(set HUEDevice9 dimUp)

Allerdings wird die Sequence nach dem loslassen des Tasters nicht geändert. Ihr ahnt, was passiert:
Der Dimmer dimmt durch, sprich die DOIF-Routine wird nicht unterbrochen und das Licht dimmt bis auf Maximum.

Ich habe bisher probiert, eine "AND" Verbindung mit [EnO_FEEFAXXX:"^buttons:.pressed$"] zu kombinieren, aber das hilft auch nix.

Eine weiterer DOIFELSE-Eintrag mit
([EnO_FEEFAXXX:"^buttons:.released$"]) ist zwar nett gedacht, unterbricht aber jegliche Einträge in der entsprechenden DOIF.

Habt ihr eine Idee, wie ich die obige DOIF-Routine erweitern kann, dass der Dimm-Befehl unterbricht, wenn die Taste los gelassen wird? Evtl. ist ja etwas mit Attributen am EnOcean-Taster zu machen, bspw. event-on-change oder ähnlich.

Danke für einen Hinweis.

 

decade-submarginal