fritzconnection

raw JSON →
1.15.1 verified Fri May 01 auth: no python

Library to communicate with AVM FRITZ!Box devices. Current version 1.15.1, Python >=3.7. Updated irregularly.

pip install fritzconnection
error ImportError: cannot import name 'FritzStatus' from 'fritzconnection'
cause FritzStatus was moved to fritzconnection.lib.fritzstatus after version 1.0.0.
fix
from fritzconnection.lib.fritzstatus import FritzStatus
error fritzconnection.core.FritzConnectionException: 401 UNAUTHORIZED
cause Wrong username or password for FRITZ!Box.
fix
Verify credentials in FRITZ!Box settings. Default user is 'admin' with a custom password.
gotcha Default credentials fail: FRITZ!Box default user is 'admin' with a device-specific password. Not 'admin'/'password'.
fix Use the password set in FRITZ!Box settings (System > FRITZ!Box Users).
breaking In version 1.0.0, the library was refactored: service classes moved from root package to fritzconnection.lib. Old imports like 'from fritzconnection import FritzStatus' break.
fix Use: from fritzconnection.lib.fritzstatus import FritzStatus
gotcha The library may fail silently when the FRITZ!Box returns error codes (e.g., invalid action or service). Always check response status.
fix Call action with 'check_error=True' or inspect response['error_code'].

Connect to FRITZ!Box and get device info.

from fritzconnection import FritzConnection

# Replace with your FRITZ!Box address, user, and password
IP = '192.168.178.1'
USER = 'admin'
PASSWORD = 'your_password'

fc = FritzConnection(address=IP, user=USER, password=PASSWORD)
print(fc.call_action('DeviceInfo:1', 'GetInfo'))