[Eisfair] fritzbox-tools

Marcus Roeckrath marcus.roeckrath at gmx.de
Do Jun 8 21:29:25 CEST 2017


Hallo Olaf,

Marcus Roeckrath wrote:

> Erstelle ein Datei mit folgendem Inhalt:
> 
> type="https"
> descfile="igddesc.xml"
> controlURL="WANIPConn1"
> serviceType="WANIPConnection:1"
> action="GetStatusInfo"
> data=""
> 
> Rufe dann
> 
> avm-fritz.toolbox.sh mysoaprequest <deine datei>
> 
> auf.
> 
> Die erscheinende XML-Ausgabe wäre dann noch nachzubearbeiten/filtern.
> 
> <?xml version="1.0" encoding="utf-8"?>
> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
> s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <s:Body>
> <u:GetStatusInfoResponse
> xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1">
> <NewConnectionStatus>Connected</NewConnectionStatus>
> <NewLastConnectionError>ERROR_NONE</NewLastConnectionError>
> <NewUptime>91660</NewUptime>
> </u:GetStatusInfoResponse>
> </s:Body>
> </s:Envelope>

Das ginge z. B. so:

response=$(avm-fritz-toolbox.sh mysoaprequest <deine datei>)
echo "${response}" | sed -ne "s#[ \t]*</*NewUptime>[ \t]*##gp"

Da wo im Beispiel jetzt in der zweiten Zeile NewUptime steht, kommt die
Variable rein, die Du gezielt auswerten willst.

Im obigen Funktionsaufruf wäre da noch

echo "${response}" | sed -ne "s#[ \t]*</*NewConnectionStatus>[ \t]*##gp"
echo "${response}" | sed -ne "s#[ \t]*</*NewLastConnectionError>[ \t]*##gp"

möglich.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair