Drucken
Kategorie: Eigenbau
Zugriffe: 27046

 

Wenn schon etwas automatisiert werden kann, wird man das irgendwann auch automatisieren wollen ;)

So kam es auch, dass ich meine Türklingel an das FHEM angeschlossen habe. Die Idee war, eine Benachrichtigung an mein Handy zu bekommen, wenn jemand an der Haustür geklingelt hat.

Ich habe mich für die Verwendung eines Arduino Nano mit dem Firmata-Sketch entschlossen (USB-Variante). Diese Lösung ist günstig und gut FHEM-seitig unterstützt.

Nach der kurzen Betrachtung der Gong-Verdrahtung (Drahtknolle trift wohl besser zu ;), wurde schnell klar, wie diese geändert werden kann, damit im Heizungsraum (da befinden sich der Hauptverteiler mit dem Klingel-Trafo und auch mein Fhem-Server) das Signal abgegriffen werden kann. Bequemmerweise wurde ein 4-adriger Kabel verwendet, so dass ich keine zusätzlichen Strippen ziehen musste.

 

Gong k

 

Die Schaltung ist denkbar einfach. Die schwarzen Leitungen gehören zu der bestehenden Installation, die blauen Teile im Schema dienen der Erkennung der Spannung an dem Gong und die orangenen erlauben dem FHEM auch selbst zu 'klingeln'. Die kleine Transistorschaltung dient als Invertor, denn Relaymodul low-aktiv schaltet und bei einem direkten Anschluss jedesmal nach dem Einschalten kurz 'klingeln' würde. Die letze Funktionalität habe ich jedoch (nach dem ich sie getestet habe) wegen ihrer offensichtlichen Sinnlosigkeit wieder abgebaut.

Schema Arduino Klingel

 

Ich bin noch nicht dazu gekommen, die Schaltung 'richtig' zusammenzulöten, daher ist alles noch auf dem Breadboard...

Arduino Firmata Gong 01 k

...und mit einer 'fliegender' Verdrahtung angeschlossen.

Arduino Firmata Gong 02 k

 

FHEM-Anbindung ist auch einfach:

# IO-Device
define FIRMATA FRM /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A702514E-if00-port0@57600
attr FIRMATA alias Firmata-Controller

# Klingeln erkennen
define KlingelIn FRM_IN 12
attr KlingelIn IODev FIRMATA
attr KlingelIn alias Türklingel
attr KlingelIn stateFormat {"zuletzt: ".ReadingsTimestamp('KlingelIn','reading','')}

# Auf das Klingeln reagieren (Meldung versenden)
define n_tuer_gong notify KlingelIn:reading:.*on {sendMeJabberMessage("Tuerklingel am ".ReadingsTimestamp('KlingelIn','reading',''))}
attr n_tuer_gong comment Versand von Nachrichten beim Klingeln an der Haustuer

# Relay-Steuerung (Klingeln)
define KlingelOut FRM_OUT 11
attr KlingelOut IODev FIRMATA
attr KlingelOut stateFormat value


Zum Meldungsversand wird eine Funktion namens sendMeJabberMessage verwendet. Wie die Jabber-Integration vorgenommen wurde, werde ich evtl. ein anderes Mal beschreiben. Es ist aber wirklich nichts schwieriges. Bis dahin sei auf die Dokumentation des Jabber-Moduls verwiesen.

Der nächste logische Schritt ist natürlich die Anbindung einer Kamera. Damit weiß man nicht nur, dass jemand vorbei gekommen ist (dies ist an sich ja noch nicht wirklich hilfreich), sondern kann auch sehen, wer das eigentlich ist.

 

UPDATE:

Ich hatte schon seit Längerem vor, etwas Ordnung in meine Installation zu bringen. Die Sachen sollen in den Verteiler auf die Hutschiene. Also habe ich die Firmata-Technik in ein passendes Gehäuse eingebaut. Der lose USB-UART-Controller ist noch ein Provisorium und wird später ausgetauscht.

Firmata Controller 01 k

 

Die Beschriftung darf genausowenig fehlen, wie die LED-'Beleuchtung' (ich stehe auf Mäusekino ;-) )

Firmata Controller 02 k

 

Und hier die Innenansicht. Zugegeben etwas wild, aber eine 'richtige' Platine wegen eines eines Exemplars zu entwickeln, ist mir zu viel Aufwand.

Firmata Controller 03 k

 

Kommentare (7)

Cancel or