Hallo zusammen,
bin grad tierisch verwirrt und poste es deshalb auch im Anfängerforum weil ich mir sicher bin, dass es ein Anfängerfehler ist, den ich mache:
Ich habe (wie bereits schon 2x funktionierernd) die Vorlage myUtilsTemplate.pm genommen dort dann
sub
myGarden_Initialize($$)
{
my ($hash) = @_;
}
eingesetzt und diese Datei als 99_myGarden.pm gespeichert. Soweit so gut... eine TestSub bestätigte auch das Vorhandensein der Datei und die Funktion
sub garden($){
my ($dev) = @_; # device
Log(1, " ---garden aufgerufen --$dev--");
}
Ergab die ausgabe
2020.06.27 12:36:00.559 1 : ---garden aufgerufen --Rollo_EG_WZ_MAR_markise--
Allerdings wird sie bei EditFiles nicht angezeigt ? ??? Die anderen beiden Dateien, die ich früher mal angelegt habe sind hingegen weiterhin vorhanden und funktionieren auch wie gehabt. Diese hingegen wird bei Edit Files nicht angezeigt.
Wenn ich im Raspberry schaue, ist die Datei auch vorhanden: -rw-r--r-- 1 fhem dialout 483 Jun 27 10:25 99_myGarden.pm. Was mich ein wenig verwundert ist, dass die Dateien scheinbar mit unterschiedlichen Rechten angelegt werden:
-rw-r--r-- 1 fhem dialout 483 Jun 27 12:45 99_myGarden.pm
-rw-r--r-- 1 fhem dialout 13790 Mai 17 14:21 99_myUtilsChatbot.pm
-rwxr--r-- 1 fhem dialout 12728 Jun 15 01:53 99_myUtils.pm
-rwxr--r-- 1 fhem dialout 4582 Mai 29 23:36 99_roommateUtils.pm
Garden / Chatbot wurden mit rw r r angelegt die anderen beiden rwx r r - obwohl alle auf die gleiche Art und weise angelegt wurden. (Template - anlegen der xxxx_Initialize und saveAS)
Würde mich sehr freuen, wenn mich jemand von dem Schlauch auf dem ich stehe schubsen könnte ... finde einfach nicht was falsch gelaufen ist :(
Vielen Dank im Voraus
Grüße
Andreas
Falscher Dateiname, die gültige regexp lautet im Standard in etwa 99_.*Util.pm
Also zum Beispiel
99_testUtil.pm
99_gardenUtil.pm
Es gibt auch Attribute, mit dem man die Dateiliste beeinflussen kann, aber das ist eher was für Spezialfälle. So kompliziert muss man es hier nicht machen.
WOW die Antwort war jetzt schneller als die Polizei erlaubt .... Arghs ... danke betateilchen .. ich wusste es ist irgendwie ein Deppenfehler *schäm*
Aber warum wurde / wird meine 99_myUtilsChatbot.pm dennoch angezeigt ? (das war ja genau das was mich verwirrt hat)
Danke nochmal für die super schnelle Antwort :)
VG
Andreas
Zitat von: flummy1978 am 27 Juni 2020, 13:15:54
Aber warum wurde / wird meine 99_myUtilsChatbot.pm dennoch angezeigt
weil sie mit 99_ beginnt und den Bestandteil Util enthält.
meine obige Antwort
Zitat von: betateilchen am 27 Juni 2020, 13:04:03
die gültige regexp lautet im Standard in etwa 99_.*Util.pm
enthält die rot markierte Unschärfe (auf die ich vorhin nicht näher eingehen wollte.
genaugenommen lautet die regexp [0-9][0-9].*Util.*pm es darf also nach "Util" auch noch weiterer Text im Namen stehen.
Noch genauer:
- Selbst die Zahl 99 ist beliebig, Du kannst auch jede andere zweistellige Nummer verwenden.
- Die 99 hat allerdings eine Spezialfunktion, die dafür sorgt, dass die Datei beim FHEM Start automatisch geladen wird.
@betateilchen: führt die 99 auch dazu, dass beim save das Modul automatisch neu geladen wird? Oder betrifft das nur 99_myUtils ?
Module mit 99_ am Anfang werden neu geladen, wenn die Bearbeitung über "Edit files" durchgeführt wurde und die Syntaxprüfung beim Abspeichern keine Fehler in der Datei festgestellt hat.
Zitat von: betateilchen am 27 Juni 2020, 16:12:51
weil sie mit 99_ beginnt und den Bestandteil Util enthält.
meine obige Antwort
Zitatdie gültige regexp lautet im Standard in etwa 99_.*Util.pm
enthält die rot markierte Unschärfe (auf die ich vorhin nicht näher eingehen wollte.
Das war das was mich da so verwirrt hatte: Ich war der Meinung die Reihenfolge XX_.*Util.pm ist vorgegeben und eben XX_Util.*.pm davon ausgenommen wäre, dem ist aber nicht so :)
Also Haken drunter und wieder was gelernt 8)
Dankeschön nochmal
Grüße
Andreas