Hi Thomas,
was verstehst du genau unter "von vorne" und "zusammengebauten Zustand"?
Gruß,
Thorsten
Hi Thomas,
was verstehst du genau unter "von vorne" und "zusammengebauten Zustand"?
Gruß,
Thorsten
Es geht voran. Hier mal ein paar Bilder.
Zunächst der unverbastelte Siedle TLE 061-0 Einbautürlautsprecher.
Dann die Anschlüsse zur Nutzung des eingebauten Mikrofons und des eingebauten Lautsprechers. Dabei soll der interne Verstärker des TLE 061-0 genutzt werden, wenn die Gespräche über die Siedle-Anlage geführt werden, während auf den externen Verstärker umgeschaltet wird, wenn die Gespräche über den DoorPi laufen. Das Mikro wird in beiden Fällen parallel benutzt.
Hier mal der Testaufbau aus Siedle TLE 061-0 und Raspi 3 mit PiFace- und Kamera-Modul. Weiterhin kommen ein Verstärkermodul M031N von Kemo, eine einfache USB-Soundkarte und ein DC/DC-Wandler zum Einsatz. Hab die Ansteuerung des Lautsprechers der Einfachheit halber mal auf einen kleinen Zettel gemalt.
Und hier dann der Einbau in meinem Briefkasten.
Zu guter Letzt habe ich noch meine aktuelle doorpi.ini angefügt.
[AREA_installer]
.* =
[AdminNumbers]
**610 = active
**611 = active
**612 = active
**613 = active
**621 = active
[DTMF]
"#" = out:Tueroeffner,1,0,3
[DoorPi]
base_path = /usr/local/etc/DoorPi
eventlog = !BASEPATH!/conf/eventlog.db
is_alive_led = Blink-LED
snapshot_path =
[DoorPiWeb]
indexfile = index.html
ip =
loginfile = login.html
online_fallback = http://motom001.github.io/DoorPiWeb
port = 80
public = AREA_public
www = !BASEPATH!/../DoorPiWeb
[EVENT_OnCallStateConnect]
10 = out:Verstaerker,1,0,60
[EVENT_OnCallStateDisconnect]
10 = out:Verstaerker,0
[EVENT_OnKeyPressed_onboardpins.0]
10 = call:**610#611#612#613#621
20 = os_execute:/usr/local/etc/DoorPi/scripts/Klingel.sh
[EVENT_OnKeyPressed_onboardpins.1]
10 = os_execute:/usr/local/etc/DoorPi/scripts/Briefkasten.sh
[EVENT_OnKeyPressed_onboardpins.2]
10 = os_execute:/usr/local/etc/DoorPi/scripts/BriefkastenReset.sh
[EVENT_OnKeyPressed_onboardpins.3]
10 = os_execute:/usr/local/etc/DoorPi/scripts/BriefkastenSabotage.sh
[EVENT_OnKeyPressed_onboardpins.6]
10 = out:Tueroeffner,1,0,3
[EVENT_OnKeyPressed_onboardpins.7]
10 = hangup:0
[EVENT_AfterShutdown]
10 = os_execute:/usr/local/etc/DoorPi/scripts/StopDoorPi.sh
[EVENT_OnStartup]
10 = sleep:1
[EVENT_AfterStartup]
10 = os_execute:/usr/local/etc/DoorPi/scripts/StartDoorPi.sh
[Group]
administrator = door
[SIP-Phone]
firewallpolicy = PolicyNoFirewall
audio_codecs = PCMA,PCMU
call_timeout = 12
capture_device = ALSA: default device
dialtone = !BASEPATH!/media/ShortDialTone.wav
dialtone_renew_every_start = False
dialtone_volume = 35
echo_cancellation_enabled = False
identity = Klingel
local_port = 5060
max_call_time = 60
playback_device = ALSA: default device
record_while_dialing = False
records = !BASEPATH!/records/Haustuerklingel.wav
sipphonetyp = linphone
sipserver_password = DoorPi-789
sipserver_realm = fritz.box
sipserver_server = 192.168.0.1
sipserver_username = 620
stun_server =
ua.max_calls = 2
video_codecs = VP8
video_device = StaticImage: Static picture
video_display_enabled = False
video_size = vga
[User]
door = pi
[WritePermission]
administrator = installer
[keyboards]
onboardpins = piface
[onboardpins_InputPins]
0 = Klingel
1 = Briefkasten-Klappe
2 = Briefkasten-Tuer
3 = Briefkasten-Sabotage
6 = Tueroeffner
7 = Auflegen
[onboardpins_OutputPins]
0 = Verstaerker
1 = Tueroeffner
7 = Blink-LED
[onboardpins_keyboard]
bouncetime = 10000
polarity = 0
pressed_on_keydown = True
Alles anzeigen
Auf die Details gehe ich später noch ein.
wo ist hier eigentlich der Donate-Button
Den gibt's geschickterweise direkt im DoorPiWeb-Interface.
EDIT: Und nun auch direkt hier im Forum.
Gruß,
Thorsten
Ja. Zum Beispiel Pushalot oder Prowl. Telegram bietet aber den Vorteil, dass man damit auch direkt Bilder versenden kann.
Ich nutze z.B. in Verbindung mit dem DoorPi das RPi-Cam-Web-Interface. Einen Snapshot davon lasse ich mir beim Klingeln über das Shellskript "Klingelbild.sh" mit dem Inhalt
wget -O /home/pi/Haustürklingel.jpg http://192.168.0.21:80/cam.jpg
curl -s -k "https://api.telegram.org/bot<API-Schlüssel des Bots>/sendPhoto" -F chat_id=<chatid> -F photo="@/home/pi/Haustürklingel.jpg"
in das Home-Verzeichnis von pi schieben und dann per Telegramm zusenden (nicht vergessen, die Rechte gemäß obiger Anleitung zu setzen).
Der entsprechende Eintrag in der doorpi.ini lautet dann bei Nutzung von Pin 0 des PiFace-Moduls zur Erkennung der Klingelbetätigung:
[EVENT_OnKeyPressed_onboardpins.0]
10 = os_execute:/usr/local/etc/DoorPi/scripts/Klingelbild.sh
...
[onboardpins_InputPins]
0 = call:**610#611#612#613
Gruß,
Thorsten
Danke. Werde ich mal versuchen.
Ich hatte irrtümlich angenommen, diese Parameter würde DoorPi selbsttätig setzen.
Gibt es eigentlich auch noch eine andere Möglichkeit, eine virtuelle Taste zur Bedienung eines InputPins und/oder OutputPins zu setzen? Z.B. direkt über curl oder dergleichen?
Gruß,
Thorsten
In Verbindung mit meiner HomeMatic nutze ich den Push-Dienst Telegram, um mich zeitnah über Statusänderungen informieren zu lassen. Telegram hat den Vorteil, dass es nahezu für alle Betriebssysteme entsprechende Clients gibt. Dabei funktioniert Telegram im Wesentlichen wie z.B. WhatsApp, bietet aber zusätzlich so genannte Bots. Bots sind quasi virtuelle Teilnehmer, die über API-Keys angesteuert werden können, um Push-Nachrichten abzusenden. Dabei kann Telegram nicht nur mit Texten, sondern auch mit angehängten Dateien, wie z.B. Bildern, Tönen und Videos, umgehen.
Das Einrichten eines Bots gestaltet sich recht einfach.
Sofern man noch keinen Telegram-Account hat, läd man sich die Telegram-App oder das Telegram-Programm für sein OS herunter, gibt eine Telefonnummer an, an die die SMS mit dem Freischaltcode geschickt werden soll und schaltet sich einen Account frei.
In der InApp-Suche gibt man dann einfach BotFather ein und startet anschließend mit
einen Chat mit ihm.
Über
richtet man dann den Bot ein. Dazu fragt der Botfather nach einem Namen für den Bot (z.B. "DoorPi") und anschließend nach einem Usernamen, der immer auf "bot" oder "Bot" enden muss (z.B. "MeinDoorPiBot"). Das war's. Nun ist der Bot eingerichtet und man erhält vom BotFather eine Nachricht mit dem API-Schlüssel des Bots und mit einem Link (z.B. "telegram.me/MeinDoorPiBot").
Damit der Bot Einem eine Nachricht schicken kann, muss man noch die chat_id des Empfängers, also von sich selbst, herausfinden. Dazu geht man zunächst in der App auf den vom BotFather gesenden Link, gibt entweder "/start" ein oder drückt unten auf den Start-Button und sendet eine kleine Nachricht an ihn (z.B. "Hallo Bot"). Im Anschluss startet man einen Browser und gibt folgendes ein:
Achtung, die "<>" dienen lediglich der optischen Abgrenzung und sind folglich wegzulassen. Unter Linux wäre die Eingabe übrigens
Nun sucht man in dem angezeigten String nach der ID des Chats. Diese steht in der Regel hinter "chat"; {"id":
Soweit zu den Vorbereitungen.
Um sich nun zum Beispiel von DoorPi eine Push-Nachricht schicken zu lassen, wenn dieser neu startet, erstellt man sich z.B. in dem Verzeichnis "/usr/local/etc/DoorPi/scripts" ein kleines Shell-Skript, nennen wir es mal "Startmeldung.sh", mit folgendem Inhalt:
curl -s -k "https://api.telegram.org/bot<API-Schlüssel des Bots>/sendMessage" -d text="DoorPi gestartet" -d chat_id=<chatid>
wobei "<API-Schlüssel des Bots>" der obige API-Key des Bots und "<chatid>" die ID des Chats sind.
Beispiel:
curl -s -k "https://api.telegram.org/bot12345678:SLSDJRtuDRTx39dSRe43455sSDFsiasdfS/sendMessage" -d text="DoorPi gestartet" -d chat_id=987654321
Dem Shell-Skript abschließend noch mit
die entsprechenden Rechte zum Ausführen zuweisen.
Um das Shellskript beim Start von DoorPi auszuführen, wird in der doorpi.ini folgender Eintrag ergänzt:
Das war's. Viel Spaß beim Ausprobieren.
Gruß,
Thorsten
Vielleicht ne blöde Frage, aber ich habe kürzlich mein Raspian Jessie komplett neu aufgesetzt und DoorPi dann nach obiger Anleitung samt Deamon installiert. War soweit auch kein Problem.
Ein Problem ist aber, dass ich seitdem mit WinSCP keine Rechte mehr habe, um Dateien, wie z.B. die doorpi.ini, zu editieren oder im DoorPi-Verzeichnis neu zu erstellen. Vorher ging das problemlos.
Ich muss mich also per PuTTy auf der Konsole anmelden und die doorpi.ini mit sudo nano doorpi.ini editieren, weil der User pi dies anscheinend nicht direkt darf.
Muss ich jetzt dem User pi die Rechte vom User door oder gar die Root-Rechte zuweisen, oder wie löse ich das Problem am geschicktesten?
Gruß,
Thorsten
Hallo,
wenn ich meine doorpi.ini um folgenden Eintrag ergänze, kann ich DoorPi nicht mehr starten:
DoorPi wird dann jedes Mal wieder herunter gefahren. Sie angefügte log-Datei nach Eingabe von "sudo doorpi_cli --trace" auf der Konsole.
Hier mal meine vollständige doorpi.ini
[AREA_installer]
.* =
[AdminNumbers]
**622 = active
[DTMF]
"#" = out:Tueroeffner,1,0,1
[DoorPi]
base_path = /usr/local/etc/DoorPi
eventlog = !BASEPATH!/conf/eventlog.db
is_alive_led = Blink-LED
snapshot_path =
[DoorPiWeb]
indexfile = index.html
ip =
loginfile = login.html
online_fallback = http://motom001.github.io/DoorPiWeb
port = 80
public = AREA_public
www = !BASEPATH!/../DoorPiWeb
[EVENT_OnCallStateConnect]
10 = out:Verstaerker,1
[EVENT_OnCallStateDisconnect]
10 = out:Verstaerker,0
[EVENT_OnKeyPressed_onboardpins.0]
10 = out:HM-SCI-3-FM,1,0,1
20 = os_execute:/usr/local/etc/DoorPi/scripts/Klingelbild.sh
[EVENT_OnStartup]
10 = sleep:1
[Group]
administrator = door
[SIP-Phone]
firewallpolicy = PolicyNoFirewall
audio_codecs = PCMA,PCMU
call_timeout = 10
capture_device = ALSA: default device
dialtone = !BASEPATH!/media/ShortDialTone.wav
dialtone_renew_every_start = False
dialtone_volume = 35
echo_cancellation_enabled = False
identity = Klingel
local_port = 5060
max_call_time = 120
playback_device = ALSA: default device
record_while_dialing = False
records = !BASEPATH!/records/%Y-%m-%d_%H-%M-%S.wav
sipphonetyp = linphone
sipserver_password = xxxxxxxxxx
sipserver_realm = fritz.box
sipserver_server = 192.168.0.1
sipserver_username = 622
stun_server =
ua.max_calls = 2
video_codecs = VP8
video_device = StaticImage: Static picture
video_display_enabled = False
video_size = vga
[User]
door = pi
[WritePermission]
administrator = installer
[keyboards]
onboardpins = piface
virtual = filesystem
[onboardpins_InputPins]
0 = call:**610
[onboardpins_OutputPins]
0 = Verstaerker
1 = Tueroeffner
2 = HM-SCI-3-FM
7 = Blink-LED
[onboardpins_keyboard]
bouncetime = 100
polarity = 0
pressed_on_keydown = True
Alles anzeigen
Wo ist das Haar in der Suppe?
Gruß,
Thorsten
Hi,
es ist kein wirkliches Problem, aber evtl. irritierend. In Firefox 44 unter Windows 10 werden mir einige Einträge der doorpi.ini unter DoorPiWeb doppelt angezeigt.
Der Internet Explorer stellt die Konfiguration dagegen korrekt dar.
Kann man das ggf. selbst durch eine Einstellung in Firefox lösen?
Gruß,
Thorsten
So,
funktioniert super mit
[EVENT_OnCallStateConnect]
10 = out:Verstaerker,1
[EVENT_OnCallStateDisconnect]
10 = out:Verstaerker,0
[keyboards]
onboardpins = piface
[onboardpins_InputPins]
0 = call:**610
[onboardpins_OutputPins]
0 = Verstaerker
1 = Tueroeffner
7 = Blink-LED
[onboardpins_keyboard]
bouncetime = 100
polarity = 0
pressed_on_keydown = True
Alles anzeigen
Gruß,
Thorsten
Der Vorschlag mit dem parallelen Kemo-Verstärker stammt von mir. Und das als promovierter E-Technik-Ingenieur *räusper*
Nun gut, ich habe den Text in den entsprechenden Postings bereits angepasst und mir Gedanken zu einem Workaround gemacht. Kurzum, ich werde nun per PiFace-Modul zwischen den Verstärkerausgängen des Kemo-Verstärkermoduls und des integrierten Verstärkers umschalten. Der Standardzustand wird sein, dass der interne Verstärker der TLE 061-0 mit dem Lautsprecher verbunden ist. Nur dann, wenn der DoorPi eine Verbindung zum FRITZ!fon (oder einer anderen Gegensprechstelle) aufgebaut hat, wird der Ausgang des Kemo-Verstärkers mit dem Lautsprecher verbunden. Dass sollte laut diesem Hinweis hier mit der doorpi.ini machbar sein. Werde es heute Abend oder morgen mal ausprobieren.
Übrigens dürfte es reichen, einen der beiden Lautsprecheranschlüsse aufzutrennen, so dass das andere Relais des PiFace-Moduls weiterhin für einen Türöffner oder dergleichen nutzbar ist.
Bezüglich des parallelen Mikrofon-Anschlusses sehe ich jedoch keine gravierenden Probleme, da die Eingänge der Verstärkerstufen verhältnismäßig hochohmig sind.
Gruß,
Thorsten
Hört sich vom Namen schon mal genau nach dem an, was ich suche. Werde es mal probieren. Danke.
Gruß,
Thorsten
Apache scheint mir für das RPI-Cam-Web-Interface zwingend, wenn ich mir die Architektur so ansehe.
Die Auslastung habe ich noch nicht gemessen, aber es lief problemlos auf einem Raspi B, auf dem auch noch andere Prozesse liefen. Auf einem Raspi 2 oder 3 wird halt ggf. einer der vier Kerne in Beschlag genommen.
Bis dann,
Thorsten
Hi,
ich nutze das NoIR-Kameramodul für den Raspi in Verbindung mit einem vorgesetzten Fisheye-Objektiv. Auf dem Raspi läuft das RPI-Cam-Web-Interface (Achtung: zur Installation unter Jessie muss Apache 2 vorher installiert werden, sonst hängt der Installationsvorgang).
Hier mal ein Snapshot, den ich mir beim Klingeln und beim Einwurf von Briefen per Telegram Push-Nachricht auf's iPhone und auf meinen Windows-10-Rechner zuschicken lasse.
Die Qualität ist sicherlich nicht weltbewegend, aber für die Haustür reicht's allemal.
Warum ich mich für das RPI-Cam-Web-Interface entschieden habe? Es bietet eine recht einfache Konfiguration mit vielen Anpassungsmöglichkeiten. Wer möchte, kann sogar Videos in Abhängigkeit von einer erkannten Bewegung aufzeichnen. Auch das Einblenden eines Textes in das Bild gefällt mir.
Neben den Snapshots erhalte ich beim Klingeln an der Haustür auch einen Videostream auf ein Wandtablet, das mit meiner HomeMatic verbunden ist.
Aktuell steht die Einbindung in den DoorPi an. Leider unterstützt die Firmware meine FRITZ!Box 6490 Cable noch keine SIP-Türsprechanlagen, so dass mir auf den FRITZ!fons kein Bild angezeigt wird. Hoffe, dass Unitymedia hier bald ein FW-Update anbietet, oder dass ich mit Wegfall des Routerzwangs eine eigene FRITZ!Box mit aktueller Firmware nutzen kann. Ist aber nicht so eilig.
Bis dann,
Thorsten
Kurze Gegenfrage.
Hier wurde ganz unten im Posting der Autostart des DoorPi-Deamons mittels eines Shellskripts doorpi.sh erzeugt. Sollte ich das wieder rückgängig machen und den oben beschriebenen Vorgang durchführen?
Gruß,
Thorsten
Hallo,
ich würde gerne einen der Ausgänge meines PiFace-Moduls automatisch einschalten, sobald eine Verbindung zwischen DoorPi und einem meiner FRITZ!fons aufgebaut wurde. Ist das möglich?
Habe direkt keine entsprechende Aktion gefunden.
Hintergrund meine Frage ist der, dass ich einen Siedle Türlautsprecher TLE 061-0 im Einsatz habe und dessen integrierten Verstärker im Wechsel mit einem externen Verstärker derart benutzen möchte, dass bei einem Gesprächsaufbau über den DoorPi automatisch der externe Verstärker und bei einem Gespräch über den TLE 061-0 der interne Verstärker benutzt wird.
Ich bräuchte also eine Art DTMF-Aktion "out:Verstaerker,1", die mir bei Verbindungsaufbau das PiFace-Relais auf den Kontakt NO schaltet und eine Aktion "out:Verstaerker,0", die es nach Verbindungsende wieder auf den Kontakt NC schaltet.
Gruß,
Thorsten