[FHEMWinGUI] - Steuern von FHEM und bearbeiten der FHEM.cfg

Begonnen von michael.winkler, 09 Februar 2017, 12:23:45

Vorheriges Thema - Nächstes Thema

michael.winkler

Hallo,

da ich die Datei "fhem.cfg" gerne auch außerhalb der Umgebung editiere und hierbei immer wieder auf Probleme gestoßen bin, habe ich mich dazu entschlossen eine GUI zu bauen in der ich einfach die Datei bearbeiten kann.

Aus diesem Grund ist diese GUI entstanden.

Mittlerweile habe ich die Oberfläche um eine Touchversion erweitert. Ich setze die aktuell auf einem Medion Tablet und einer Windows RT ein. Damit habe ich meine SmartVisu Webseite abgelöst. Weiter unten habe ich euch ein paar Screenshot angehängt.

Freue mich über weitere Featurerequest  ;D

Hier sind Anleitungen zum FHEMWeb https://forum.fhem.de/index.php/topic,69576.0.html

Spezielle Touch Oberfäche (Tablet)

  • Ausblenden von Räumen
  • Anzeigen von Wetterdaten (http://api.daswetter.com)
  • Einbinden von externen Webseiten
  • Anzeigen von Statusgeräten
  • Anpassungen Farben usw.
  • Anzeigen von IPCAM Bildern
  • Anzeigen von SVG Plots
  • Anzeigen von einfachen/komplexen readingsGroup
  • Anzeigen von Kalendern


Folgende Funktionen sind aktuell vorhanden

  • Anbindung FHEM

    • HTTP/HTTPS
    • Windows/Linux
    • CSRFTOKEN
    • Mehrere FHEM Server verwalten
    • Autoconnect
  • Anzeigen von Informationen

    • jsonlist2 Geräte/Raum/Module/Icons/Gruppen
    • Event Monitor
    • Logfile (tail)
    • Auslesen der Gerätelog
  • Geräte Steuerung

    • set/attr/modify DEF
    • Verschieben von Geräten per DragAndDrop Raum/Gruppe/Icon
    • Geräte löschen (Del)
    • FHEM Raum hinzufügen
    • FHEM Gruppe hinzufügen
  • Steuerung FHEM

    • Backup (komplettes FHEM Verzeichnis)
    • Befehle apptime/shutdown restart/rereadcfg/update/update check
  • GUI Features

    • Ansicht sortieren nach Raum,Modul,Gruppen,Icon
    • Touch Oberfläche
    • Ausführen eigene Skripts (Linux)
  • Spezial Features

    • fhem.cfg upload
    • Geräteberabeitung (FHME.CFG)
    • Geräte kopieren (F8)
ACHTUNG!! Bitte nur verwenden wenn Ihr genau wisst wie man eine zerstörte fhem.cfg wiederherstellen kann!!
ACHTUNG!! Änderung wird nur bei einem "Datei schreiben" auf den FHEM Server übertragen!
ACHTUNG!! Da ich aktuell noch in der Entwicklungsphase bin, kann es durchaus sein das nach einem Datei schreiben, FHEM nicht mehr sauber funktioniert!
ACHTUNG!! Bei "Datei schreiben" wird von der Orignal fhem.cfg immer eine Kopie angelegt. Diese kann im Fehlerfall wieder eingespielt werden.


Änderung wird am FHEM Server online durchgeführt

Windows Systemvoraussetzungen

  • Microsoft .Net Framework 4.5

Beschreibung
Über den Menüpunkt "Aktionen --> Konfiguration" müssen die FHEM Informationen hinterlegt werden. Wichtig ist die Angabe der fhem.cfg Datei. Diese kann direkt von einem SSH Rechner heruntergeladen werden. Es besteht aber auch die Möglichkeit die fhem.cfg aus einem Windowsverzeichnis zu laden.

Danach kann die GUI über den Menüpunkt "FHEM --> connect" mit einem FHEM Server verbunden werden.

Bei dem Menüpunkt "FHEM --> Daten schreiben" wird eine neue fhem.cfg Datei erzeugt und an dem angegebenen Speicherort wieder zurückgeschrieben. (Bei SSH direkt auf den FHEM Server!)

Wenn Ihr erst testen wollt was danach für eine fhem.cfg entsteht, würde ich diese zuerst aus einem Windowsverzeichnis laden! (Dann wird sie beim "Daten schreiben" auch dort wieder abgelegt). Danach könnt Ihr diese, mit eigenen Tools wieder auf euren FHEM Server kopieren.

Bei jedem "Daten schreiben" wird von der Original fhem.cfg eine Backupdatei mit Zeitstempel erzeugt. Hierzu wird ein Verzeichnis "Backup" im Verzeichnis der FHEMWeb.exe angelegt.


Changelog
[/list][/list]
# 2017-09-09, v0.0.12
#
# v0.0.12
# - CHANGE:     Modul "SVG" Anzeige verbessert
#               Modul "reagingsGroup" Anzeigen von komplexen ReadingsGroups
# - BUG:        Code Optimierungen / Anzeigegeschwindigkeit weiter optimiert
#
# v0.0.11
# - CHANGE:     Modul "IPCAM" letztes Bild wird angezeigt, wenn beim Refresh etwas nicht funktioniert
#               Modul "SVG" letztes SVG wird angezeigt, wenn beim Refresh etwas nicht funktioniert
# - BUG:        Event Monitor Reconnect
#
# v0.0.10
# - BUG:        Verzeichnis anlegen / Öffnen Konfiguration
#
# v0.0.9
# - FEATURE: Erweiterung Touchoberfläche (komplett Umbau)
#
# v0.0.8
# - FEATURE: FHEM Steuerung apptime
#               Geräte Übersicht (Raum/Grupen....)
#               Gerätebearbeitung (attr)
# Gerätesteuerung (Online)
#               Touch Optionen (Konfiguration)
#
# v0.0.7
# - FEATURE: Windows FHEM Server Event Monitor
#               Windows FHEM Server update check
#               FHEM CSRFTOKEN
#
# v0.0.6
# - BUG:        FHEM Windows Server div. Aufgaben
#
# v0.0.5
# - FEATURE: Touch Oberfläche
#               Mehrere FHEM Server verwalten
#               FHEM Raum hinzufügen
# - BUG:        Geräte aus Raum "unsorted" verschieben
#               Geräte ohne icon verschieben
#               Geräte ohne group verschieben
#               Linuxskript ausführen
#
# v0.0.4
# - FEATURE: Geräte kopieren (F8)
#            Bearbeiten DEF
# - BUG:        Erste Programmstart
#
# v0.0.3
# - FEATURE: FHEM Steuerung (update check)
#            Ansicht Event Monitor
#            Ansicht FHEM LOG (tail -f)
#            Ausführen von eigenen Linuxskripten
#            Geräte löschen (Del)
#
# v0.0.2
# - FEATURE: Backup (komplettes FHEM Verzeichnis)
#            Ansicht sortieren nach Raum,Modul,Gruppen,Icon
#            Auslesen der Gerätelog
#            Verschieben von Geräten per DragAndDrop Raum/Gruppe/Icon
#           
# v0.0.1
# - FEATURE: Anbindung FHEM SSL/HTTPS
#            fhem.cfg download/upload
#            Geräteberabeitung
#            jsonlist2 Anzeige
#            Geräte Steuerung (set)
#            FHEM Steuerung shutdown restart/rereadcfg/update
#


Gruß
Michael

Downloaddatei aktualisiert: 09.09.2017 13:35 Version 0.0.12

Ranseyer

Cool, kann ich damit z.b auf einen Schlag alle Geräte umgebenen ? Meine Geräte heissen z.b. EG.WZ.XxSpots. kann ich diese auf einen Schlag umbenennen z.B. in EG-WZ-XxSpots ?

Gesendet von meinem HTC One_M8 mit Tapatalk
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

oli82

Klingt interessant.
Wäre es machbar, dass du die originale fhem.cfg nicht ersetzt, sondern z.B. umbenennst und mit Zeitstempel versiehst?
So hätte man eine gewisse "Sicherheit".

michael.winkler

Beim Upload wird immer eine Sicherung angelegt. Hierzu wird ein Verzeichnis "Backup" im Verzeichnis der FHEMWeb.exe angelegt.

Das Umbenennen der Geräte kommt in der nächsten Version. Hier wird es dann auch möglich sein, dass das Gerät in den entsprechenden notifys und doifs ebenfalls dann gleich umbenannt wird.

Bin ja noch am Anfang der Features  :D

Thorsten Pferdekaemper

Hi,
kann mal jemand erklären, wozu das gut sein soll? Eigentlich sollte man komplett die Finger von der fhem.cfg lassen. Falls man Ausnahmsweise doch was direkt machen muss oder will, dann geht das problemlos mit WinScp und Notepad++.
Ich sehe das ganze eher etwas problematisch, da es mehr Leute dazu animiert, in der fhem.cfg herumzupfuschen.
Wo ist der Mehrwert?
Gruß,
   Thorsten
FUIP

digiart

Beim (mehrfach) umbenennen von Geräten würde ich aufpassen, denn was passiert mit den Plot-Definitionen? Die zeigen dann ja ins Leere, wenn das Gerät und das Logfile umbenannt werden...
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

michael.winkler

Zitat von: digiart am 09 Februar 2017, 13:53:38
Beim (mehrfach) umbenennen von Geräten würde ich aufpassen, denn was passiert mit den Plot-Definitionen? Die zeigen dann ja ins Leere, wenn das Gerät und das Logfile umbenannt werden...
Danke für den Hinweiß, hätte ich im ersten Step nicht auf dem Schirm gehabt.

Da die GUI über SSH Zugriff auf den FHEM Bereich hat, ist es aber grundsätzlich auch möglich die zuständige Plot Datei zu ändern bzw. dass dazugehörige Logfile gleich umzubenennen.

michael.winkler

Zitat von: Thorsten Pferdekaemper am 09 Februar 2017, 13:49:09
Hi,
kann mal jemand erklären, wozu das gut sein soll? Eigentlich sollte man komplett die Finger von der fhem.cfg lassen. Falls man Ausnahmsweise doch was direkt machen muss oder will, dann geht das problemlos mit WinScp und Notepad++.
Ich sehe das ganze eher etwas problematisch, da es mehr Leute dazu animiert, in der fhem.cfg herumzupfuschen.
Wo ist der Mehrwert?
Gruß,
   Thorsten
Hi Thorsten,

den Mehrwert muss sich jeder selber erarbeiten. Ich selber habe festgestellt das mein FHEM schneller startet seit ich die fhem.cfg hiermit optimiere.

Bis jetzt habe ich die fhem.cfg auch im Notepad++ bearbeitet. Aber beim sortieren und finden der entsprechenden Abschnitte verliert man schnell die Übersicht. Vor allem wenn es auf die entsprechenden Reihenfolgen ankommt.

Jeder kann ja selber entscheiden ob er es nutzen möchte oder nicht. Ich werde auf jeden Fall weiter an der GUI optimieren usw.

Eventuell findet es ja der ein oder andere auch gut und kann es dann nutzen.

Gruß
Michael

binford6000

Hi Markus,
wer Dein winconnect kennt findet sich hier auch schnell zurecht...
Besonders die Einteilung nach Raumnamen finde ich sehr praktisch!

Beim Speichern bekomme ich jedoch mehrere Fenster angezeigt (siehe Screenshot).
Der Inhalt ist meist eine Zahl, manchmal auch Gerätenamen: 10,8,5,6,7,9, USB300, CUL868 usw.

Die Änderung des editierten device wird jedoch korrekt gespeichert.
Meine Konfiguration ist im Screenshot zu sehen.

VG Sebastian

michael.winkler

Zitat von: binford6000 am 09 Februar 2017, 18:11:39
Hi Markus,
wer Dein winconnect kennt findet sich hier auch schnell zurecht...
Besonders die Einteilung nach Raumnamen finde ich sehr praktisch!

Beim Speichern bekomme ich jedoch mehrere Fenster angezeigt (siehe Screenshot).
Der Inhalt ist meist eine Zahl, manchmal auch Gerätenamen: 10,8,5,6,7,9, USB300, CUL868 usw.

Die Änderung des editierten device wird jedoch korrekt gespeichert.
Meine Konfiguration ist im Screenshot zu sehen.

VG Sebastian
Hi Sebastian,

habe gerade mal nachgeschaut. bin mir noch 100% sicher wo es genau herkommt. Die Meldung erscheint wenn die GUI versucht ein Gerät in die fhem.cfg zu schreiben, diese aber schon drin steht. Ist eigentlich nur ein Hinweiß.

Trotzdem wäre es nicht schlecht wenn Du die neue fhem.cfg mit der alten vergleichst, und speziell mal nach den Geräten sucht.

Da ich natürlich nur mit meiner Umgebung testen kann, kann es durchaus sein das die GUI hier auch etwas falsch macht. Könntest Du mit den Inhalt der fhem.cfg mal zukommen lassen?

Gruß
Michael

michael.winkler

Zitat von: binford6000 am 09 Februar 2017, 18:11:39
Hi Markus,
Beim Speichern bekomme ich jedoch mehrere Fenster angezeigt (siehe Screenshot).
Der Inhalt ist meist eine Zahl, manchmal auch Gerätenamen: 10,8,5,6,7,9, USB300, CUL868 usw.
VG Sebastian
Hallo Sebastian

Anbei mal eine neue GUI. Bitte mal das LOG zusenden.

Über das Menü "FHEM" kann jetzt auch ein FULL Backup erzeugt werden

Gruß
Michael

binford6000

ZitatTrotzdem wäre es nicht schlecht wenn Du die neue fhem.cfg mit der alten vergleichst, und speziell mal nach den Geräten sucht.

Beim Vergleichen ist keine Änderung zu sehen. Also nur ein Hinweis. Evtl. ein Codierungs-Thema? German Umlauts?
Ich habe mit TelegramBot einen Chatbot erstellt in dessen Menü sich Emojis befinden. Vielleicht liegts daran..

Probiere gleich die neue Version und hänge ein log an...

binford6000

ZitatAnbei mal eine neue GUI. Bitte mal das LOG zusenden.

Hier das Log:

09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,<>,<Ambrosia>,<Ampfer>,<Beifuß>,<Birke>,<Buche>,<Eiche>,<Erle>,<Esche>,<Gräser>,<Hasel>,<Pappel>,<Roggen>,<Ulme>,<Wegerich>,<Weide>,PollenAlarm.RG
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,<Datum>,<Zeit>,<Termin>,nextcloud.RG
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,<Tag>,<>,<Morgen>,<>,<Mittag>,<>,<Abend>,<>,<Nacht>,<Max>,<Min>,<Frost>,<Regen>,<Sonne>\,AgrarWetter.RG
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,Sonos_Kueche:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>,Sonos_KuecheRG_Favourites
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,Sonos_Kueche: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>,Sonos_KuecheRG_Playlists
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,Sonos_Kueche:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>,Sonos_KuecheRG_Radios


Offensichtlich gibt es Probleme mit readingsGroup! Alle anderen Geräte werden ohne Fehler gespeichert.

VG Sebastian

michael.winkler

Zitat von: binford6000 am 09 Februar 2017, 20:26:18
Hier das Log:

09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,<>,<Ambrosia>,<Ampfer>,<Beifuß>,<Birke>,<Buche>,<Eiche>,<Erle>,<Esche>,<Gräser>,<Hasel>,<Pappel>,<Roggen>,<Ulme>,<Wegerich>,<Weide>,PollenAlarm.RG
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,<Datum>,<Zeit>,<Termin>,nextcloud.RG
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,<Tag>,<>,<Morgen>,<>,<Mittag>,<>,<Abend>,<>,<Nacht>,<Max>,<Min>,<Frost>,<Regen>,<Sonne>\,AgrarWetter.RG
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,Sonos_Kueche:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>,Sonos_KuecheRG_Favourites
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,Sonos_Kueche: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>,Sonos_KuecheRG_Playlists
09.02.2017 20:21:45 FHEM_SAVE:    DEVICE ERROR = readingsGroup,Sonos_Kueche:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>,Sonos_KuecheRG_Radios


Offensichtlich gibt es Probleme mit readingsGroup! Alle anderen Geräte werden ohne Fehler gespeichert.

VG Sebastian

Hallo Sebastina,

Fehler gefunden. Die Messagebox habe ich wieder aktiviert, damit man sieht wenn was falsch läuft.

Habe den Downloadlink auf Seite 1 durch die neue Version ersetzt.

Gruß
Michael

binford6000

ZitatFehler gefunden. Die Messagebox habe ich wieder aktiviert, damit man sieht wenn was falsch läuft.

Im Log stehen keine Fehler mehr. Bei "Daten schreiben" erscheinen 9 Info Fenster mit dem Titel "FHEM gateways IODev" und den Inhalten:

USB300,10,5,6,7,8,9,group,CUL868

welche ich mit OK wegklicke. Danach erscheint erst das Fenster "FHEWMWeb" und OK.
"USB300" ist der EnOcean Stick und "CUL868" ist der CC1101-USB-Lite 868MHz (CUL) Stick. Die Zahlen und group
sind keine mir bekannten devices...

VG Sebastian