NODEMCU mit EasyESP Taster mit longpress/shortpress

Begonnen von Tueftler1983, 12 Mai 2017, 23:04:54

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo gibt es eine moglichkeit ein longpress oder short press zu erkennen?

Würde gerne über kurzes Drücken des Tasters das Licht ein/ausschalten und über ein langes drücken nur das Licht einschalten wenn der Bewegungsmelder der an einem anderen GPIO hängt Alarm schlägt.

Gerdi68

Hallo,

das wäre auch mein nächstes Vorhaben.
Hast du dazu eine Lösung gefunden?

Der Raspberry unterstützt das in der GPIO-Lib schon nativ.
Ich kann mir nicht vorstellen, das ESPEasy das von sich aus kann (der Chip, nicht das Modul).
Im WIKI und im Forum von letscontrolit sind zum Schlagwort longpress keine Treffen :(

Ob man das mit einer Zeitmessung selbst umsetzen kann?

Wie setzt du das toggle um?

Wenn ich so über das ganze nachdenke, fällt mir auf, das es unterschiedliche Anwendungsfälle gibt, wann der Schalter reagieren soll.

Wenn bei dir das Licht aus ist und du nur den Bewegungsmelder scharf schalten willst, dann wäre es unzweckmäßig, wenn sofort nach dem drücken das Licht an geht.

In meinem Fall wäre es: kurz drücken = Licht an für 15 Minuten, lang drücken = Licht an für 1 Std
Da wäre es wünschenswert, wenn sofort nach dem drücken (oder mind mit Änderung der Flanke) etwas passiert.
Sonst wird die Frau nervös, warum das Licht nicht an geht :/


fstefan1960

Hallo,

ich hole die Frage mal hoch. Bei ESPEasy kann man ja bei Switch auch die Erkennung von Longpress und von Double press konfigurieren. Allerdings wird beim Device dennoch immer nur 0 oder 1 angezeigt und auch an FHEM übermittelt.
Kann man die verschiedenen Press-Arten irgendwie auch an FHEM übermitteln?

Das wäre eine große Hilfe.

Danke
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

DasQ

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

fstefan1960

Vielen Dank,

ich hatte das schon gefunden, erkenne aber nicht, wie mir das bei der Fragestellung weiterhilft. Was immer ich da an Regeln anlege, kommt beim Device immer nur eine 0 oder eine 1 an. Und damit gibt ESPEasy auch immer nur diese 1 oder 0 an FHEM weiter.

Wo kann ich da ansetzen?

Vielen Dank
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

DasQ

Da du noch immer nicht preis gibst was für ein FHEM device du nutz, ist es schwer weiter zu helfen.

Btw. Wenn es jetzt z.b. ein mqtt device ist, könntest du im if Teil ein Publish des longpress einbauen.

Publish %sysname%/long,2
Oder so.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Nobbynews

#7
Zitat von: fstefan1960 am 10 April 2023, 21:15:58ich hatte das schon gefunden, erkenne aber nicht, wie mir das bei der Fragestellung weiterhilft. Was immer ich da an Regeln anlege, kommt beim Device immer nur eine 0 oder eine 1 an. Und damit gibt ESPEasy auch immer nur diese 1 oder 0 an FHEM weiter.

Mit der Firmware-Version 20230306 verhält sich ESPEasy genau so wie in der Doku beschrieben.
https://espeasy.readthedocs.io/en/latest/Plugin/P001_Switch.html

Bei meinem Test habe ich mal einen Taster 'NurSo' angelegt.
Der Eventmonitor zeigt dann:
Zitat2023-04-11 08:48:21 ESPEasy ESPEasy_HK_5_NurSo State: off

2023-04-11 08:48:24 ESPEasy ESPEasy_HK_5_NurSo State: on

2023-04-11 08:48:34 ESPEasy ESPEasy_HK_5_NurSo State: off

2023-04-11 08:48:36 ESPEasy ESPEasy_HK_5_NurSo State: on
2023-04-11 08:48:36 ESPEasy ESPEasy_HK_5_NurSo State: 3

2023-04-11 08:48:43 ESPEasy ESPEasy_HK_5_NurSo State: off
2023-04-11 08:48:43 ESPEasy ESPEasy_HK_5_NurSo State: 3

2023-04-11 08:49:00 ESPEasy ESPEasy_HK_5_NurSo State: on
2023-04-11 08:49:00 ESPEasy ESPEasy_HK_5_NurSo State: 10

2023-04-11 08:49:02 ESPEasy ESPEasy_HK_5_NurSo State: off
2023-04-11 08:49:03 ESPEasy ESPEasy_HK_5_NurSo State: 10

2023-04-11 08:49:06 ESPEasy ESPEasy_HK_5_NurSo State: on
2023-04-11 08:49:09 ESPEasy ESPEasy_HK_5_NurSo State: off

2023-04-11 08:49:13 ESPEasy ESPEasy_HK_5_NurSo State: on
2023-04-11 08:49:13 ESPEasy ESPEasy_HK_5_NurSo State: 3

2023-04-11 08:49:55 ESPEasy ESPEasy_HK_5_NurSo State: on
2023-04-11 08:49:55 ESPEasy ESPEasy_HK_5_NurSo State: 10
2023-04-11 08:49:57 ESPEasy ESPEasy_HK_5_NurSo State: off
2023-04-11 08:49:57 ESPEasy ESPEasy_HK_5_NurSo State: 10

Das ist von der Auswertung her natürlich ziemlich doof.
Daher ist der Tip von @DasQ schon sehr gut.

Einge Regel könnte z.B. so aussehen:
On NurSo#State do
 if %eventvalue1% = 3
  Publish,%sysname/double,2
 Elseif %eventvalue1% = 10
  Publish,%sysname/long,2
Endif
Endon

Die Definition vom Tasterdevice habe ich angehängt.


fstefan1960

Vielen Dank,

sorry, wenn ich nicht "preisgegeben" habe, welches Dvice ich nutze. Ich hatte es als selbstverständlich erachtet, dass es um ESPEasy geht.

defmod ESP_Easy_Switchtest_Sw1 ESPEasy 192.168.1.199 80 ESPBridge ESP_Easy_Switchtest_Sw1

Damit kommt inzwischen tatsächlich das Ergebnis, das Nobbynews auch erzielt hat. Danke dafür.
Insofern kann ich dann auf die "3" oder das "on" oder die "11" (longpress) per notify reagieren.

Damit ist das Thema für mich gelöst.
Herzlichen Dank.
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.