Das steht in Beitrag #33: Dieser Code ist für die debug.cfg. Wie die bearbeitet wird, findet sich im Forum. Alternativ kannst Du (ohne Telnet und nvi) auch über "Pseudo-Images" Code in die debug.cfg befördern; dazu siehe http://www.ip-phone-forum.de/showthread.php?t=89465inovate schrieb:Allerdings wie funktioniert die Einbindung in meine Fritzbox?
sleep 120;
###############################################################
# Start- und End-Zeit der Nachtschaltung(!): #
von=2000 # Format: 'hhmm' (Format wird nicht geprüft!) #
bis=0800 # Format: 'hhmm' (Format wird nicht geprüft!) #
sip=6 # zu schaltender Account (*121# entspricht Wert: 0) #
###############################################################
await() {
local day=$((60*60*24))
sleep $(( ($(date -d $(date +%m%d$1%Y) +%s) - $(date +%s) + $day) % $day ))
}
TestIt () {
case $(date +%a) in
Mon|Tue|Wed|Thu|Fri)
SipS=`ParseWebsite` # Daten einlesen
SipState $SipS # Ist irgend ein Sip-Acount verbunden?
if [ $verbunden -eq 1 ]
then
(sleep 20; TestIt $1 $2) &
else
DoIt $1 $2
fi
;;
esac
}
ParseWebsite() {
export REQUEST_METHOD="GET"
export REMOTE_ADDR="127.0.0.1"
export QUERY_STRING="getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=home&var:pagename=home"
cd /usr/www/html/cgi-bin
./webcm |
sed -n 's/^.*sip:status.sip[0-9].connect.*value="\([0-9]\).*/\1/p'
}
SipState() {
local i
verbunden=0
for i in $*
do
if [ $i -eq 3 ]
then
verbunden=1
fi
done
}
DoIt() {
export REQUEST_METHOD="POST"
export REMOTE_ADDR="127.0.0.1"
export CONTENT_TYPE="application/x-www-form-urlencoded"
POST_DATA="sip:settings/sip$1/activated=$2"
export CONTENT_LENGTH=${#POST_DATA}
echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
}
#################################################
# Hauptschleife. Einstieg automatisch über init()
NS_start() {
(await $bis; NS_ende) &
TestIt $sip 0
}
NS_ende() {
(await $von; NS_start) &
TestIt $sip 1
}
#################################################
# autom. richtigen Einstieg finden
init() {
local now=$(date +%H%M)
if [ $now -ge $2 ] && [ $now -lt $1 ]
then
NS_ende
else
NS_start
fi
}
#################################################
init $von $bis # Dauerschleife initialisieren
Und warum blinkt die Info-LED?inovate schrieb:...
Am 2. Tag funktioniert es nicht mehr... da blinkt ab und zu die "info" Leuchte.
...
RudatNet schrieb:Und warum blinkt die Info-LED?
Hast du mal nachgesehen, ob die Uhrzeit in deiner FBF noch stimmt?
Ich setze dieses Script schon länger nicht mehr ein, und weiss leider auch nicht ad hoc, ob sich irgendwas in der Firmware geändert hat.
Ach ja: Das Script schaltet nur an Wochentagen! ... nicht am Sa und So!
RudatNet schrieb:Dein Webinterface ist aber nicht Passwort geschützt, oder?
(await 0400; reboot) &
sleep 120;
[COLOR="Red"](await 0400; reboot) &[/COLOR]
###############################################################
# Start- und End-Zeit der Nachtschaltung(!): #
von=2000 # Format: 'hhmm' (Format wird nicht geprüft!) #
bis=0800 # Format: 'hhmm' (Format wird nicht geprüft!) #
sip=6 # zu schaltender Account (*121# entspricht Wert: 0) #
###############################################################
await() {
......
....
(sleep 86400; reboot) &
export REQUEST_METHOD="POST"
export REMOTE_ADDR="127.0.0.1"
export CONTENT_TYPE="application/x-www-form-urlencoded"
POST_DATA="login:command/password=[COLOR=Lime]mein_passwort[/COLOR]"
export CONTENT_LENGTH=${#POST_DATA}
echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
sleep 3
max=10
i=0
while [ $i -lt $max ]; do
if ping -c 1 www.heise.de >/dev/null; then
break
fi
let i=$i+1
sleep 15
done
u.g schrieb:@ inovate:
Ist deine FB-Weboberfläche mit Passwort gesichert?
Könntest ja auch mal (*) probieren ... ?
Wird denn evtl. um 8 oder um 20 Uhr telefoniert?
Ansonsten könnte man es auch mit crond bewerkstelligen ... (müsste aber u.a. erst besorgt werden)
[/code] Die Von-Uhrzeit muss übrigens grösser als die Bis-Zeit sein (von 0300 bis 0600 funktioniert also nicht wie erwartet).
sleep 120;
###############################################################
# Start- und End-Zeit der Nachtschaltung(!): #
von=[COLOR="Magenta"]0730[/COLOR] # Format: 'hhmm' (Format wird nicht geprüft!) #
bis=[COLOR="Magenta"]1830[/COLOR] # Format: 'hhmm' (Format wird nicht geprüft!) #
sip=2 # zu schaltender Account (*121# entspricht Wert: 0) #
###############################################################
await() {
....
Vertausch mal die Aufrufe in init():inovate schrieb:Wie müsste der Code aussehen .. wenn ich während dieser Zeit
Mo-Fr (07.30 - 18.30) nicht Telefonieren kann (bzw. SIP Abgemeldet) ist.
init() {
local now=$(date +%H%M)
if [ $now -ge $2 ] && [ $now -lt $1 ]
then
# NS_ende
NS_start
else
# NS_start
NS_ende
fi
}
sleep 120;
###############################################################
# Start- und End-Zeit der [I]Tageschaltung [/I];-)(!): #
von=0730 # Format: 'hhmm' (Format wird nicht geprüft!) #
bis=1800 # Format: 'hhmm' (Format wird nicht geprüft!) #
sip=2 # zu schaltender Account (*121# entspricht Wert: 0) #
###############################################################
await() {
local day=$((60*60*24))
sleep $(( ($(date -d $(date +%m%d$1%Y) +%s) - $(date +%s) + $day) % $day ))
}
TestIt () {
case $(date +%a) in
Mon|Tue|Wed|Thu|Fri)
SipS=`ParseWebsite` # Daten einlesen
SipState $SipS # Ist irgend ein Sip-Acount verbunden?
if [ $verbunden -eq 1 ]
then
(sleep 20; TestIt $1 $2) &
else
DoIt $1 $2
fi
;;
esac
}
ParseWebsite() {
export REQUEST_METHOD="GET"
export REMOTE_ADDR="127.0.0.1"
export QUERY_STRING="getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=home&var:pagename=home"
cd /usr/www/html/cgi-bin
./webcm |
sed -n 's/^.*sip:status.sip[0-9].connect.*value="\([0-9]\).*/\1/p'
}
SipState() {
local i
verbunden=0
for i in $*
do
if [ $i -eq 3 ]
then
verbunden=1
fi
done
}
DoIt() {
export REQUEST_METHOD="POST"
export REMOTE_ADDR="127.0.0.1"
export CONTENT_TYPE="application/x-www-form-urlencoded"
POST_DATA="sip:settings/sip$1/activated=$2"
export CONTENT_LENGTH=${#POST_DATA}
echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
sleep 3
}
#################################################
# Hauptschleife. Einstieg automatisch über init()
NS_start() {
(await $bis; NS_ende) &
TestIt $sip 0
}
NS_ende() {
(await $von; NS_start) &
TestIt $sip 1
}
#################################################
# autom. richtigen Einstieg finden
init() {
local now=$(date +%H%M)
if [ $now -ge $2 ] && [ $now -lt $1 ]
then
# NS_ende
NS_start
else
# NS_start
NS_ende
fi
}
#################################################
init $von $bis # Dauerschleife initialisieren
Das habe ich von Anfang an schon vermutet und auch gefragt!inovate schrieb:Allerdings ... ist mir aufgefallen, dass ich wirklich andere Zeiten habe und dein letzter Satz war somit sehr hilfreich.
date
Der Code und deine Zeiten dafür sind schon vollkommen richtig.Ich habe eine "Tagsschaltung" => von 07.30 --- bis 18.30! (Wochentags)
Wie müsste der Code aussehen .. wenn ich während dieser Zeit
Mo-Fr (07.30 - 18.30) nicht Telefonieren kann (bzw. SIP Abgemeldet) ist.
RudatNet schrieb:Das habe ich von Anfang an schon vermutet und auch gefragt!
RudatNet schrieb:Gib mal im Telnet-Fensterein und poste mal das Ergebnis.Code:date
Also das Format ist ok, und die Zeit eigentlich doch auch.RudatNet schrieb:Das sieht so aus, als stimme da was mit dem Datumsformat in dem 'await'-Code nicht. ...