Kurz zusammengefasst, weil ich dazu nichts Aktuelles gefunden habe:
Modell: FRITZ!Box 7520 (1&1-Branding), FRITZ!OS 8.25 (Buildstring 175.08.25),
getestet am 07.09.2026.
TR-064 kann feste DHCP-Leases nicht setzen — weder GetGenericHostEntry noch
X_AVM-DE_GetSpecificHostEntryByIP liefern ein Feld für "IPv4-Adresse dauerhaft
zuweisen". Es gibt drei andere Wege, alle drei bei mir Ende-zu-Ende getestet:
1) REST (api/v0), der praktikabelste:
PUT /api/v0/generic/landevice/landevice/<UID>
Header AUTHORIZATION: AVM-SID <sid>, Body {"static_dhcp":"1"} -> 200 {}
Pfadform: /api/v0/generic/<Modul>/<Collection>/<Knoten>.
2) data.lua, das alte edit_device-Formular (dev_name, dev_ip, static_dhcp=on,
kisi_profile, back_to_page, dev, validate=btn_save). Wird auf 8.25 noch
angenommen, obwohl die Seite intern längst ein verschachteltes JSON-Modell
ausliefert.
3) Weboberfläche per Playwright, falls beides wegfällt.
Was nicht geht (damit sich das niemand nochmal antut):
- PUT /api/v0/generic/landevice/<UID> -> 400 "bad path" (Ebene fehlt)
- POST auf die Collection für ein *bestehendes* Gerät -> 400 "transaction fail"
plus "bad value" auf field UID
- HTTP 200 als Erfolgsbeweis: die Box liefert 200 auch für Writes, die sie
verwirft. Ich lese deshalb nach jedem Schreibvorgang über query.lua gegen
(landevice:settings/landevice/list(name,ip,mac,UID,static_dhcp)).
Stolperfalle beim UI-Weg auf 8.x: Die Checkbox liegt nicht auf dem Tab
"Allgemein", sondern auf "Heimnetz". Vorher ist sie zwar im DOM, hat aber keine
Layout-Box (0x0) — ohne display:none, ohne hidden. Sieht nach Renderfehler aus,
ist aber nur ein inaktives Tab-Panel.
Skript und die vollständigen Tabellen (auch die Negativbefunde):
https://github.com/jvejmelka/fritzbox-static-lease — CC0, gemeinfrei.
api/v0 ist von AVM selbst als v0 versioniert, also ausdrücklich instabil. Wenn
jemand andere Modelle oder Firmwarestände testet, nehme ich die Befunde gern
auf — genau diese Tabelle fehlt bisher.
Modell: FRITZ!Box 7520 (1&1-Branding), FRITZ!OS 8.25 (Buildstring 175.08.25),
getestet am 07.09.2026.
TR-064 kann feste DHCP-Leases nicht setzen — weder GetGenericHostEntry noch
X_AVM-DE_GetSpecificHostEntryByIP liefern ein Feld für "IPv4-Adresse dauerhaft
zuweisen". Es gibt drei andere Wege, alle drei bei mir Ende-zu-Ende getestet:
1) REST (api/v0), der praktikabelste:
PUT /api/v0/generic/landevice/landevice/<UID>
Header AUTHORIZATION: AVM-SID <sid>, Body {"static_dhcp":"1"} -> 200 {}
Pfadform: /api/v0/generic/<Modul>/<Collection>/<Knoten>.
2) data.lua, das alte edit_device-Formular (dev_name, dev_ip, static_dhcp=on,
kisi_profile, back_to_page, dev, validate=btn_save). Wird auf 8.25 noch
angenommen, obwohl die Seite intern längst ein verschachteltes JSON-Modell
ausliefert.
3) Weboberfläche per Playwright, falls beides wegfällt.
Was nicht geht (damit sich das niemand nochmal antut):
- PUT /api/v0/generic/landevice/<UID> -> 400 "bad path" (Ebene fehlt)
- POST auf die Collection für ein *bestehendes* Gerät -> 400 "transaction fail"
plus "bad value" auf field UID
- HTTP 200 als Erfolgsbeweis: die Box liefert 200 auch für Writes, die sie
verwirft. Ich lese deshalb nach jedem Schreibvorgang über query.lua gegen
(landevice:settings/landevice/list(name,ip,mac,UID,static_dhcp)).
Stolperfalle beim UI-Weg auf 8.x: Die Checkbox liegt nicht auf dem Tab
"Allgemein", sondern auf "Heimnetz". Vorher ist sie zwar im DOM, hat aber keine
Layout-Box (0x0) — ohne display:none, ohne hidden. Sieht nach Renderfehler aus,
ist aber nur ein inaktives Tab-Panel.
Skript und die vollständigen Tabellen (auch die Negativbefunde):
https://github.com/jvejmelka/fritzbox-static-lease — CC0, gemeinfrei.
api/v0 ist von AVM selbst als v0 versioniert, also ausdrücklich instabil. Wenn
jemand andere Modelle oder Firmwarestände testet, nehme ich die Befunde gern
auf — genau diese Tabelle fehlt bisher.