Code-Schnipsel leichter übernehmen

Begonnen von Loredo, 21 August 2016, 18:35:49

Vorheriges Thema - Nächstes Thema

Loredo

Es wäre leichter Code-Schnipsel aus dem Forum oder aus anderen Quellen zu übernehmen, wenn die FHEM-Eingabeleiste dafür mehrzeiligen Code akzeptieren und dann jede Zeile einzeln ausführen würde. Das könnte man z.B. durch einen Doppelklick auf die Leiste auslösen, wonach ein großes Fenster aufgeht, worin man den Code hinein kopieren und anschließend auf "Ausführen" o.ä. klickte. Da das dafür nötige Widget ja generell schon da ist und man statt dem Semikolon einfach nur ein \n als Trennzeichen der Befehle hat, sollte der Aufwand nicht allzu groß sein.


Ich habe mich nicht tief in FHEMWEB eingearbeitet und weiß daher nicht, wo ich hinfassen muss für einen Patch. Vielleicht geht es ja jemand anderem leicht von der Hand, der die Idee auch gut findet.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Loredo

#2
Das ist zwar auch interessant, ist aber nicht das, was ich mir als Input vorstelle.


André stellt dort den kompletten Device-Zustand mit her. Das ist gut fürs debuggen, aber nicht, wenn man reine Konfigurationen miteinander teilt. Hier im Forum werden dazu die Ausschnitte aus der fhem.cfg geteilt oder (noch häufiger) die direkten FHEM-Befehle in ihrer Abfolge (was ja quasi das gleiche ist wie fhem.cfg, allerdings ohne die Quotes und das macht da ne Menge aus).


Ich stelle mir also vor, dass man entweder 1-zu-1 einen Abschnitt aus einer fhem.cfg inkl. der Quotes (oder eben die Befehlsfolge wie man sie nacheinander in die FHEM-Befehlszeile eingeben würde) in ein Fenster pasten kann statt es dann Zeile für Zeile copy&pasten zu müssen.


Hier im Forum und auch im Wiki gibt es eben häufig Vorlagen und Templates, die man manchmal einfach zunächst wie sie sind übernehmen möchte. Es sparte dabei viel Zeit, wenn man da so eine Eingabemöglichkeit hätte.










Als nächsten Schritt hätte ich aber in der Tat auch gedacht, dass man ein bestehendes FHEM-Device einfach über einen Link exportiertbar machen sollte (sprich die Definition aus der fhem.cfg mit oder besser ohne die Quotes anzeigen lässt), so dass man den exakten Text auf der anderen Seite dann wieder nur pasten muss und das Gerät ist wieder das gleiche.
Das Json2-Format ist dafür halt nicht das, was man schön lesen kann und gewohnt ist. Allerdings sollte das auch in einem Developer-Debug-Modus als Json2 möglich sein. Dann hätte man beides: Einmal mit dem gesamten Devicestatus und einmal nur die reine Device Definition und deren Attribute.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Ich habe als ersten Schritt mal einen neuen Befehl "exportdevice" eingecheckt, den man auch schon manuell ausführen kann. Eine schicke Verlinkung in der Deviceansicht in FHEMWEB, die ein Popup mit dem Ergebnis öffnet, fehlt noch. Damit wäre der Export-Teil so wie ich es meinte.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

marvin78

Das kann man mit Telnet schon lange machen. Wenn es mal nötig sein sollte, einen ganzen Konfigurationsabschnitt einzugebeben, ist es sicher kein Problem Telnet dafür für verwenden. Viele Fälle kann es allerdings nicht geben, da Copy & Paste ohnehin nicht empfohlen ist. Eher empfiehlt man nachzudenken und dann macht man es ohnehin besser Zeile für Zeile.

Loredo

Hallo Marvin,


du hast recht, über Telnet funktioniert das sicherlich schon, ist aber doch etwas umständlich für den Anwendungsfall extra ein Telnet Fenster öffnen zu müssen.


Das ganze Zeile für Zeile zu tun bliebe ja erhalten. Oder meinst du wirklich, dass jemand, der nicht nachdenken möchte es doch tut, nur weil er gezwungen bleibt jede Zeile einzeln kopieren zu müssen statt alle auf einmal? Ich glaube eher weniger.


Zumal man das "nachdenken", wie du es nennst, manchmal auch einfach in einem Texteditor macht - sprich dort seine Änderungen vornimmt, die man vielleicht braucht (z.B. anderer Gerätenamen o.ä.). Da hätte ich anschließend gerne die Möglichkeit einfach alle Befehle direkt im Browser hintereinander abzufeuern. Gäbe es dafür ein mehrzeiliges Fenster mit Codemirror in FHEM, könnte ich mir den externen Editor sogar sparen und könnte das komplett in FHEM bearbeiten, bevor ich dann auf "Ausführen" klicke.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

FunkOdyssey

Ich finde die Idee ganz super.
Ich habe das relativ oft, dass ich ganze Geräte temporär rausnehmen muss.
Nach einer RasPi-Neuinstallation passiert mir das häufig, dass ich einzelne Geräte erst einmal rauslassen muss und diese dann sukzessive einfügen muss (Stichwort: fehlende Pakete blockieren fhem.pl-Start).

Ich habe aber keine Lust jedesmal die fhem.cfg zu bearbeiten und würde gerne ein ganzes Device einfügen. Bis dato habe ich noch nicht herausgefunden wie das geht. Per Telnet ist unglücklich, da ich nicht immer Telnet verfügbar habe.

Ein "importdevice" wäre demnach echt ein super Feature. Auch wenn es Profis anders machen würden. :)

Loredo

Zitat von: Loredo am 22 August 2016, 01:42:52
Eine schicke Verlinkung in der Deviceansicht in FHEMWEB, die ein Popup mit dem Ergebnis öffnet, fehlt noch.


Einen dafür passenden Patch für FHEMWEB habe ich gerade hier bereitgestellt.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

micomat

cool :) als ich den Wunsch seinerzeit vorgetragen habe würde ich nur mit Unverständnis belohnt
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

Loredo

wie du im anderen Thread siehst ist das hier kaum anders


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

micomat

so wird FHEM die Massen begeistern. mit Telnet...  :o
jetzt kommt wieder "nicht die Zielgruppe bla..."

Danke für den Patch. werde ich mal tesen :)
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

marvin78

FHEM will und wollte nie "die Massen begeistern". Und wie man im anderen Thread nachlesen kann, ist das ganze noch nicht richtig durchdacht.

micomat

wir machen es uns mit fhem leichter zB mehrere Lampen auf einmal zu schalten. wieso also nicht den Weg dorthin auch vereinfachen? das es umständlich auch geht ist kein Argument es nicht zu verbessern
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

micomat

Mal mein Senf zur Diskussion im Development Bereich in dem ich leider nicht senfen kann:

Wer heute noch sagt: "das geht ja per telnet", der lebt IMHO irgendwo zwischen 1970 und 1990. Heute ist telnet einfach nur alt, ueberholt und ueberfluessig. Es ist weder sicher noch ist es bei einer Standard Windows Installation noch enthalten. In Zeiten von "assume compromise" noch auf unverschluesselte Administrationstools zu setzen halte ich fuer bedenklich, wenn nicht gar fuer gefaehrlich.

Markus
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

rudolfkoenig

Die Argumente ignorieren fuer mich zu viele Wenns und Abers:
- wenn ich telnet an das lokale FHEM mache, dann ist die nicht vorhandene Verschluesselung egal.
- wenn ich telnet in meinem lokalen Netz durchfuehre, und das abgehoert werden kann, dann ist entweder mein HA Server oder mein Client gehackt. In beiden Faellen hilft eine "sicherere" Verbindung zwischen Client und HA Server nicht.
- aber ich verbinde mich doch nicht von aussen per telnet direkt mit meinem FHEM Server: dazu nutze ich SSH oder VPN.
- aber die FHEM telnet Schnittstelle beherrscht auch SSL.
- aber FHEM ist eigentlich gar nicht fuer Windows User gebaut worden

Heisst nicht, dass ich die Code-Schnipsel Uebernahme fuer Endanwender nicht erleichtern will.
Ich habe nur was gegen allgemeine Behauptungen, die nicht oder nur in speziellen Faellen zutreffen.