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