mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
33_readingsGroup.pm: added german commandref section (by HomeAuto_User) see: https://forum.fhem.de/index.php/topic,83166.0
git-svn-id: https://svn.fhem.de/fhem/trunk@16030 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
d892dbfb5e
commit
83ae996e0c
@ -1,5 +1,6 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||
# Do not insert empty lines here, update check depends on it.
|
||||
- feature: 33_readingsGroup: added german commandref (by HomeAuto_User)
|
||||
- feature: 10_pilight_ctrl: support bh1750 illuminance sensor
|
||||
- feature: 71_YAMAHA_NP: Added player readings support for
|
||||
airplay and spotify inputs.
|
||||
|
@ -1700,7 +1700,7 @@ readingsGroup_Attr($$$;$)
|
||||
=pod
|
||||
=item helper
|
||||
=item summary display a formated collection of readings from devices
|
||||
=item summary_DE Stellt eine formatierte Readings von Geräte dar
|
||||
=item summary_DE Stellt eine formatierte Darstellung aus Readings von Geräte bereit
|
||||
=begin html
|
||||
|
||||
<a name="readingsGroup"></a>
|
||||
@ -1964,4 +1964,249 @@ readingsGroup_Attr($$$;$)
|
||||
</ul>
|
||||
|
||||
=end html
|
||||
=begin html_DE
|
||||
|
||||
<a name="readingsGroup"></a>
|
||||
<h3>readingsGroup</h3>
|
||||
<ul>
|
||||
Zeigt eine Sammlung von Messwerten von einem oder mehreren Geräten an.
|
||||
|
||||
<br><br>
|
||||
<a name="readingsGroup_Define"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> readingsGroup <device>[:regex] [<device-2>[:regex-2]] ... [<device-n>[:regex-n]]</code><br>
|
||||
<br>
|
||||
|
||||
Anmerkungen:
|
||||
<ul>
|
||||
<li><device> kann die Form INTERNAL=VALUE haben, wobei INTERNAL der Name eines internen Wertes ist und VALUE ein Regex.</li>
|
||||
<li><device> kann die Form ATTRIBUTE&VALUE haben, wobei ATTRIBUTE der Name eines Attributs ist und VALUE ein Regex.</li>
|
||||
<li><device> kann die Form <STRING> oder <{perl}> haben, wobei STRING oder die von Perl zurückgegebene Zeichenfolge als Zeile in die Readings List eingefügt wird. Wird übersprungen, wenn STRING undef ist.</li>
|
||||
<li><device> kann ein devspec sein (siehe <a href="#devspec">devspec</a>) mit mindestens einem FILTER-Ausdruck sein.</li>
|
||||
<li>Wenn Regex eine Komma separarierte Liste ist, werden die Reading-Values in einer einzelnen Zeile angezeigt.</li>
|
||||
<li>Wenn Regex mit einem "+" beginnt, wird es mit den internen Werten (Internals) des Geräts anstelle der Readings verglichen.</li>
|
||||
<li>Wenn Regex mit einem '?' beginnt, wird es mit den Attributen des Geräts verglichen und nicht mit den Werten (Readings) verglichen.</li>
|
||||
<li>Wenn Regex mit einem '!' beginnt, wird die Anzeige des Wertes erzwungen, auch wenn kein Reading mit diesem Namen verfügbar ist.</li>
|
||||
<li>Wenn Regex mit einem '$' beginnt, ist die Berechnung mit Wert-Spalten und Zeilen möglich.</li>
|
||||
<li>Die folgenden <a href="#set">"set magic"</a> Präfixe und Suffixe können mit Regex verwendet werden:
|
||||
<ul>
|
||||
<li>Sie können anstelle von + und ? ein Präfix i :, r: oder a: verwenden. Analog zur devspec-Filterung.</li>
|
||||
<li>Der Suffix :d ruft die erste Nummer ab.</li>
|
||||
<li>Der Suffix :i ruft den ganzzahligen Teil der ersten Zahl ab.</li>
|
||||
<li>Der Suffix :r<n> ruft die erste Zahl ab und rundet sie auf <n> Nachkommastellen ab. Wenn <n> fehlt, wird es auf eine Dezimalstelle gerundet.</li>
|
||||
<li>Der Suffix :t gibt den Zeitstempel zurück (funktioniert nur mit Readings).</li>
|
||||
<li>Der Suffix :sec gibt die Anzahl der Sekunden seit dem das Reading gesetzt wurde zurück. Wahrscheinlich nicht nützlich mit readingsGroups.</li>
|
||||
</ul></li>
|
||||
<li>Regex kann von der Form <regex>@device sein, um Readings von einem anderen Gerät zu verwenden.<br>
|
||||
Wenn der Gerätename mit einem '!' beginnt, wird die Anzeige deaktiviert. Verwenden Sie in Verbindung mit ! den Reading-Name.</li>
|
||||
<li>Regex kann die Form <regex>@{perl} haben, um Readings von einem anderen Gerät zu verwenden.</li>
|
||||
<li>Regex kann von der Form <STRING> oder <{perl}[@readings]> sein, wobei STRING oder die von Perl zurückgegebene Zeichenfolge als Reading eingefügt wird, oder:
|
||||
<ul><li>das Element wird übersprungen, wenn STRING undef ist</li>
|
||||
<li>wenn STRING br ist, wird eine neue Zeile gestartet</li>
|
||||
<li>wenn STRING hr ist, wird eine horizontale Linie eingefügt</li>
|
||||
<li>wenn STRING tfoot ist, wird der Tabellenfuß gestartet</li>
|
||||
<li>wenn STRING die Form hat, %ICON[%CMD] ICON wird als Name eines Symbols anstelle von Text und CMD als der Befehl verwendet, der ausgeführt werden soll, wenn auf das Symbol geklickt wird. Siehe auch die Befehlsattribute.</li></ul>
|
||||
Wenn Readings aktualisiert werden, wird der Perl-Ausdruck bei Longpoll-Aktualisierungen erneut ausgewertet.</li>
|
||||
<li>Wenn der erste Regex '@<index>' ist, gibt es den Index der folgenden Regex an, mit dem die Messwerte gruppiert werden sollen. Wenn Erfassungsgruppen verwendet werden, können sie durch #<number> refferenziert werden. z.Bsp:<br><ul>
|
||||
<code><IP-Adress><Hostname><MAC><Vendor><br>
|
||||
nmap:@2,<#1>,(.*)_hostname,#1_macAddress,#1_macVendor</code></ul></li>
|
||||
<li>Für interne Werte (Internals) und Attribute ist longpoll update nicht möglich. Aktualisieren Sie die Seite, um die Werte zu aktualisieren.</li>
|
||||
<li>Der Ausdruck <{perl}> ist auf Ausdrücke ohne Leerzeichen beschränkt. Es ist am besten, eine kleine Sub in 99_myUtils.pm aufzurufen, anstatt einen complexen Ausdruck im Define zu haben.</li>
|
||||
</ul><br>
|
||||
|
||||
Beispiele:
|
||||
<ul>
|
||||
<code>
|
||||
define batteries readingsGroup .*:battery</code><br>
|
||||
<br>
|
||||
<code>define temperatures readingsGroup s300th.*:temperature</code><br>
|
||||
<code>define temperatures readingsGroup TYPE=CUL_WS:temperature</code><br>
|
||||
<br>
|
||||
<code>define culRSSI readingsGroup cul_RSSI=.*:+cul_RSSI</code><br>
|
||||
<br>
|
||||
<code>define heizung readingsGroup t1:temperature t2:temperature t3:temperature<br>
|
||||
attr heizung notime 1<br>
|
||||
attr heizung mapping {'t1.temperature' => 'Vorlauf', 't2.temperature' => 'R&uuml;cklauf', 't3.temperature' => 'Zirkulation'}<br>
|
||||
attr heizung style style="font-size:20px"<br>
|
||||
<br>
|
||||
define systemStatus readingsGroup sysstat<br>
|
||||
attr systemStatus notime 1<br>
|
||||
attr systemStatus nostate 1<br>
|
||||
attr systemStatus mapping {'load' => 'Systemauslastung', 'temperature' => 'Systemtemperatur in &deg;C'}<br>
|
||||
<br>
|
||||
define Verbrauch readingsGroup TYPE=PCA301:state,power,consumption<br>
|
||||
attr Verbrauch mapping %ALIAS<br>
|
||||
attr Verbrauch nameStyle style="font-weight:bold"<br>
|
||||
attr Verbrauch style style="font-size:20px"<br>
|
||||
attr Verbrauch valueFormat {power => "%.1f W", consumption => "%.2f kWh"}<br>
|
||||
attr Verbrauch valueIcon { state => '%devStateIcon' }<br>
|
||||
attr Verbrauch valueStyle {($READING eq "power" && $VALUE > 150)?'style="color:red"':'style="color:green"'}<br>
|
||||
<br>
|
||||
define rg_battery readingsGroup TYPE=LaCrosse:[Bb]attery<br>
|
||||
attr rg_battery alias Batteriestatus<br>
|
||||
attr rg_battery commands { "battery.low" => "set %DEVICE replaceBatteryForSec 60" }<br>
|
||||
attr rg_battery valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie@red'}<br>
|
||||
<br>
|
||||
define rgMediaPlayer readingsGroup myMediaPlayer:currentTitle,<>,totaltime,<br>,currentAlbum,<>,currentArtist,<br>,volume,<{if(ReadingsVal($DEVICE,"playStatus","")eq"paused"){"%rc_PLAY%set+$DEVICE+play"}else{"%rc_PAUSE%set+$DEVICE+pause"}}@playStatus>,playStatus<br>
|
||||
attr rgMediaPlayer commands { "playStatus.paused" => "set %DEVICE play", "playStatus.playing" => "set %DEVICE pause" }<br>
|
||||
attr rgMediaPlayer mapping <br>
|
||||
attr rgMediaPlayer notime 1<br>
|
||||
attr rgMediaPlayer valueFormat { "volume" => "Volume: %i" }<br>
|
||||
#attr rgMediaPlayer valueIcon { "playStatus.paused" => "rc_PLAY", "playStatus.playing" => "rc_PAUSE" }<br>
|
||||
</code><br>
|
||||
</ul>
|
||||
</ul><br>
|
||||
|
||||
<a name="readingsGroup_Set"></a>
|
||||
<b>Set</b>
|
||||
<ul>
|
||||
<li>hide<br>
|
||||
Alle sichtbaren Instanzen dieser ReadingsGroup werden ausgeblendet</li>
|
||||
<li>show<br>
|
||||
Zeigt alle sichtbaren Instanzen dieser ReadingsGroup an</li>
|
||||
<li>toggle<br>
|
||||
Schaltet den versteckten / angezeigten Zustand aller sichtbaren Instanzen dieser ReadingsGroup an.</li>
|
||||
<li>toggle2<br>
|
||||
schaltet den erweiterten / kollabierten Zustand aller sichtbaren Instanzen dieser ReadingsGroup an.</li>
|
||||
</ul><br>
|
||||
|
||||
<a name="readingsGroup_Get"></a>
|
||||
<b>Get</b>
|
||||
<ul>
|
||||
</ul><br>
|
||||
|
||||
<a name="readingsGroup_Attr"></a>
|
||||
<b>Attribute</b>
|
||||
<ul>
|
||||
<li>alwaysTrigger<br>
|
||||
1 -> alwaysTrigger Ereignisse aktualisieren auch wenn nicht sichtbar.<br>
|
||||
2 -> trigger Ereignisse für berechnete Werte.</li><br>
|
||||
<li>disable<br>
|
||||
1 -> Deaktivieren der Benachrichtigung Verarbeitung und Longpoll-Updates. Hinweis: Dadurch wird auch die Umbenennung und Löschbehandlung deaktiviert.<br>
|
||||
2 -> Deaktivieren der HTML-Tabellenerstellung<br>
|
||||
3 -> Deaktivieren der HTML-Erstellung vollständig</li><br>
|
||||
<li>sortDevices<br>
|
||||
1 -> Sortieren der Geräteliste alphabetisch. Verwenden Sie das erste von sortby oder alias oder name, das für jedes Gerät definiert ist.</li>
|
||||
<li>noheading<br>
|
||||
Wenn sie auf 1 gesetzt ist, hat die Readings-Tabelle keine Überschrift.</li><br>
|
||||
<li>nolinks<br>
|
||||
Deaktiviert die HTML-Links von der Überschrift und den Readings-Namen.</li><br>
|
||||
<li>nostate<br>
|
||||
Wenn der Wert 1 ist, wird der Status nicht berücksichtigt.</li><br>
|
||||
<li>nonames<br>
|
||||
Wenn der Wert auf 1 gesetzt ist, wird der Readings-Name / Zeilentitel nicht angezeigt.</li><br>
|
||||
<li>notime<br>
|
||||
Wenn der Wert auf 1 gesetzt, wird der Readings-Timestamp nicht angezeigt.</li><br>
|
||||
<li>mapping<br>
|
||||
Kann ein einfacher String oder ein in {} eingeschlossener Perl-Ausdruck sein, der einen Hash zurückgibt, der den Reading-Name dem angezeigten Namen zuordnet.
|
||||
Der Schlüssel kann entweder der Name des Readings oder <device>.<reading> oder <reading>.<value> oder <device>.<reading>.<value> sein.
|
||||
%DEVICE, %ALIAS, %ROOM, %GROUP, %ROW und %READING werden durch den Gerätenamen, Gerätealias, Raumattribut ersetzt. Sie können diesen Keywords auch ein Präfix voranstellen $ anstatt von %. Beispiele:<br>
|
||||
<code>attr temperatures mapping $DEVICE-$READING</code><br>
|
||||
<code>attr temperatures mapping {temperature => "%DEVICE Temperatur"}</code>
|
||||
</li><br>
|
||||
<li>separator<br>
|
||||
Das zu verwendende Trennzeichen zwischen dem Gerätealias und dem Reading-Namen, wenn keine Zuordnung angegeben ist, standardgemäß ':'
|
||||
Ein Leerzeichen wird so dargestellt <code>&nbsp;</code></li><br>
|
||||
<li>setList<br>
|
||||
Eine durch Leerzeichen getrennte Liste von Befehlen, die zurückgegeben werden "set name ?",
|
||||
Das FHEMWEB-Frontend kann also ein Dropdown-Menü erstellen und An / Aus-Schalter anbieten.
|
||||
Set-Befehle, die nicht in dieser Liste enthalten sind, werden zurückgewiesen.</li><br>
|
||||
<li>setFn<br>
|
||||
Perl-Ausdruck, der für die Befehle aus der setList ausgeführt wird. Es hat Zugriff auf $CMD und $ARGS.</li><br>
|
||||
<li>style<br>
|
||||
Geben Sie einen HTML-Stil für die Readings-Tabelle an, z.Bsp:<br>
|
||||
<code>attr temperatures style style="font-size:20px"</code></li><br>
|
||||
<li>cellStyle<br>
|
||||
Geben Sie einen HTML-Stil für eine Zelle der Readings-Tabelle an. Normale Zeilen und Spalten werden gezählt beginnend mit 1,
|
||||
Die Zeilenüberschriften beginnt mit der Spaltennummer 0. Perl-Code hat Zugriff auf $ROW und $COLUMN. Schlüssel für Hash-Lookup können sein:
|
||||
r:#, c:# oder r:#,c:# , z.Bsp:<br>
|
||||
<code>attr temperatures cellStyle { "c:0" => 'style="text-align:right"' }</code></li><br>
|
||||
<li>nameStyle<br>
|
||||
Geben Sie einen HTML-Stil für die Readings-Namen an, z.Bsp:<br>
|
||||
<code>attr temperatures nameStyle style="font-weight:bold"</code></li><br>
|
||||
<li>valueStyle<br>
|
||||
Geben Sie einen HTML-Stil für die Readings-Werte an, z.Bsp:<br>
|
||||
<code>attr temperatures valueStyle style="text-align:right"</code></li><br>
|
||||
<li>valueColumn<br>
|
||||
Geben Sie die Mindestspalte an, in der ein Messwert angezeigt werden soll. z.Bsp:<br>
|
||||
<code>attr temperatures valueColumn { temperature => 2 }</code></li><br>
|
||||
<li>valueColumns<br>
|
||||
Geben Sie einen HTML-Colspan für die Readings-Werte an, z.Bsp:<br>
|
||||
<code>attr wzReceiverRG valueColumns { eventdescription => 'colspan="4"' }</code></li><br>
|
||||
<li>valueFormat<br>
|
||||
Geben Sie eine Sprintf-Stilformat-Zeichenfolge an, die zum Anzeigen der Readings-Werte verwendet wird. Wenn die Formatzeichenfolge undef ist
|
||||
wird dieser Messwert übersprungen. Es kann als String angegeben werden, ein Perl-Ausdruck, der einen Hash- oder Perl-Ausdruck zurückgibt, der einen String zurückgibt, z.Bsp:<br>
|
||||
<code>attr temperatures valueFormat %.1f °C</code><br>
|
||||
<code>attr temperatures valueFormat { temperature => "%.1f °C", humidity => "%i %" }</code><br>
|
||||
<code>attr temperatures valueFormat { ($READING eq 'temperature')?"%.1f °C":undef }</code></li><br>
|
||||
<li>valuePrefix<br>
|
||||
Text, der dem Readings-Wert vorangestellt wird</li><br>
|
||||
<li>valueSuffix<br>
|
||||
Text, der nach dem Readings-Wert angehängt wird<br>
|
||||
<code>attr temperatures valueFormat { temperature => "%.1f", humidity => "%i" }</code><br>
|
||||
<code>attr temperatures valueSuffix { temperature => "°C", humidity => " %" }</code></li><br>
|
||||
<li>nameIcon<br>
|
||||
Geben Sie das Symbol an, das anstelle des Readings-Name verwendet werden soll. Es kann ein einfacher String oder ein in {} eingeschlossener Perl-Ausdruck sein, der einen Hash zurückgibt, der dem Readings-Name den Icon-Namen zuordnet. z.Bsp:<br>
|
||||
<code>attr devices nameIcon $DEVICE</code></li><br>
|
||||
<li>valueIcon<br>
|
||||
Geben Sie ein Symbol an, das anstelle des Readings-Wert verwendet werden soll. Es kann ein einfacher String oder ein in {} eingeschlossener Perl-Ausdruck sein, der einen Hash zurückgibt, der dem Readings-Wert dem Symbolnamen zuordnet. z.Bsp:<br>
|
||||
<code>attr devices valueIcon $VALUE</code><br>
|
||||
<code>attr devices valueIcon {state => '%VALUE'}</code><br>
|
||||
<code>attr devices valueIcon {state => '%devStateIcon'}</code><br>
|
||||
<code>attr rgMediaPlayer valueIcon { "playStatus.paused" => "rc_PLAY", "playStatus.playing" => "rc_PAUSE" }</code></li><br>
|
||||
<li>commands<br>
|
||||
Kann auf verschiedene Arten verwendet werden:
|
||||
<ul>
|
||||
<li>Um ein Reading oder ein Symbol anklickbar zu machen, indem Sie direkt den Befehl angeben, der ausgeführt werden soll. z.Bsp:<br>
|
||||
<code>attr rgMediaPlayer commands { "playStatus.paused" => "set %DEVICE play", "playStatus.playing" => "set %DEVICE pause" }</code></li>
|
||||
<li>Wenn der zugeordnete Befehl die Form <command>:[<modifier>] hat, wird das normale <a href="#FHEMWEB">FHEMWEB</a> webCmd-Widget für <Modifikator> für diesen commands verwendet. z.Bsp:<br>
|
||||
<code>attr rgMediaPlayer commands { volume => "volume:slider,0,1,100" }</code><br>
|
||||
<code>attr lights commands { pct => "pct:", dim => "dim:" }</code></li>
|
||||
<li>commands können für Attribute verwendet werden. z.Bsp:<br>
|
||||
<code>attr <rg> commands { disable => "disable:" }</code></li>
|
||||
</ul></li><br>
|
||||
<li>visibility<br>
|
||||
Wenn sie auf hidden oder hideable eingestellt ist, wird eine kleine Schaltfläche links neben dem Namen der Readings-Group angezeigt, um den Inhalt der Readings-Group zu erweitern / auszublenden. Wenn eine Readings-Group erweitert wird, werden alle anderen Gruppen derselben Gruppe ausgeblendet.<br>
|
||||
<ul>
|
||||
hidden -> Standardmäßig ist hidden aktiv, kann jedoch erweitert werden.<br>
|
||||
hideable -> Standardmäßig ist hideable aktiv, kann jedoch ausgeblendet werden.<br><br>
|
||||
</ul>
|
||||
Wenn diese Option auf "collapsed" oder "collapsible" eingestellt ist, erkennt readingsGroup die Specials <->,<+> und <+-> als die ersten Elemente von
|
||||
eine Linie, um dieser Linie ein + oder - Symbol hinzuzufügen. Durch Klicken auf das + oder - Symbol wird zwischen erweitertem und reduziertem Zustand umgeschaltet. Wenn eine Readings-Group erweitert wird, werden alle anderen Gruppen in der gleichen Gruppe ausgeblendet.
|
||||
<ul>
|
||||
- -> Die Linie wird im expandierten Zustand sichtbar sein.<br>
|
||||
+ -> Die Linie wird im zusammengefalteten Zustand angezeigt.<br>
|
||||
+- -> Die Linie wird in beiden Zuständen sichtbar sein.<br>
|
||||
<br>
|
||||
collapsed -> Der Standardstatus ist reduziert, kann jedoch erweitert werden.<br>
|
||||
collapsible -> Der Standardstatus ist sichtbar, kann jedoch minimiert werden.<br><br></li>
|
||||
</ul>
|
||||
<li>headerRows<br><br>
|
||||
</li>
|
||||
<li>sortColumn<br>
|
||||
> 0 -> sortiert die Tabelle automatisch nach dem Laden der Seite nach dieser Spalte<br>
|
||||
0 -> sortiert Sie nicht automatisch, sondern durch Klicken auf eine Spaltenüberschrift<br>
|
||||
< 0 -> sortiert die Tabelle automatisch nach dem Laden der Seite nach dieser Spalte
|
||||
</li>
|
||||
<br><li><a href="#perlSyntaxCheck">perlSyntaxCheck</a></li>
|
||||
</ul><br>
|
||||
|
||||
Für die Hash-Version aller Zuordnungsattribute kann ein Standardwert angegeben werden mit <code>{ '' => <default> }</code>.<br><br>
|
||||
|
||||
Die Stilattribute können auch einen in {} eingeschlossenen Perl-Ausdruck enthalten, der die zu verwendende Stilzeichenfolge zurückgibt. Für nameStyle und valueStyle, kann der Perl-Code $DEVICE,$READING,$VALUE und $NUM verwendet werden. z.Bsp:<br>
|
||||
<ul>
|
||||
<code>attr batteries valueStyle {($VALUE ne "ok")?'style="color:red"':'style="color:green"'}</code><br>
|
||||
<code>attr temperatures valueStyle {($DEVICE =~ m/aussen/)?'style="color:green"':'style="color:red"'}</code>
|
||||
</ul><br>
|
||||
|
||||
Hinweis: Nur valueStyle, valueFomat, valueIcon und <{...}@reading> werden bei Longpoll-Updates ausgewertet und valueStyle muss für jeden möglichen Wert einen nicht leeren Stil zurückgeben. Alle anderen Perl-Ausdrücke werden nur einmal während der HTML-Erstellung ausgewertet und geben keine Wertupdates mit longpoll wieder.
|
||||
Aktualisieren Sie die Seite, um den dynamischen Stil zu aktualisieren. Für nameStyle funktioniert das Farbattribut momentan nicht, die font -... und background Attribute funktionieren.<br><br>
|
||||
|
||||
Berechnung: Bitte sehen Sie sich dafür diese <a href="http://www.fhemwiki.de/wiki/ReadingsGroup#Berechnungen">Beschreibung</a> an in der Wiki.<br>
|
||||
z.Bsp: <code>define rg readingsGroup .*:temperature rg:$avg</code>
|
||||
|
||||
</ul>
|
||||
|
||||
=end html_DE
|
||||
=cut
|
||||
|
Loading…
x
Reference in New Issue
Block a user