Ich arbeite für Einstellungen an FHEM direkt in der fhem.cfg über "Edit files" mit Text-Highligting. Beim Speichern über "Save fhem.cfg" spring der Browser immer wieder zurück zur Dateiauswahl. Kann man dies verhindern? Als einfach Speichern und man kann dann die Datei gleich weiterbearbeiten.
Nicht dass ich wüsste. Daher kopiere ich die komplette .cfg in einen Texteditor und bearbeite die da. Zwischenergebnisse werden dann gesichert bzw. auch in fhem übertragen (um zu checken ob etwas auch macht wie geplant), gleichzeitig ist die Datei aber weiter für mich bearbeitbar.
Du musst übrigens damit rechnen, das die hier ne Menge Leute erzählen, das direkte bearbeiten der .cfg wäre praktisch das Selbe, wie sich eine Bein abzusäge oder noch schlimmer. Die Methode ist bei einigen aus für mich noch nicht ganz nachvollziehbaren Gründen als irgendwie total schlimm verschrien. Ich mache aber auch alles durch bearbeiten der .cfg
Du hast bloß nicht verstanden, warum viele Leute es hier lieber hätten, wenn zumindest Anfängern nicht erzählt würde, dass das Editieren der Config eine sinnvolle Sache ist.
@msfox: Es gibt aktuell keine einfache Möglichkeit, das du ändern. Allerdings wurde deine Frage hier schon öfter gestellt. Vielleicht suchst du mal danach und findest dann einen hilfreichen Tipp.
Und wenn man dann noch einen richtigen externen Programmiereditor benutzt ... fragt man sich doch nur, warum die .cfg nicht auch strukturiert werden kann ...
... wünscht man sich nur noch eine Eclipse-fhem-perl Perspektive ... ;-))
Gruß Micha
Zitat von: mipi am 27 Mai 2015, 10:33:31
Und wenn man dann noch einen richtigen externen Programmiereditor benutzt ... fragt man sich doch nur, warum die .cfg nicht auch strukturiert werden kann ...
Die Frage ist, was man darunter versteht!? Man kann sie ja strukturieren. Es ist bloß nicht notwendig, da ja in FHEMWEB alles in Struktur (die du dir ausgedacht hast) vorliegt und dort auch alles geändert werden kann.
Zitat von: marvin78 am 27 Mai 2015, 10:19:19
... dass das Editieren der Config eine sinnvolle Sache ist.
ICh hatte deine These so verstanden, dass es auch ein (fhem-)Leben jenseits des Webs gibt, und da kann man ja mal auf Techniken hinweisen, die sich seit ca. 30-40 Jahren in der Programmierung / Konfiguration von Programmen als sinnvoll erwiesen haben.
Denn eins ist doch mal klar, über die cfg kommdt du in 80% der Fälle schneller zu Ergebnissen ... und am besten ist die Kombi von beidem! Manchmal kopiere ich mir die Befehle, die ich in der Komandozeile eingebe, zusätzlich in ein Editor-Fenster, in denen ich die Befehle zwischenspeichere, denn die Web-Oberfläche ist nicht eben ergonomisch/praktisch!
Micha
Man muss eben ganz klar zwischen Anfängern und erfahrenen Usern unterscheiden und unter den Anfängern auch nochmal zwischen Anfängern mit Erfahrung in ähnlichen Gebieten und blutigen Anfängern. Und der blutige Anfänger lässt besser die Finger von der Config und macht alles im Frontend. Diese Art User kommt damit schneller ans Ziel UND der Supportaufwand hier im Forum wird deutlich geringer.
Ich als sehr fortgeschrittener User und professioneller Programmierer mache übrigens auch (fast) alles über das Frontend und behaupte, dass ich im Großen und Ganzen 3-4 mal schneller bin, als wenn ich die Config direkt editiere. Aber vielleicht ist das Geschmacksache. Natürlich gibt es sicher bestimmte Dinge, die man über die Config evtl. schneller regeln kann. Ein Attribut habe ich jedoch schneller über das Frontend gesetzt und das rereadcfg (bzw. restart) spart man sich auch. Alle Änderungen sind sofort aktiv. Für große Änderungen verwendet man eben Telnet und kommt auch schneller an das Ziel (auch hier mit sofortiger Bereitstellung).
Von mir bekommt hier jedenfalls niemand mehr Code für die Config als Hilfe, sondern NUR für den DEF Bereich im Frontend.
Gebranntes Kind ... ;)
Hier ist aber die Frage, was davon System und was Wahnsinn ist ... das fhem-System ist (fast) vollkommen offen und das Vorgehen der unterschiedlichen Protagonisten ist hier doch sehr unterschiedlich ... Guck dir mal den Thread zum HM-Dis-WM55 an ... und da sollte ich mich als beleckter Noob durchwuseln? ... das mit dem Dis geht ohne Editor gar nicht!? ... Und das Display habe ich mir nicht geholt, weil ich masoschistisch ... sicherlich aber ein Featurejunkie bin, also die natürliche fhem-Zielgruppe! ;-)
Warum dann nicht das System rund ums Edit entsprechend ausstatten und (fast) noob-proof machen? Ich sehe hier nach 4-5 Monaten fhem-Erfahrung gar keine so große Hürde ...
Micha
Ich geb dir mal ein einfaches Beispiel, weniger Editor, sagt aber was über strukturiertes Arbeiten mit fhem:
[meinMenu sort-Style=fhem]
Wohnung
devThermostate
rmSchlafzimmer
CUL_HM
Controldevice
HMS
icoHaus Haus
MAX
Plots
Relais
Unsorted
Wohnung
devSteckdosen
ioHM
ioHarmony
ioZWave
rmFlur
rmKueche
rmWohnzimmer
icoEverything Everything
[/meinMenu]
Ich dachte, es wäre schlau, meine Räume mit dem Präfix "rm" meine Devices mit dem Präfix "dev", "io" ... zu kennzeichnen. Habs, wie man erkennt, währenddessen aufgegeben, fhem akzeptiert weder physikalische, alphabetische noch logische Ordnung ... perl-Wahnsinn oder fhem-Methode?
Ich behaupte, wenn man sich da auf systematisches Arbeiten einließe, könntest du auch wieder config-Schnippsel posten ;-)
Micha
Du verstehst mich falsch: Ich will gar keine Config-Schnipsel posten. Die für das DEF sind ja viel einfacher ;)
Für das Sortieren des Menüs gibt es ein Attribut (sortRooms).
Ich verstehe auch im Übrigen nicht, was nun wirklich im Frontend nicht gehen sollte. Auch im Thread zum HM-Dis-WM55 habe ich nichts erkannt, was nur in der Config geht.
Ich verstehe nicht, warum man die Config "noob-proof" machen sollte, wenn es doch ein Werkzeug gibt, was für Neulinge geeignet ist. Die Arbeit ist redundant.
Wollte mir gerade schon Popcorn holen, als ich erkannt habe, dass es sich wohl um eine Wiederholung handelt ::)
Zitat von: marvin78 am 27 Mai 2015, 12:19:02
Für das Sortieren des Menüs gibt es ein Attribut (sortRooms).
@Benni ... selber schwadronieren macht dick ... ;-)
Das mit dem Attribut war mir neu, Danke, setze ich das in der ini oder in der cmd? ;-)) Werd mal die SuFu rauchen lassen ...
Micha
@mipi: commandref zu FHEMWEB.
Und ein Paradebeispiel dafür, dass nicht alles in der Commando-Zeile geht ...
Um zu der Zeile:
attr WEB sortRooms Wohnung rmWohnzimmer rmSchlafzimmer rmKueche rmFlur devThermostate devSteckdosen ioHM ioHarmony ioZWave
zu kommen, habe ich zig Mal den Befehl in die Zeile kopiert, wenn man das nicht macht, tippt man sich blöd ... und dann funktioniert es noch nicht mal wirklich, sortRooms funktioniert seltsam. In der cfg im externen Editor ist das ein Spaziergang nur das einlesen der cfg nervt (Btw muss man dafür immer den Server neu starten oder gibts auch einen eleganten Weg?)
Wo ist das Problem? Was genau funktioniert nicht? Wird nicht sortiert?
Und warum geht das nicht im Frontend? Ich rede hier nicht von der Kommandozeile sondern vom Attribut-Editor im Device. Vielleicht hast du dich einfach noch nicht genug mit dem Frontend beschäftigt? Sicher kennst du gar nicht alle Möglichkeiten.
Und nein, bearbeitet man die Config, gibt es keinen eleganten Weg.
Jetzt geht das schon wieder los... ::)
Also nochmal: es wird immer Argumente für oder gegen die ein oder andere Editiermethode geben, und es gibt m.E. gute Gründe, einem Anfänger nahezulegen, nicht beliebig manuell in der cfg rumzuwursteln. Und als erfahrener FHEM-Experte sollte man Manns genug (oder Fraus genug) sein, eine Empfehlung für oder gegen die ein oder andere Methode zu überlesen und gedanklich (!) mit der eigenen Meinung zu überschreiben.
Ohne das Design im Detail zu kennen: klar tut sich ein laufendes FHEM leichter, mit einzeln bekannt gemachten cfg-Änderungen umzugehen, als ein potentiell komplett geändertes cfg-File einzulesen - dann brauchts halt nen Restart.
Ich find's auch besser, über die Oberfläche zu editieren, und ja, es gibt auch Anwendungsfälle, da ist mir die Notepad++-Methode lieber.
Ist wie mit Alkohol: einem Kind empfiehlt man ja auch erstmal, die Finger vom Bier zu lassen, und als Erwachsener weiß man, dass man davon nicht gleich stirbt und wieviel davon einem guttut... 8)
na nach obigem Befehl bringt er die Räume immer noch durcheinander
Wohnung
rmWohnzimmer
rmKueche
rmFlur
devSteckdosen
ioHM
ioHarmony
ioZWave
Wohnung
devThermostate
rmSchlafzimmer
CUL_HM
Controldevice
HMS
icoHaus Haus
MAX
Plots
Relais
Unsorted
icoEverything
Räume Präfix rm... nicht beieinander, Präfix dev... auch nicht
Ehrlich gesagt wüsste ich nicht, wo ich dies Attribute - im Web-End für die Räume finden soll ...
Nicht beschäftigt ... hmmm ... vllt ist meine Lernkurve weniger steil als bei Entwickler-Hirnen ... ;-)
PS:@Doggibert ... JA! Und wirklich geschadet hat es mir auch nicht. Es ist schon hart, nach x Schaltern, Relais, Displays offenen Schaltern und Dosen sowie ca. 500-1000 Zeilen fhem.cfg immer noch wie ein Anfänger da zu stehen, mach ich was falsch oder fhem?
Mir geht es nur darum zu erklären, dass sich niemand er Entwickler hinsetzen wird, um das Editieren der Config "noob-proof" zu machen (wie hier im Thread gefordert), da es ja schon so einen Weg gibt der recht sicher ist. Das wäre Verschwendung von Ressourcen. Wer wie was macht ist mir egal. Wenn ich allerdings fragen beantworte, werde ich IMMER nur einen Weg beschreiben und der geht über das Frontend. Fragen die klar ersichtlich entstehen, weil jemand in der Config rum pfuscht und offensichtlich keine Ahnung von dem hat, was er da tut, klicke ich direkt weg.
Wir sind hier einigermaßen Off-Topic. Der Threadersteller hat seine Antwort im Grunde bekommen.
In der Detailansicht von deinem FHEMWEB Device kannst du die Attribute anlegen und editieren.
Einfach das Attribut aus dem Dropdown wählen oder ein schon vorhandenes anklicken und die Eintragung ändern:
(http://forum.fhem.de/index.php?action=dlattach;topic=37538.0;attach=32614;image)
Bitte Einsteiger-PDF und sonstige Literatur lesen.
gefunde! Da muss man erstmal drauf kommen ... Danke!
So geht das! Aber mir ist nicht ganz klar, wie man das für jedes exotische ATTR ... und wo ... finden kann!
Gruß Micha
Alle Attribute sind in der commandref beschrieben und werden zu dem Devices aufgelistet.
Der Vollständigkeit halber:
Zitatum das Editieren der Config "noob-proof" zu machen (wie hier im Thread gefordert)
Das fordere ich explizit nicht (und ich bin auch nicht sicher ob das in diesem Thread gefordert wird).
Wir sind uns sicher einig, dass man durch direktes Editieren der cfg ne Menge kaputt machen kann und WENN ich das mache ist das MEIN Problem. Irgendeinen Klapperatismus, der meine Config nach dem Einlesen erstmal syntaxchecked oder so brauche ich nicht. Denn in der Tat: Wer das erwartet soll bitte tatsächlich das Webfrontend nehmen.
Was anderes wäre in der Tat
Zitat
Verschwendung von Ressourcen.
OT: Das mit den Attributen, Settings, Gets ist eher das Henne/Ei Problem. Die Frage ist, ob man*1 das Modul von Betateilchen, dass die commandref lokal zusammen setzt nicht so erweitern kann, dass alle Attribute, Settings und Gets tabellarisch mit Kurzbeschreibung und zugehörigem Modul aufgelistet werden. So könnte man sich die Angabe immer mal wieder zu Gemüte führen.
Grüße Jörg
*1: Bitte kein: Dann mach doch. Soweit reichen meine Perl-Kenntnisse noch nicht. Sorry
Zitat von: Zrrronggg! am 27 Mai 2015, 18:09:59
[...](und ich bin auch nicht sicher ob das in diesem Thread gefordert wird).
Doch:
Zitat von: mipi am 27 Mai 2015, 11:27:40
Warum dann nicht das System rund ums Edit entsprechend ausstatten und (fast) noob-proof machen? Ich sehe hier nach 4-5 Monaten fhem-Erfahrung gar keine so große Hürde ...
Mir würde ein "Wort" wie "noob-proof" ganz sicher nicht einfallen :-\
Zitat
Zitat[...](und ich bin auch nicht sicher ob das in diesem Thread gefordert wird).
Doch:
Wenn du dir SICHER bist, dass er das FORDERT... okay.
Ich bin mir nicht sicher und könnte mir auch vorstellen, dass es nur ein Vorschlag oder gar eine verdecke Abfrage des Aufwandes ist.
Das ist nicht haarspalterisch gemeint, sondern eher so, dass man nicht jeden Beitrag gleich als absolut auffassen sollte.
Und man setzt auch nicht immer nach, sondern lässt den Leuten eine Rückzugsmöglichkeit.
Zitatgefunde! Da muss man erstmal drauf kommen ... Danke!
...
Das mit den Attributen, Settings, Gets ist eher das Henne/Ei Problem.
Aus welchem Grund? Ein klein wenig Hirn bzw. Hausverstand (gut, ich geb zu, das ist nicht so einfach mit dem Hausverstand) genügt.
zB: Wer liefert die Frontend-Oberfläche aus? --> fhemWEB --> Also such ich da als allererstes.
Bzw. würde ein "<STRG-f> sort room" in der Commandref oder ein ganz simples "fhem sort room" in Google sofort zum Erfolg führen.
Wozu also irgendwelche obskuren Tabellen generieren?
Schönen Abend noch,
Ici, der mit nem Glas Rotwein in der Hand dem Treiben hier zuguggt
@Zrrronnggg: Oha. Jetzt willst du mich erziehen?! Was machst du denn hier? Setzt du wohl immer wieder nach, obwohl das Thema längst gegessen, deine Beiträge die Hilfe für den User verwässern und vor allem hier auch Off-Topic ist? Genau ;)
Nochmal: Ich wollte lediglich erklären, warum es wirklich quatsch ist, irgendwas in diese Richtung zu entwickeln, da es einen Weg gibt, mit dem Anfänger recht sicher arbeiten können und kein weitere nötig ist. Nicht mehr und nicht weniger. Der Rest kam zustande, weil meine Beiträge weder richtig gelesen noch verstanden wurden und weil Behauptungen aufgestellt wurden, die nicht der Wahrheit entsprechen und darauf beruhen, dass man sich mit dem Thema nicht bis ind Detail befasst hat. Und damit bin ich hier raus. Kindergarten.
Zitat von: marvin78 am 27 Mai 2015, 20:21:52
Nochmal: Ich wollte lediglich erklären, warum es wirklich quatsch ist, irgendwas in diese Richtung zu entwickeln, da es einen Weg gibt, mit dem Anfänger recht sicher arbeiten können und kein weitere nötig ist.
Kleine Anmerkung noch einmal von mir dazu:
Ich war gestern wirklich erstaunt, dass es dazu eine Einstellungsmöglichkeit gibt - Ironie on - vllt muss ich mal die fhem css editieren, Links sichtbar machen ... dass es zu dem ursprünglichen Thema nichts zu entwickeln gäbe, ist allerdings ganz klar nich meine Meinung:
- ist das Editieren in der Config, auch nachdem ich den Weg über das WebEnd gefunden habe, nicht unsinnig, und somit eine Schweißperle der Entwickler wert
- ist das Editieren über das WebEnd auch nicht frei von Tücken bzw. selbsterklärend
- wäre eine sinnvolle Arbeistumgebung/Syntax für die ini ein Gewinn für das Programm
- senkt der Verweis auf die commandref sicher nicht die Komplexität (die ist als Doku nicht eben "handy", hier gilt analog was auch für die ini gilt) und auch nicht die SChwelle für einen Normaluser, wie der Verweis auf den obigen sort-Befehl zeigt
- Weiss ich nicht, ob ich das in in 3 Wochen noch weiss...
- @marvin : ist es mit der WAHRHEIT so ein Ding
Zu meinem obigen Problem .... was sicher auch nur sehr mäßig on-Topic ... muss ich sagen, dass ich zunächst den WebEnd-Weg tatsächlich nicht kannte. Er ist aber, mit Verlaub, kryptisch ... und funktioniert nicht. Ich würde sogar sagen er ist in transparent, denn die Struktur die ich da vorgebe , wird so nicht übernommen ... im zweiten Anlauf war ich schon wieder dabei, die ini zu bürsten und stelle fest, dass ein
attr WEB sortRooms Wohnung rmWohnzimmer rmKueche rmSchlafzimmer rmFlur devThermostate devSteckdosen ioHM ioHarmony ioZWave
... im WebEnd erzeugt, an sich für einen python oder java-Programmierung ein Zumutung, eine krude Mischung im Menu ergibt ... ist das jetzt ein Problem von mir, von fhem, von der Config / dem WebEnd? Ich behaupte mal, das dies (in der Programmstruktur / Philosophie) zu beseitigen nicht ein Schönheitsfehler ist, sondern das Program echt auf ein höheres Niveau heben würde.
PS: Dafür wäre ich bereit einen Taler zu zahlen ...
Ich sage nur noch so viel dazu und dann bin ich wirklich hier raus: es funktioniert alles. Falls es bei dir nicht funktioniert, dann liegt es nicht an FHEM oder an FHEMWEB. Ich arbeite NUR im Frontend und ich habe ein äußerst komplexes System mit über 600 Devices in FHEM. Ich fasse die config (wie du auf ini kommst, weiß ich nicht) niemals an und trotzdem kann ich alles, egal, wie komplex es ist, konfigurieren und es funktioniert alles so wie gewünscht. Und so geht es vielen hier.
Ich habe nie gesagt, dass der Weg über die Config nicht genutzt werden sollte. Jedem das Seine. Aber warum sollte man etwas daran verbessern? Das erschliest sich mir nicht. Eine sinnvolle Arbeitsumgebung müsste zunächst mal definiert werden. Es gibt hilfen, wie das Codehighlighting etc. Außerdem kannst du dir die Arbeitsumgebung so schaffen, wie du möchtest. Warum das andere für dich tun sollten, weiß ich nicht. Da du die Config nicht "handy" findest, habe ich das Frontend vorgeschlagen, in dem alles geht und das eine Oberfläche für alle Konfigurationen bietet. Entgegen deiner Aussage funktioniert das auch alles. Willst du mehr, bist du vermutlich beim falschen System.
Die commandref ist als Doku, im Zusammenhang mit dem Wiki , dem Forum und dem Einsteiger-PDF eine sehr starke Dokumentation. FHEM ist, meiner Meinung nach, nichts für Leute, die sich nicht darauf einlassen möchten. Warum sollte ich aus der commandref abschreiben, wenn doch dort alles steht? Ich halte einen Verweis auf die commandref sogar für wesentlich sinnvoller, als es nochmal aufzuschreiben, da eine Fehlerquelle eliminiert wird. Wer die commandref nicht lesen kann, hat natürlich ein Problem aber ich denke, dann ist FHEM eben nichts für diese Person. Es geht hier nicht um Probleme, die nicht mit der commandref zu lösen sind. Wenn ich allerdings bei einem Attribut auf die commandref verweise, ist das das die präziseste Antwort, die ich geben kann.
Ich behaupte also: es liegt an dir, was du aus FHEM machst. Wie du es machst, ist mir egal. Support erhälst du von mir und von vielen anderen nur für einen Weg. Meine Beschreibungen zum Vorgehen beziehen sich immer auf das Frontend. Das ist sinnvoll und gut. Der Rest ist mir egal. Wer die Struktur von FHEM nicht mag, kann sich was anderes suchen oder selbst an der Eintwicklung teil haben um etwas zu ändern. Konkrete Vorschläge sind dann das Mindeste.
Zitat von: marvin78 am 28 Mai 2015, 09:12:10
Ich sage nur noch so viel dazu und dann bin ich wirklich hier raus: es funktioniert alles. Falls es bei dir nicht funktioniert, dann liegt es nicht an FHEM oder an FHEMWEB.
Na dann ist ja alles gesagt!Nichts zu meckern! Und das wir über den Editor diskutieren vollkommen sinnlos, alle Argumente DESWEGEN hinfällig ...
... und wer sagt das?
Gruß Micha
Also, vielleicht nochmal ein Blick aus der Vogelperspektive:
- FHEM ist ein System, das von Leuten in ihrer Freizeit entwickelt wird. Es ist so wie's ist, und damit kommen hier sehr viele Leute zurecht. Es steht jedem frei, die Konfiguration a) über die Oberfläche, b) über den integrierten Editor (incl. Syntax Highlighting), oder c) über einen externen Editor (auch incl. Syntax Highlighting) zu machen. Bei a) tut sich FHEM natürlich etwas leichter, weil es genau weiß, was gerade verändert wurde, deswegen sollte man bei b) und c) anschließend einen Restart machen. Aber es gibt somit alle Wege für jeden Geschmack.
- Wenn man Verbesserungsvorschläge hat, gibts folgende Möglichkeiten: a) es ist was komplett Neues, dann muss man's wohl selbst umsetzen und anschließend der Allgemeinheit zur Verfügung stellen, oder b) man macht einen Patch und schlägt das dem Owner des jeweiligen Moduls vor, oder c) man hat selber nicht genügend Programmierkenntnisse, das umzusetzen, und fragt an, ob sich jemand findet, der das auch sinnvoll erachtet und die Zeit investieren will, das umzusetzen (Voraussetzung hierfür: klar formulieren, was man eigentlich geändert haben will); wenn sich niemand findet, der die Verbesserung auch will und sogar bereit ist, das (in seiner Freizeit) umzusetzen, muss man damit leben...
- Es ist immer hilfreich, vorher über Einsteiger-pdf, commandref, Wiki, Forum in Erfahrung zu bringen, ob es da nicht schon eine Lösung gibt. Die Dokumentationstiefe ist unterschiedlich (weil auch ein offenes Projekt), aber m.E. meistens vollständig und völlig ausreichend. Ja, auch bei Dokumentationsformen gibt es verschiedene Geschmäcker, aber auch hier sind wir wieder beim Thema Verbesserungsvorschläge.
- Den erfahrenen Entwicklern und Anwendern, die hier kostenlos und in ihrer Freizeit Support leisten, muss man zugestehen, Empfehlungen nach ihrem Gusto zu machen.