[Problem] Türfreisprecheinrichtung Siedle 1+n TFE preiswert an FritzBox anschließen

was @Kostenlos sagt ist mir ehrlich gesagt relativ wurscht:)

anbei mal ein paar Bilder. Jaaa, ich muss das mal etwas aufraeumen. Aber die Anlage hat schon etliche Redesigns hinter sich. Das letzte war durch den Umstieg der Siedle -> Elcom bedingt. Nur dass niemand denkt, dass ich da mal eben alles schnell dokumentieren koennte

Gesamtueberblick:
IMG_20191006_135246i.jpg
- rechts: der Raspberry mit USB Soundcard (emuliert Micro und Speaker der Elcom) und Verstaerkerplatine fuer Ansteuerung Klingel-Lautsprecher
- mitte: Lautsprecher fuer Klingel, unterer Bereich 2 Uebertrager welche die USB Soundcard mit dem Elcom Hoereranschluss verbinden
- links: modifizierte Elcom Platine REK241Y (elcom.fon Innenstation Audio mit Hörer) mit Reedrelais fuer Gabelkontakt und Tueroeffner

im Einzelnen:

Raspi mit Aufsatzplatine:
IMG_20191006_135208i.jpg
- 4 Reedrelais die ueber GPIO angesteuert werden fuer Tueroeffner und Keymatic-Ansteuerung
- die Platine rechts ist ein zerlegter Keymatic Handsender der ueber Reedrelais angesteuert wird
- oben die USB Soundcard die von linphone (SIP-Client) angesteuert wird
- unten 2€ Verstaerkerplatine (haengt am Audio-Out des Raspi) fuer Lautsprecheranschluss (Klingel)

some Glue Logic:
IMG_20191006_135227i.jpg
- diese Platine stammt aus Zeiten in der die Siedle noch in Betreib war
- oben ein Netzteil, das ehemals vom Klingeltrafo gespeist wurde. Das habe ich spaeter aber durch ein separates Netzteil ersetzt
- die 2 schwarzen Bloecke unten Uebertrager fuer Micro - und Speakeranschluss (diese ersetzen direkt den Hoereranschluss der Elcom)


Platine Elcom REK241Y:
IMG_20191006_135113i.jpg
- die Kupferlackdraehte erfordern etwas Fingerspitzengefuehl. Aber anders bekommt man die SMD Kontakte nicht geloetet.
- der Gabelkontakt der Originalschaltung ist ein SMD-Reedkontakt der ueber den Magneten des Hoerers angesteuert wird.
- dieser SMD-Reedkontakt ist hier natuerlich herzlich nutzlos. Deswegen uebernimmt jetzt eines der beiden aufgeklebten Reed Relais die Ansteuerung



Nach diesem Schema bekommt man vermutlich jede beliebige Haussprechanlage so modifiziert, dass sie SIP-faehig wird. Ueber DTMF kann dann der Tueroeffner ferngesteuert werden. Wichtig ist halt, dass man sich ein moeglichst einfach konstruiertes zur Anlage passendes Etagentelefon besorgt. Der Hoerer der dann oft nur per RJ11 angeschlossen ist wird wie beschrieben ersetzt. Der Tueroeffner und der Gabelkontakt sollte am besten per mechanischem Taster realisiert sein. Diese kann man am einfachsten modifizieren.

Man muss sich also nicht mit den schlauen Busprotokollen der Hersteller herumschlagen. Das uebernimmt ja das modifizierte Etagentelefon. Stattdessen haengt man sich einfach an die analogen Signale und steuert nur diese.

Fuer die Software auf dem Raspi ist sicher das DoorPi Projekt eine gute Grundlage, obwohl ich es nicht selbst verwende. Ich habe alles per debootstrap von Scratch auf installiert.

Das alles soll mal als Denkmodell dienen. Weil immer wieder danach gefragt wird. Ich habe im Moment aber keine Zeit alles im Detail zu beschreiben. Einzelne Fragen kann ich aber gerne beantworten.
 
Zuletzt bearbeitet:
Danke für die Info, bzw. wenn man den Titel der Frage genau durchliest "preiswert" u. die Zeit dafür nicht wirklich berechnet wird, ist eine Möglichkeit.
 
Habe ein altes Raspberry Pi B+ ausgegraben und dort das neuste Raspbian und Asterisk installiert.
Wie ich später ein Optokoppler oder Read-Relais ansteuere, der mir dann das Betätigen des Türöffners simuliert weiß ich ungefähr.
Mit Asterisk kenne ich mich gut aus, aber nur mit chan_sip, chan_iax, extensions.conf und extensions.ael (es war bisher immer ein Asterisk auf einem V-Server).
Mein Problem ist wie ich den Sound vom Asterisk zur USB-Soundkarte kriege und umgekehrt.
Habe in modules.conf chan_oss auskommentiert und chan_alsa wird geladen.
Beim Laden bekomme ich aber:
Code:
 Loading chan_alsa.so.
[Oct  6 16:53:10] WARNING[1420]: chan_alsa.c:213 alsa_card_init: Rate not correct, requested 8000, got 44100
[Oct  6 16:53:10] ERROR[1420]: chan_alsa.c:208 alsa_card_init: set_channels failed: Invalid argument
[Oct  6 16:53:10] WARNING[1420]: chan_alsa.c:213 alsa_card_init: Rate not correct, requested 8000, got 44100
  == Registered channel type 'Console' (ALSA Console Channel Driver)
  == chan_alsa.so => (ALSA Console Channel Driver)
Gibt es hier irgendeine Besonderheit oder evtl. einen empfohlenen Weg wie ich den Sound zum Asterisk (und umgekehrt) bekomme?
 
also ich habe (zumindest was Debian Stretch anbetrifft) keine guten Erfahrungen mit Asterisk und den Consolen-Modulen gemacht. Das ist nicht Raspberry spezifisch. Auf Intel laeuft das Zeug auch nicht mehr richtig. Anscheinend braucht das niemand. Das absolute NoGo ist dann der nicht funktionierende Echo-Cancel. Ob das jetzt mit Debian Buster besser laeuft wage ich zu bezweifeln.

Ich kann dir nur raten statt Asterisk das linphone CLI 'linphone-nogtk' zu installieren. Das laeuft auf allen meinen Maschinen mit ARM, Intel etc. super. Einschliesslich Echo-Cancel. Und spaetestens wenn die Freisprecheinrichtung an der Tuer unten in Betrieb ist wirst du das dringend brauchen:)

Von linphone kannst du dich nach Belieben immer noch an einen Asterisk haengen. So mache ich das im Moment auch.

Die Konfiguration von linphone ist schnell erledigt. Oft findet er sogar die richtige Soundhardware selbststaendig.
 
Gehört habe ich von linphone natürlich, wollte mich aber da nicht einarbeiten. Und der Gedanke war eh "wozu was neues, wenn es mit chan_alsa in Asterisk eh läuft".
Da es aber wohl doch nicht läuft mache ich das natürlich mit linphone.
Wenn ich fertig bin schreibe ich mal ein neuen Thread mit dem Titel "HOWTO: Siedle 1+n mit einem Raspberry VoIP beibringen".
Deine Ausführungen weiter oben habe ich gelesen. Genauso wie du es beschreibst hatte ich es vor: Platine vom HTS-711 wird parallel geschaltet zum HTS-811 (zwei Telefone sind ja ganz offiziell von Siedle erlaubt), und an die Platine wird die USB-Soundkarte statt des Hörers angeschlossen (meinst du man sollte das mit einem Trennfilter galvanisch entkoppeln?), den Reed-Kontakt wo der Hörer dran hing wird gegen ein Reed-Relais ersetzt und ein anderes Reed-Relais simuliert den Knopf des Türöffners. Dann etwas rumprogrammieren (welche Rufnummer soll nach welchem Timeout und unter welchen sonstigen Bedingungen gewählt werden).
Kostenaufwand: < 50 € (irgendein altes, gebrauchtes Raspberry und eine alte gebrauchte Platine eines HTS-711 aus ebay-kleinanzeigen).

Nachtrag: Bisher war's tatsächlich ganz einfach. Zuerst frisches raspbian, dann "apt-get update && apt-get install linphone-nogtk", dann ist tatsächlich alles ohne howto einstellbar: "linphonec" eingeben, dort "soundcard" eingeben und die USB-Soundkarte auswählen, mit "proxy" konnte ich es auf Anhieb an meine Fritzbox anbinden, mit "call meinehandynummer" konnte ich mich sofort von der Konsole aus anrufen, die Soundkarte funktioniert auch (auf die schnelle ein youtube-Video auf dem Handy meiner Frau eingeschaltet und das Handy mit der Soundkarte verbunden und als Ausgang der Soundkarte diente ein alter Lautsprecher).
wiki.linphone.org ist gerade offline, aber in google's webcache steht, dass man mit "linphonecsh init -a -C -c ~/.linphonerc -d 6 -l /tmp/log.txt" den softclient als daemon starten kann bzw. das in /etc/rc.local eintragen, damit sich das nach einem reboot des raspberry selbst startet.
Die CPU-Nutzung ist übrigens bei 50%

Nachtrag2: Interessant wie einfach so ein originales HTS-811 doch aufgebaut ist.
Nachtrag3: Bzgl. Android-App: Habe ich es mir doch gedacht, dass so was längst erfunden ist.
Nachtrag4: Eventuell macht es Sinn das Filesystem auf der SD-Karte read-only zu machen.
Nachtrag5: Den Reed-Kontakt mann bestimmt mit einem Normaly-Closed-Optokoppler simulieren.
Nachtrag6: Das Klingeln detektiert man mit einer 20V Z-Diode und Optokoppler wie hier beschrieben.
Nachtrag7: Und da steht wie man es dann über GPIO auswerten kann.
Nachtrag8: Hier, da und dort steht wie Asterisk dann auf DTMF lauschen könnte.
Nachtrag9: Alle Infos zusammengetragen, alles zusammengelötet, Python-Scripte geschrieben, howto weiter unten erstellt.
 
Zuletzt bearbeitet:
und an die Platine wird die USB-Soundkarte statt des Hörers angeschlossen (meinst du man sollte das mit einem Trennfilter galvanisch entkoppeln?),
ich verwende zur galvanischen Trennung und Spannungsanpassung im Lautsprecherpfad (Kopfhoererausgang USB zu Micro Etagentelefon) einen NF-Uebertrager 1:1 und im Mikrofonpfad (Microeingang USB zu Speaker Etagentelefon) einen NF-Uebertrager 6:1.

Die Uebertrager gibt's z.B. bei Reichelt: Trenntransformatoren und NF-Übertrager

die optimalen Uebertrager-Werte habe ich experimentell ermittelt. Fuer das HTS-711 sehen die sicher wieder etwas anders aus.

generell muss man natuerlich aufpassen, dass saemtliche Anschluesse an das Etagentelefon potentialfrei sind um keine Stoerungen in die Hausanlage einzukoppeln und um Brummschleifen zu vermeiden.
 
Da ich nicht so recht weiß in welches Thema so ein Howto rein passen würde poste ich es einfach hier.
Das doorpi-Forum habe ich mir zwar angeschaut, habe dort jedoch nicht wirklich was gefunden. Die Dokumentationen sind kaum vorhanden und meistens geht es auch darum ein Raspberry-Pi unten an der Tür einzubauen und nicht oben in der Mietwohnung. Dennoch war die Idee nun geboren und ich poste die Dokumentation hier.
Zunächst habe ich ein nahezu neues HTS-811 über ebay-kleinanzeigen gekauft. Ich wollte einfach mein altes HTS-711 damit ersetzen und das dann übrig gebliebene HTS-711 für Bastelzwecke nehmen. Das ganze Zeug musste in irgendein Gehäuse, aber irgendwie fand ich keins. Dann kam die Idee: warum noch ein HTS-711 zum HTS-811 parallel hängen wenn man doch alles mit nur einem HTS-811 machen könnte. Außerdem gibt es dort genügend Platz für eigene Projekte. Also habe ich alles da eingebaut und darauf Wert gelegt, dass es von außen original aussieht und ich es jederzeit auch abbauen könnte. Außerdem habe ich eine kleine USV aus einem 2,5F-Kondensator gebaut - die Teile hatte ich eh noch übrig.

Da sparkie meine Vermutung bestätigt hat - man sollte die Anlage und den Raspberry galvanisch entkoppeln - habe ich noch ein Massentrennfilter bei ebay besorgt und die Übertrager dort ausgeschlachtet. Vielleicht könnte man die Filter auch weglassen - die Soundkarte ist eh über Kondensatoren entkoppelt - aber echte galvanische Trennung wäre das nicht. Die ist nur mit Transformatoren möglich. Alternative wäre wohl auch galvanisch getrennte Stromversorgung für den Raspberry. Es gibt eigentlich nicht viel zu erklären - alles ist aus dem Schaltplan und den Fotos ersichtlich.
Zwei Reed-Relais (eigentlich für 5V) habe ich besorgt. Die sind nur dafür zuständig den Tastendruck auf "Licht" bzw. "Türöffner" zu simulieren. Da sie bei 3,3V irgendwas um die 8 mA ziehen habe ich sie direkt an GPIO 18 und 23 gehängt (hätte aber auch jeder andere GPIO-Ausgang sein können).
Das Klingeln detektiert man ohne großen Aufwand mit paar Zenerdioden. Bei Siedle gibt es ja nur drei Kabeln, die in die Wohnung gehen: 1, 7 und ERT. Dabei ist "1" die Masse und "7" der Pluspol. Am liebsten hätte ich den Strom für den Raspberry genau aus diesem Pluspol genommen, aber selbst der eine Watt was ich gern für den Raspberry-Pi-Zero hätte ist zu viel. Beim Klingeln (und nur während des Klingelns) liegt da eine Spannung über 20V an. Also habe ich jeweils eine Zenerdiode\20V genommen mit einem Optokoppler dahinter. Die Ausgänge der Optokoppler habe ich dann an den GPIO 14 und 15 angeschlossen. Das Klingeln an der eigenen Etage zu detektieren ist jedoch völliger Quatsch: was soll der Raspberry darauf reagieren? Die Tür unten aufmachen? Jemanden anrufen? Mir eine Email senden? Man hätte sich eine Zenerdiode und einen Optokoppler sparen können. Dann brauchte ich einen Optokoppler der im Normalzustand Strom durchleitet und wenn man ihn ansteuert dann nicht. Diese Optokoppler existieren und sind teuer und selten - ich habe natürlich keinen gehabt. Also brauchte ich ein Relais welches im Normalzustand leitet. Man muss eine Leiterbahn, die zum Reed-Kontakt beim Board des HTS-811 auftrennen und das Relais dort einsetzen. Bei einem theoretischen Abrauchen des Raspberry soll das Relais sich so verhalten als würde es nicht existieren. Wenn man es ansteuert wird der Stromfluss über den Reed-Kontakt unterbrochen und ein Abheben des Hörers wird so simuliert. Da ich kein "1xAUS" Relais hatte, habe ich ein "2xUM" eingesetzt. Neben dem vorhandenen Reed-Kontakt habe ich noch ein zweites angebracht und ihn gegen Masse und GPIO22 geschaltet. Dadurch soll der Raspberry einfach wissen wann der Hörer abgehoben ist. Noch ein zweites Relais mit "2xUM" soll noch den Mikrofoneingang sowie Lautsprecherausgang des HTS-811-Boards zwischen dem originalen Hörer und dem Raspberry (genauer: USB-Sounkarte die dort hängt) hin und her schalten. Hier genauso wie vorher: im Normalzustand ist der Originalhörer verbunden. Im Nachhinein betrachtet könnte man vermtlich den Lautsprecherausgang parallel/gleichzeitig mit dem Hörer und USB-Soundkarte verbinden, dann würde ein Relais mit "1xUM" auch reichen bzw. ein Relais mit "2xUM" würde reichen um Audio umzuschalten und gleichzeitig das Abheben des Hörers zu simulieren. Problem ist, dass ich gerne bastele und löte und nur ungern programmiere - deshalb ist zuerst die Hardware entstanden und erst bei der Software ist dann aufgefallen, dass man doch dies und jenes gar nicht bräuchte. Am Ende ist mir dann aufgefallen, dass die grüne LED des Raspberry die Wand anleuchtet - man sieht sie also. Und dann habe ich gelesen, dass man die ansteuern könnte (aus/an). Da ein alter, nicht mehr angeschlossener Taster (aus Zeiten wo es noch keine Türfreisprecheinrichtungen gab) sich direkt neben dem HTS-811 befindet habe ich ihn missbraucht um das System ein- und auszuschalten. So verlasse ich das Haus, drücke auf diesen Taster, die grüne LED leuchtet und das System ist aktiviert. So schaut auf alle Fälle die Hardwareseite aus.
Was hat das ganze gekostet? Der Raspberry-Zero ca. 15 €, ein Relais mit "2xUM" nochmal 2-3 €, Widerstände, Optokoppler, Reed-Relais und Kleintransistor sind Cent-Artikel. USB-Soundkarte (ich hatte irgendeine rumliegen) kostet keine 5 € in der Bucht. Die Übertrager weniger als 10 €. Ein HTS-811 kostet neu oder fast neu um die 30-40 € in der Bucht, aber den hat man eigentlich eh schon bzw. der müsste eh bereits vorhanden sein. Die Spannungswandler und der 2,5F-Kondensator haben zusammen nochmal ca. 10 € gekostet, aber auf diese Art der USV könnte man auch verzichten und stattdessen das Filesystem nur read-only mounten. Also alles zusammen ein noch zweistelliger Betrag. Zeitaufwand war ein Samstag und Sonntag am Stück löten und überlegen. Aber erstens kostet das nichts (man bezahlt sich selbst ja nicht) und zweitens dauert es nur beim ersten mal so lange.

Nachtrag: Inzwischen bin ich dabei auf Orange-Pi-Zero umzusteigen. Blöderweise habe ich damals von der Fritzbox zur TFE nur zwei Adernpaare verlegt und so muss ich darüber sowohl ethernet als auch die Stromversorgung laufen lassen. POE über vier Adern müsste ja irgendwie gehen - dachte ich. Pluspol einfach auf Pin1 von dem RJ45-Stecker und Minuspol auf Pin3 - das geht nicht! So bekommt man eine 10Mbit/s Leitung mit Paketverlusten. Es muss tatsächlich so verschaltet werden wie abgebildet. Eine 7490er Fritzbox lässt sich mit nur zwei Drähten innerhalb von 3 Minuten als POE-Quelle modifizieren.
 

Anhänge

  • schaltplan.JPG
    schaltplan.JPG
    349.3 KB · Aufrufe: 76
  • amAnfang.jpg
    amAnfang.jpg
    1.4 MB · Aufrufe: 67
  • alteusbsoundkarte.jpg
    alteusbsoundkarte.jpg
    1.9 MB · Aufrufe: 65
  • fertig.jpg
    fertig.jpg
    1.9 MB · Aufrufe: 57
  • POE1.gif
    POE1.gif
    11.9 KB · Aufrufe: 31
Zuletzt bearbeitet:
  • Like
Reaktionen: Türöffner
Als Betriebssystem habe ich einfach das neuste Raspbian Buster Lite und das mit Win32DiskImager auf die Micro-SD-Karte gebügelt. Davor habe ich noch eine Portfreigabe in der Fritzbox erstellt: UDP-Port50600 auf Port5060 192.168.178.10, UDP-Port 10000 bis 10200 auf die gleichen Ports nach 192.168.178.10 und SSH auf einem anderen Port freigegeben.
Wenn Win32DiskImager fertig ist kann man mit Windows auf eine der beiden auf der SD-Karte neu erstellten Partitionen zugreifen. Dort habe ich erstmal alles in der config.txt auskommentiert und eine leere Datei "ssh" hinkopiert sowie die Datei wpa_supplicant.conf mit folgendem Inhalt:
Code:
# Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="mein2,4GHz-WLAN"
       psk="richtiggeheim"
       key_mgmt=WPA-PSK
}
Dadurch muss ich weder einen Monitor noch eine Tastatur anschließen und der SSH-Zugang wird dauerhaft aktiviert und ich kann sofort erstmal als User "pi" mit dem Passwort "raspberry" auf das System zugreifen. Dass man als erste Amtshandlung nach dem ersten ssh-Login das Standardpasswort ändert versteht sich eigentlich von selbst.
In /etc/ssh/sshd_config habe ich "PermitRootLogin yes" hinzugefügt, damit ich per WinSCP als root auf das System zugreifen kann.
Die IP habe ich unter /etc/dhcpcd.conf auf statisch 192.168.178.10 eingestellt. Dann den klassischen apt-get update, apt-get upgrade sowie asterisk und linphone-nogtk installiert. Danach habe ich alles in /etc/asterisk/ installiert und durch eigene Konfigurationsdateien (in diesem Post enthalten) ersetzt.
Die /etc/rc.local habe ich durch diese geändert:
Code:
#!/bin/sh -e
/usr/bin/linphonecsh init -b /etc/asterisk/linphone.conf  #Autostart fuer Linphone
/usr/local/bin/script-doorpi.py &    #Start des Python-Scriptes
#Gruene Raspberry-Pi-Zero LED ausschalten
sleep 5 && echo none > /sys/class/leds/led0/trigger && echo 1 > /sys/class/leds/led0/brightness
exit 0  # Das wars
In die /etc/sudoers habe ich unter root noch eingefügt: "asterisk ALL=(ALL) NOPASSWD: ALL". Hintergrund: Asterisk läuft unter dem User "asterisk" und um die python-Scripte ausführen zu können muss Asterisk in der Lage sein sie mittels sudo auszuführen.
Und am Ende habe ich noch die folgenden Python-Scripte als ausführbare Dateien unter /usr/local/bin/ abgelegt (bitte nicht schimpfen, ich habe Python erst vor paar Tagen das erste mal gesehen):
script-doorpi.py (Hauptscript, der immer läuft und das ganze überwacht)
Code:
#!/usr/bin/python
# coding: latin-1
import RPi.GPIO as GPIO, time, os
enable = 0
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)                # Relais Hörer Audio
GPIO.setup(18, GPIO.OUT)                # Türöffner
GPIO.setup(23, GPIO.OUT)                # Licht an
GPIO.setup(27, GPIO.OUT)                # Relais Hörer Reed
GPIO.setup(14, GPIO.IN, pull_up_down = GPIO.PUD_UP)    # Etagenklingel, 0=klingelt
GPIO.setup(15, GPIO.IN, pull_up_down = GPIO.PUD_UP)    # Türklingel unten, 0=klingelt
GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_UP)    # Schalter für System Ein/Aus
GPIO.setup(22, GPIO.IN, pull_up_down = GPIO.PUD_UP)     # Reed-Kontakt Hörer, 0=aufgelegt
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)    # Stromversorgung, 0=kein Strom

def shutdown(channel):
    print "Notstromversorgung aktiviert"
    os.system("date +%d.%m.%Y\ %T\ Spannungseinbruch festgestellt >> /root/Ereignisse.txt")
    time.sleep(15)
    if GPIO.input(24) == 0:
       print "wird runtergefahren"
       os.system("linphonecsh exit")
       os.system("date +%d.%m.%Y\ %T\ System\ wurde\ runtergefahren >> /root/Ereignisse.txt")
       time.sleep(1)
       os.system("shutdown -h now")

def onoff(channel):
    global enable
    time.sleep(0.1)    # Schalter muss > 100 ms gedrückt werden, sonst wird es ignoriert
    if GPIO.input(21) == 0:
       if enable == 0:
          enable = 1
          os.system("echo 0 > /sys/class/leds/led0/brightness")    # Grüne Pi-Zero LED einschalten
          os.system("date +%d.%m.%Y\ %T\ System\ wurde\ aktiviert >> /root/Ereignisse.txt")
       else:
          enable = 0
          os.system("echo 1 > /sys/class/leds/led0/brightness")    # Grüne Pi-Zero LED ausschalten
          os.system("date +%d.%m.%Y\ %T\ System\ wurde\ deaktiviert >> /root/Ereignisse.txt")

def klingel_oben(channel):
    time.sleep(0.1)    # Das Klingeln muss > 100 ms dauern, sonst wird es ignoriert
    if GPIO.input(14) == 0:
       print "oben wurde geklingelt"
       os.system("date +%d.%m.%Y\ %T\ Oben\ wurde\ geklingelt >> /root/Ereignisse.txt")

def klingel_unten(channel):
    time.sleep(0.1)    # Das Klingeln muss > 100 ms dauern, sonst wird es ignoriert
    if GPIO.input(15) == 0:
       print "unten wurde geklingelt"
       os.system("date +%d.%m.%Y\ %T\ Es\ wurde\ unten\ geklingelt >> /root/Ereignisse.txt")
       if enable == 1:
          os.system("linphonecsh dial door")

def ccancel(channel):
    print "Hörer wurde abgehoben"
    os.system("date +%d.%m.%Y\ %T\ Hörer\ wurde\ abgehoben >> /root/Ereignisse.txt")
    os.system("linphonecsh generic terminate")

GPIO.add_event_detect(14, GPIO.FALLING, callback = klingel_oben, bouncetime = 200)
GPIO.add_event_detect(15, GPIO.FALLING, callback = klingel_unten, bouncetime = 200)
GPIO.add_event_detect(21, GPIO.FALLING, callback = onoff, bouncetime = 500)
GPIO.add_event_detect(22, GPIO.RISING, callback = ccancel )
GPIO.add_event_detect(24, GPIO.FALLING, callback = shutdown, bouncetime = 5000)

try:
  while True:
    os.system("date +%d.%m.%Y\ %T")
    time.sleep(1)

except KeyboardInterrupt:
  GPIO.cleanup()
  print "\nBye"
connect.py (asterisk führt dieses script aus - damit werden bloß die beiden Relais umgeschaltet)
Code:
#!/usr/bin/python
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.output(17,1)
GPIO.output(27,1)
disconnect.py (Asterisk führt am Ende des Gespräches die h-Extension aus und die beiden Relais werden wieder ausgeschaltet)
Code:
#!/usr/bin/python
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.output(17,0)
GPIO.output(27,0)
dooropen.py (damit wird der Türöffner betätigt)
Code:
#!/usr/bin/python
# coding: latin-1
import RPi.GPIO as GPIO, time, os
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18,1)
time.sleep(0.2)
GPIO.output(18,0)
os.system("date +%d.%m.%Y\ %T\ Tür\ wurde\ geöffnet >> /root/Ereignisse.txt")
lighton.py (damit wird das Drücken des Schalters für's Licht im Treppenhaus simuliert)
Code:
#!/usr/bin/python
# coding: latin-1
import RPi.GPIO as GPIO, time, os
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
GPIO.output(23,1)
time.sleep(0.2)
GPIO.output(23,0)
os.system("date +%d.%m.%Y\ %T\ Licht\ wurde\ eingeschaltet >> /root/Ereignisse.txt")
schalter.py (damit kann ich den Schalter, der die Rufumleitung zum Handy aktiviert/deaktiviert aus der Ferne betätigen)
Code:
#!/usr/bin/python
# coding: latin-1
import RPi.GPIO as GPIO, time, os
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
time.sleep(0.11)
GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_UP)
time.sleep(1)
os.system("tail -n 1 /root/Ereignisse.txt")
Und noch "restart"
Code:
linphonecsh exit
reboot
# Wenn man normal "reboot" benutzt dann wird linphone nicht beendet, das System hängt sich für einige Stunden auf und startet erst irgendwann neu
# Keine Ahnung warum das so ist, aber ich nutze nun einfach "restart" stattdessen
Dann habe ich noch die Android-App "Raspberry SSH Lite" entdeckt. Damit habe ich auf dem Handy eine "Desktopverknüpfung" erstellt auf die ich drauf drücken kann damit die Tür unten aufgeht.


Nachtrag: Für Orange Pi Zero muss man noch zusätzlich pip per aptitude installieren und dann pip install --upgrade OPi.GPIO
 

Anhänge

  • etc.asterisk.conf.zip
    4.2 KB · Aufrufe: 7
Zuletzt bearbeitet:
  • Like
Reaktionen: Türöffner
Hallo!

Da keiner weiss, was das alles zusammen an "hw" inkl. Zeitaufwand kostet, kann man schwer einschätzen, ob das Projekt dann wirklich für Jedermann noch "preiswert" ist?

Und wer nur eine HTA811 hat, oder bereits eine In-home-Bus-Anlage, kann das alles gar nicht wirklich dazu verwenden, schade!
 
erst mal grosses Lob fuer die super Umsetzung! Du bist zudem wohl der erste, der auch mal beschreibt was er gebaut hat :)

Das Klingeln an der eigenen Etage zu detektieren ist jedoch völliger Quatsch: was soll der Raspberry darauf reagieren? Die Tür unten aufmachen? Jemanden anrufen? Mir eine Email senden?

ich unterscheide bei mir die 4 vorhandenen Klingelknoepfe. Diese werden beim Tuerruf auf die Mobilteile bzw. Parallelruf auf das Smartphone per Namen angezeigt. Egal ob ich zuhause oder unterwegs bin weiss ich also, wo gelaeutet wird. Insofern macht es durchaus Sinn die eigene Etage zu unterscheiden.

Mein System weiss somit ausserdem noch welche Tuerkamera (unten oder oben) es auf dem Display darstellen soll.
 
Und wer nur eine HTA811 hat, oder bereits eine In-home-Bus-Anlage, kann das alles gar nicht wirklich dazu verwenden, schade!

wieso nicht? Sinngemaess ist die Vorgehensweise immer gleich. Die Basisplatine stammt vom Originalhersteller. Angekoppelt werden nur Lautsprecher, Mikrofon und mechanische Schalter fuer Licht, Tueroeffner, Gabelkontakt etc. Also genau an der Stelle wo die meisten Systeme sehr aehnlich sind. Somit ist der Ansatz hier maximal allgemeingueltig. Note 1 :)
 
Hallo!

Jeder Krämer, lobt seine eigene Ware, aber die Frage wie im Titel bzw. im Beitrag #30 schon mal gestellt, ob sowas "preiswert" ist, kann u. will keiner wirklich beantworten!
Time is money u. manche wollen aber für manches triviales, oft nicht viel mehr als 100,-- Teuros dafür ausgeben.
 
Ich habe den Beitrag oben ergänzt. Letztendlich ist alles Kleinkram was man eh rumliegen hat.
Würde ich alles kaufen müssen würde es wohl gerade noch so eine zweistellig Summe werden.
Damit ist eine Selbstbastellösung für mich:
1. Preiswerter als kommerzielle Fertigprodukte
2. Flexibler und von niemandem abhängig
(da war z.B. doch dieses Nello, was jetzt pleite ist und die Kinden die Geräte gar nicht mehr nutzen können)

Ich lobe meine Ware nicht. Ich fand es lediglich sehr unglücklich warum man nirgends eine halbwegs gute Dokumentation findet wie man eine beliebige Türfreisprecheinrichtung VoIP-fähig macht. Daher habe ich das hier einfach erstellt. Ich will hier keinesfalls meine Arbeit loben, sondern andere Leute zum Nachmachen auffordern. Vor allem wollte ich zeigen, dass es gar nicht so schwer ist und jeder, der keine zwei linke Hände hat kann seiner TFE ganz billig VoIP beibringen.
 
  • Like
Reaktionen: bigwill
Wer Deinen letzten Satz, selber umsetzen kann, wird sich bestimmt darüber freuen, Danke!
 
die Frage ist weniger ob sowas preiswert umgesetzt werden kann. Sondern vielmehr wie ueberhaupt.

Kommerzielle Hersteller fuer Geraete welche die gestellten Anforderungen erfuellen gibt es ja gar nicht. Spaetestens dann wenn noch eine Kamera gefordert ist. Also ist Selbstbau sowieso der einzige Weg. Damit ist man der kommerziellen Entwicklung ca. 10 Jahre voraus :)
 
Kannst oder willst die Du Ausgangsfrage nicht lesen, bzw. ich glaube nicht dass in 10 Jahren "Jedermann" seine TFE am PC u. infolge am Hdy haben will u. kann.
Ausnahmen bestätigen die Regel!

Wenn es so einfach wäre, hätten die aktuellen TFE-Hersteller das schon längst aus der Schublade geholt, aber solange die meisten DIY-Bastler welche tw. nur mit dem Phasenprüfer aber ohne Lötstation ihr Glück versuchen, wird es in nächster Zeit nix werden!
 
Zuletzt bearbeitet:
und wo liegt jetzt das Problem?
 
Das musst die 2-3 Fragensteller, vom Mai 2012, bzw. März 2016 u. Oktober 2019, schon selber fragen!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.