Autor Thema: FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg  (Gelesen 2670 mal)

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« am: 09 Februar 2017, 12:23:45 »
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.

Damit die GUI mit SSH umgehen kann, müsst Ihr noch folgende ZIP Datei herunterladen.
https://winscp.net/download/WinSCP-5.9.3-Automation.zip

In dem Zip findet Ihr dann die Datei "WinSCP.exe" und "WinSCPnet.dll". Diese müsst Ihr in das Verzeichnis kopieren, in welchem sich die FHEMWeb.exe befindet.


Freue mich über weitere Featurerequest  ;D

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.

ACHTUNG!! SSH Benutzer
Damit Ihr eine Verbindung zum FHEM via SSH herstellen könnt, müsst ihr den HostKeyFingerprint in der GUI Konfiguration angeben.

Den Key könnt Ihr über den Befehl "ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub" auf eurem FHEM Server herausfinden.

Das Ergebnis sieht dann wie folgt aus:

2048 xx:xx:xx:xx:x:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx  root@HNMWSMART01 (RSA)

Benötigt wird der Bereich "xx:xx:xx:xx:x:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx". Diesen einfach über copy/paste in das entsprechende Textfelt in der Konfiguration eintragen.

Changelog
# 2017-02-22, v0.0.8
#
# 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: 22.02.2017 16:15 Version 0.0.8
« Letzte Änderung: 22 Februar 2017, 16:15:14 von michael.winkler »

Online Ranseyer

  • Full Member
  • ***
  • Beiträge: 220
    • Homepage
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #1 am: 09 Februar 2017, 12:55:43 »
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

Offline oli82

  • Full Member
  • ***
  • Beiträge: 363
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #2 am: 09 Februar 2017, 13:37:07 »
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".

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #3 am: 09 Februar 2017, 13:41:29 »
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

Offline Thorsten Pferdekaemper

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2962
  • Finger weg von der fhem.cfg
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #4 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
RasPi
Heizkessel-Steuerung per Arduino und HTTPMOD
und einen Haufen Homematic (Wired)
Gefällt mir Gefällt mir x 1 Zustimmung Zustimmung x 1 Liste anzeigen

Offline digiart

  • Jr. Member
  • **
  • Beiträge: 95
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #5 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...
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #6 am: 09 Februar 2017, 14:03:14 »
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.

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #7 am: 09 Februar 2017, 17:33:51 »
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

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 120
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #8 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
FHEM 5.8, RPi 2, 868CUL, InterTechno, EnOcean, PSC234, CRC-2-6-02, 6xHUE Bulbs, 5x AmazonDASH, GTAG, SONOS, ENIGMA2, YAMAHA_AVR, XBMC, WINCONNECT, AMAD,  IPCAM, Alexa, HomeKit, TelegramBot, Yowsup, livetracking

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #9 am: 09 Februar 2017, 18:20:24 »
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

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #10 am: 09 Februar 2017, 18:40:50 »
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

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 120
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #11 am: 09 Februar 2017, 20:13:05 »
Zitat
Trotzdem 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...
FHEM 5.8, RPi 2, 868CUL, InterTechno, EnOcean, PSC234, CRC-2-6-02, 6xHUE Bulbs, 5x AmazonDASH, GTAG, SONOS, ENIGMA2, YAMAHA_AVR, XBMC, WINCONNECT, AMAD,  IPCAM, Alexa, HomeKit, TelegramBot, Yowsup, livetracking

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 120
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #12 am: 09 Februar 2017, 20:26:18 »
Zitat
Anbei 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
FHEM 5.8, RPi 2, 868CUL, InterTechno, EnOcean, PSC234, CRC-2-6-02, 6xHUE Bulbs, 5x AmazonDASH, GTAG, SONOS, ENIGMA2, YAMAHA_AVR, XBMC, WINCONNECT, AMAD,  IPCAM, Alexa, HomeKit, TelegramBot, Yowsup, livetracking

Offline michael.winkler

  • Full Member
  • ***
  • Beiträge: 227
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #13 am: 09 Februar 2017, 20:56:32 »
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

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 120
Antw:FHEMWeb - Steuern FHEM und bearbeiten der FHEM.cfg
« Antwort #14 am: 09 Februar 2017, 21:10:43 »
Zitat
Fehler 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
FHEM 5.8, RPi 2, 868CUL, InterTechno, EnOcean, PSC234, CRC-2-6-02, 6xHUE Bulbs, 5x AmazonDASH, GTAG, SONOS, ENIGMA2, YAMAHA_AVR, XBMC, WINCONNECT, AMAD,  IPCAM, Alexa, HomeKit, TelegramBot, Yowsup, livetracking