Programmierung > Delphi/Lazarus > FRITZ!Box

Geräteinformationen

Die Datei igddesc.xml enthält allgemeine Informationen zur FRITZ!Box. So zum Beispiel ihren Namen und die Seriennummer (in der UDN).

Boxinfo

 

Eigenschaften

Es stehen folgende Eigenschaften zur Verfügung:

  property Device : TDevice;
  property UPnP   : TUPnPVersion;

OUT Device: Gibt die Eigenschaften der Fritzbox als Record zurück.

OUT UPnP: Gibt die von der Fritzbox unterstützte UPnP-Version als Record zurück.

type
  TDevice = record
    deviceType       : String;
    friendlyName     : String;
    manufacturer     : String;
    manufacturerURL  : String;
    modelDescription : String;
    modelName        : String;
    modelNumber      : String;
    modelURL         : String;
    UDN              : String;
    presentationURL  : String;
  end;
   
  TUPnPVersion = record
    major : String;
    minor : String;
  end;

Anwendung

Die Datei kann sofort nach Erstellung der Klasse ohne Anmeldung abgefragt werden.

procedure TfrmMain.FormShow(Sender: TObject);
var
  aUPnPVer : TUPnPVersion;
  aDevice  : TDevice;
  ...
begin
  {
  *  Geräteinformationen
  }
  aDevice  := fFritzbox.Device;
  lblInfoModelNameValue.Caption       := aDevice.modelName;
  lblInfoModelNumberValue.Caption     := aDevice.modelNumber;
  lblInfoModelDescValue.Caption       := aDevice.modelDescription;
  lblInfoModelURLValue.Caption        := aDevice.modelURL;
  lblInfoModelPresURLValue.Caption    := aDevice.presentationURL;
  lblInfoModelFriendlyValue.Caption   := aDevice.friendlyName;
  lblInfoModelUDNValue.Caption        := aDevice.UDN;
  lblInfoModelTypeValue.Caption       := aDevice.deviceType;
  lblInfoManufacturerValue.Caption    := aDevice.manufacturer;
  lblInfoManufacturerURLValue.Caption := aDevice.manufacturerURL;
  {
  *  UPnP-Version
  }
  aUPnPVer := fFritzbox.UPnP;
  lblInfoUPnPValue.Caption := aUPnPVer.major + '.' + aUPnPVer.minor;
  ...
end;

Informationen

Ohne Anmeldung an der Fritzbox kann die Standarddatei http://fritz.box:49000/igddesc.xml sofort als HTTP-Request abgerufen werden:

GET /igddesc.xml HTTP/1.1
Host: fritz.box:49000
Accept: text/xml
Keep-Alive: 115
Connection: Keep-Alive
 

mit dieser möglichen Antwort (v100.05.22):

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 3617
Content-Type: text/xml
Date: Fri, 02 Dec 2011 14:27:04 GMT
Last-Modified: Sat, 27 Aug 2011 12:22:47 GMT
Mime-Version: 1.0
 
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <device>
    <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
    <friendlyName>* UPnP/1.0 AVM FRITZ!Box Fon WLAN 7320 (UI) *.*.*</friendlyName>
    <manufacturer>AVM Berlin</manufacturer>
    <manufacturerURL>http://www.avm.de</manufacturerURL>
    <modelDescription>FRITZ!Box Fon WLAN 7320 (UI)</modelDescription>
    <modelName>FRITZ!Box Fon WLAN 7320 (UI)</modelName>
    <modelNumber>1und1</modelNumber>
    <modelURL>http://www.avm.de</modelURL>
    <UDN>uuid:********-****-****-****-************</UDN>
    <iconList>
      ...
    </iconList>
    <serviceList>
      ...
    </serviceList>
    <deviceList>
      ...
    </deviceList>
    <presentationURL>http://fritz.box</presentationURL>
  </device>
</root>

oder (v100.06.01)

HTTP/1.1 200 OK
Cache-Control: max-age=120
Connection: Keep-Alive
Content-Length: 3190
Content-Type: text/xml
Date: Thu, 01 Jan 1970 01:38:44 GMT
ETag: "10AA2525464E3733C"
Expires: Thu, 01 Jan 1970 01:40:44 GMT
Last-Modified: Thu, 01 Jan 1970 00:05:42 GMT
Mime-Version: 1.0
Keep-Alive: timeout=60, max=300
 
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
  <major>1</major>
  <minor>0</minor>
</specVersion>
<device>
  <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
  <friendlyName>FRITZ!Box Fon WLAN 7320 (UI)</friendlyName>
  <manufacturer>AVM Berlin</manufacturer>
  <manufacturerURL>http://www.avm.de</manufacturerURL>
  <modelDescription>FRITZ!Box Fon WLAN 7320 (UI)</modelDescription>
  <modelName>FRITZ!Box Fon WLAN 7320 (UI)</modelName>
  <modelNumber>1und1</modelNumber>
  <modelURL>http://www.avm.de</modelURL>
  <UDN>uuid:********-****-****-****-************</UDN>
    <iconList>
      ...
    </iconList>
    <serviceList>
      ...
    </serviceList>
    <deviceList>
      ...
    </deviceList>
    <presentationURL>http://fritz.box</presentationURL>
  </device>
</root>

Hier hat die neue Firmware nur zu einer Änderung des HTTP-Headers geführt. Diese Daten werden dann in den obigen Record übernommen.

Links

AVM Wiki: Igddesc.xml
AVM Schnittstellen und Entwicklungen