fritzconnection
Python-Interface to communicate with the AVM Fritz!Box. Supports the TR-064 protocol, the (AHA-)HTTP-Interface and also allows call-monitoring.
Installation
For installation use pip:
$ pip install fritzconnection
or
$ pip install fritzconnection[qr]
The latter will install the segno package to enable QR-code creation for wifi login.
Quickstart
Using fritzconnection is as easy as:
from fritzconnection import FritzConnection
fc = FritzConnection(address="192.168.178.1", user="user", password="pw")
print(fc) # print router model information
# tr-064 interface: reconnect for a new ip
fc.call_action("WANIPConn1", "ForceTermination")
# http interface: gets history data from a device with given 'ain'
fc.call_http("getbasicdevicestats", "12345 7891011")
FritzConnection provides two basic commands to communicate with the router APIs: call_action() for the TR-064-Interface and call_http() for the (AHA)-HTTP-Interface. Both APIs can be used on the same FritzConnection instance side by side.
call_action
call_action() expects a TR-064 service- and an action-name (and optional arguments). In general FritzConnection can execute every service and action provided by the (model-specific) API as documented by AVM. For i.e. this can be network settings, status informations, access to home automation devices and much more. The call_action() method returns the response from the router as a dictionary with the values already converted to the matching Python datatypes.
call_http
call_http() expects a command for the http-interface like "getbasicdevicestats" and, depending on the command, additional arguments like a device "ain" (identifier). A call to the method returns a dictionary with the content-type, the encoding and the response data of the http-response. The content-type of the response-data is typical "text/plain" or "text/xml" and may need further processing.
Username and password
To avoid hardcoding the arguments user and password in applications FritzConnection can read both from the environment variables FRITZ_USERNAME and FRITZ_PASSWORD.
Caching
On instantiation FritzConnection has to inspect the model-specific router-API. This causes a lot of network requests and can take some seconds. To avoid this FritzConnection provides a cache that can get activated by the use_cache parameter:
fc = FritzConnection(..., use_cache=True)
This argument defaults to False. After creating the cache FritzConnection will start up much more faster.
Library
The package comes with library-modules to make some API calls easier and also demonstrates how to implement applications on top of FritzConnection.
Documentation
The full documentation and release notes are at https://fritzconnection.readthedocs.org
Metadata
Release files for fritzconnection 1.15.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fritzconnection-1.15.1.tar.gz | 59.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fritzconnection-1.15.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 132.2 kB
Release files / fritzconnection-1.15.1.tar.gz
| Download URL | fritzconnection-1.15.1.tar.gz |
|---|---|
| Size | 59.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa40b0a850f65fd7ea0483e65f733aa534d63c5e5bb9a8306c63e9dfd0bcf5dd
|
|
BLAKE2b-256 checksum How to use checksums |
e09fc21ecd5e3c7b43ac550cb843c79241d3461da07900d810053df5dfa74875
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.12
|
Release files / fritzconnection-1.15.1-py3-none-any.whl
| Download URL | fritzconnection-1.15.1-py3-none-any.whl |
|---|---|
| Size | 73.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
741a43f339e3ec87c17ed00d3818f3e2d5c1aec3635b3d69eb68ff11eae8394c
|
|
BLAKE2b-256 checksum How to use checksums |
99b0873ca479f2e729cbd3f864f5c34fde4bb900f7c3fb3733b6376f21506ce8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.12
|
Security for fritzconnection 1.15.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.