List: Unterschied zwischen den Versionen
Justme (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Maista (Diskussion | Beiträge) |
||
(15 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
|ModOwner=rudolfkoenig ({{Link2FU|8|Forum}} / [[Benutzer Diskussion:Rudolfkoenig|Wiki]]) | |ModOwner=rudolfkoenig ({{Link2FU|8|Forum}} / [[Benutzer Diskussion:Rudolfkoenig|Wiki]]) | ||
}} | }} | ||
Der Befehl [[list]] dient dazu, Informationen über Geräte (Devices) anzuzeigen. Dabei können entweder Details zu einem einzelnen Gerät ausgegeben werden, oder eine Liste von Geräten (Gerätenamen) mit bestimmten gemeinsamen Attributen. Wenn mehrere Geräte aufgelistet werden lässt sich zu jedem zusätzlich der Wert eines oder mehrerer Internals, Readings oder Attribute mit ausgeben. | Der Befehl [[list]] dient dazu, Informationen über Geräte (Devices) anzuzeigen. Dabei können entweder Details zu einem einzelnen Gerät ausgegeben werden, oder eine Liste von Geräten (Gerätenamen) mit bestimmten gemeinsamen Attributen. Wenn mehrere Geräte aufgelistet werden, lässt sich zu jedem zusätzlich der Wert eines oder mehrerer Internals, Readings oder Attribute mit ausgeben. | ||
Der Befehl kann direkt über das [[FHEMWEB| | Der Befehl kann direkt über das Eingabefeld des [[FHEMWEB|Webfrontends]] oder über die telnet Schnittstelle eingegeben werden. | ||
== Beispiele == | == Beispiele == | ||
{{Randnotiz|RNText=Für alle Beispiele gilt: im Webfrontend lassen sich die Namen der ausgegebenen Geräte direkt anklicken, um in die zugehörige Detail-Ansicht zu gelangen. Dies ist besonders für [[weblink]], [[SVG]] oder [[readingsGroup]] Geräte nützlich, die in der Raum-Ansicht eventuell keinen solchen Link auf die Detail-Ansicht zeigen.}} | |||
=== Alle Geräte mit bestimmten Namen mit ihrer Definition === | |||
Auflistung der Definitionen aller Geräte von FHEM: | |||
:<code><nowiki>list .* DEF</nowiki></code> | |||
Auflistung der Definitionen der Geräte, die mit wz beginnen. | |||
:<code><nowiki>list wz.* DEF</nowiki></code> | |||
=== Alle Geräte eines bestimmten Typs === | === Alle Geräte eines bestimmten Typs === | ||
Mit dem Befehl | Mit dem Befehl | ||
:<code><nowiki>list TYPE=FS20</nowiki></code> | :<code><nowiki>list TYPE=FS20</nowiki></code> | ||
wird eine Liste (die Namen) aller Geräte des Typs [[FS20]] ausgegeben | wird eine Liste (die Namen) aller Geräte des Typs [[FS20]] ausgegeben. | ||
=== Alle Geräte ohne TYPE === | === Alle Geräte ohne TYPE === | ||
Manche Fehlersituationen in | Manche Fehlersituationen in FHEM werden verursacht durch Geräte, bei denen kein ''Internal'' mit dem Namen ''TYPE'' festgelegt ist (was eigentlich eine ungültige Definition ist). Diese Geräte-Definitionen lassen sich mit dem Befehl | ||
:<code><nowiki>{ join("\n", grep { !defined($defs{$_}{TYPE}) } keys %defs) }</nowiki></code> | :<code><nowiki>{ join("\n", grep { !defined($defs{$_}{TYPE}) } keys %defs) }</nowiki></code> | ||
identifizieren. Mithilfe dieser Information lässt sich dann z.B. ein solches Gerät [[delete|löschen]]. | identifizieren. Mithilfe dieser Information lässt sich dann z.B. ein solches Gerät [[delete|löschen]]. | ||
Zeile 28: | Zeile 36: | ||
Im Zusammenhang mit Verhaltensänderungen eines Attributs (wie z.B. bei [[userReadings]] geschehen), kann es sinnvoll sein, alle Devices aufzulisten, bei denen dieses Attribut verwendet wurde. | Im Zusammenhang mit Verhaltensänderungen eines Attributs (wie z.B. bei [[userReadings]] geschehen), kann es sinnvoll sein, alle Devices aufzulisten, bei denen dieses Attribut verwendet wurde. | ||
;alle Devices, bei denen das Attribut ''userReadings'' (auf einen beliebigen Wert gesetzt) ist: | ;alle Devices, bei denen das Attribut ''userReadings'' (auf einen beliebigen Wert gesetzt) ist: | ||
:<code>list userReadings=[a-zA-Z].*</code> oder <br /><code>list userReadings=\w.*</code> | :<code>list userReadings=[a-zA-Z].*</code> oder <br /><code>list userReadings=.+</code> oder <br /><code>list userReadings=\w.*</code> oder <br /><code>list userReadings=..*</code> | ||
=== Alle Geräte in einem Raum === | === Alle Geräte in einem Raum === | ||
Zeile 44: | Zeile 52: | ||
Mit dem Befehl | Mit dem Befehl | ||
:<code>list TYPE=CUL_HM:FILTER=serialNr=..* serialNr model</code> | :<code>list TYPE=CUL_HM:FILTER=serialNr=..* serialNr model</code> | ||
werden die | werden die Seriennummer und die Modellbezeichnung aller Homematic Geräte aufgelistet, die auch eine Seriennummer haben. | ||
=== Gezieltes Auflisten von Internal, Reading oder Attribut === | |||
Bei manchen Geräten gibt es Internals, Readings oder Attribute mit gleichem Namen. Da ''list'' jeweils nur das erste Vorkommen zeigt und nicht sichtbar macht, was genau gefunden wurde, ist die Ausgabe manchmal nicht eindeutig. Um das zu vermeiden, lässt sich mit dem Präfix i:, r: oder a: vor dem Namen des anzuzeigenden Wertes angeben, welcher der drei möglichen Typen ausgegeben werden soll. | |||
== Erweiterte Optionen == | |||
Mit den Optionen -r und -R kann eine erweiterte Ausgabe erzielt werden. Diese sollte bei der Erstellung eines Threads im Forum zu allen beteiligten Geräten mit angegeben werden. Die Optionen können auch hilfreich sein, um Teile der [[Konfiguration]] schnell zwischen unterschiedlichen Installationen zu kopieren, z.B. von einem oder in ein Testsystem (siehe auch [[Import von Code Snippets]]). | |||
=== list -r === | |||
Dabei werden auch die derzeitigen Stände der Readings mit ausgegeben. Für die Angabe des Gerätenamens ist dabei die Verwendung jeder {{Link2CmdRef|Anker=devspec|Label=devspec}} zulässig. | |||
Beispiele: | |||
:<code><nowiki>list -r TV</nowiki></code> | |||
:<code><nowiki>list -r</nowiki></code> | |||
=== list -R === | |||
Mit dieser Option werden auch die Geräte samt aktueller Zustände mit ausgegeben, die als '''probably associated with'' erkannt worden sind. | |||
Beispiel: | |||
:<code><nowiki>list -R TV</nowiki></code> | |||
== Links == | |||
* [[Import von Code Snippets|RAW Definition]] | |||
[[Kategorie:FHEM-Verwendung]] | |||
Aktuelle Version vom 23. Mai 2020, 21:46 Uhr
list | |
---|---|
Zweck / Funktion | |
Befehl zur Auflistung von Gerätedefinitionen | |
Allgemein | |
Typ | Befehl |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | fhem.pl ("Built-in") |
Ersteller | rudolfkoenig (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Der Befehl list dient dazu, Informationen über Geräte (Devices) anzuzeigen. Dabei können entweder Details zu einem einzelnen Gerät ausgegeben werden, oder eine Liste von Geräten (Gerätenamen) mit bestimmten gemeinsamen Attributen. Wenn mehrere Geräte aufgelistet werden, lässt sich zu jedem zusätzlich der Wert eines oder mehrerer Internals, Readings oder Attribute mit ausgeben.
Der Befehl kann direkt über das Eingabefeld des Webfrontends oder über die telnet Schnittstelle eingegeben werden.
Beispiele
Alle Geräte mit bestimmten Namen mit ihrer Definition
Auflistung der Definitionen aller Geräte von FHEM:
list .* DEF
Auflistung der Definitionen der Geräte, die mit wz beginnen.
list wz.* DEF
Alle Geräte eines bestimmten Typs
Mit dem Befehl
list TYPE=FS20
wird eine Liste (die Namen) aller Geräte des Typs FS20 ausgegeben.
Alle Geräte ohne TYPE
Manche Fehlersituationen in FHEM werden verursacht durch Geräte, bei denen kein Internal mit dem Namen TYPE festgelegt ist (was eigentlich eine ungültige Definition ist). Diese Geräte-Definitionen lassen sich mit dem Befehl
{ join("\n", grep { !defined($defs{$_}{TYPE}) } keys %defs) }
identifizieren. Mithilfe dieser Information lässt sich dann z.B. ein solches Gerät löschen.
Ein derartiges Szenario ist unter anderem in diesem Forenthema beschrieben.
Alle Geräte mit einem bestimmten Attribut
Im Zusammenhang mit Verhaltensänderungen eines Attributs (wie z.B. bei userReadings geschehen), kann es sinnvoll sein, alle Devices aufzulisten, bei denen dieses Attribut verwendet wurde.
- alle Devices, bei denen das Attribut userReadings (auf einen beliebigen Wert gesetzt) ist
list userReadings=[a-zA-Z].*
oderlist userReadings=.+
oderlist userReadings=\w.*
oderlist userReadings=..*
Alle Geräte in einem Raum
Mit dem Befehl
list room=TV
werden die Namen aller Geräte aufgeführt, die ein Attribut room mit dem Wert TV haben. Durch einen Klick auf den Gerätenamen wird die Detailansicht des Gerätes aufgerufen.
Attributwert zu mehreren Geräten
Mit dem Befehl
list TYPE=CUL_HM serialNr
werden die Seriennummern aller Homematic Geräte aufgelistet.
Mehrere Werte zu mehreren Geräten
Mit dem Befehl
list TYPE=CUL_HM:FILTER=serialNr=..* serialNr model
werden die Seriennummer und die Modellbezeichnung aller Homematic Geräte aufgelistet, die auch eine Seriennummer haben.
Gezieltes Auflisten von Internal, Reading oder Attribut
Bei manchen Geräten gibt es Internals, Readings oder Attribute mit gleichem Namen. Da list jeweils nur das erste Vorkommen zeigt und nicht sichtbar macht, was genau gefunden wurde, ist die Ausgabe manchmal nicht eindeutig. Um das zu vermeiden, lässt sich mit dem Präfix i:, r: oder a: vor dem Namen des anzuzeigenden Wertes angeben, welcher der drei möglichen Typen ausgegeben werden soll.
Erweiterte Optionen
Mit den Optionen -r und -R kann eine erweiterte Ausgabe erzielt werden. Diese sollte bei der Erstellung eines Threads im Forum zu allen beteiligten Geräten mit angegeben werden. Die Optionen können auch hilfreich sein, um Teile der Konfiguration schnell zwischen unterschiedlichen Installationen zu kopieren, z.B. von einem oder in ein Testsystem (siehe auch Import von Code Snippets).
list -r
Dabei werden auch die derzeitigen Stände der Readings mit ausgegeben. Für die Angabe des Gerätenamens ist dabei die Verwendung jeder devspec zulässig.
Beispiele:
list -r TV
list -r
list -R
Mit dieser Option werden auch die Geräte samt aktueller Zustände mit ausgegeben, die als 'probably associated with erkannt worden sind.
Beispiel:
list -R TV