FHEM per Telephon steuern; Problem mit Hintergrundprozess

363 views
Skip to first unread message

TD

unread,
Mar 20, 2011, 8:46:49 AM3/20/11
to FHEM users
Hallo zusammen,

ich teste mit untenstehendem bash/ksh-Script, FEHM per Telephon über
meine Fritzbox zu steuern. Per netcat wird der zuvor aktivierte
Fritzbox-Anrufmonitor abgefragt, in einer while-Schleife wird die
aufgerufene Telephonnummer ausgewertet und somit z. B. Lampen
geschaltet. Solange das Script im Vordergrund läuft, arbeitet es
einwandfrei. Sobald es mit "&" in den Hintergrund geschickt wird, hält
der Prozess an (Status "T") (bei Nutzung der ksh, bei bash wird
komplett beendet).
Ich vermute, daß netcat Probleme hat, in den Hintergrund geschickt zu
werden und die Ausgabe in eine Pipe zu senden.
Weiß jemand Rat?

Gruß
TD

#!/bin/ksh
# IP of Fritzbox
FRITZBOXIP=192.168.1.1
# Port number of FHEM
FHEMPORT=7073
# example of log line of Fritzbox call monitor
#logline="17.03.11 18:35:17;CALL;0;0;123456;1#;SIP0; "
# Fritzbox call monitor has to be switched on previously by dialing
"#96*5*"
# ("#96*4*" to disable it)

netcat $FRITZBOXIP 1012 | while read logline;
do
DATE=$( echo $logline | cut -f1 --delimiter=";")
NUMBER=$( echo $logline | cut -f6 --delimiter=";")
COMMAND=$( echo $logline | cut -f2 --delimiter=";")
DATETIME=`date "+%a %H:%M"`
echo $logline
# echo $DATETIME: $logline
# echo $COMMAND
# echo $NUMBER
if [ $COMMAND = "CALL" ];
then
case $NUMBER in
1#) fhem.pl $FHEMPORT "set tc6.1 toggle";;
2#) fhem.pl $FHEMPORT "set tc6.2 toggle";;
3#) fhem.pl $FHEMPORT "set tc6.3 toggle";;
4#) fhem.pl $FHEMPORT "set NAS toggle";;
esac
fi
done

Peter

unread,
Mar 23, 2011, 4:45:24 AM3/23/11
to FHEM users
Hallo,

Das script läuft bei mir ohne Probleme im Hintergrund.

Mit " nohup script & " geht das unter unbuntu ohne Probleme.

Frage:

Wie stellst Du auf der FritzBox ein, dass Du die Nebenstelle anrufen
kannst? ( 1#;SIP0;)

TD

unread,
Mar 23, 2011, 4:16:39 PM3/23/11
to FHEM users
Bei mir nun auch, nachdem ich nach vielen Versuchen (ich nutze
Opensuse) openbsd-netcat installiert habe und nutze.
Das per se installierte netcat hat offensichtlich Problem, in den
Hintergrund geschickt zu werden, da es Eingaben vom Terminal erwartet.

Auf der Fritzbox habe ich explizit nichts eingestellt. Mir war bis
dato auch nicht bekannt, daß #1 die Nebenstelle anspricht.

TD
Reply all
Reply to author
Forward
0 new messages