Türklingel an FHEM: Prellen verhindern?

839 views
Skip to first unread message

andiw

unread,
Nov 21, 2012, 3:59:44 AM11/21/12
to fhem-...@googlegroups.com
Hallo,

ich habe meine Türklingel über eine Tasterschnittstelle an FHEM angebunden und lasse mir beim Klingeln eine Nachricht über Prowl an mein iPhone schicken. Soweit, so gut.

Mein Problem: Der Klingelknopf 'prellt'. Es werden also 4 bis 6 Nachrichten an mein iPhone gesendet, wenn der Klingelknopf nicht 'korrekt' (also zu lange, mehrmals hinter einander, etc.) betätigt wird.

Gibt es eine Möglichkeit diesen Sachverhalt programmiertechnisch zu lösen, so dass z.B. innerhalb von 10 sek. oder so nur einmal prowl getriggert wird?

Mein code:
define Klingel_prowl_WT notify Taster1.Btn1.on.* {prowl("Wohnungstür","Klingel","1","1")}

andiw

unread,
Nov 28, 2012, 2:55:07 AM11/28/12
to fhem-...@googlegroups.com
Kann mir jemand hier weiter helfen?

Reinerlein

unread,
Nov 28, 2012, 3:59:09 AM11/28/12
to fhem-...@googlegroups.com
Du könntest, anstatt direkt zu mailen, erstmal ein at-Kommando erzeugen:
define Klingel_prowl_WT notify Taster1.Btn1.on.* { delete turklingel_Mail ;; define turklingel_Mail at +00:00:10 { prowl("Wohnungstür","Klingel","1","1 } }

Damit würde dann mehrmals ein at erzeugt werden, aber natürlich nur einmal ausgeführt werden. Manko: Es wird erst 10 sekunden nach dem "letzten" Klingeln die Nachricht gesendet werden.

Andy Fuchs

unread,
Nov 28, 2012, 5:16:39 AM11/28/12
to fhem-...@googlegroups.com
Hi Andi,

Ich kann Dir leider nicht weiterhelfen, aber vielleicht könntest Du mir verraten, wir Du Deine Türklingel angebunden hast?

andy

Sgreeny

unread,
Nov 28, 2012, 5:30:47 AM11/28/12
to fhem-...@googlegroups.com
Hi,

ich habe bei mir einen Holdoff Timer eingebaut. Nach dem ersten drücken der Klingeltaste wird erstmal ca 6 Sekunden gewartet bis eine
neue Aktion ausgelöst wird:

define au_KlingelTaste FS20 1b1b 1121
attr au_KlingelTaste dummy 1
attr au_KlingelTaste room Aussen
attr au_KlingelTaste showtime 1

define Klingel dummy
attr Klingel room Aussen
define KlingelEnable dummy

define Klingel_Notify notify au_KlingelTaste {\                     # notify if Klingel Button is pressed
   if ( Value ("KlingelEnable") eq "1" ){\                          # Dummy variable KlingelEnable is checked if new event shall be executed
     fhem("set KlingelEnable 0");;\                                 # Reset dummy variable Klingel Enable
     fhem("set Klingel on");;\                                      # Activate Klingel ringing (in my case this rings all dect phones)
     fhem("delete kdtimer");;\                                      # Always delete hold off timer
     fhem("define kdtimer at +00:00:06 set KlingelEnable 1");;\     # set holdoff timer for 6 seconds (arround the time the phones ring)
   }\
}

define FileLog_au_KlingelTaste FileLog ./log/au_KlingelTaste-%Y.log au_KlingelTaste
attr FileLog_au_KlingelTaste logtype text
attr FileLog_au_KlingelTaste room Logs


Gruss
Sgreeny




Am Mittwoch, 21. November 2012 09:59:44 UTC+1 schrieb andiw:

Sgreeny

unread,
Nov 28, 2012, 5:43:44 AM11/28/12
to fhem-...@googlegroups.com

Sorry hatte vergessen, das KlingelEnable auf 1 initialisiert werden muss damit das Klingeln
das erstemal ausgelöst werden:

set KlingelEnable 1

Gruß
Sgreeny

andiw

unread,
Nov 28, 2012, 6:12:43 AM11/28/12
to fhem-...@googlegroups.com
@all Danke für eure Antworten!

@Reinerlein: Das sieht gut aus, ich bräuchte es allerdings umgekehrt: erstmal klingeln und dann 10sek nichts machen. Sonst steht ja jemand +10sek vor der Wohnugstür ...

@Sgreeny: Ich glaube, das ist es. Ich muss den code erst noch richtig verstehen und testen.

@tiptronic: Mein Klingelknopf gibt 12V Wechselspannung und die wandle ich mit nem Gleichrichter und nem Relais um und schliesse das 'Ergebnis' an eine Tasterschnittstelle



Am Mittwoch, 21. November 2012 09:59:44 UTC+1 schrieb andiw:

Reinerlein

unread,
Nov 28, 2012, 7:05:15 AM11/28/12
to fhem-...@googlegroups.com
OK, das ging aus deinem Post nicht hervor. Da ging es ja nur um den Benachrichtigungsversand...

Dann solltest du vielleicht eher ein Dummy-Device nehmen.
Dann kannst du beim Setzen des Wertes vorher den Zustand des Devices abfragen, und nur neu triggern, wenn der neue Zustand anders ist, als der gespeicherte des Dummy-Devices.
Dann in diesem Augenblick des Setzens noch einen at-Timer definieren, der den Zustand des Devices auch wieder zurücksetzt.

Grüße Reiner

Am Mittwoch, 28. November 2012 12:12:43 UTC+1 schrieb andiw:
> @all Danke für eure Antworten!
>
>
> @Reinerlein: Das sieht gut aus, ich bräuchte es allerdings umgekehrt: erstmal klingeln und dann 10sek nichts machen. Sonst steht ja jemand +10sek vor der Wohnugstür ...
>
>
> @Sgreeny: Ich glaube, das ist es. Ich muss den code erst noch richtig verstehen und testen.
>
>
> @tiptronic: Mein Klingelknopf gibt 12V Wechselspannung und die wandle ich mit nem Gleichrichter und nem Relais um und schliesse das 'Ergebnis' an eine Tasterschnittstelle
>
>

Reinerlein

unread,
Nov 28, 2012, 7:06:40 AM11/28/12
to fhem-...@googlegroups.com
ok... da hat schon jemand anderes den Tip gegeben... ignorier meinen Post einfach :-)

Reinerlein

unread,
Nov 28, 2012, 7:11:27 AM11/28/12
to fhem-...@googlegroups.com
Zu dem Relais-Kärtchen:
Du solltest noch einen Elko parallel zum Relais einbauen, dann schwingt dein Relais auch nicht im Takt der Netzspannung :-)

Am Mittwoch, 28. November 2012 12:12:43 UTC+1

andiw

unread,
Nov 28, 2012, 7:14:08 AM11/28/12
to fhem-...@googlegroups.com
OK, kann ich machen. Welcher Elko wäre das (wo genau) und welchen Vorteil hat das?

Andy Fuchs

unread,
Nov 28, 2012, 7:30:53 AM11/28/12
to fhem-...@googlegroups.com
Gibt's sowas auch fertig zu kaufen? Am besten gleich mit FS20 ;)

andy
> --
> To unsubscribe from this group, send email to
> fhem-users+...@googlegroups.com

mmartin

unread,
Nov 28, 2012, 7:52:07 AM11/28/12
to fhem-...@googlegroups.com


Am Mittwoch, 28. November 2012 13:30:53 UTC+1 schrieb tiptronic:
Gibt's sowas auch fertig zu kaufen? Am besten gleich mit FS20  ;)
na klar:

FS20 KSE Funk-Klingelsignal-Erkennung



ilmtuelp0815

unread,
Nov 28, 2012, 9:18:10 AM11/28/12
to fhem-...@googlegroups.com
Hi!
Habe ich im Einsatz und funktioniert (ohne prellen) wunderbar. Ist halt leider etwas teurer als der Testaufbau ;(

Andy Fuchs

unread,
Nov 28, 2012, 9:45:38 AM11/28/12
to fhem-...@googlegroups.com

Bestellt ;-)

Danke für den Tipp

andy



Reinerlein

unread,
Nov 28, 2012, 9:58:21 AM11/28/12
to fhem-...@googlegroups.com
Bei der KSE habe ich das Problem, dass ich fast 1 Sekunde auf den Klingelknopf drücken muss, bis genug Saft vorhanden ist, das der Trigger gesendet werden kann und auch wird.

Ich verwende an der Klingel also so eine Geschichte wie Andi, nur mit FS20 Komponenten...

@Andi: Nach einem Gleichrichter hast du erstmal nur die Halbwelle unterhalb der Null-Voltgrenze nach oben in den Plus-Bereich verlagert. Die Berge, also die eigentliche Wellenform bleibt. Du hast dann erstmal eine Wechselspannung, die zwischen 0Volt und in deinem Fall vermutlich 12Volt pendelt (nur halt nicht mehr in den negativen Bereich).
Mit einem Kondensator füllst du, durch die Speicherkapazität, die Wellentäler durch Strom aus dem Kondensator auf, und erhältst eine mehr oder weniger geglättete Gleichspannung mit einigermaßen stabiler Spannungshöhe.

Da du keine großen Verbraucher dran hast, reicht sowas wie 35V und 470Microfarad (ich habe hier gerade kein Mü-Zeichen :-)
Ist ein Standardprodukt...

andiw

unread,
Nov 28, 2012, 11:55:43 AM11/28/12
to fhem-...@googlegroups.com
Ah, ok. Danke für die Info. Glättelko hab ich schon mal gehört ...

Nimmt mir das Relais es übel wenn ich keinen Glättelko einlöte ? ;-)

andiw

unread,
Nov 28, 2012, 12:05:03 PM11/28/12
to fhem-...@googlegroups.com
Moment, mir dämmert was: der fehlende Glättelko verursacht evtl. das prellen ... :-0

ilmtuelp0815

unread,
Nov 28, 2012, 12:17:27 PM11/28/12
to fhem-...@googlegroups.com
Hi andiw!

Gut erkannt! Übrigends super Beschreibung von Reinerlein!

Dr. Boris Neubert

unread,
Nov 28, 2012, 2:40:22 PM11/28/12
to fhem-...@googlegroups.com
...und spendiere bitte dem Relais noch eine Löschdiode.

Viele Grüße
Boris
--
sent from my WePad - apologies for brevity

Reinerlein

unread,
Nov 28, 2012, 3:44:09 PM11/28/12
to fhem-...@googlegroups.com
OK, prinzipiell ist das sicherlich hilfreich. Bei Klingelknöpfen hat man aber manchmal so kleine Birnchen drin. Die dämpfen den Rückinduktionsstrom schon genug.

@Andi: Wenn du also kein Birnchen im Klingeltaster drin hast, dann kannst du zur Sicherheit noch eine kleine Diode einbauen. Diese muss dann in Gegenpolrichtung (also mit dem Pfeil, oder der kleinen Strichmarkierung Richtung Plus) verschaltet werden. Der Rückstrom ist entgegengesetzt zum auslösenden Strom gerichtet.
Und ja, ich gehe davon aus, das das auf jeden Fall zu einer Schwingung auf der Tasterschnittstelle führt. Aber du sagtest ja auch, dass du mehrfaches Drücken auf den Knopf auch unterdrücken möchtest.
Ach ja: Elko in korrekter Polrichtung (Markierung auf dem Elko zeigt den Minuspol an) parallel zum Gleichrichterausgang (also auch parallel zu deinem Relais).

Wechselspannung ist immer komplizierter, und Einschalt- und Ausschaltmomente sind ja auch nur der Anfang von Wechselspannung. Da weiss ja noch keiner wie es weitergehen wird :-)
Reply all
Reply to author
Forward
0 new messages