/fritzconnection

Python-Tool to communicate with the AVM Fritz!Box

Primary LanguagePythonMIT LicenseMIT

fritzconnection

Python versions

Python-Tool to communicate with the AVM FritzBox. Uses the TR-064 protocol over UPnP.

Installation:

pip install fritzconnection

Quickstart:

Using fritzconnection is as easy as:

from fritzconnection import FritzConnection

fc = FritzConnection(address='192.168.178.1')
fc.reconnect()  # get a new external ip from the provider
print(fc)  # print router model informations

In general FritzConnection can execute every action provided by the (model-specific) API. For i.e. this can be WLAN settings, internet connection and device status informations, home automation services and much more.

The central method FritzConnection provides to access the FritzOS-API is the call_action() method. A reconnection by means of call_action() would look like this:

fc = FritzConnection(address='192.168.178.1')
fc.call_action("WANIPConn1", "ForceTermination")

The package comes with a library providing some modules as examples how to implement applications on top of FritzConnection.

The package also allows to monitor phone calls in real time by means of the FritzMonitor class (new in 1.4.0):

from fritzconnection import FritzMonitor

fm = FritzMonitor(address='192.168.178.1')  # default ip for most routers
queue = fm.start()  # start monitoring: provides a queue.Queue instance
# do queue handling here
fm.stop()  # stop monitoring

Documentation

The full documentation and release notes are at https://fritzconnection.readthedocs.org