[98_Installer.pm] FHEM Installer Helfer-Modul

Begonnen von Loredo, 10 März 2019, 15:44:54

Vorheriges Thema - Nächstes Thema

Loredo

Zitat von: Esjay am 18 März 2019, 09:26:47
Mein erster Gedanke ging dahin, ob es nicht möglich wäre einfach alle benötigten Abhängigkeiten auf einen Schlag installieren zu lassen.

Siehe hier:

Zitat von: Loredo am 13 März 2019, 17:24:38Über den Telnet Zugang soll das ganze auch scriptbar sein. Ziel ist dabei dann, dass man ein FHEM Docker Image haben kann, welches nur eine sehr rudimentäre Systemumgebung direkt mitbringt und beim ersten Start des Containers dann automatisch die fehlenden Pakete, die für die mitgebrachte fhem.cfg notwendig ist, installiert.


Das gilt selbstverständlich dann nicht nur für eine Docker Umgebung, warum 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

Loredo

#16
Mit dem morgigen Update kommt nun endlich die lang ersehnte Total Übersicht über alle fehlenden Perl Pakete.
Über den Getter "checkPrereq" kann man entweder das Live System untersuchen lassen oder alternativ eine FHEM Konfigurationsdatei angeben, die ausgewertet werden soll. Außerdem kann man auch eine mit Leerzeichen getrennte Liste von Modulnamen explizit übergeben.


Neu ist außerdem das Attribut installMode, welches derzeit jedoch lediglich die FHEMWEB GUI etwas aufräumt.
Im developer Modus sind alle Get Kommandos sichtbar.
Im update oder install Modus sind nur getPrereq, search und showModuleInfo sichtbar.
getPrereq wird im install Modus mit einer Liste der *.cfg Dateien im FHEM Verzeichnis vorbelegt. Im update Modus sind keine Parameterangaben möglich.
Standard-Modus ist 'update'.


Natürlich sind trotzdem alle Kommandos über die direkte Texteingabe verfügbar.


Wer den Install Modus ausprobieren möchte, kann - wie hier erwähnt - FHEM auch mit der dortigen fhem.cfg.install in einem "Installations-Minimalmodus" starten und dann darüber die fhem.cfg entsprechend auswerten lassen.


Damit dürfte der Installer nun tatsächlich bereits einen Mehrwert bieten, auch wenn die Installation der fehlenden Abhängigkeiten noch nicht automatisch funktioniert.  :)
Auch wenn dann noch andere Abhängigkeiten wie z.B. auch für Node.js in der Anzeige fehlen...


Einen tiefen Einblick in die Struktur von FHEM bietet die Suchfunktion allemal.


Apropos: Unbemerkt seit einigen Tagen gibt es jetzt auch das FHEM-Kommando "search", welches man in der Kommandozeile eingeben kann und welches dann den search-Setter des Installers bemüht. So kann man von überall aus recht schnell FHEM durchsuchen und zu Devices oder Modulen navigieren. Bestrebungen die Suche besser in die Kommandozeile in FHEMWEB intrgrierbar zu machen, gibt es hier in einer separaten Diskussion (votes welcome).
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

Zitatdie FHEMWEB GUI etwas aufräumt.
Was genau heisst das (fuer mich als Maintainer)?

Loredo

Nichts spezielles auf das FHEMWEB als Modul bezogen.
Es ist in der CommandRef beschrieben:


installerMode - sets the installation mode. May be update, developer or install with update being the default setting. Some get and/or set commands may be hidden or limited depending on this.



Dient also lediglich der besseren Übersicht in der Detailansicht des Installer Devices in FHEMWEB.
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

rico5588

Moin,

Danke mal an dieser Stelle fürs Modul.
Hat mir als Laie schon lange gefehlt.
Zeigt mir auch einen "Tipp" zum nachinstallieren von "Perl::PrereqScanner::NotQuiteLite" und ich weiß nicht wie!
Fände es Hilfreich wenn es gleich im Tooltip Stände wie man es behebt.
... apt-get install ....
Danke
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

knopf_piano

glückwunsch. gefällt mir sehr gut!

Gesendet von meinem SM-J510FN mit Tapatalk

zotac nano mit proxmox und ganz viel zeug drauf

Loredo

Zitat von: rico5588 am 30 März 2019, 08:46:11
Zeigt mir auch einen "Tipp" zum nachinstallieren von "Perl::PrereqScanner::NotQuiteLite" und ich weiß nicht wie!
Fände es Hilfreich wenn es gleich im Tooltip Stände wie man es behebt.
... apt-get install ....


Ein Tooltip lohnt nicht. Wie hier zuvor schon erwähnt ist das erklärte Ziel, dass es einen Installations-Button gibt.
Den Debian Paketnamen abzuleiten ist nicht immer trivial, weil nicht zu 100% vorhersagbar. Das Perl Paket über cpanminus (Befehl "cpanm <PAKETNAME>") ist aber universell (und auf der verlinkten metacpan.org-Seite sogar unter dem dortigen Menüpunkt "Install Instructions" versteckt  ;D ).
Versuchen werde ich, dass man bevorzugt Debian Pakete installieren kann (weil vorkompiliert) und ein Fallback auf cpanm stattfindet.


Die Installation von Perl Paketen mittels cpanm wird direkt in den Installer eingebaut werden, weshalb das wahrscheinlich auch zuerst verfügbar sein wird. Andere Paketarten wie beispielsweise auch NPM (u.a. für das alexa-fhem Modul) haben ein eigenes FHEM Modul, was sich darum kümmert. Hier ist noch etwas Pionierarbeit erforderlich um herauszuarbeiten, wie die FHEM Devices sich untereinander unterhalten sollen, um die Installation dorthin auszulagern und den Status abzufragen.
Das npmjs-Modul wird hierzu zunächst eingefügt, auch weil es ebenfalls von mir verwaltet wird.
Für die Debian Paketinstallation wird es wahrscheinlich dann nach gleichem Vorbild ein neues Modul geben - das vorhandene AptToDate Modul von CoolTux ist vom Namen her allein schon nicht geeignet (und kann auch noch gar keine Install/Uninstall Befehle) und auch wenn das npmjs Modul es mal zum Vorbild genommen hat, so unterscheidet es sich doch inzwischen maßgeblich.


Alles in allem noch sehr viel Arbeit  :'(

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

#22
PS: Derweil noch ein Zwischenupdate für diejenigen, die es in den letzten Tagen nicht aus dem Update heraus mitverfolgt haben:


- das Look&Feel ist nun weitestgehend mit dem Rest von FHEM einheitlich (Ausnahme sind in manchen FHEMWEB Frontend Styles die Überschriften, siehe Entwickler-Diskussion dazu hier).
- das Backend wurde komplett neu geschrieben, um Darstellung und interne Verarbeitung besser zu trennen. Dies ist Voraussetzung für den später angedachten Installationsweg über ein Shellscript.
- Vererbungen werden besser verarbeitet und sind nun auch grafisch gekennzeichnet
- bei Verwendung der Suche gibt es jetzt ein Formularfeld über dem Suchergebnis, durch welches man die Suche schnell und einfach abändern und erneut absenden kann (siehe Screenshot)




Achso, speziell für meinen Freund Marko:  ;D
Es geht deutlich mehr, als gestern in deinem Webcast gezeigt. Das Style ist etwas unglücklich gewählt, da sieht man die ganzen Verlinkungen nicht ;-)
Die Tooltips bei Keywords und dem Forum Link sind dir wohl noch nicht aufgefallen. Den search-Befehl hattest du vergessen.
Man kann wirklich eine ganze Menge erfahren, aber natürlich musst du dafür auch mal Perl::PrereqScanner::NotQuiteLite installieren  :P
Achso: Wie man den Entwickler-Modus über das Attribut installerMode steuert, hast du wohl auch übersehen?  8)
Man kann neben dem Live-System natürlich dann auch jede beliebige fhem.cfg Datei untersuchen und sich anzeigen lassen, was speziell für diese auf dem System fehlt.
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

Zitat von: Loredo am 02 April 2019, 16:42:14
PS: Derweil noch ein Zwischenupdate für diejenigen, die es in den letzten Tagen nicht aus dem Update heraus mitverfolgt haben:


- das Look&Feel ist nun weitestgehend mit dem Rest von FHEM einheitlich (Ausnahme sind in manchen FHEMWEB Frontend Styles die Überschriften, siehe Entwickler-Diskussion dazu hier).
- das Backend wurde komplett neu geschrieben, um Darstellung und interne Verarbeitung besser zu trennen. Dies ist Voraussetzung für den später angedachten Installationsweg über ein Shellscript.
- Vererbungen werden besser verarbeitet und sind nun auch grafisch gekennzeichnet
- bei Verwendung der Suche gibt es jetzt ein Formularfeld über dem Suchergebnis, durch welches man die Suche schnell und einfach abändern und erneut absenden kann (siehe Screenshot)




Achso, speziell für meinen Freund Marko:  ;D
Es geht deutlich mehr, als gestern in deinem Webcast gezeigt. Das Style ist etwas unglücklich gewählt, da sieht man die ganzen Verlinkungen nicht ;-)
Die Tooltips bei Keywords und dem Forum Link sind dir wohl noch nicht aufgefallen. Den search-Befehl hattest du vergessen.
Man kann wirklich eine ganze Menge erfahren, aber natürlich musst du dafür auch mal Perl::PrereqScanner::NotQuiteLite installieren  :P
Achso: Wie man den Entwickler-Modus über das Attribut installerMode steuert, hast du wohl auch übersehen?  8)
Man kann neben dem Live-System natürlich dann auch jede beliebige fhem.cfg Datei untersuchen und sich anzeigen lassen, was speziell für diese auf dem System fehlt.

Dann sollten wir bei passender Gelegenheit mal ein Webinar über den Installer machen. Wie das geht weißt Du ja mein Lieber  ;D

Aber Du hast Recht, ich habe in der Tat nur ganz kurz an der Oberfläche gekratzt um einen kleinen Einblick den Usern zu geben.



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

enno

Könnt ihr mir mal einen Tip geben, wie ich den "Hint" bei Rasbian umsetze. Ich kann zu dem "Perl::PrereqScanner::NotQuiteLite" irgendwie nichts finden....

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Loredo

sudo cpanm Perl::PrereqScanner::NotQuiteLite
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

Zitat von: Loredo am 02 April 2019, 17:26:45
sudo cpanm Perl::PrereqScanner::NotQuiteLite

cpanm Perl::PrereqScanner::NotQuiteLite
bash: cpanm: Kommando nicht gefunden.


Das wird wohl so einfach nicht gehen.
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

enno

Ich hatte ja auf etwas in der Form apt install ... gehofft. cpanm ging aber auch.

Building and testing Perl-PrereqScanner-NotQuiteLite-0.9904 ... OK
Successfully installed Perl-PrereqScanner-NotQuiteLite-0.9904
8 distributions installed


Danke!

Gruss
  Enno

Einfacher FHEM Anwender auf Intel®NUC

Loredo


Naja, wer cpanminus nicht schon installiert hat, hat die Kontrolle über seinen Server verloren [emoji51]


sudo apt-get install cpanminus && sudo Perl::PrereqScanner::NotQuiteLite
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

Wzut

Ich habe mir das Modul in meiner Testumgebung definiert und mir ist folgendes aufgefallen :
Suche nach mir selbst mittels get <name> search Wzut :
a. werde ich sowohl als wzut als auch als Wzut gelistet -> mein Fehler da einmal falsche Schreibweise in MAINTAINER.txt
b. wird jedes Modul von mir zweimal gelistet
c. das Modul FHEM/98_UbiquitiPM.pm wird nicht gelistet obwohl es direkt unter FHEM/98_UbiquitiOut.pm steht,
ebenso werden wohl Einträge unterhalb contrib/ nicht berücksichtigt.
d. bei der Eingabe über die Kommandozeile steht links oben im PopUp <HTML>, aus der Detailansicht aufgerufen passt es.
e. im PopUp stimmt die Position von "total search result" nicht ( nach links verschoben, kann aber auch an meinem Skin liegen )   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher