Hauptmenü

[gelöst] notify timing

Begonnen von pula, 27 Oktober 2015, 21:24:20

Vorheriges Thema - Nächstes Thema

pula

Hallo,

habe folgendes setup:

Arduino mit configurable firmata, einen Taster daran auf A0 und GND.
Nun habe ich in fhem folgendes notify definiert:
define n_wz_balkon_taster1 notify wz_balkon_taster1 { my $t = ReadingsVal("wz_balkon_taster1","reading",99);; if ($t < 200) { fhem("set ez_led_nischen toggle") } }

Ich merke, daß ich den Taster ziemlich lange (also > 0.5 sec) drücken muß, damit das notify so greift.
Kann das sein, daß das notify zwar greift, sobald das reading 0 ist (also der pin gegen GND geht), aber fhem bei kurzem Drücken dann schon wieder ein anderes reading bekommt?
Gibt es eine Möglichkeit, den Value direkt im notify zu prüfen? Also irgendwas wie notify wz_balkon_taster1.reading=0 ?

Danke im voraus und cheers,

Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Bennemannc

Hallo,

zwei Sachen fallen mir da auf. Erstens ist der Arduino vermutlich im Schlafzustand und wird über Interrupt geweckt. Dann sendet der erst. Auf was das Notify reagieren kann, kannst Du im EventMonitor sehen. Also zuerst würde ich prüfen, nach welcher Zeit der Tastendruck im EventMonitor erscheint. Wenn da schon eine Verzögerung drin ist, liegt es in der Software auf dem Arduino. Sonst kannst Du versuchen das notify anhand der Daten im EventMonitor anzupassen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

pula

Hallo,

vielen Dank!
Wars nicht. Was es letztendlich war (falls das jemand anders auch mal brauchen sollte):
Ich hatte das sampling-interval nicht gesetzt (default: 1000)
Hab es jetzt wie im sketch auf 99 gesetzt (ms) und tut super :-)

Cheers,

Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram