Unterscheiden zwischen long und short

Begonnen von DD, 05 März 2017, 15:42:25

Vorheriges Thema - Nächstes Thema

DD

Hallo ich schon wieder  ;D
ich versuche über ein Notify nur auf das lange Drücken eines Tasters zu ragieren.
Leider kommt auch jedes Mal der smart Befehl durch.

Kann mir jemand helfen?

Hier der Notify:


(
  [Taster_G04:press_long]
)
(
   IF ([G4_Media:state] eq "on")
      (set G4_Media off)
   ELSE
      (set G4_Media on-for-timer 14400)
)


Im angehängten Bild habe ich die beieden Sequenzen (long und short) rauskopiert


rudolfkoenig

Diese Syntax ist fuer notify falsch.
Bitte merken: DOIF und IF sind eigene Module, mit einem speziellen Syntax, was nur da gilt.
Fuer DOIF/IF Probleme gibt es einen speziellen Forumsbereich.

CoolTux

Zitat von: DD am 05 März 2017, 15:42:25
Hallo ich schon wieder  ;D
ich versuche über ein Notify nur auf das lange Drücken eines Tasters zu ragieren.
Leider kommt auch jedes Mal der smart Befehl durch.

Kann mir jemand helfen?

Hier der Notify:


(
  [Taster_G04:press_long]
)
(
   IF ([G4_Media:state] eq "on")
      (set G4_Media off)
   ELSE
      (set G4_Media on-for-timer 14400)
)


Im angehängten Bild habe ich die beieden Sequenzen (long und short) rauskopiert

DD warum befolgst Du nicht meinen Rat und liest erstmal das Anfängerbuch. Toll das Thorsten Dir bei Deinem Problem helfen könnte das es weg ist, aber das entbehrt Dich nicht von Deinem Selbststudium zu FHEM. Du siehst ja selber das Dir ohne vernünftige Angaben keiner helfen kann.
Und so wird es Dir weiter und weiter gehen auch wenn dieses Problem vielleicht wieder gelöst wird.
Im letzten Beitrag war das noch eine Funktion für Dich in diesem ein Notify und beides ist falsch. Ich ha es Dir schon gesagt das es nach einem DOIF aus sieht und wo das Forum dafür ist.
Du musst doch wissen was Du angelegt hast.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

Zitat von: DD am 05 März 2017, 15:42:25Leider kommt auch jedes Mal der smart Befehl durch.
Was ist denn der "smart Befehl"?

Zitat
Hier der Notify:
Wie wär's wenn Du einfach wirklich mal ein notify anlegst?

Gruß,
   Thorsten
FUIP

DD

Hallo zusammen,

ja, ihr bet ja alle Recht.
Mit den Begriffen hapert es noch ein wenig.

Ich bin davon ausgegangen dass DOIF und Notify das selbe sind. Ist in der Anleitung nun wirklich nicht so toll beschrieben! DOIF gibt es da gar nicht....

O.k. - Ich habe also ein DOIF und dort unter DEF das besagte Makro geschrieben.
Ich möchte dass nu die "press_long" des Tasters ausgewertet werden. "press_short" könnte vielleicht über eine If...Then.. abgefangen werden.
Aber ich weis nicht wie....


Tobias

CoolTux

Schau mal hier
https://fhem.de/commandref_DE.html#DOIF

Da suchst du auf Events reagieren und liest Dir das mal durch.
Fange ganz einfach an und dann baust du auf. Sorge erstmal dafür das Du den ersten Teil (Bedingungs oder Event) hin schreibst

define doifName DOIF ( [ ] ) ( )

Das erste Runde Klammernpaar ist immer der Event oder die Bedingung zum ausführen des Ausführungsteils. Das zweite runde Klammernpaar ist der Ausführungsteil.
In eckigen Klammern kommen die Devicenamen oder Events.

Lese dich, lasse dir Zeit. Teste mit Dummys wie im Anfänger PDF beschrieben. Erst dann fängt es auch an Spaß zu machen. Sonst wird es nur Frust.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

Hi,
ich hätte da ja eher notify empfohlen, aber wenn's partout DOIF sein soll, dann bin ich wegen Ahnungslosigkeit raus.
Gruß,
   Thorsten
FUIP

DD

Hallo,

habe die Lösung in der Onlinehilfe gefunden

[Taster_G04] =~ "long"

Tobias

betateilchen

jetzt auch noch mit regexp zu arbeiten, macht die Sache nur noch grusliger...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Thorsten Pferdekaemper

Zitat von: betateilchen am 05 März 2017, 21:57:13
jetzt auch noch mit regexp zu arbeiten, macht die Sache nur noch grusliger...
Ja, da hat auch meine Kreativität nicht ausgereicht, um mir so eine "Lösung" auszudenken.

@DD: Was wäre denn so schlimm an einem simplen notify Taster_G04:long_press:.* ?

Gruß,
   Thorsten
FUIP

DD

Wahrscheinlich wäre das die Lösung gewesen wenn ich es gestern gewusst hätte....
Ich versuche es mal am nächsten Wochenende. Ist sicher die bessere Lösung

automatisierer

Zitat von: DD am 05 März 2017, 21:28:16
Hallo,

habe die Lösung in der Onlinehilfe gefunden

[Taster_G04] =~ "long"

Tobias


Ich wollte gestern schon auf die Folgefragen wetten...

"... DOIF funktioniert immer nur ein mal..."

oder

"... DOIF schaltet bei jedem Tastendruck zwei mal..."

:-X