与AVM FRITZ!Box通信
项目描述
fritzconnection
Python接口,用于与AVM Fritz!Box通信。支持TR-064协议、(AHA-)HTTP接口,并允许呼叫监控。
安装
使用pip进行安装
$ pip install fritzconnection
or
$ pip install fritzconnection[qr]
后者将安装segno包以启用wifi登录的二维码创建。
快速入门
使用fritzconnection非常简单
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提供了两个基本命令来与路由器API通信:call_action()
用于 TR-064接口 和 call_http()
用于 (AHA-)HTTP接口。这两个API可以在同一个FritzConnection实例中同时使用。
call_action
call_action()
预期一个 TR-064 服务名和操作名(以及可选参数)。通常,FritzConnection可以执行由AVM(模型特定)API提供的每个服务及其操作,如AVM所述。例如,这可以是网络设置、状态信息、对家庭自动化设备的访问等等。《call_action()` 方法将路由器响应作为字典返回,其中的值已转换为相应的Python数据类型。
call_http
call_http()
函数期望一个用于 http接口 的命令,例如 "getbasicdevicestats",并根据命令,可能还需要额外的参数,例如设备的 "ain"(标识符)。对该方法的一次调用将返回一个字典,其中包含 http 响应的 content-type
、encoding
和 response
数据。响应数据的 content-type 通常为 "text/plain" 或 "text/xml",可能需要进一步处理。
用户名和密码
为了避免在应用程序中硬编码 user
和 password
参数,FritzConnection 可以从环境变量 FRITZ_USERNAME
和 FRITZ_PASSWORD
中读取。
缓存
在实例化 FritzConnection 时,必须检查特定型号的路由 API。这会导致大量的网络请求,可能需要几秒钟。为了避免这种情况,FritzConnection 提供了一个缓存,可以通过 use_cache
参数激活。
fc = FritzConnection(..., use_cache=True)
此参数默认为 False
。创建缓存后,FritzConnection 将启动得更快。
库
该软件包包含库模块,可以简化某些 API 调用,并演示如何在 FritzConnection 上实现应用程序。
文档
完整文档和发布说明位于 https://fritzconnection.readthedocs.org
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
fritzconnection-1.14.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 95dacaf9bed6b52d809169006c0994bc55cc893dbe0a014bcf9535ae9d00982f |
|
MD5 | 19f57a24af063ad913957656ce11bae7 |
|
BLAKE2b-256 | 2bd3ab3940b245f0555882a4cc3b85005ad3b6444a13fb88dcf076311835da9e |