2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-09 20:57:11 +00:00

commandref_join.pl: introducing check for negative tag-Count

git-svn-id: https://svn.fhem.de/fhem/trunk@16266 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2018-02-25 18:22:51 +00:00
parent e471134b68
commit 641dbe0ff4
4 changed files with 76 additions and 76 deletions

View File

@ -411,7 +411,7 @@ FBAHA_Ready($)
<h3>FBAHA</h3>
<ul>
<br>Note: Fritz!OS 6.90 and later does not offer the AHA service needed by
this module. Use the successor FBAHAHTTP instead of this module.</b><br>
this module. Use the successor FBAHAHTTP instead of this module.<br>
This module connects to the AHA server (AVM Home Automation) on a FRITZ!Box.
It serves as the "physical" counterpart to the <a href="#FBDECT">FBDECT</a>
@ -496,7 +496,7 @@ FBAHA_Ready($)
<h3>FBAHA</h3>
<ul>
<br>Achtung: ab Fritz!OS 6.90 ist der ben&ouml;tigte Dienst deaktiviert,
bitte den Nachfolger FBAHAHTTP verwenden.</b><br>
bitte den Nachfolger FBAHAHTTP verwenden.<br>
Dieses Modul verbindet sich mit dem AHA (AVM Home Automation) Server auf
einem FRITZ!Box. Es dient als "physikalisches" Gegenst&uuml;ck zum <a

View File

@ -5843,7 +5843,6 @@ s2Hex($)
<li>battery<br>
return the charge of the battery in %, as battery:value % or battery:low
</li>
</li>
<br><br><b>CLASS DOOR_LOCK_LOGGING, V1 (deprecated)</b>
<li>doorLockLoggingRecordsSupported<br>

View File

@ -530,49 +530,47 @@ isday</pre>
=begin html_DE
<a name="SUNRISE_EL"></a>
<div id="SUNRISE_EL">
<h3>SUNRISE_EL</h3>
<h3>SUNRISE_EL</h3>
<ul>
<p class="info">
<strong lang="en">SUNRISE_EL</strong> definiert eine Reihe von Perl-Subroutinen (<abbr>z.B.</abbr> zur Nutzung mit <a href="#at">at</a>):
<p>
<strong>SUNRISE_EL</strong> definiert eine Reihe von Perl-Subroutinen (<abbr>z.B.</abbr> zur Nutzung mit <a href="#at">at</a>):
</p>
<ul class="shortref">
<li lang="en"><code>sunrise()</code> - absolute Zeit des n&auml;chsten Sonnenaufgangs (+ 24 h, wenn am n&auml;chsten Tag)</li>
<li lang="en"><code>sunset()</code> - absolute Zeit des n&auml;chsten Sonnenuntergangs (+ 24 h, wenn am n&auml;chsten Tag)</li>
<li lang="en"><code>sunrise_rel()</code> - relative Zeit des n&auml;chsten Sonnenaufgangs</li>
<li lang="en"><code>sunset_rel()</code> - relative Zeit des n&auml;chsten Sonnenuntergangs</li>
<li lang="en"><code>sunrise_abs()</code> - absolute Zeit des n&auml;chsten Sonnenaufgangs (ohne Stundenzuschlag)</li>
<li lang="en"><code>sunset_abs()</code> - relative Zeit des n&auml;chsten Sonnenuntergangs (ohne Stundenzuschlag)</li>
<li lang="en"><code>sunrise_abs_dat()</code> - absolute Zeit des n&auml;chsten Sonnenaufgangs an einem bestimmten Tag</li>
<li lang="en"><code>sunset_abs_dat()</code> - relative Zeit des n&auml;chsten Sonnenuntergangs an einem bestimmten Tag</li>
<li lang="en"><code>isday()</code> - Tag oder Nacht</li>
<ul>
<li><code>sunrise()</code> - absolute Zeit des n&auml;chsten Sonnenaufgangs (+ 24 h, wenn am n&auml;chsten Tag)</li>
<li><code>sunset()</code> - absolute Zeit des n&auml;chsten Sonnenuntergangs (+ 24 h, wenn am n&auml;chsten Tag)</li>
<li><code>sunrise_rel()</code> - relative Zeit des n&auml;chsten Sonnenaufgangs</li>
<li><code>sunset_rel()</code> - relative Zeit des n&auml;chsten Sonnenuntergangs</li>
<li><code>sunrise_abs()</code> - absolute Zeit des n&auml;chsten Sonnenaufgangs (ohne Stundenzuschlag)</li>
<li><code>sunset_abs()</code> - relative Zeit des n&auml;chsten Sonnenuntergangs (ohne Stundenzuschlag)</li>
<li><code>sunrise_abs_dat()</code> - absolute Zeit des n&auml;chsten Sonnenaufgangs an einem bestimmten Tag</li>
<li><code>sunset_abs_dat()</code> - relative Zeit des n&auml;chsten Sonnenuntergangs an einem bestimmten Tag</li>
<li><code>isday()</code> - Tag oder Nacht</li>
</ul>
<h4>Breite, L&auml;nge und H&ouml;henwinkel</h4>
<p>
Bevor du <strong lang="en">SUNRISE_EL</strong> verwendest, solltest du im <a href="#global">global-Device</a> die
Werte f&uuml;r <span lang="en">latitude</span> (geographische Breite) und <span lang="en">longitude</span> (geographische L&auml;nge) entsprechend
Bevor du <strong>SUNRISE_EL</strong> verwendest, solltest du im <a href="#global">global-Device</a> die
Werte f&uuml;r <span>latitude</span> (geographische Breite) und <span>longitude</span> (geographische L&auml;nge) entsprechend
deines Standorts setzen.
</p>
<div style="padding-left: 5ex;">
<h4>Exkurs: <span lang="en">latitude</span> &amp; <span lang="en">longitude</span> ermitteln</h4>
<div>
<h4>Exkurs: <span>latitude</span> &amp; <span>longitude</span> ermitteln</h4>
<p>
Deine geopgragischen Koordinaten kannst du <abbr>z.B.</abbr> mit <a href="https://maps.google.com">Google Maps</a> bestimmen.
Dazu setzt du einen Punkt auf der Karte und findest dann im unteren Bereich der Karte die Angabe f&uuml;r beide Werte.
Der erste Wert ist die geographische Breite (<span lang="en">latitude</span>); der zweite Wert die geographische L&auml;nge
(<span lang="en">longitude</span>).
Der erste Wert ist die geographische Breite (<span>latitude</span>); der zweite Wert die geographische L&auml;nge
(<span>longitude</span>).
</p>
<p>
Der <span lang="en">Default</span>-Wert ist 50.112, 8.686 (<a href="https://goo.gl/maps/vkyedDL1DJp">Frankfurt am Main</a>).
Der <span>Default</span>-Wert ist 50.112, 8.686 (<a href="https://goo.gl/maps/vkyedDL1DJp">Frankfurt am Main</a>).
</p>
</div>
<p>
<strong lang="en">SUNRISE_EL</strong> geht von einem H&ouml;henwinkel der Sonne bezogen zum Horizont, <var>h</var>, von -6&deg; aus. Dieser Wert bedeutet,
<strong>SUNRISE_EL</strong> geht von einem H&ouml;henwinkel der Sonne bezogen zum Horizont, <var>h</var>, von -6&deg; aus. Dieser Wert bedeutet,
dass die Sonne 6&deg; <strong>unter</strong> dem Horizont steht und Lesen im Freien ohne k&uuml;nstliche Beleuchtung nicht
mehr m&ouml;glich ist (<span lang="en">civil twilight</span>, b&uuml;rgerliche D&auml;mmerung).
<strong lang="en">SUNRISE_EL</strong> speichert diesen Wert in <var lang="en"><code>$defaultaltit</code></var>.
mehr m&ouml;glich ist (<span>civil twilight</span>, b&uuml;rgerliche D&auml;mmerung).
<strong>SUNRISE_EL</strong> speichert diesen Wert in <var><code>$defaultaltit</code></var>.
</p>
<p>
Siehe auch <a href="http://search.cpan.org/~jforget/DateTime-Event-Sunrise-0.0505/lib/DateTime/Event/Sunrise.pm">perldoc DateTime::Event::Sunrise</a> f&uuml;r
@ -586,59 +584,59 @@ isday</pre>
</p>
<dl>
<dt>
<var lang="en">unix timestamp</var>
<var>unix timestamp</var>
</dt>
<dd>
<p>
<strong>Ausschlie&szlig;lich</strong> <code lang="en">sunrise_abs_dat()</code> &amp; <code lang="en">sunset_abs_dat()</code>
<strong>Ausschlie&szlig;lich</strong> <code>sunrise_abs_dat()</code> &amp; <code>sunset_abs_dat()</code>
erwarten als ersten Parameter einen Unix-Timestamp (Unix-Epoche) in Sekunden, der ein Datum spezifiziert. Andere Subroutinen
erwarten diesen Parameter nicht!
</p>
</dd>
<dt>
<var lang="en">altitude</var>
<var>altitude</var>
</dt>
<dd>
<p>
Eine der folgenden Zeichenketten, die unterschiedliche H&ouml;henwinkel <var>h</var> definieren und den Wert
von <code><var lang="en">$defaultaltit</var></code> ver&auml;ndern.
von <code><var>$defaultaltit</var></code> ver&auml;ndern.
</p>
<p>
Erlaubte Werte sind:
</p>
<ul>
<li>
<code lang="en"><var>REAL</var></code>, <var>h</var> = 0&deg;,
<code><var>REAL</var></code>, <var>h</var> = 0&deg;,
</li>
<li>
<code lang="en"><var>CIVIL</var></code>, <var>h</var> = -6&deg;,
<code><var>CIVIL</var></code>, <var>h</var> = -6&deg;,
</li>
<li>
<code lang="en"><var>NAUTIC</var></code>, <var>h</var> = -12&deg;,
<code><var>NAUTIC</var></code>, <var>h</var> = -12&deg;,
</li>
<li>
<code lang="en"><var>ASTRONOMIC</var></code>, <var>h</var> = -18&deg;,
<code><var>ASTRONOMIC</var></code>, <var>h</var> = -18&deg;,
</li>
<li>
oder <code lang="en"><var>HORIZON=</var></code>, gefolgt von einer positiven oder negativen Zahl ohn Gradzeichen, die einen H&ouml;henwinkel
oder <code><var>HORIZON=</var></code>, gefolgt von einer positiven oder negativen Zahl ohn Gradzeichen, die einen H&ouml;henwinkel
angibt.
</li>
</ul>
</dd>
<dt>
<var lang="en">offset</var>
<var>offset</var>
</dt>
<dd>
<p>
<span lang="en">Offset</span> in Sekunden, der zu dem R&uuml;ckgabewert der Funktion addiert wird.
<span>Offset</span> in Sekunden, der zu dem R&uuml;ckgabewert der Funktion addiert wird.
</p>
<p>
<code lang="en">isday()</code>
<code>isday()</code>
ignoriert diesen Wert.
</p>
</dd>
<dt>
<var lang="en">min</var>
<var>min</var>
</dt>
<dd>
@ -646,19 +644,19 @@ isday</pre>
Einen Zeitstempel im Format <var>hh:mm</var>, vor dem keine Aktion ausgef&uuml;hrt werden soll.
</p>
<p>
<code lang="en">isday()</code> wird <var>(int) 0</var> zur&uuml;ckliefern, wenn <var lang="en">min</var> gesetzt
<code>isday()</code> wird <var>(int) 0</var> zur&uuml;ckliefern, wenn <var>min</var> gesetzt
und der aktuelle Zeitstempel kleiner ist.
</p>
</dd>
<dt>
<var lang="en">max</var>
<var>max</var>
</dt>
<dd>
<p>
Einen Zeitstempel im Format <var>hh:mm</var>, nach dem keine Aktion ausgef&uuml;hrt werden soll.
</p>
<p>
<code lang="en">isday()</code> wird <var>(int) 0</var> zur&uuml;ckliefern, wenn <var lang="en">max</var> gesetzt
<code>isday()</code> wird <var>(int) 0</var> zur&uuml;ckliefern, wenn <var>max</var> gesetzt
und der aktuelle Zeitstempel gr&ouml;&szlig;er ist.
</p>
</dd>
@ -667,7 +665,7 @@ isday</pre>
<h5>Subroutinen</h5>
<dl>
<dt lang="en">
<dt>
<p><code>sunrise(), sunset()</code></p>
</dt>
<dd>
@ -676,7 +674,7 @@ isday</pre>
wenn der Zeitpunkt am n&auml;chsten Tag sein wird, im Format <var>hh:mm:ss</var>.
</dd>
<dt lang="en">
<dt>
<p><code>sunrise_rel(), sunset_rel()</code></p>
</dt>
<dd>
@ -684,7 +682,7 @@ isday</pre>
<var>hh:mm:ss</var>.
</dd>
<dt lang="en">
<dt>
<p><code>sunrise_abs(), sunset_abs()</code></p>
</dt>
<dd>
@ -693,7 +691,7 @@ isday</pre>
zu addieren im Format <var>hh:mm:ss</var>.
</dd>
<dt lang="en">
<dt>
<p><code>sunrise_abs_dat(), sunset_abs()_dat</code></p>
</dt>
<dd>
@ -702,7 +700,7 @@ isday</pre>
</dd>
<dt lang="en">
<dt>
<p><code>isday()</code></p>
</dt>
<dd>
@ -713,32 +711,32 @@ isday</pre>
<dl>
<dt>
<p>
<code lang="en">sunrise("CIVIL");</code>
<code>sunrise("CIVIL");</code>
</p>
</dt>
<dd lang="en">
<dd>
<p>
Zeitpunkt des Sonnenaufgangs bei einem H&ouml;henwinkel der Sonne von -6&deg; unter dem Horizont (identisch zu <code lang="en">sunrise()</code>).
Zeitpunkt des Sonnenaufgangs bei einem H&ouml;henwinkel der Sonne von -6&deg; unter dem Horizont (identisch zu <code>sunrise()</code>).
</p>
</dd>
<dt>
<p>
<code lang="en">sunset("HORIZON=-3");</code>
<code>sunset("HORIZON=-3");</code>
</p>
</dt>
<dd>
<p>
Zeitpunkt des Sonnenuntergangs bei einem H&ouml;henwinkel der Sonne von 3&deg; unter dem Horizont
(zwischen <code lang="en"><var>REAL</var></code> und <code lang="en"><var>CIVIL</var></code>).
(zwischen <code><var>REAL</var></code> und <code><var>CIVIL</var></code>).
</p>
</dd>
<dt>
<p>
<code lang="en">sunset("HORIZON=1");</code>
<code>sunset("HORIZON=1");</code>
</p>
</dt>
<dd>
@ -749,7 +747,7 @@ isday</pre>
<dt>
<p>
<code lang="en">defmod a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on</code>
<code>defmod a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on</code>
</p>
</dt>
<dd>
@ -760,7 +758,7 @@ isday</pre>
<dt>
<p>
<code lang="en">
<code>
my $date = time() + 7*86400;<br />
sunrise_abs_dat($date);
</code>
@ -774,7 +772,7 @@ isday</pre>
<dt>
<p>
<code lang="en">
<code>
my $date = time() + 7*86400;<br />
sunrise_abs_dat($date, "CIVIL");
</code>
@ -787,58 +785,58 @@ isday</pre>
</dd>
</dl>
<h4 lang="en">Define</h4>
<h4>Define</h4>
<blockquote>
<strong lang="en">SUNRISE_EL</strong> kann nicht explizit als <span lang="en">Device</span> definiert werden,
<strong>SUNRISE_EL</strong> kann nicht explizit als <span>Device</span> definiert werden,
sondern bietet die oben genannten Subroutinen.
</blockquote>
<h4 lang="en">Set</h4>
<h4>Set</h4>
<blockquote>
<strong lang="en">SUNRISE_EL</strong> unterst&uuml;tzt <var lang="en">set</var> nicht.
<strong>SUNRISE_EL</strong> unterst&uuml;tzt <var>set</var> nicht.
</blockquote>
<h4 lang="en">Get</h4>
<h4>Get</h4>
<blockquote>
<strong lang="en">SUNRISE_EL</strong> unterst&uuml;tzt <var lang="en">get</var> nicht.
<strong>SUNRISE_EL</strong> unterst&uuml;tzt <var>get</var> nicht.
</blockquote>
<h4>Attribute</h4>
<p>
Diese Attribute m&uuml;ssen im <span lang="en"><a href="#global">global</a>-Device</span> gesetzt werden!
Diese Attribute m&uuml;ssen im <span><a href="#global">global</a>-Device</span> gesetzt werden!
</p>
<dl>
<dt>
<p>
<var lang="en">latitude</var>
<var>latitude</var>
</p>
</dt>
<dd>
<blockquote>
Geographische Breite in Dezimalgrad in Form eines <code lang="en">float</code>, <abbr>z.B</abbr> <code><var>49.872471</var></code>.
Geographische Breite in Dezimalgrad in Form eines <code>float</code>, <abbr>z.B</abbr> <code><var>49.872471</var></code>.
</blockquote>
<blockquote>
<span lang="en">Default</span>-Wert ist <code><var>50.112</var></code>.
<span>Default</span>-Wert ist <code><var>50.112</var></code>.
</blockquote>
</dd>
<dt>
<p>
<var lang="en">longitude</var>
<var>longitude</var>
</p>
</dt>
<dd>
<blockquote>
Geographische L&auml;nge in Dezimalgrad in Form eines <code lang="en">float</code>, <abbr>z.B</abbr> <code><var>8.650991</var></code>.
Geographische L&auml;nge in Dezimalgrad in Form eines <code>float</code>, <abbr>z.B</abbr> <code><var>8.650991</var></code>.
</blockquote>
<blockquote>
<span lang="en">Default</span>-Wert ist <code><var>8.686</var></code>.
<span>Default</span>-Wert ist <code><var>8.686</var></code>.
</blockquote>
</dd>
<dt>
<p>
<var lang="en">altitude</var>
<var>altitude</var>
</p>
</dt>
<dd>
@ -846,11 +844,10 @@ isday</pre>
H&ouml;henwinkel <var>h</var> der Sonne bezogen auf den Horizont in Grad in Form einer Zahl ohne Gradzeichen.
</blockquote>
<blockquote>
<span lang="en">Default</span>-Wert ist <code><var>-6</var></code>.
<span>Default</span>-Wert ist <code><var>-6</var></code>.
</blockquote>
</dd>
</dl>
</div>
</ul>
=end html_DE

View File

@ -15,7 +15,7 @@ use warnings;
my $noWarnings = grep $_ eq '-noWarnings', @ARGV;
my ($verify) = grep $_ =~ /\.pm$/ , @ARGV;
use constant TAGS => qw{ul li code b i u table tr td div};
use constant TAGS => qw{ul li code b i u table tr td div h4 h3};
sub generateModuleCommandref($$;$$);
@ -176,7 +176,11 @@ generateModuleCommandref($$;$$)
$hasLink = ($l =~ m/<a name="$mod"/) if(!$hasLink);
foreach $tag (TAGS) {
$tagcount{$tag} +=()= ($l =~ /<$tag>/gi);
$tagcount{$tag} -=()= ($l =~ /<\/$tag>/gi) if($tagcount{$tag} > 0);
$tagcount{$tag} -=()= ($l =~ /<\/$tag>/gi);
if($tagcount{$tag} < 0) {
print "*** $lang $fPath: negative tagcount for $tag, line $line\n";
$tagcount{$tag} = 0;
}
$llwct{$tag} = $line if(!$tagcount{$tag});
}