[Patch] Implizites Default Kommando in FHEMWEB

Begonnen von Loredo, 24 März 2019, 14:16:52

Vorheriges Thema - Nächstes Thema

Loredo

Anbei ein kleiner Patch für fhem.pl (Funktionserweiterung in AnalyzeCommand() ) und FHEMWEB (Attribute + CommandRef).


Dieser ermöglicht, dass man in einer FHEMWEB Instanz über das Attribut implicitDefaultCommand ein Standard FHEM Kommando hinterlegen kann, an welches dann die Eingaben in der Kommandozeile in FHEMWEB umgeleitet werden. Man kann über das Attribut implicitDefaultCommandMethod steuern, ob in FHEM bekannte Kommandos erhalten bleiben sollen (Einstellung 'fallback') oder trotzdem überschrieben werden (Einstellung 'always'). Im Falle von 'always' hat man trotzdem die Möglichkeit noch das Kommando aufzurufen, indem man am Ende des Kommandos und vor der Parameterangabe ein Ausrufezeichen setzt.


Essentielle FHEM interne Kommandos wie set/get/attr, etc. werden immer ausgeführt (Quelle dafür ist $cmd{help}{InternalCmds} aus dem help-Modul).


Ich habe das ganze mit dem search-Kommando getestet und konnte erstmal keine Auffälligkeiten feststellen.


Habe ich hier Inkompatibilitäten übersehen? Falls nein, dann fände ich es prima, wenn die Möglichkeit bestünde diesen Patch zu übernehmen.






EDIT: fhem.pl Patch ergänzt, um das help-Kommando als Ausnahme hinzuzufügen.
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

rudolfkoenig


Loredo

Mit dieser Funktion kann man in FHEMWEB beispielsweise "search" als Standard Fallback-Kommando setzen und so in Google-ähnlicher Weise schnell FHEM durchsuchen. Man erspart sich dabei explizit das entsprechende Kommando voranzustellen, ähnlich wie man bei einer Suchmaschine auch kein "suche mir" voranstellen muss.


Damit es nicht auf ein einzelnes Kommando beschränkt ist, ist der Patch generalisiert.
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

CoolTux

Ich muss gestehen ich hatte für etwas noch nie einen passenden Anwendungsfall.
Es würde also wenn dann ein Wort ersparen? In Deinem Beispiel "help"?

Gab es da seitens der User mal eine Anfrage bei Dir?
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

Loredo

Ja, von mir selbst als "User"  ;D
Ich würde gerne schneller in FHEM navigieren können und eine Suche hilft ungemein dabei. Jedes Mal "search" (oder "sear") davor einzugeben ist recht nervig (finde ich).
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

CoolTux

 ;D  Verstehe. Ok. Muss Dir aber ganz ehrlich sagen, sollte mich jemand fragen, ich müsste sagen das ich es nicht benötige (benötigt habe).
Aber vielleicht gibt es ja auch User die Interesse und Nutzen finden.


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

Loredo

Naja, beispielsweise wäre es im FHEM Installer im Installations-Modus hilfreich, wenn man die Kommandozeile dort einfach zu einer Suchleiste umfunktionieren könnte.
In diesem Modus braucht man eigentlich gar keine Kommandozeile. Aber da sie immer da ist, wenn man sie eingeblendet lässt, ist sie ein prima Werkzeug, um schnell nach einem Modul zu suchen. Der Patch ist auch so geschrieben, dass FHEM Kommandos wissen können, ob sie durch ein umgeleitetes Kommando angesprochen wurden und welches das ursprüngliche Kommando war. Ich habe dafür im FHEM Installer hier bereits eingebaut, dass dieser dann im Suchergebnis anbietet, dass man das ursprüngliche Kommando ausführen kann und auch einen Hinweis auf das help-Kommando gibt (so wie auch ohne das implizite Kommando sonst auch).
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

betateilchen

Ein Installer Modul in FHEM erinnert mich irgendwie an die App, mit der man Funklöcher im Mobilfunknetz melden soll...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Loredo

Du meinst das Henne-Ei-Problem?
Das ist schon gelöst (zumindest im Falle des FHEM Installers).
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

betateilchen

Grundsätzlich kann ich noch keinen zwingenden Grund erkennen, die Eingabezeile im FHEM Frontend zu etwas anderem zu machen / machen zu können als zu einer Befehlszeile.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!