Hi,
in einem Skript hatte ich bisher folgenden Code um ein Login auf der Box zu machen und dann ein Bild ein Bild auf mein MT-F zu senden:
Quelle: FHEM Wiki
Das geht seit der neuen Firmware 5.50 nicht mehr.
Jetzt habe ich schon hier folgenden Code gefunden:
Daraufhin steht im Syslog: Anmeldung an der FRITZ!Box Benutzeroberfläche von IP-Adresse 192.168.1.1 gescheitert (falsches Kennwort).
Das PW stimmt (root pw).
Hat sowas schon jemand erfolgreich hinbekommen? Der Login-Code aus dem Fhem-Groups sollte doch eigentlich richtig sein.
in einem Skript hatte ich bisher folgenden Code um ein Login auf der Box zu machen und dann ein Bild ein Bild auf mein MT-F zu senden:
Code:
#!/bin/sh
PHONEID=$2
PHONEBOOKID=255
PHONEBOOKTYPE=1
IP=fritz.box
PASSWD=PASSWORT_DER_FRITZBOX
TMPFILE=$1
CURL=$(which curl)
login(){
# neues Loginverfahren seit xx.04.76
eval "$($CURL -s "http://$IP/cgi-bin/webcm" -d "getpage=../html/login_sid.xml" -d "sid=$cgisid" | sed -n 's,.*<\(Challenge\|iswriteaccess\|SID\)>\([^<]*\).*,\1=\2;,p')"
if [ "$iswriteaccess" = 0 ] && [ "$SID" = "0000000000000000" -o -z "$SID" ]; then
chksum="$(echo -n "$Challenge-$PASSWD" | sed -e 's,.,&\n,g' | tr '\n' '\0' | md5sum)"
eval "$($CURL -s "http://$IP/cgi-bin/webcm" -d "getpage=../html/login_sid.xml" -d "login:command/response=$Challenge-${chksum%% *}" | sed -n 's,.*<SID>\(.*\)</SID>.*,SID=\1,p')"
cgisid="$SID"
echo -n "$cgisid" >/tmp/sid
fi
}
change(){
echo "CHANGE $cgisid"
$CURL -o /dev/null \
-F "sid=$cgisid" \
-F "PhonebookId=$PHONEBOOKID" \
-F "PhonebookType=$PHONEBOOKTYPE" \
-F "PhonebookEntryId=$PHONEID" \
-F "PhonebookPictureFile=@$TMPFILE" \
http://$IP/cgi-bin/firmwarecfg
}
echo "login ...."
login
echo "change ...."
change
Das geht seit der neuen Firmware 5.50 nicht mehr.
Jetzt habe ich schon hier folgenden Code gefunden:
Code:
login(){
# neues Loginverfahren seit 5.50
eval "$($CURL -s "http://$IP/login_sid.lua" | sed -n 's,.*<\(Challenge\|SID\)>\([^<]*\).*,\1=\2;,p')"
if [ "$SID" = "0000000000000000" -o -z "$SID" ]; then
chksum="$(echo -n "$Challenge-$PASSWD" | sed -e 's,.,&\n,g' | tr '\n' '\0' | md5sum)"
eval "$($CURL -s "http://$IP/login_sid.lua" -d "response=$Challenge-${chksum%% *}" | sed -n 's,.*<SID>\(.*\)</SID>.*,SID=\1,p')"
cgisid="$SID"
echo -n "$cgisid" >/tmp/sid
fi
}
Daraufhin steht im Syslog: Anmeldung an der FRITZ!Box Benutzeroberfläche von IP-Adresse 192.168.1.1 gescheitert (falsches Kennwort).
Das PW stimmt (root pw).
Hat sowas schon jemand erfolgreich hinbekommen? Der Login-Code aus dem Fhem-Groups sollte doch eigentlich richtig sein.