(eigentlich) triviale Aufgabe mit Notify

Begonnen von marc_do, 16 Februar 2015, 09:24:15

Vorheriges Thema - Nächstes Thema

marc_do

Hallo Forum,
ich verzweifle an einem an sich trivialen Problem.
Mit FHEM verbunsden sind eine Keymatic und eine 8-Button Fenbedienung.
Die Keymatic soll über eine Taste die Tür öffnen und über eine andre verriegeln.

Der Event Monitor zeigt fogendes:

2015-02-16 09:18:45 CUL_HM CUL_HM_HM_RC_8_2F6D2B FB_01_btn_8 Short (to broadcast)
2015-02-16 09:18:45 CUL_HM FB_01_btn_8 trigger_cnt: 24
2015-02-16 09:18:45 CUL_HM FB_01_btn_8 Short (to broadcast)
2015-02-16 09:18:45 CUL_HM FB_01_btn_8 trigger: Short_24



Die Befehle set FL.Tuerschloss lock, set FL.Tuerschloss open

funktionieren über die Eingabezeile.

Jetzt habe ich folgendes notify gebaut:

define lockdoor notify FB_01_btn_8.* set FL.Tuerschloss lock
versuchsweise auch:

define lockdoor notify CUL_HM:FB_01_btn_8.* set FL.Tuerschloss lock

Beide Varianten tun nix :-(.
Stelle ich mich zu blöde an? Jemand eine Idee?

Viele Grüße
Marc

rudolfkoenig

Ein Problem ist sicher, dass "CUL_HM" in der notify Definition ueberfluessig bzw. falsch ist.
Um Anfaenger nicht zu verwirren, sollte das Quell-Modul eigentlich im Event-Monitor nicht angezeigt werden.

marvin78

Es könnte damit zu tun haben, dass dein notify zu weit gefasst ist und somit sicher 3 mal triggert. Es könnte sein, dass die Keymatic, das nicht mag.  Probiere mal sowas:

define lockdoor notify FB_01_btn_8.Short set FL.Tuerschloss lock

Mitch

define lockdoor notify FB_01_btn_8 set FL.Tuerschloss lock
so hatte ich es gemacht.

Du kannst aber auch direkt auf long und short triggern.

Mitlerweile mache ich es z.B. so:
define opendoor DOIF ([CUL_HM_FB_Codeschloss_Btn_01]) (set CUL_HM_HM_SEC_KEY open)
FHEM im Proxmox Container

marc_do

Zitat von: Mitch am 16 Februar 2015, 09:53:26
define lockdoor notify FB_01_btn_8 set FL.Tuerschloss lock
so hatte ich es gemacht.



define lockdoor notify FB_01_btn_8 set FL.Tuerschloss lock
tut leider auch nix

ebensowenig
define lockdoor notify FB_01_btn_8.short set FL.Tuerschloss lock

und auch nicht:
define lockdoor notify FB_01_btn_8.long set FL.Tuerschloss lock
:-[

marvin78


rudolfkoenig

Das notify Regexp muss entweder das Geraet oder Geraet:Event komplett(!) matchen, und das sollte in der Doku auch so beschrieben sein. Weiterhin gibt es in der notify-Detail-Ansicht eine Hilfe, die einem erlaubt das Regexp aus einer bekannten Liste von Events auszuwaehlen. Die Aufgabe ist wirklich trivial.

marc_do

Zitat von: marvin78 am 16 Februar 2015, 10:07:15
Das Event heißt Short und nicht short.

Natürlich hast du Recht. Das wäre ja auch zu schön, wenn es DIESER Anfängerfehler gewesen wäre ;-).
Leider tut: lockdoor notify FB_01_btn_8.Short set FL.Tuerschloss lock

es auch nicht

Zitat von: rudolfkoenig am 16 Februar 2015, 10:10:49
Das notify Regexp muss entweder das Geraet oder Geraet:Event komplett(!) matchen...

Wenn ich dich richtig verstehe, müsste also:
define lockdoor notify FB_01_btn_8 set FL.Tuerschloss lock
auf jeden Fall funktionieren, da ja auf das Gerät ohne Event gematcht wird!?

marvin78

Ja. Aber es wird dann 3-fach getriggert und es könnte sein, dass die Keymatic 3 sehr kurz aufeinander erhaltene Events nicht mag.

Eine Frage: Warum peerst du nicht direkt? Dafür benötigst du kein notify.

Probiere mal sowas wie:

define lockdoor notify FB_01_btn_8.Short.* set FL.Tuerschloss lock

Ich habe übersehen, dass das Event nach Short nicht aufhört.


knochenmuehle


define lockdoor notify FB_01_btn_8:Short.* set FL.Tuerschloss lock


der fehlende ":" ist der Fehler

marvin78

Nein. Das sicher nicht. Der Punkt kann auch ein : sein. ;)

marc_do

Zitat von: knochenmuehle am 16 Februar 2015, 10:44:22

define lockdoor notify FB_01_btn_8:Short.* set FL.Tuerschloss lock


der fehlende ":" ist der Fehler
Geht auch mit ":" nicht.


Habe mich dem Problem jetzt von einer anderen Seite genähert und bin nun völlig verwirrt.
Unter Everything taucht mein notify gar nicht auf. Dort ist nur der "initialUsbCheck" aufgeführt.
Ich verstehe das doch richtig: Wenn ein notify in der fhem.cfg eingetragen ist, muss dieser auch unter everyting auftauchen!?

marvin78

Das mit dem Doppelpunkt war auch quatsch. Aber dass das Event nicht wirklich Short sondern Short (to broadcast) heißt, ist wichtig und richtig. Hast du die RegEx Variant mit .* probiert?

Wo es auftaucht, ist erstmal unerheblich. Ist dein notify angelegt (in Unsortet)? Sonst hast du vielleicht das gleiche Problem, wie einige andere hier:

http://forum.fhem.de/index.php/topic,33791.0.html

marc_do

Zitat von: marvin78 am 16 Februar 2015, 10:52:27
...

Wo es auftaucht, ist erstmal unerheblich. Ist dein notify angelegt (in Unsortet)? Sonst hast du vielleicht das gleiche Problem, wie einige andere hier:

http://forum.fhem.de/index.php/topic,33791.0.html

BINGO! :D
muchas gracias senor!

Nach einem restart tauchen die angelegten notifys auf und funktionieren.

Nur noch interessehalber.
So wie es aussieht, werden die im Webinterface gamachten Änderungen an einem notify nicht in der fhem.cfg abgelegt. Stimmt das? Und wenn ja, wo stehen denn diese Infos dann?

marvin78

Doch das werden sie. Du musst dazu nur den Save-Button klicken. Aber offenbar gibt es auf einigen bestimmten Installationen aktuell ein Problem, dass dazu führt, dass man die Änderungen im Frontend nicht sieht und ein Restart notwendig ist. Die Ursache dafür kenne ich nicht. Dazu solltest du dich an den verlinkten Thread anhängen.