FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: heikoh81 am 20 September 2014, 11:08:18

Titel: HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: heikoh81 am 20 September 2014, 11:08:18
Hallo zusammen,

von meiner Türklingel greife ich mittels Siedle-Schaltgerät über die 4-fach-Tasterschnittstelle von Homematic (HM-PBI-4-FM) das Betätigen der Klingel ab.
Mein Problem ist, dass das Notify wohl doppelt ausgeführt wird. Dies muss wohl mit der Länge der Relais-Betätigung von Siedle zusammenhängen, diese ist fest eingestellt, in der Werkseinstellung schätze ich ca. 0,5 Sekunden.

Mein Notify:


4fachTaster:4fachTaster_Btn01.Long.* {
  if ( Value("KlingelEmailChkBox") eq "on" ) {
    fhem("set KlingelEmailDummy on");
    fhem("define KlingelEmailTemp at +00:00:05 set KlingelEmailDummy off; attr KlingelEmailTemp room Klingel");
  }
}


Auszug aus dem letzten Betätigen:

state Long 3-8440- (to broadcast) 2014-09-20 10:45:29
trigger Long_61 2014-09-20 10:45:29


Auszug aus dem Log:

2014.09.20 10:45:29 3: define KlingelEmailTemp at +00:00:05 set KlingelEmailDummy off; attr KlingelEmailTemp room Klingel : KlingelEmailTemp already defined, delete it first
2014.09.20 10:45:29 3: KlingelBetaetigt return value: KlingelEmailTemp already defined, delete it first
2014.09.20 10:45:29 3: define KlingelEmailTemp at +00:00:05 set KlingelEmailDummy off; attr KlingelEmailTemp room Klingel : KlingelEmailTemp already defined, delete it first
2014.09.20 10:45:29 3: KlingelBetaetigt return value: KlingelEmailTemp already defined, delete it first




Wie muss ich das Notify anpassen, um das "etwas zu lange" Betätigen durch das Siedle-Relais als 1 Event auszuwerten?

Vielen Dank für eure Antworten,
viele Grüße,

Heiko
Titel: Antw:HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: martinp876 am 20 September 2014, 18:27:26
hast du event-on-change-reading .* gesetzt? Sollte man immer machen, zumindest bei HM.
ansonsten zeichne erst einmal auf, welche trigger kommen
Titel: Antw:HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: Pfriemler am 20 September 2014, 19:32:41
Abgesehen von dem Fehler, temporäre ats nicht zu löschen ...

Long.* reagiert auf alle Longs eines Senders, der sendet aber bei Long kontinuierlich welche und zählt die hoch (Long 3, Long 4,...). Insofern ist es sogar wahrscheinlich, dass Du bei längerer Klingelbetätigung mehrere Trigger erhältst.

Da ich eine Weile auch mit Long-Notifys auf Fernbedienungen experimentiert habe, nutze ich einen Long-Trigger gezielt für eine Wichtung von Aktionen, das klappt auch wirklich prima. Aktionen wie "Ja, dieses lange Drücken meine ich wirklich ernst" (wie etwa das "Abschießen" eines Gerätes per Schaltersteckdose) löse ich mit Long 9, die meisten Aktionen mit einem dualen Trigger auf Short oder Long 3.

Probiere also mal als REGEX "4fachTaster_Btn01.Long.3.*" - das triggert dann recht früh und ausreichend, gleichzeitig würde ich auch auf "4fachTaster_Btn01.Short.*" triggern, falls die Betätigung wirklich kurz ausfällt.

Für das Ende des Drückens (Setzen Deines Dummys auf off) könntest Du auch auf 4fachTaster_Btn01.LongRelease.*" triggern, das läuft dann aber ins Leere, wenn Du auch auf Short triggerst (hier sendet die Tastenschnittstelle kein "Release").

Ich nutze für viele Dummys bei mir sekundäre Notifys, die bei Auftreten eines Dummyzustandes diesen definiert zurücksetzen, das ist insbesondere hilfreich, wenn es mehrere "Auslöser" gibt.

Verkraften Dummys eigentlich auch ein "set xy on-for-timer t" ?
Titel: Antw:HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: justme1968 am 20 September 2014, 19:38:25
dummys können kein on-for-timer. du kannst stattdessen einen redingsProxy verwenden. der kann on-for-timer wenn in der setList on und off enthalten ist.

gruss
  andre
Titel: Antw:HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: heikoh81 am 21 September 2014, 13:07:34
Zitat von: Pfriemler am 20 September 2014, 19:32:41
Abgesehen von dem Fehler, temporäre ats nicht zu löschen ...

Meine temps verschwinden nach den 5 Sekunden doch selber.
Problem hier war glaube ich, dass das notify doppelt ausgeführt wurde - und damit FHEM versucht hat, nochmal dasselbe temp zu erstellen, das es mit diesem Namen natürlich innerhalb der 5 Sekunden schon gibt.

ZitatLong.* reagiert auf alle Longs eines Senders, der sendet aber bei Long kontinuierlich welche und zählt die hoch (Long 3, Long 4,...). Insofern ist es sogar wahrscheinlich, dass Du bei längerer Klingelbetätigung mehrere Trigger erhältst.

Stimmt, ich kann es sogar im FHEM live beobachten.
Wird die Klingel gedrückt, zählt es so jede 1/3 Sekunde ein Long weiter.
Die Länge des Drückens ist bei der Siedle mit BUS-System übrigens egal, weil das Relais immer mit fest eingestellter Dauer schließt.
Ich muss nur abfangen, wenn jemand tatsächlich 2x kurz hintereinander außen den Knopf drückt.

ZitatProbiere also mal als REGEX "4fachTaster_Btn01.Long.3.*" - das triggert dann recht früh und ausreichend, gleichzeitig würde ich auch auf "4fachTaster_Btn01.Short.*" triggern, falls die Betätigung wirklich kurz ausfällt.

Folgender notify-Code triggert leider nun nicht mehr.
Was ist daran falsch? Muss vielleicht irgendwo ein Doppelpunkt hin statt einem normalen Punkt?


4fachTaster:4fachTaster_Btn01.Long.3.* {
  if ( Value("KlingelEmailChkBox") eq "on" ) {
    fhem("set KlingelEmailDummy on");
    fhem("define KlingelEmailTemp at +00:00:05 set KlingelEmailDummy off; attr KlingelEmailTemp room Klingel");
  }
}


Log-Auszug:

2014-09-21_13:00:05 4fachTaster 4fachTaster_Btn01 Long 1-8440- (to broadcast)
2014-09-21_13:00:05 4fachTaster battery: ok
2014-09-21_13:00:05 4fachTaster 4fachTaster_Btn01 Long 2-8440- (to broadcast)
2014-09-21_13:00:05 4fachTaster battery: ok
2014-09-21_13:00:05 4fachTaster 4fachTaster_Btn01 Long 3-8440- (to broadcast)


Viele Grüße,
Heiko
Titel: Antw:HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: Pfriemler am 21 September 2014, 15:11:30
Das mit den temp-ats fiel mir dann später auch auf ...
Ich sehe den Fehler jetzt auch nicht ... notifys mit dem Format funktionieren bei mir jedenfalls, der Punkt zwischen Long und der Ziffer deckt das Leerzeichen, .* die nach der Ziffer folgenden Zeichen ... ? höchstens wenn gerade DER Long-Trigger verloren ginge ... was ja nicht zutrifft, wenn sie im Log auftauchen ... Bliebe noch das Triggern auf LongRelease, testweise.

Geht nich gips nich
Titel: Antw:HM-PBI-4-FM (4-fach-Tasterschnittstelle): Notify wird doppelt ausgeführt
Beitrag von: heikoh81 am 21 September 2014, 17:15:30
Sieht sonst jeman den Fehler?
Das notify soll auf Long 3-Reagieren, damit es nur 1x ausgeführt wird...