Los ging es ja mit einem kleinen Perlscript, welches die Daten der Fritz!box einsammelt und bei einem Anruf eine Meldung an den MiniServer schickt. Da die Fritz!box aber mehrere Verbindungen gleichzeitig beherscht, war diese, meine Lösung na sagen wir mal Alpha-Status. Angestachelt durch gleichnamigen Thread von Lars Diekmann1 im Parent, erweiterte ich jetzt das Script. Da nun dieses Script eigentlich alle Informationen zur Verfügung stellt, sind von der einfachen Anrufsignalisierung bis zum detailierten Anrufmonitor alles möglich. Dies möchte ich hier auch gleich mit einer Config präsentieren. Diese Config kann 4 Verbindungen überwachen (normalerweise hat man nur 2 Leitungen, sollte also kein Problem sein). Allerdings ist die detaillierte Version dann doch etwas "anspruchsvoller" geworden. Soll ja auch nur zeigen, was alles möglich ist.
Was wird benötigt?
Da PicoC auf dem MiniServer für solche Vorhaben wegen mangelder Fehlerbehandlung von Stream-Verbindungen eher weniger geeignet ist, habe ich das Projekt mit meinem eh vohandenen RaspberryPi umgesetzt.
Also:
- ein RaspberryPi oder sonstige Linuxbox mit perl
- eine Fritz!box (klar) ab welcher Version und FW kann ich leider jetzt nicht sagen
- ein analoges Telefon an einer Telefonbuchse der Fritz!box (wird nur zum Aktivieren des Monitors benötigt)
- eine Netzwerkverbindung zwischen RaspberryPi, Fritz!box und MiniServer
- meine Scripts vom Anhang :-)
Installation:
- die CallMonitor_20150126.zip in einen Ordner auspacken
darin ist einmal die Loxone Konfig und eine tgz-Datei mit 2 Scripten
- die enthaltene CallMonitor_20150126.tgz auf den RaspberryPi kopieren
- da ich weiß was ich tue, bewege ich mich auf Linux meist als root, wer die folgenden Anweisungen auf Linux als
Benutzer ausführen möchte, muss das bekannt sudo noch vor dem eigentlichen Befehl notieren
- mit 'tar xfz CallMonitor_20150126.tgz' die Scripte auspacken
habe ich mit tar unter Linux gemacht, da so die Rechter erhalten bleiben sollten
- das perlscript callmonitor in das Verzeichnis /usr/bin/ verschieben 'mv callmonitor /usr/bin/'
- das initScript CallMonitor in das Verzeichnis /etc/init.d/ verschieben 'mv CallMonitor /etc/init.d/'
- sollten die Scripte doch die falschen Rechte haben, schafft 'chmod 755 /usr/bin/callmonitor' und 'chmod 755 /etc/init.d/CallMonitor' Abhilfe
- als nächstes sollte man sich um die Fritz!Box kümmern und den Anrufmonitor freischalten. Dafür wählt man an einem an die Fritz!Box angeschlossenem Telefon #96*5* und legt kurz danach wieder auf
- das initScript soll uns auf der einen Seite das Starten des callmonitor als Dienst helfen und vor allem den callmonitor beim Start des RaspberryPi automatisch zu starten. Dafür gibt man 'update-rc.d CallMonitor defaults' ein.
- bevor wir den callmonitor jetzt starten, müssen die IP Adresse der Fritz!Box, des MiniServer und der Port, an dem der MiniServer hört, angepasst werden. Ich arbeite gern mit dem Editor vi also editiere ich mit 'vi /usr/bin/callmonitor' das Script und passe die entsprechenden Sachen an.
- jetzt kann der callmonitor mit 'service CallMonitor start' gestartet werden.
Das wäre es dann schon zum eigentlichen callmonitor.
Um mein Beispiel auszuprobieren, müssen natürlich die entsprechenden Anpassungen vorgenommen werden, da hier eigentlich alles "blank" sein sollte. Ganz klar muss der Virtuelle UDP Eingang mit der IP des Raspberry und dem im perlscript angegebenen Port angepasst werden.
User: admin
PW: password
Wenn alles geklappt hat, sollten Anzeige wie folgende erzeugt werden.
Viel Spaß
Sven
Kommentar