HM-Sen-DB-PCB DOIF Anweisung auslesen und verwerten

Begonnen von Robi72, 21 September 2019, 16:23:12

Vorheriges Thema - Nächstes Thema

Robi72

Hallo,

ich habe den Taster meiner analogen Türsprechanlage mit dem Klingelsensor HM-Sen-DB-PCB verbunden. Die Drähte vom Taster gehen an Input und Puschbutton des Klingelsensors. Der Logiclevel-Schalter steht auf '+'. Den Klingelsensor habe ich in FHEM nach 'Klingel' umbenannt. Über den Eventmanager erhalte ich folgende Zeile wenn ich den Taster der Türsprechanlage drücke:

2019-09-21 16:09:09 HMLAN Homelan RCV L:0B N:9D F:A2 CMD:40 SRC:Klingel DST:0010E1 019A (REMOTE BUTTON:1 LONG:0 LOWBAT:0 COUNTER:0x9A) (,WAKEMEUP,BIDI,RPTEN)



Ich habe nun über den wizard des Eventmanagers mit 'create' 'DOIF' 'with any number matching' folgende DOIF Anweisung kreiert:

define Homelan_DOIF_1 DOIF ([Homelan:"^RCV.L:0B.N:A0.F:A2.CMD:.*.SRC:Klingel.DST:0010E1.019D.\(REMOTE.BUTTON:.*.LONG:.*.LOWBAT:.*.COUNTER:0x9D\).\(,WAKEMEUP,BIDI,RPTEN\)$"]) ()

Nun möchte ich dass immer dann wenn dieser Code kommt, die Fritzbox mein DECT Telefon anklingelt. Der Befehl wäre:
set fritzbox ring 613

Wie kriege ich das hin. Habe mehrmals mit der Commandref und diverse Anleitung das hinzubekommen, bin aber leider gescheitert.
Danke vorab für eure Hilfe.
Robi72

Brillomat

Hallo,

ich bin selber komplett neu hier, aber ich habe etwas ähnliches in den letzten beiden Tagen aufgesetzt (Klingel -> Licht und Telefon -> Licht).
Die Syntax von DOIF ist: DOIF(<Bedingungsblock>)(<Kommando1->)(Kommando-n)

Wenn Dein durch den Wizard erzeugter Event stimmt, muss lediglich die letzte Klammer gefüllt werden.

In Deinem Fall würde ich (als Laie) sagen:
define Homelan_DOIF_1 DOIF ([Homelan:"^RCV.L:0B.N:A0.F:A2.CMD:.*.SRC:Klingel.DST:0010E1.019D.\(REMOTE.BUTTON:.*.LONG:.*.LOWBAT:.*.COUNTER:0x9D\).\(,WAKEMEUP,BIDI,RPTEN\)$"]) (set fritzbox ring 613)

LG,
Michael

p.s. ich weiß ja nicht ob dieser Event bei mehrmaligem "feuern" jedes mal ausgelöst wird (also wenn mehrmals hintereinadner geklingelt wird) - wenn ja, dann würde ich noch folgendes setzen:
attr Homelan_DOIF_1 cmdpause 10
Das besagt (insofern ich das richtig interpretiert habe), dass dein Anruf nur alle 10 Sekunden initiert werden kann. Bimmelt also jemand Sturm, wird dennoch nur ein mal alle 10 Sekunden der Anruf ausgelöst.