From 6a2c2a8af3983feb91e4b9dae8da1e58f3893078 Mon Sep 17 00:00:00 2001 From: betateilchen <> Date: Fri, 20 Feb 2015 16:50:20 +0000 Subject: [PATCH] 98_help.pm: add support for "help global" git-svn-id: https://svn.fhem.de/fhem/trunk@8045 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_help.pm | 87 +++++++++++++++++++----------- fhem/docs/commandref_frame.html | 4 +- fhem/docs/commandref_frame_DE.html | 3 +- 3 files changed, 61 insertions(+), 33 deletions(-) diff --git a/fhem/FHEM/98_help.pm b/fhem/FHEM/98_help.pm index d200109d6..07cd8e921 100644 --- a/fhem/FHEM/98_help.pm +++ b/fhem/FHEM/98_help.pm @@ -21,41 +21,66 @@ sub CommandHelp { $lang = (lc($lang) eq 'de') ? '_DE' : ''; if($mod) { + $mod = lc($mod); - my %mods; my $modPath = AttrVal('global','modpath','.'); - my @modDir = ("$modPath/FHEM"); - foreach my $modDir (@modDir) { - opendir(DH, $modDir) || die "Cant open $modDir: $!\n"; - while(my $l = readdir DH) { - next if($l !~ m/^\d\d_.*\.pm$/); - my $of = $l; - $l =~ s/.pm$//; - $l =~ s/^[0-9][0-9]_//; - $mods{lc($l)} = "$modDir/$of"; - } - } + my $output = ""; - return "Module $mod not found" unless defined($mods{$mod}); + if($mod ne 'global') { + my %mods; + my @modDir = ("$modPath/FHEM"); - my $output = ""; - my $skip = 1; - my ($err,@text) = FileRead({FileName => $mods{$mod}, ForceType => 'file'}); - return $err if $err; - foreach my $l (@text) { - if($l =~ m/^=begin html$lang$/) { - $skip = 0; - } elsif($l =~ m/^=end html$lang$/) { - $skip = 1; - } elsif(!$skip) { - $output .= $l; - } - } + foreach my $modDir (@modDir) { + opendir(DH, $modDir) || die "Cant open $modDir: $!\n"; + while(my $l = readdir DH) { + next if($l !~ m/^\d\d_.*\.pm$/); + my $of = $l; + $l =~ s/.pm$//; + $l =~ s/^[0-9][0-9]_//; + $mods{lc($l)} = "$modDir/$of"; + } + } - $output = "Keine deutsche Hilfe gefunden!\n\n". + return "Module $mod not found" unless defined($mods{$mod}); + + my $skip = 1; + my ($err,@text) = FileRead({FileName => $mods{$mod}, ForceType => 'file'}); + return $err if $err; + foreach my $l (@text) { + if($l =~ m/^=begin html$lang$/) { + $skip = 0; + } elsif($l =~ m/^=end html$lang$/) { + $skip = 1; + } elsif(!$skip) { + $output .= $l; + } + } + + } else { + + $output = ''; + my $i; + my $f = "$modPath/docs/commandref_frame$lang.html"; + my $skip = 1; + my ($err,@text) = FileRead({FileName => $f, ForceType => 'file'}); + return $err if $err; + + foreach my $l (@text) { + if($l =~ m/name=.global./) { + $skip = 0; + } elsif($l =~ m/^ +

Perl specials

diff --git a/fhem/docs/commandref_frame_DE.html b/fhem/docs/commandref_frame_DE.html index 575a59db9..fb110e268 100644 --- a/fhem/docs/commandref_frame_DE.html +++ b/fhem/docs/commandref_frame_DE.html @@ -1501,7 +1501,7 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet: werden nicht angezeigt, es sei denn das globale Attribut showInternalValues ist gesetzt. Diese Variable wird bei dem list und xmllist Befehl, und bei der FHEMWEB Raumansicht geprüft. - +
  • stacktrace
    @@ -1510,6 +1510,7 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
  • +