[98_Installer.pm] FHEM Installer Helfer-Modul

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

Vorheriges Thema - Nächstes Thema

DeeSPe

Zitat von: Loredo am 24 April 2019, 16:24:04
Ohne ein "define" wird die Datei 98_Installer nicht geladen, das ist leider Fakt.

Das ist  mir bewusst.
Vielleicht kannst Du mit erklären woher das define in meiner cfg kommt, denn ich bin mir sicher niemals ein entsprechendes define angelegt zu haben.

Jedenfalls lies die Codezeile mein FHEM wieder starten, aber das Modul wurde deaktiviert.
Zitat2019.04.24 16:35:12.978 1: PERL WARNING: Scalar found where operator expected at ./FHEM/98_Installer.pm line 5384, near "$p$/"
  (Might be a runaway multi-line // string starting on line 5383)
2019.04.24 16:35:12.979 1: PERL WARNING:    (Missing operator before $/?)
2019.04.24 16:35:12.980 1: reload: Error:Modul 98_Installer deactivated:
syntax error at ./FHEM/98_Installer.pm line 5384, near "$p$/"
BEGIN not safe after errors--compilation aborted at ./FHEM/98_Installer.pm line 5407, <$fh> line 911.

2019.04.24 16:35:12.981 0: syntax error at ./FHEM/98_Installer.pm line 5384, near "$p$/"
BEGIN not safe after errors--compilation aborted at ./FHEM/98_Installer.pm line 5407, <$fh> line 911.

2019.04.24 16:35:13.099 1: Including ./log/fhem.save
2019.04.24 16:35:13.115 1: configfile: Cannot load module Installer

Zitat von: Loredo am 24 April 2019, 16:24:04
Wo genau hast du denn gelesen, dass der FHEM Installer (also das Modul "Installer"!) einen Hinweis darauf gibt, wie man es unter Windows verwendet?
Keine Ahnung woher Du das hast, das habe ich niemals behauptet.
Ich war nur verwundert dass ein Modul mein FHEM in die Knie zwingt welches ich nicht als Device definiert habe, aber scheinbar doch irgendwie definiert wurde.

Wird das Device evtl. durch irgendetwas automatisch definiert? So wie globalMsg bei der Erstverwendung von msg?

Gruß
Dan

P.S. Julian, bitte gehe nicht immer davon aus dass ich Dich "blamen" will. Es geht mir darum zu verstehen was passiert und ob es evtl. auch Auswirkungen auf andere User hat.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Loredo

Zitat von: DeeSPe am 24 April 2019, 16:45:55
Vielleicht kannst Du mit erklären woher das define in meiner cfg kommt, denn ich bin mir sicher niemals ein entsprechendes define angelegt zu haben.


Darauf habe ich keine Antwort, es gibt im gesamten FHEM Code keine Anweisung ein solches Device automatisch zu generieren.


Zitat von: DeeSPe am 24 April 2019, 16:45:55
Jedenfalls lies die Codezeile mein FHEM wieder starten, aber das Modul wurde deaktiviert.


Versuch mal noch einen weiteren Backslash \ mit in die Anweisung aufzunehmen.
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

DeeSPe

Zitat von: Loredo am 24 April 2019, 17:06:06
Versuch mal noch einen weiteren Backslash \ mit in die Anweisung aufzunehmen.

Wenn Du so meinst:
$p =~ s/\\/\\\\/g;
Damit startet mein FHEM wieder nicht.

Aber egal, ich werfe das Device einfach aus meiner cfg, ich benötige es sowieso nicht.

Danke für Deinen Hilfeversuch.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Billy

Habe den Installer mal auf meinem Testsystem installiert.
Sieht gut aus. :)
kann es sein, dass mein System dadurch langsamer wird?

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Loredo

Zitat von: Billy am 27 April 2019, 10:18:20
kann es sein, dass mein System dadurch langsamer wird?


Für diese Annahme gibt es keinen Grund. Das reine Vorhandensein des Devices bewirkt lediglich, dass alle paar Stunden in einem Kindprozess die Aktualität von Perl Paketen geprüft wird.
Während der Navigation oder Suche durch FHEM Module werden die Metadaten für diese Module zur Laufzeit analysiert und geladen, sofern das Module während des Starts von FHEM noch nicht aktiv war. Das kann je nach System und Anzahl der gleichzeitig zu analysierenden Module einige Sekunden dauern und ist eine blockierende Aktion. Bei Modulen, die ihre Metadaten selbst bereitstellen, ist keine Analyse notwendig und das laden dauert wenige Millisekunden.
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

steffenp

Hallo,

Habe nach einer Installation eines Perlmoduls immer folgende Meldung im Log:

Can't call method "readFromChild" on an undefined value at ./FHEM/98_Installer.pm line 820.

Fhem ist dann natürlich tot. Fehlt da bei mir noch was?

Gruß


Gesendet von meinem BAH-W09 mit Tapatalk


Loredo

Zitat von: steffenp am 27 April 2019, 14:42:28
Habe nach einer Installation eines Perlmoduls immer folgende Meldung im Log:

Can't call method "readFromChild" on an undefined value at ./FHEM/98_Installer.pm line 820.


Aus irgendeinem Grund stirbt der FHEM Kindprozess anstatt sein Ergebnis noch abrufbar zu haben.
Da bin ich aktuell überfragt.


Was hast du denn installiert und welche Ausgabe kommt, wenn du das manuell über die Linux Kommandozeile tust?
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

steffenp

#67
Kann man das noch irgendwie nachvollziehen was installiert wurde?

Unter anderem Crypt::Rijndael_PP, RiveScript und HTML::TreeBuilder::XPath, wenn ich mich richtig erinnere.

Die Installation hat soweit auch funktioniert, der Prerequisites Check sagt jetzt das alles OK ist.

Folglich sagt cpan auch das die module installiert und aktuell sind.


Was mir auch noch auffällt:

2019.04.27 15:52:39 1: [Freezemon] myFreezemon: possible freeze starting at 15:52:38, delay is 1.071 possibly caused by: tmr-FHEM::Installer::PollChild(fhemInstaller) tmr-FHEM::Installer::PollChild(fhemInstaller) 2019.04.27 15:54:12 2: SubProcess: onRun returned error: Invalid version format (version required) at ./FHEM/98_Installer.pm line 1416.

Folglich ist der State auch: command 'outdatedPerl' in progress
Hier ein List:


Internals:
   FUUID      5c896088-f33f-5091-fe43-e232567568488f6f
   FVERSION   98_Installer.pm:v0.5.3-s19254/2019-04-24 TESTING
   NAME       fhemInstaller
   NOTIFYDEV  global,fhemInstaller
   NR         640
   NTFY_ORDER 50-fhemInstaller
   STATE      command 'outdatedPerl' in progress
   TYPE       Installer
   READINGS:
     2019-04-27 14:31:04   cpanminusVersion 1.7044
     2019-04-27 13:14:53   installedPerl   error
     2019-04-27 14:31:04   perlVersion     5.024001
     2019-04-27 15:53:21   state           command 'outdatedPerl' in progress
Attributes:
   alias      FHEM Installer Status
   devStateIcon fhem.updates.available:security@red:outdated fhem.is.up.to.date:security@green:outdated .*fhem.outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red



roelleke

#68
Hallo,

ich habe heute im Installer-Modul mal wieder 'checkPrereqs' aufgerufen. Es wurde mir angezeigt, das 'Cpanel::JSON::XS' fehlen soll.
Eigentlich sollte es installiert sein. Auf Install gedrückt und einen Moment gewartet. Das Modul meldet dann alles K, Installation erfolgreich, aber 'checkPrereqs' zeigt erneut das 'Cpanel::JSON::XS' fehlt.
Ich habe es dann im Terminal mittels CPAN installiert, aber CPAN meldet, dass schon die neuest Version installiert ist. 'checkPrereqs' glaubt das aber nicht.

Viele Grüße

Loredo

#69
Du musst nach einer Installation aktuell FHEM noch neu starten, damit die Änderung sichtbar ist.
Generell muss man aber FHEM so oder so neu starten, damit die Änderungen auch wirksam werden können.


Bitte auch beachten, dass "Cpanel::JSON::XS" ein "recommended" Paket ist, also es nicht "fehlt", sondern nur optional installiert werden kann. In diesem Fall, um die Performance bei JSON zu verbessern.
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

roelleke

Hallo,
danke für die schnelle Antwort. Nach dem Neustart ist nun alles OK. Darauf hätte ich auch selber kommen können, aber manchmal sieht man einfach das naheliegende nicht.

GlennDandy

Ich glaub ich steh auf den Schlauch. Bei mir sind alle Module installiert.

Aber der Installer meldet als Status immer    
error 'getCpanVersion'.
Weis jemand rat?

Loredo

Was sagt denn der Get Befehl um dir die Fehlermeldung anzusehen?
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

GlennDandy

Forbidden - passwordless sudo permissions required

Detail:
sudo: a password is required

You may add the following lines to /etc/sudoers.d/fhem:
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/cpanm *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/perl - App\:\:cpanminus


Ziemlich selbst erklärend.

Loredo

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