Metadata-Version: 2.1
Name: fritzconnection
Version: 1.8.0
Summary: Communicate with the AVM FRITZ!Box
Home-page: https://github.com/kbr/fritzconnection
Author: Klaus Bremer
Author-email: bremer@bremer-media.com
License: MIT
Keywords: AVM FRITZ!Box fritzbox fritz
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >= 3.6
License-File: LICENSE.txt


===============
fritzconnection
===============


.. image::
    https://img.shields.io/pypi/pyversions/fritzconnection.svg
    :alt: Python versions
    :target: https://pypi.org/project/fritzconnection/

.. image::
    https://img.shields.io/pypi/l/fritzconnection.svg
    :target: https://pypi.org/project/fritzconnection/


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


