FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: Mani007 am 09 November 2014, 11:09:54

Titel: Fritz Fon C4 als Meldestation !!!
Beitrag von: Mani007 am 09 November 2014, 11:09:54
Hallo zusammen,

ich habe jetzt schon öfters gelesen das User gerne das Telefon als Meldestation gerne benutzen möchten .

In der Kombination Fritz!Box und Fritz Fon steuere ich den Weckruf an .

Damit kann man einen eigenen Text ins Display des Telefons anzeigen lassen der maximal auf 20 Zeichen seitens AVM begrenzt ist.
Dazu klingelt das Telefon.

In der Kombination mit fhem kann man das ganze auch datums-/zeitgebunden ansteuern .

Momentan führe ich das Script aufn Raspi aus . Für das Script wird curl benötigt und das Passwort muss im Script eingetragen werden.
Und einen Ordner der Schreibrechte hat wo die Tempfile geschrieben wird.
Für Fritzbox Nutzer könnte man Curl kompilieren oder das Script so umschreiben das es mit wget funktioniert.

#!/bin/sh
aktivieren=1
Telefon=$1
Text="$2"
An=$3
Zeit=$(date +%H%M)
#Ordner wo man Schreibrechte hat.
TMPFILE=/home/pi/tmp.txt
IP=fritz.box
PASSWD="fritzboxpassword"
FRITZLOGIN="/login_sid.lua"
CURL=$(which curl)
login(){
# neues Loginverfahren seit xx.05.50
$CURL -s "$IP$FRITZLOGIN" > $TMPFILE
Challenge=$(sed -n '/.*<Challenge>\([^<]*\)<.*/s//\1/p' $TMPFILE)
MD5="$(echo -n "$Challenge-$PASSWD" | sed -e 's,.,&\n,g' | tr '\n' '\0' | md5sum)"
RESPONSE=$Challenge-${MD5%% *}
echo $RESPONSE
$CURL -s "$IP$FRITZLOGIN?username=BoxAdmin&response=$RESPONSE" > $TMPFILE
SID=$(sed -n '/.*<SID>\([^<]*\)<.*/s//\1/p' $TMPFILE)
echo $SID
}
change(){
        echo "CHANGE $SID"
        $CURL "http://$IP/cgi-bin/webcm" -d "telcfg:settings/AlarmClock0/Active=$aktivieren&sid=$SID"
        $CURL "http://$IP/cgi-bin/webcm" -d "telcfg:settings/AlarmClock0/Number=$Telefon&sid=$SID"
        $CURL "http://$IP/cgi-bin/webcm" -d "telcfg:settings/AlarmClock0/Name=$Text&sid=$SID"
        $CURL "http://$IP/cgi-bin/webcm" -d "telcfg:settings/AlarmClock0/Time=$Zeit&sid=$SID"
}
echo "login ...."
login
echo "change ...."
change


Als Parameter muss man das Telefon der internen Nummer angeben ohne Sterne und mit 2 Ziffern . und den Klartext .

Beispiel at Befehl:

+*00:00:30 {my $aktDatum=`date +'%d%m%Y%H%M'`;chomp $aktDatum; if ($aktDatum eq "091120140957") {system ("./tel.sh 60 Papiertonne")}}

Vielleicht hilft es jemanden .
Titel: Antw:Fritz Fon C4 als Meldestation !!!
Beitrag von: awel am 16 November 2014, 10:09:18
Hallo allerseits,

dazu zwei Anmerkungen:# ctlmgr_ctl w telcfg settings/AlarmClock0/Active #1 oder 0
# ctlmgr_ctl w telcfg settings/AlarmClock0/Time #StundenMinuten ohne Trenner
# ctlmgr_ctl w telcfg settings/AlarmClock0/Number #interne Nummer ohne ** , 9=alle Telefone
# ctlmgr_ctl w telcfg settings/AlarmClock0/Weekdays #Wiederholung - 0=nie 127=täglich oder Bitmaske Mo=0x01 - So=0x40
# ctlmgr_ctl w telcfg settings/AlarmClock0/Name #anzuzeigender Text in Anführungszeichen, max. 20 Zeichen

Achim
Titel: Antw:Fritz Fon C4 als Meldestation !!!
Beitrag von: Mani007 am 16 November 2014, 12:25:55
Danke Achim,

dann interessierts vielleicht auch mehr Benutzer wenn es mit einen beliebigen DECT-Telefon geht .