Hallo,
code:
------------------------------------------------------
Internals:
DEF d_callmonitor:external_number:.\d\d set Sonos_Buero speak 40 de hallo
code:
------------------------------------------------------
FUUID 61f970a5-f33f-6c85-eace-8a7b4cc5e83a40ff
NAME n_test
NOTIFYDEV d_callmonitor
NR 102
NTFY_ORDER 50-n_test
REGEXP d_callmonitor:external_number:.\d\d
STATE 2022-02-02 09:07:56
TRIGGERTIME 1643789276.21113
TYPE notify
READINGS:
2022-02-02 09:05:07 state active
2022-02-02 09:07:56 triggeredByDev d_callmonitor
2022-02-02 09:07:56 triggeredByEvent external_number: 05
------------------------------------------------------
Das Suchmuster besteht bei diesem notify aus 2 Ziffern. Funktioniert auch, aber Sonos reagiert 2-mal. D.h., dasss ich 2-mal "hallo" höre.
Woran liegt das?
Danke und Gruß,
Kurt
Zitat von: Kurt77 am 02 Februar 2022, 09:30:13
Woran liegt das?
An dem notify vermutlich nicht. Ich habe das gerade mal nachgebaut und getestet - das notify löst hier nur einmal aus.
Kann es sein, dass Du noch ein zweites notify (oder DOIF oder ähnliches) hast, was auf die gleiche regexp reagiert?
Ersetze doch mal den Ausführungsteil des notify durch {Debug "test"} dann siehst Du im Logfile, ob das tatsächlich zweimal abgearbeitet wird.
"event-on-change-reading" entsprechend setzen bei "d_callmonitor" !?
Gruß
Dan
Zitat von: DeeSPe am 02 Februar 2022, 09:39:00
"event-on-change-reading" entsprechend setzen bei "d_callmonitor" !?
...und was, wenn dann 2x nacheinander derselbe Anrufer durchklingelt?
Wenn (!) durch einen einzigen Anruf doppelt getriggert wird, evtl. eine kurze "Totzeit" dazwischenschalten mit dem Attribut "disabledAfterTrigger"?
Zitat von: Beta-User link=topic=125937.msg1205296#msg120529
6 date=1643799172
Wenn (!) urch einen einzigen Anruf doppelt getriggert wird, evtl. eine kurze "Totzeit" dazwischenschalten mit dem Attribut "disabledAfterTrigger"?
Hallo Beta-User,
danke, das war's! Da hätte ich ja auch drauf kommen können.
interessant ist übrigens, dass 2 nichts bewirkt hat. Attribut steht jetzt auf 5.
Gruß Kurt
Zitat von: Beta-User am 02 Februar 2022, 11:52:52
Wenn (!) durch einen einzigen Anruf doppelt getriggert wird
Noch immer glaube ich nicht daran, dass das wirklich passiert.
Aber um das einschätzen zu können, bräuchte man zumindest mal einen Auszug aus dem eventMonitor, in dem man sehen kann, was bei einem eingehenden Anruf wirklich passiert.
auch wenn es jetzt zu gehen scheint finde ich die Lösung eher als Workaround.
Ich würde als allererstes den Eventmonitor mit Filter auf das triggernde Device (hier: d_callmonitor) ansetzen. Wenn da kurz nacheinander events mit dem passenden Reading kommen, dann wird auch das notify 2 mal reagieren. Betateilchen hat ja schon festgestellt, das es grundsätzlich funktioniert.
Mit "disabledAfterTrigger" unterdrückst du ja die Ausführung des notify, der (eigentlich) auslösende event kommt aber trotzdem. Vielleicht wolltest Du aber genau den sehen.
Aber wie immer: viele Wege führen nach Rom, wenn das Ergebnis für dich stimmt soll es so sein.
Gruß
Sany
Wobei ich mich schon frage: Willst du nur auf zweistellige Rufnummern abfragen? Oder greift das notify nicht auch bei längeren Nummern?
Und vermutlich triggert der notify sowohl bei ankommenden als auch ausgehenden Anrufen. Ist das gewollt?
Ich habe z.B. bei mir zwei unterschiedlichen Notifys für rein
FritzBox_CallMonitor:event:.call
und raus.
FritzBox_CallMonitor:event:.ring
Zitat von: jhohmann am 02 Februar 2022, 16:57:23
Wobei ich mich schon frage: Willst du nur auf zweistellige Rufnummern abfragen? Oder greift das notify nicht auch bei längeren Nummern?
Und vermutlich triggert der notify sowohl bei ankommenden als auch ausgehenden
Hallo jhohmann,
ich will bei Eingabe (also ausgehender Anruf) von genau 2 Ziffern triggeern und das funktioniert auch. bei eingehenden Anrufen löst das notify nicht aus, weil länger als 2 Ziffern.
Gruß Kurt