98_help.pm - fehlerhaftes Regex schließt Dokumentation bzw. commandref aus

Begonnen von HomeAuto_User, 02 Dezember 2020, 18:17:22

Vorheriges Thema - Nächstes Thema

HomeAuto_User

Hallo betateilchen,

ich habe mir mal dein Modul angesehen weil ich auf die Suche gegangen bin, wieso bei bisher einem Modul 10_IT.pm die Commandref nicht angezeigt wird in einem Device nachdem man auf "Device specific help" klickt.
Da erhält man nur Internal command: it

Der Fehler wird hier liegen in Zeile 44.
if($cmds{help}{InternalCmds} !~ m/$mod\,/) {

Du möchtest bestimmt prüfen auf bestimmte Werte, welche Namen ein Modul besitzen darf bzw. was dort nicht zutreffen darf. oder so ähnlich...
Da aber dein gebasteltes Regex auch bei dem Wert it in quit, zutrifft, erfolgt keine Ausgabe der Hilfe.

Hilfsausgaben zur Verdeutlichung:
2020.12.02 11:37:13.035 1: 98_help: IT
2020.12.02 11:37:13.039 1: 98_help: it
2020.12.02 11:37:13.039 1: 98_help: intro,command,devspec,attributes,attr,cancel,define,defmod,delete,deleteattr,deletereading,displayattr,get,include,inform,list,modify,quit,reload,rename,rereadcfg,save,set,setdefaultattr,setreading,setstate,setstate,show,shutdown,sleep,trigger,commands,global,perl,


Sobald du nun dein Regex ändern würdest in
if($cmds{help}{InternalCmds} !~ m/(^|\,)$mod\,/) {
somit sollte deine Bedinung weiterhin erfüllt sein und auch die Commandref wird dann richtig angezeigt weil it nicht mehr auf quit, gematched wird.

Bitte schau es dir mal an und würdest du dies einpflegen?

LG Marco
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

betateilchen

Danke für den Hinweis, das habe ich nun mal so eingebaut und bin gespannt, ob es irgendwelche Nebeneffekte gibt :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!