Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计通过

fritz-connection弗里茨连接

Agent Skill

fritz-connection 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,959

周安装

213

GitHub Stars

1

下载量

1,738
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:fritz-connection(弗里茨连接)
来源仓库:https://github.com/wolf128058/fritz-connection
安装命令:
openclaw skills install fritz-connection
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install fritz-connection

简介

fritz-connection 用于连接 AVM FRITZ!Box 路由器,获取设备状态信息。

  • 适合在 OpenClaw 中监控网络连接、管理智能家居或自动化家庭网关操作。
  • 通过 TR-064 接口读取设备数据,支持状态查询与控制指令下发。
  • 安装前请确认路由器型号与固件版本兼容性,避免协议不匹配。
  • 适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
Fritz Connection
description
Dieser Skill ermöglicht die Abfrage von Statusinformationen und die Steuerung einer AVM FRITZ!Box über die TR-064 Schnittstelle. Er bietet Funktionen für Status (Modell, Uptime), Traffic (Bandbreite, Volumen), Host-Listen, WLAN-Steuerung, Anruflisten sowie Reconnect und Reboot.

Fritz Connection

FritzBox Router-Status über die TR-064 API mit fritzconnection.

⚠️ Sicherheitshinweise

Folgende Befehle erfordern IMMER eine Rückfrage vor der Ausführung:

  • reconnect – Kappt die Internetverbindung für alle Geräte kurzzeitig (10-30 Sekunden)
  • reboot – Startet den Router neu, alles fällt aus (Internet, WLAN, Telefonie) für 2-5 Minuten
  • wlan on/off – Systemweite Auswirkung auf alle Geräte
  • Router-Konfiguration ändern – Kann alle Devices betreffen

Ausnahme: Nur wenn explizit genehmigt ("mach mal", "ja bitte", etc.)

Diese Befehle betreffen nicht nur den User, sondern alle Geräte und Personen im Netzwerk.

Voraussetzungen

cd ~/.openclaw/workspace/skills/fritz-status
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

Konfiguration

In ~/.openclaw/skills/.env:

FRITZBOX_HOST=192.168.178.1
FRITZBOX_PASSWORD=dein_passwort

Hinweis: FritzBox nutzt nur Passwort-Auth, kein Username.

Nutzung

cd ~/.openclaw/workspace/skills/fritz-status

# Router-Status (Model, Uptime, WAN-IP)
.venv/bin/python scripts/fritz_status.py status

# Traffic-Statistiken (Bytes In/Out, Downstream/Upstream)
.venv/bin/python scripts/fritz_status.py traffic

# Verbundene Geräte (Name, IP, MAC, Status)
.venv/bin/python scripts/fritz_status.py hosts -v

# WLAN-Status (2.4GHz, 5GHz, Gastzugang)
.venv/bin/python scripts/fritz_status.py wlan

# Anrufliste (letzte 10 Anrufe)
.venv/bin/python scripts/fritz_status.py calls

# Anrufliste (letzte 20 Anrufe)
.venv/bin/python scripts/fritz_status.py calls -n 20

# Reconnect (neue IP anfordern) ⚠️ Rückfrage erforderlich!
.venv/bin/python scripts/fritz_status.py reconnect

# Reboot (Router neu starten) ⚠️ Rückfrage erforderlich!
.venv/bin/python scripts/fritz_status.py reboot

Verfügbare Befehle

status

Router-Status und Verbindungsinformationen.

Output:

🖥️  AVM FRITZ!Box 6660 Cable
📍 Host: 192.168.178.1
🔌 Connection: Connected
⏱️  Uptime: 456789 seconds (126h 49m)
🌐 External IP: 203.0.113.42

traffic

Bandbreite und Datenvolumen.

Output:

📥 Max Downstream: 274 Mbit/s
📤 Max Upstream: 52 Mbit/s
📊 Total Received: 299.68 GB
📊 Total Sent: 20.34 GB

hosts

Alle bekannten Geräte mit Status.

Output:

📱 Verbundene Geräte: 5

   ✅ Smartphone (192.168.178.10, AA:BB:CC:DD:EE:01)
   ✅ Laptop (192.168.178.20, AA:BB:CC:DD:EE:02)
   ✅ fritz.box (192.168.178.1, AA:BB:CC:DD:EE:03)
   ⏸️  Tablet (192.168.178.30, AA:BB:CC:DD:EE:04)
   ⏸️  SmartTV (192.168.178.40, AA:BB:CC:DD:EE:05)

Legende: ✅ = aktiv, ⏸️ = offline/inaktiv

wlan

WLAN-Status aller Netzwerke (2.4 GHz, 5 GHz, Gastzugang).

Output:

📡 WLAN-Status

📶 2.4 GHz:
   Status: ✅ Enabled
   SSID: MeinWLAN
   Kanal: 6
   Standard: ax

📡 5 GHz:
   Status: ✅ Enabled
   SSID: MeinWLAN
   Kanal: 36
   Standard: ax

🏠 Gastzugang:
   Status: ❌ Disabled
   SSID: MeinWLAN Gast

📡 WLAN ist AN

WLAN-Netzwerke:

  • 📶 2.4 GHz – Hauptnetz (WLANConfiguration:1)
  • 📡 5 GHz – Hauptnetz (WLANConfiguration:2)
  • 🏠 Gastzugang – Gäste-WLAN (WLANConfiguration:3)

calls

Anrufliste mit Typ, Nummer und Zeitstempel.

Output:

📋 Anrufliste (10 Einträge)

📞 Eingehend
   📞 01234567890
   🕐 03.03.2026 18:54 (0:39)

📵 Verpasst
   📞 09876543210
   🕐 02.03.2026 15:30 (0:00)

📱 Ausgehend
   📞 017000000000
   🕐 01.03.2026 12:15 (2:30)

📌 Letzter Anruf: 📞 Eingehend von 01234567890 am 03.03.26 18:54

Optionen:

  • -n, --limit N - Anzahl Einträge (default: 10)

Call-Typen:

  • 📞 Eingehend (Type 1) - Angenommene eingehende Anrufe
  • 📵 Verpasst (Type 2) - Verpasste eingehende Anrufe
  • 📱 Ausgehend (Type 3) - Ausgehende Anrufe

reconnect

Erzwingt einen Reconnect und fordert eine neue externe IP an.

.venv/bin/python scripts/fritz_status.py reconnect

Output:

🔄 Reconnect angefordert. Warte auf neue Verbindung...

⚠️ Systemweiter Eingriff:

  • Kappt die Internetverbindung für alle Geräte kurzzeitig
  • Neue externe IP wird zugewiesen
  • Dauert normalerweise 10-30 Sekunden
  • Niemals ohne Rückfrage ausführen!

reboot

Startet die FRITZ!Box neu.

.venv/bin/python scripts/fritz_status.py reboot

Output:

🔄 Reboot angefordert. Die FRITZ!Box startet jetzt neu.
   ⏱️  Das dauert normalerweise 2-5 Minuten.
   📡 Alle Geräte verlieren die Verbindung (Internet, WLAN, Telefonie).

⚠️ Systemweiter Eingriff:

  • Kappt ALLE Verbindungen (Internet, WLAN, Telefonie) für 2-5 Minuten
  • Alle Geräte im Netz verlieren die Verbindung
  • Router startet komplett neu
  • Niemals ohne Rückfrage ausführen!

fritzconnection Library

Python-Library für FritzBox TR-064 API.

Dokumentation: https://fritzconnection.readthedocs.io/

Zwei API-Interfaces

fritzconnection nutzt zwei unterschiedliche APIs:

APIMethodeVerwendung
TR-064fc.call_action(service, action, args)Netzwerk, Status, Konfiguration, Smart Home
AHA-HTTPfc.call_http(command, ain)Smart Home DECT, Device Stats, XML-Responses

TR-064 gibt Python-Datentypen zurück (Dict mit konvertierten Werten). HTTP-Interface gibt rohe HTTP-Response (text/plain oder text/xml, braucht oft Parsen).

Grundlegende Nutzung

from fritzconnection import FritzConnection

fc = FritzConnection(address="192.168.178.1", password="pw")

# Router-Info
print(fc)  # Model-Informationen

# TR-064: Neue IP via Reconnect
fc.call_action("WANIPConn1", "ForceTermination")
fc.reconnect()  # Shortcut für obiges

# HTTP: Device-Stats für Smart-Home
response = fc.call_http("getbasicdevicestats", ain="12345 7891011")

Haupt-Services (TR-064)

ServiceBeschreibungStatus
WANIPConnectionWAN-Status, IP, Uptime, Reconnect✅ Implementiert
WANCommonInterfaceConfigTraffic-Stats, Bandbreite✅ Implementiert
HostsVerbundene Geräte, MAC-Filter✅ Implementiert
DeviceInfoModel, Firmware, Serial✅ Implementiert
X_AVM-DE_OnTelAnrufliste, Telefonbuch✅ Implementiert
WLANConfigurationWLAN-Netzwerke, Gäste-WLAN✅ Implementiert
DeviceConfigRouter-Reboot✅ Implementiert
X_AVM-DE_HomeautoDECT-Smart-Home (Steckdosen, Thermostate)🔲 Geplant
LANHostConfigManagementDHCP-Einstellungen🔲 Geplant

Geräte-Unterstützung

  • Fritz!Box - Vollständig unterstützt (alle Services)
  • Fritz!Repeater - Teilweise unterstützt (TR-064, aber weniger Services)
  • Fritz!Fon - Nur über Box erreichbar

Die verfügbaren Services hängen vom Router-Modell und der Firmware ab.

Erweiterungsideen

WLAN-Steuerung

# Gäste-WLAN an/aus
fc.call_action('WLANConfiguration:3', 'SetEnable', NewEnable=True)

# Haupt-WLAN an/aus (2.4 GHz)
fc.call_action('WLANConfiguration:1', 'SetEnable', NewEnable=False)

# Alle WLANs global an/aus
fc.call_action('WLANConfiguration:1', 'SetWLANGlobalEnable', NewWLANGlobalEnable=True)

Smart Home (DECT via TR-064)

# DECT-Geräte auflisten
devices = fc.call_action('X_AVM-DE_Homeauto', 'GetGenericDeviceInfos')

# Steckdose schalten
fc.call_action('X_AVM-DE_Homeauto', 'SetSwitch', NewSwitchState='ON')

Smart Home (DECT via HTTP-Interface)

# Device-Stats für ein DECT-Gerät
response = fc.call_http("getbasicdevicestats", ain="12345")

# Response enthält:
# - content-type: 'text/plain' oder 'text/xml'
# - encoding: z.B. 'utf-8'
# - content: Rohe Daten (muss geparst werden)

Anrufliste (TR-064)

# CallList-URL holen
result = fc.call_action('X_AVM-DE_OnTel:1', 'GetCallList')
call_list_url = result.get("NewCallListURL")

# XML herunterladen und parsen
import urllib.request
import xml.etree.ElementTree as ET

with urllib.request.urlopen(call_list_url) as response:
    xml_data = response.read()

root = ET.fromstring(xml_data)
for call in root.findall(".//Call"):
    call_type = call.find("Type").text  # 1=eingehend, 2=verpasst, 3=ausgehend
    caller = call.find("Caller").text
    timestamp = call.find("Date").text

Call-Monitoring (Realtime)

from fritzconnection.lib.fritzcallmonitor import FritzCallMonitor

# Realtime-Monitor für eingehende/ausgehende Anrufe
monitor = FritzCallMonitor(address="192.168.178.1", password="pw")
monitor.connect()

# Events:
# - ring: Eingehender Anruf
# - call: Ausgehender Anruf
# - connect: Verbindung hergestellt
# - disconnect: Verbindung beendet

Reconnect (Neue IP)

# WANIPConn1 - ForceTermination
fc.reconnect()

# Oder manuell:
fc.call_action("WANIPConn1", "ForceTermination")

Reboot

# DeviceConfig:1 - Reboot
fc.call_action("DeviceConfig:1", "Reboot")

Python-API

from scripts.fritz_status import FritzBoxClient

client = FritzBoxClient()

# Status
info = client.get_status()
print(info['model'], info['uptime'])

# Traffic
traffic = client.get_traffic()
print(traffic['bytes_received'], traffic['bytes_sent'])

# Hosts
hosts = client.get_hosts()
print(f"{hosts['count']} Geräte verbunden")
for device in hosts['devices']:
    print(f"  {device['name']}: {device['ip']} ({'active' if device['active'] else 'offline'})")

Architektur

fritz-status/
├── SKILL.md              # Diese Datei
├── requirements.txt      # fritzconnection>=1.15.0
├── .gitignore
└── scripts/
    └── fritz_status.py   # CLI-Interface

Links

  • Library: https://github.com/kbr/fritzconnection
  • Doku: https://fritzconnection.readthedocs.io/
  • TR-064 Dokumentation: https://avm.de/service/schnittstellen/
  • AVM Service-Übersicht: https://fritz.box:49000/tr64desc.xml

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.28%
按下载量换算1,343

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills