Neues Login-Verfahren seit 5.50 -> Hilfe

spx

Neuer User
Mitglied seit
31 Aug 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
1
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:

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
Quelle: FHEM Wiki

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.
 
Hast Du ggf. die Anmeldung mit Benutzernamen und Kennwort aktiviert statt der mit Fritz!Box-Kennwort? Ich hab zwar kein FHEM im Einsatz und ähnliches auch noch nicht versucht. Der Script-Code sieht aber für mich danach aus, als würde er für den Login mit Fritz!Box-Kennwort geschrieben sein.

Gruß
Kay
 
Wenn es nur darum geht, ein Bildchen von der Box aus auf das Fon zu schicken, gehts auch wesentlich einfacher - ohne Login:

Code:
cat NEUESBILD.jpg | pbd_upload_image 255 TELEFONNR 1

Dieser Code schickt z.B. ein Hintergrundbild zum MT-F. Für ein Anruferbild müsste man die Parameter 255 (wahrscheinlich die Kurzwahl) und 1 nach 0 ändern.
 
@kay1234
Nee, also ich hab das Login nur mit Passwort aktiviert (ohne User Angabe) und das verwendete Passwort ist das, was auch für den Login auf der Login-Seite funktioniert.
Bisher hat es auch prima funktioniert.

@chked
Hey, DEN kannte ich noch nicht! Funktioniert das auch auf der 7390? Und das Bild wird gleich als Background Image gesetzt? Probier ich gleich mal aus!
 
@chked
Ahhhh, ist das GENIAL!!! Funktioniert wunderbar, und vermutlich sogar ohne die unzähligen Log-Einträge. Ich schmeiss mich weg.
Vielen Dank!!!!
 
Kostenlos!

Statistik des Forums

Themen
248,871
Beiträge
2,303,450
Mitglieder
378,532
Neuestes Mitglied
Nik320