Batch Edit UI (Neues Modul)

Begonnen von _Markus_, 28 August 2024, 19:52:04

Vorheriges Thema - Nächstes Thema

_Markus_

Update: Ich habe ein fhem Modul angehängt, das das gleiche tut. Man sollte sicher noch auth & csrf hinzufügen und die JS/CSS lokal einbinden statt vom CDN. Vielleicht mag ja jemand helfen, der sich etwas besser mit dem fhem HTTP server auskennt :)

---

Da ich immer wieder mal mehrere Devices bearbeiten möchte (neue Attribute setzen) war ich auf der Suche nach einer Batch Edit Möglichkeit. Eine Möglichkeit ist eine readingsgroup mit textField commands. Da mir aber eher eine UI vorschwebte, die sich Excel-ähnlich verhält, habe ich mir kurzerhand eine erstellt.

Das FHEM Config Editor-Tool ist eine webbasierte Anwendung, die es ermöglicht, FHEM-Konfigurationsdateien in einer tabellenähnlichen Oberfläche zu bearbeiten. Die Anwendung ermöglicht das Batch-Editing von Geräten und deren grundlegenden Attributen über eine Excel-ähnliche Schnittstelle.

Installation Python App

Stelle sicher, dass Python 3.x installiert ist. Installiere die benötigten Python-Pakete:

pip install flask requests
Konfiguration

Eine optionale config.json-Datei kann erstellt werden, um spezifische Einstellungen wie FHEM-IP, Port und Authentifizierung zu konfigurieren. Beispiel einer config.json-Datei:

{
   "fhem_ip": "127.0.0.1",
   "fhem_port": 8083,
   "username": "your_username",
   "password": "your_password",
   "columns": [
      ["Device", "Name"],
      ["Group", "group"],
      ...
   ],
   "device_spec": "room=Haus"
}

Falls keine config.json-Datei vorhanden ist, werden Standardwerte verwendet.

Nutzung

Starte die Flask-Anwendung mit folgendem Befehl:

python app.py
Die Anwendung ist dann unter http://127.0.0.1:5000/ erreichbar.

Hauptfunktionen

Geräte laden: Klick auf "Load Devices", um die FHEM-Geräte mit ihren Attributen zu laden.
Änderungen speichern: Klick auf "Save Changes", um die Änderungen in FHEM zu übernehmen.

Hinweise

Die Anwendung verwendet das Handsontable-Framework für die Excel-ähnliche Oberfläche und Bootstrap für das Styling.
Die Anwendung lädt die Gerätekonfiguration über die FHEM HTTP API und speichert Änderungen ebenfalls über diese API.

Das Python Script ist bewusst in einer Datei gehalten, um es leicht verteilen zu können.

Vielleicht kann es jemand gebrauchen.