{"id":23099,"library":"fritzconnection","title":"fritzconnection","description":"Library to communicate with AVM FRITZ!Box devices. Current version 1.15.1, Python >=3.7. Updated irregularly.","status":"active","version":"1.15.1","language":"python","source_language":"en","source_url":"https://github.com/kbr/fritzconnection","tags":["fritzbox","avm","home-automation","network"],"install":[{"cmd":"pip install fritzconnection","lang":"bash","label":"Install fritzconnection"}],"dependencies":[],"imports":[{"note":"Direct import from package top-level is correct; core submodule is internal.","wrong":"from fritzconnection.core import FritzConnection","symbol":"FritzConnection","correct":"from fritzconnection import FritzConnection"},{"note":"Service classes are in fritzconnection.lib subpackage.","wrong":"from fritzconnection import FritzHosts","symbol":"FritzHosts","correct":"from fritzconnection.lib.fritzhosts import FritzHosts"},{"note":"Correct module is fritzconnection.lib.fritzstatus.","wrong":"from fritzconnection.status import FritzStatus","symbol":"FritzStatus","correct":"from fritzconnection.lib.fritzstatus import FritzStatus"}],"quickstart":{"code":"from fritzconnection import FritzConnection\n\n# Replace with your FRITZ!Box address, user, and password\nIP = '192.168.178.1'\nUSER = 'admin'\nPASSWORD = 'your_password'\n\nfc = FritzConnection(address=IP, user=USER, password=PASSWORD)\nprint(fc.call_action('DeviceInfo:1', 'GetInfo'))","lang":"python","description":"Connect to FRITZ!Box and get device info."},"warnings":[{"fix":"Use the password set in FRITZ!Box settings (System > FRITZ!Box Users).","message":"Default credentials fail: FRITZ!Box default user is 'admin' with a device-specific password. Not 'admin'/'password'.","severity":"gotcha","affected_versions":"all"},{"fix":"Use: from fritzconnection.lib.fritzstatus import FritzStatus","message":"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.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Call action with 'check_error=True' or inspect response['error_code'].","message":"The library may fail silently when the FRITZ!Box returns error codes (e.g., invalid action or service). Always check response status.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"from fritzconnection.lib.fritzstatus import FritzStatus","cause":"FritzStatus was moved to fritzconnection.lib.fritzstatus after version 1.0.0.","error":"ImportError: cannot import name 'FritzStatus' from 'fritzconnection'"},{"fix":"Verify credentials in FRITZ!Box settings. Default user is 'admin' with a custom password.","cause":"Wrong username or password for FRITZ!Box.","error":"fritzconnection.core.FritzConnectionException: 401 UNAUTHORIZED"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}