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

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

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Zitat von: michael.winkler am 10 Februar 2017, 07:59:22an genau diesen Problemen arbeite ich ja. Am Anfang bin ich genau über solche Probleme gestolpert als ich die fhem.cfg manuell bearbeitet habe. Die GUI sorg dafür das die Reihenfolge der Geräte stimmt.
FHEM ist sozusagen die GUI, mit der man die fhem.cfg bearbeitet. Wenn FHEM dabei was falsch macht, warum lösen wir das dann nicht zusammen in FHEM?
Gruß,
   Thorsten
FUIP

michael.winkler

Zitat von: binford6000 am 10 Februar 2017, 07:36:14
Guten Morgen,
wenn ich mir meine fhem.cfg so anschaue sieht die teilweise aus wie ein Schweizer Käse. Große Löcher entstehen dort, wo alte Geräte gelöscht wurden. "Leerzeilen entfernen" wäre für mich ein interessantes Feature. Habe auch noch viele Kommentarzeilen drin als ich noch als FHEM-Frischling unwissender Weise die fhem.cfg direkt bearbeitet habe... Die könnte man ebenso entsorgen ;-)
Gesendet von iPad mit Tapatalk
Hi Sebastian,

anbei die geänderte Version.

Gruß
Michael

michael.winkler

Zitat von: Thorsten Pferdekaemper am 10 Februar 2017, 08:05:37
FHEM ist sozusagen die GUI, mit der man die fhem.cfg bearbeitet. Wenn FHEM dabei was falsch macht, warum lösen wir das dann nicht zusammen in FHEM?
Gruß,
   Thorsten
Wenn diese Möglichkeit besteht hält Dich davon sicherlich niemand ab. Ich wäre sicherlich auch einer der Dich dabei unterstützen würde.

Aber wenn ich ehrlich bin glaube ich nicht daran dass man so etwas in die bestehen FHEM Webseite noch integrieren kann. Dafür müssten man die, meines Erachtens komplett umbauen.

Thorsten Pferdekaemper

Zitat von: michael.winkler am 10 Februar 2017, 08:12:22
Wenn diese Möglichkeit besteht hält Dich davon sicherlich niemand ab. Ich wäre sicherlich auch einer der Dich dabei unterstützen würde.
Ich selbst habe ja keine Probleme damit, wie es momentan läuft. Ich glaube, das einzige Problem ist das mit der Reihenfolge von IO-Devices und den Devices, die sie benutzen. Aber da arbeitet glaube ich schon jemand dran.
Die andere Sache ist vielleicht, dass beim Umbenennen von Geräten deren Verwendungen nicht mitgenommen werden. Da könnte man bestimmt im rename-Befehl eine Option einbauen oder sogar einen "rename"-Link unter die Device-Detail-Ansicht machen, der einen entsprechenden Dialog öffnet. Allerdings finde ich das Umbenennen nicht "lästig" genug, um da Aufwand reinzustecken.
 
ZitatAber wenn ich ehrlich bin glaube ich nicht daran dass man so etwas in die bestehen FHEM Webseite noch integrieren kann. Dafür müssten man die, meines Erachtens komplett umbauen.
Wieso denn? Mit FHEM kann man doch heute schon fast alles machen. Warum sollte man da was umbauen?

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
ich will ja nicht zu negativ erscheinen...
Ehrlich gesagt, weiß ich aber immer noch nicht, um was es wirklich geht.
Wenn es darum geht, eine mehr geführte Konfiguration mit irgendwie "logischer" angeordneten Eingabemasken zu haben, dann dürfte es gar nicht so schwierig sein, so etwas innerhalb von FHEM zu machen. Bei Homematic-Wired geht jetzt schon etwas ähnliches (siehe Anhang) und auch die Definition anderer Devices (z.B. at) hat das schon. Bei HM-Wired bin ich gerade dabei, das komplett neu zu machen, so dass man die Geräte-Einstellungen (der ganze EEPROM-Kram, für die Eingeweihten) aus FHEM heraus komplett "grafisch" machen kann. Das ganze braucht nur geschickte get und set Definitionen der Devices und ein "bisschen" JavaScript.
Man könnte mit demselben Mechanismus z.B. ein "configuration" oder "configureFhem"-Device erstellen, dass die komplette FHEM-Konfiguration übernimmt, aber die normalen FHEM-Kommandos verwendet anstatt an der fhem.cfg herumzuschrauben. Dann hätten alle was davon, sogar die configDB-Verwender und nicht-Windows-Benutzer.
Das wäre natürlich schon etwas Aufwand, aber dieser Aufwand wird jetzt halt in ein anderes Tool gesteckt. Das ist der Punkt, den ich persönlich Schade finde.
Gruß,
   Thorsten

   
FUIP

michael.winkler

Dann versuche ich es noch mal zu erklären worum es mit persönlich geht.

Generell will ich folgendes mit der GUI machen

  • fhem.cfg automatisch erzeugen
  • einfachere Bearbeitung einzelner Devices
  • Div. Übersichen sortiert nach Raum, Modul, Gruppe, Icon usw.
  • Geräte per DragAndDrop in Gruppen,Räume,Icons verschieben
  • Umbenennen von Geräten inkl. dazugehöriger notifys,doifs,plots usw.
  • Gerätesteuerung (set) per maus/touch
  • Steuerung FHEM backup/restore/shutdown/update usw.
  • Steuerung Services z.B. start/stop alexa,homebright usw.
  • Supportinformationen sammeln

Das sind nur mal die ersten Ideen. Klar gibt es für alle Punkt irgendwelche Tools usw. Aber ich möchte über meine GUI das soweit automatisieren dass damit auch ein Benutzer umgehen kann der keine Ahnung hat.

Hast Du deiner Frau/Freundin oder so mal versucht zu erklären wie sie die alexa Service neu startet kann? Kaum einer von uns hat so jemanden zuhause der das versteht. Und genau da soll die GUI ansetzen.

Wie schon geschrieben, programmiere ich die GUI primär für mich. Wenn die Forumsbenutzer daran kein Interesse habe, müssen sie es ja nicht herunterladen.

Das fhem.cfg schreiben ist übrigens nur eine der vielen Funktionen.

Gruß
Michael

justme1968

also weder meine frau noch sonst jemand muss alexa, homekit oder sonst einen service neu starten. das läuft komplett automatisch und ohne das irgend jemand (inklusive mir) etwas von hand tun müsste. alles andere wäre auch keine haus automatisierung sondern haus babysittten und käme nicht gut an.

einen benutzer der keine ahnung von fhem hat würde ich mit und ohne gui auch nicht auf meine configuration los lassen. und auch mit ahnung würde ich mir das mehrfach überlegen.

mal abgesehen davon das ich selber meine fhem.cfg auf dem produktiv system noch niemals angefasst habe.

manche der oben angesprochenen ideen sind ja garnicht schlecht. aber warum um himmels willen in einem standallone programm das nur auf einem betriebssystem läuft statt in fhemweb integriert und platform unabhängig so das es potentiell jedem zur verfügung steht.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Thorsten Pferdekaemper

Zitat von: michael.winkler am 10 Februar 2017, 09:36:43
Dann versuche ich es noch mal zu erklären worum es mit persönlich geht.
Meiner Meinung nach kann man die Punkte alle auch in FHEM integrieren. (Ok, vielleicht müsste man sich das mit dem Drag&Drop mal überlegen.) Das ist das, was ich gemeint habe.

ZitatAber ich möchte über meine GUI das soweit automatisieren dass damit auch ein Benutzer umgehen kann der keine Ahnung hat.
...und...
ZitatWie schon geschrieben, programmiere ich die GUI primär für mich.
Widerspricht sich das nicht ein wenig?

ZitatHast Du deiner Frau/Freundin oder so mal versucht zu erklären wie sie die alexa Service neu startet kann? Kaum einer von uns hat so jemanden zuhause der das versteht.
Nein. Ich versuche auch nicht, ihr zu erklären, wie man Sicherungen auswechselt, NYM-Kabel verlegt oder Steckdosen anschließt. Den Fernseher reparieren kann nichtmal ich...

Vielleicht formuliere ich es nochmal anders: Ich finde es im Prinzip sehr gut, dass sich jemand ersthaft damit befasst, die FHEM-Konfiguration und andere Sachen in FHEM zu vereinfachen und benutzerfreundlicher aufzubereiten. Noch einfacher und benutzerfreundlicher (und für alle nutzbar) wäre es allerdings, wenn es in FHEM selbst integriert wäre. Im Extremfall könnte man das sogar mehr oder weniger komplett in JavaScript machen und dann vom in FHEM eingebauten Webserver ausliefern lassen. So ähnlich wie FTUI halt, nur mit mehr Automatismen.

Gruß,
   Thorsten

FUIP

michael.winkler

Zitat von: justme1968 am 10 Februar 2017, 09:46:59
also weder meine frau noch sonst jemand muss alexa, homekit oder sonst einen service neu starten. das läuft komplett automatisch und ohne das irgend jemand (inklusive mir) etwas von hand tun müsste. alles andere wäre auch keine haus automatisierung sondern haus babysittten und käme nicht gut an.

einen benutzer der keine ahnung von fhem hat würde ich mit und ohne gui auch nicht auf meine configuration los lassen. und auch mit ahnung würde ich mir das mehrfach überlegen.

mal abgesehen davon das ich selber meine fhem.cfg auf dem produktiv system noch niemals angefasst habe.

manche der oben angesprochenen ideen sind ja garnicht schlecht. aber warum um himmels willen in einem standallone programm das nur auf einem betriebssystem läuft statt in fhemweb integriert und platform unabhängig so das es potentiell jedem zur verfügung steht.

gruss
  andre
@Andre,

das mit alexa war nur ein Beispiel. Bitte nicht als persönlichen Angriff verstehen. Ich bin halt im Moment dabei ab und zu Anpassungen in der server.js zu machen. Dadurch muss ich halt öfters den Alexa service neu starten. Des Wegen hatte ich das hier aufgeführt.

@Thorsten
Da ich so ein großes Vorhaben nicht in Javascript umsetzen kann, verwende ich meine Windows mitteln. Ich werde jetzt auch nicht mehr weiter auf die Sinnhaftigkeit meiner GUI eingehen.

Ich lese jetzt schon einige Zeit hier im Forum mit. Was mir dabei auffällt ist das sehr viele User mit den einfachsten dingen schon Probleme haben. Solche Benutzer freuen sich über jede Hilfe die sie bekommen können. Wenn mann dann noch eine GUI bekommt die einen über Syntaxfehler (noch nicht integriert) usw. informiert, können eventuell viele Fragen ohne das Forum gelöst werden. Ich glaube jeder von uns hat sich schon mal seinen FHEM Server durch einen Notify mit Syntaxfehlern zum abstürzen gebracht (auch ich).

Wie gesagt, das war es jetzt erstmal zu diesem Thema, jeden weiteren Kommentar erspare ich mir jetzt.

Gruß
Michael

Thorsten Pferdekaemper

Zitat von: michael.winkler am 10 Februar 2017, 10:32:19@Thorsten
Da ich so ein großes Vorhaben nicht in Javascript umsetzen kann, verwende ich meine Windows mitteln.
Ok, das ist verständlich. Jeder hat halt seine Mittel.

ZitatIch lese jetzt schon einige Zeit hier im Forum mit. Was mir dabei auffällt ist das sehr viele User mit den einfachsten dingen schon Probleme haben. Solche Benutzer freuen sich über jede Hilfe die sie bekommen können.
Ich glaube, dass Du mich wirklich gründlich missverstehst. Ich stimme komplett zu, dass es schön ware, wenn wir eine bessere Konfigurationsoberfläche (bzw. auch für andere Aktionen) hätten. Ich bin bestimmt kein Kommandozeilen-Hardliner oder sowas. Sonst würde ich selbst ja keine Zeit in meine HM-Wired-Geräte-Konfigurations-Dialoge stecken.
Wenn das ganze in FHEM selbst stecken würde, dann würde ich mich sogar aktiv daran beteiligen.

ZitatWenn mann dann noch eine GUI bekommt die einen über Syntaxfehler (noch nicht integriert) usw. informiert, können eventuell viele Fragen ohne das Forum gelöst werden. Ich glaube jeder von uns hat sich schon mal seinen FHEM Server durch einen Notify mit Syntaxfehlern zum abstürzen gebracht (auch ich).
Im Prinzip stimme ich da auch zu. Allerdings würde ich das nicht über eine GUI lösen, sondern im Backend. Es sollte ja nicht so schwierig sein, die Definition mal kurz durch einen Syntax-Check laufen zu lassen. Wenn das in einem GUI geht, dann dürfte das im Backend sogar noch einfacher sein. (Ich glaube sogar, dass da schon jemand dran ist.)

Gruß,
   Thorsten

FUIP

Benni

Zitat von: michael.winkler am 10 Februar 2017, 10:32:19
Wenn mann dann noch eine GUI bekommt die einen über Syntaxfehler ... informiert

Auch das kann FHEMWEB bereits jetzt schon: https://fhem.de/commandref_DE.html#perlSyntaxCheck

Vielleicht sollte man erst mal versuchen die Mittel des bestehenden Systems auszuschöpfen, bevor man anfängt was "besseres" zu bauen, von dem bei Weitem nicht mal alle (Anfänger) profitieren können.


CoolTux

Ok fassen wir zusammen
Michael kann kein JavaScript und verwendet seine Mittel der Wahl. Nur Windows, nur eigenes GUI. Das GUI editiert die cfg selbstständig.

Ich würde sagen wir belassen es dabei. Michael sollte ganz am Anfang auf die Gefahren aufmerksam machen und schreiben das es eventuell zu Seiteneffekten führen kann.
So zum Beispiel wenn FHEM selbst die cfg schreiben will und sein GUI gerade das Teil ebenfalls bearbeitet.

Ansonsten hat jeder seine Meinung gesagt und gut ist. Jedem sein Ding. Die Bedenken Seitens der Wissenden kennt Michael ja nun!



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

binford6000

ZitatGroße Löcher entstehen dort, wo alte Geräte gelöscht wurden. "Leerzeilen entfernen" wäre für mich ein interessantes Feature.

Hi Michael,
die neue Version tut genau was sie soll: Löcher entfernen, Kommentare entfernen, Module mit einer Zeile Abstand anordnen
und (auch nice) nach Modulnamen sortieren.

Wer nun all das oder nur eines nicht benötigt oder mag, sollte es per Optionen-Dialog ab- oder anhaken können.
Die Sortierung könnte ja auch nach Räumen, nach Modulname oder eben gar nicht erfolgen.

VG Sebastian

justme1968

das sortieren nach namen, raum oder modul namen innerhalb der config ist ist keine gute idee. es ist wichtig das ein iodev vor dem client device kommt. jede sortierung die das nicht berücksichtigt wird probleme machen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

Hatte das so verstanden das die Sortierung nur in der GUi Ansicht so ist. Hoffe dem ist so, denn sonst wäre es fatal.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net