No description
- Python 99.3%
- Batchfile 0.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .agents | ||
| .github | ||
| .gitignore | ||
| 6 | ||
| app_icon.ico | ||
| app_icon.png | ||
| check_iobroker_batteries.py | ||
| ioBroker_Batteriestatus.bat | ||
| ioBroker_Stale_Sensoren_Cleaner.bat | ||
| LICENSE | ||
| n8n_iobroker_battery_workflow.json | ||
| README.md | ||
| requirements.txt | ||
| stale_sensor_cleaner_gui.py | ||
ioBroker Batterie- & Sensor-Überwachung (MCP & n8n)
Automatisierte Batteriestandsabfrage, Sensor-Ausfallkontrolle und grafische Bereinigung inaktiver Sensoren für ioBroker über das Model Context Protocol (MCP) und n8n.
⚡ Features
- Automatische Erkennung: Findet Batterie- & LOWBAT-Zustände über ioBroker MCP (deConz/Zigbee, FritzDECT, Tuya, Shelly, etc.).
- Adapter-Aufschlüsselung: Strukturierte Gruppierung nach Adapter-Instanzen (
deconz.0,deconz.1,fritzdect.0,tuya.0, etc.). - Stale-Sensor-Erkennung: Erkennt Sensoren, die seit mehr als 24 Stunden bzw. dem konfigurierten Zeitraum (Standard: min. 3 Monate) keine Werte gesendet haben.
- Grafisches Bereinigungstool:
- Tkinter-GUI startet standardmäßig zugeklappt für maximale Übersicht.
- Eigenes Taskleisten-Icon: Eigenes App-Icon (
app_icon.ico&app_icon.png) für Windows-Taskleiste & Fensterleiste. - Konfigurierbarer Schwellenwert: Einstellungen (
⚙️ Einstellungen) zur Wahl der Mindest-Inaktivität in Monaten oder Tagen (gespeichert inconfig.json). - Schnellsteuerung:
📂 Alles aufklappenund📁 Alles zuklappenButtons. - Ignoreliste (Rechtsklick): Per Rechtsklick (
🚫 Auf Ignoreliste setzen) können Sensoren dauerhaft inignore_list.jsonignoriert werden. - Ignorelisten-Verwaltung: Eigenes Verwaltungsfenster (
📋 Ignoreliste verwalten) zum Wiederherstellen ignoriert gewesener Sensoren. - Selektive Löschung: Sicheres Löschen/Zurücksetzen nur der per Checkbox ausgewählten Objektbäume mit Sicherheitsabfrage.
- n8n Workflow Integration: Vollautomatischer n8n-Workflow (täglich 6:00, 12:00, 18:00 Uhr) mit formatiertem HTML-E-Mail-Ausfallbericht.
📁 Repository-Struktur
.
├── .github/
│ ├── ISSUE_TEMPLATE/ # Templates für Bug-Reports & Feature-Wünsche
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ └── python-check.yml # GitHub Actions CI Workflow
├── .agents/
│ └── AGENTS.md # Entwickler- & Git-Synchronisationsregeln
├── check_iobroker_batteries.py # Python CLI Skript zur MCP Abfrage
├── iobroker_Batteriestatus.bat # Windows Batch Starter (CLI Status)
├── stale_sensor_cleaner_gui.py # Python Tkinter GUI (Sensor Bereinigung)
├── ioBroker_Stale_Sensoren_Cleaner.bat # Windows Batch Starter (GUI Bereinigung)
├── app_icon.ico / app_icon.png # Anwendungs-Icon für Taskleiste & Fenster
├── config.json # Konfiguration (Inaktivitäts-Schwellenwert & MCP-URL)
├── ignore_list.json # Gespeicherte Ignoreliste
├── n8n_iobroker_battery_workflow.json # n8n Workflow Export
├── requirements.txt # Abhängigkeiten & Python Requirements
├── LICENSE # MIT Lizenz
└── README.md
🚀 Anwendungen & Ausführung
Voraussetzungen
- Python 3.10+ (inkl. standardmäßigem
tkinterundPillow) - Erreichbarer ioBroker MCP-Server (z. B.
http://10.10.10.252:8011/mcp)
1. Batteriestatus-Report (CLI)
python check_iobroker_batteries.py --url http://10.10.10.252:8011/mcp
(Oder Doppelklick auf ioBroker_Batteriestatus.bat)
2. Inaktive Sensoren GUI (Bereinigung, Schwellenwert & Ignoreliste)
python stale_sensor_cleaner_gui.py
(Oder Doppelklick auf ioBroker_Stale_Sensoren_Cleaner.bat)
🔄 n8n Workflow Importieren
- In n8n oben rechts auf Workflows → Import from File klicken.
n8n_iobroker_battery_workflow.jsonauswählen.- Im Knoten Send Alert Email Ihre SMTP-Anmeldedaten und E-Mail-Adresse konfigurieren.
- Workflow auf Active schalten.
🤝 Mitarbeit & Workflow
Vor allen Änderungen am Code bitte folgende Schritte beachten:
- Prüfen auf Remote-Änderungen:
git fetch origin - Stand synchronisieren:
git pull --rebase origin main - Änderungen vornehmen und testen.
- Committen & Pushen:
git push origin main
🔒 Sicherheitshinweise
Dieses Repository enthält keine API-Schlüssel, Passwörter oder private Zugangsdaten.
📜 Lizenz
Dieses Projekt steht unter der MIT-Lizenz.