FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Thyrador am 21 Oktober 2016, 10:38:48

Titel: [gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 10:38:48
Das Problem treibt mich noch in den Wahnsinn. Ich hoffe ihr könnt mir hierbei helfen.

Wenn ich meinen RPi, auf dem FHEM 5.7 läuft, aus welchen Gründen auch immer neu starten muss, so werden sämtliche Subs nach dem Neustart einfach nicht ausgeführt, wenn ich eine Entsprechende Aktion ausführe.
Fehler im Log konnte ich keine finden.

Sobald ich die 99_myUtils.pm innerhalb von FHEM öffne und wieder speichere, funktioniert alles wieder wie es soll.

Hat jemand ne Ahnung, was hier das Problem sein könnte?
Titel: Antw:Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: rudolfkoenig am 21 Oktober 2016, 10:47:34
Na subs werden ja beim Start auch nicht ausgefuehrt, sondern nur definiert, und stehen zur Verfuegung.

Ich wuerde in fhem.pl / doGlobalDef "global verbose 3" auf 5 aendern, FHEM neu starten, und das Log pruefen. Und/oder im 99_myUtils.pm ausserhalb der subs
Log 1, "This is myUtils";
reinschreiben, und schauen, ob die Meldung beim Starten im Log auftaucht.
Titel: Antw:Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 10:52:11
Danke für die schnelle Antwort :)

Du hattest mich aber falsch verstanden: Nach dem Neustart sollen die Subs ja nicht ausgeführt werden, sondern wenn z.B. über ein Notify ein Sub aufgerufen wird. Das passierte bisher nicht, wenn ich die myUtils nicht noch einmal neu gespeichert hatte.

Ich stelle mal das Verbose-Level um und schaue, was dann das Log ausspuckt
Titel: Antw:Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 10:58:45
2016.10.21 10:55:17 0: Server shutdown
2016.10.21 10:55:20 5: Loading ./FHEM/99_AlarmClock.pm
2016.10.21 10:55:20 5: Loading ./FHEM/99_SUNRISE_EL.pm
2016.10.21 10:55:20 5: Loading ./FHEM/99_Utils.pm
2016.10.21 10:55:20 5: Loading ./FHEM/99_myUtils.pm
2016.10.21 10:55:20 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 14.
2016.10.21 10:55:20 1: PERL WARNING: Subroutine Aufstehen redefined at ./FHEM/99_myUtils.pm line 57.
2016.10.21 10:55:20 1: PERL WARNING: Subroutine WeckerStellen redefined at ./FHEM/99_myUtils.pm line 148.
2016.10.21 10:55:20 1: This is myUtils
2016.10.21 10:55:20 1: Including fhem.cfg
2016.10.21 10:55:21 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_AlarmClock.pm line 15, <$fh> line 7.
2016.10.21 10:55:21 1: PERL WARNING: Subroutine Aufstehen redefined at ./FHEM/99_AlarmClock.pm line 25, <$fh> line 7.
2016.10.21 10:55:21 1: PERL WARNING: Subroutine WeckerStellen redefined at ./FHEM/99_AlarmClock.pm line 36, <$fh> line 7.


Danach kommt das Übliche Gedöns, welche Geräte geladen werden, usw.
Ich erinnere mich dunkel die Warnungen aber schonmal, mit dem 3er Verbose-Level gesehen zu haben.


EDIT: lass mich raten: Die Warnungen werden das Problem sein, weil es dieses Modul AlarmClock jetzt gibt und meine Subs aushebelt, oder?
Solange bis ich sie eben überschreibe.

EDIT2: Ja, das war das Problem... Mein Fehler, ich geh in die Ecke, mich schämen :D
Ich bin mir nicht mal sicher, wie die 99_AlarmClock.pm da hin kommt. Aber evtl hatte ich da mal was versucht und wieder vergessen.

Danke trotzdem für die Hilfe :)
Titel: Antw:Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: rudolfkoenig am 21 Oktober 2016, 11:06:07
AlarmClock kenne ich nicht, klingt so, als ob es nicht perfekt mit 99_myUtils harmoniert.
Viellecht untersuchst mal beide Dateien genauer.
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 11:08:40
Ich erinnere mich dunkel, dass ich die mal auslagern wollte. Also die ganze Apparatur, für den Wecker.
Aus irgend einem Grund hat das aber gar nicht gegriffen.

Jetzt, nachdem ich die Datei gelöscht habe, funktioniert auch alles nach dem Neustart wieder problemlos.

Aber wenn ich schonmal dabei bin: Kann man sich denn nicht auch selbst solcherlei Module basteln, die dann nicht in der myUtils stehen, sondern eben in einer eigens dafür angelegten Script-Datei?
Wenn ja, muss ich da noch irgendwo Referenzen setzen, damit das geht?
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: rudolfkoenig am 21 Oktober 2016, 11:17:46
Funktionen in unterschiedliche Module hast du ja schon gepackt, du musst nur dafuer sorgen, dass in den beiden Dateien die Funktionen unterschiedlich heissen, sonst ueberschreiben die in der Zweiten die in den Ersten, und es regnet Warnungen.

Wenn du weitere Funktionalitaeten des Frameworks nutzen willst (define/notify/etc), dann musst du Funktionen im Initialize Funktion des Moduls anmelden (DefineFn/NotifyFn/usw, siehe die anderen Module). Achtung: der Name dieser Funktion muss $Modulname."_Initialize" sein.

Wenn der Dateiname nicht mit 99 anfaengt, dann wird sie erst geladen, wenn ein passendes "define" ausgefuehrt wird.
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 11:23:07
ZitatAchtung: der Name dieser Funktion muss $Modulname."_Initialize" sein.

Das war mein Problem, wieso das Script außerhalb der myUtils nicht funktionierte! Das scheint jetzt auch super zu klappen, auch nach dem Neustart.

Letzte Frage, hierzu, um die Verwirrung bei mir zu lösen: gibt's ne Möglichkeit, dieses eigenständige Script dann auch unter dem Menüpunkt "Edit Files" aufzulisten? So kann ich das ggf. auch mal schnell am Browser bearbeiten und muss mich nicht immer erst zwingend auf den Pi aufschalten.

Also dass meinetwegen recht weit oben auch die 99_AlarmClock.pm aufgeführt wird?
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: DeeSPe am 21 Oktober 2016, 11:34:06
Zitat von: Thyrador am 21 Oktober 2016, 11:23:07
Also dass meinetwegen recht weit oben auch die 99_AlarmClock.pm aufgeführt wird?

Nenne sie 99_myUtilsAlarmClock.pm, dann erscheint sie auch unter "Edit files".

Gruß
Dan
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 11:42:03
Super, ich danke euch.
Finde ich zwar von der Namensgebung her jetzt nicht ganz so schick, soll ja aber auch keinen Schönheitspreis gewinnen :D
Es funktioniert und ist in der Liste, das ist das wichtigste.

Vielen Dank :)
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: herrmannj am 21 Oktober 2016, 11:51:12
99_myAlarmClock.pm müsste auch gehen. Muss nur mit 99_my.. beginnen.

vg
joerg
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: Thyrador am 21 Oktober 2016, 11:56:47
Ohne Utils ging's leider nicht. Das hat er dann nicht angezeigt.
Titel: Antw:[gelöst] Nach Neustart 99_myUtils.pm ausser Funktion
Beitrag von: herrmannj am 21 Oktober 2016, 13:18:44
dann hat meine Erinnerung mich betrogen und ich bitte um Nachsicht  :)

vg
joerg