Template: Unterschied zwischen den Versionen
(Wiki EIntrag für "template" Befehl erstellt) |
K (diverse Korrekturen; wikifiziert) |
||
Zeile 6: | Zeile 6: | ||
|ModForumArea=Sonstiges | |ModForumArea=Sonstiges | ||
|ModTechName=98_template.pm | |ModTechName=98_template.pm | ||
|ModOwner=Dr. Boris Neubert ( | |ModOwner=Dr. Boris Neubert ({{Link2FU|10| Forum}}) | ||
}} | }} | ||
Der template Befehl vereinfacht das Erstellen gleichartiger Devices in FHEM. Ein Template File besteht im Grunde aus FHEM Befehlen, in die Platzhalter eingefügt werden. Beim Aufruf des template Befehles werden die Platzhalter durch konkrete Werte ersetzt. Damit lassen sich sehr schnell ähnliche Devices (oder Kombinationen von Devices) erstellen oder ändern. Ein template file könnte z.B. die Definition eines Dummies inkl. mehrerer sich auf den Dummy beziehenden | Der [[template]] Befehl vereinfacht das Erstellen gleichartiger Devices in FHEM. Ein Template File besteht im Grunde aus FHEM Befehlen, in die Platzhalter eingefügt werden. Beim Aufruf des template Befehles werden die Platzhalter durch konkrete Werte ersetzt. Damit lassen sich sehr schnell ähnliche Devices (oder Kombinationen von Devices) erstellen oder ändern. Ein template file könnte z.B. die Definition eines Dummies inkl. mehrerer sich auf den Dummy beziehenden [[notify]] und [[at]] enthalten. Durch wiederholte Ausführung des templates lassen sich so schnell Devices und ihre Verarbeitungslogik erstellen. | ||
== Template File erstellen == | == Template File erstellen == | ||
Template Files werden ausserhalb FHEM erstellt und dann auf FHEM Server (in einem Unterverzeichnis von fhem) abgelegt. Nutzer von configdb müssen das file zunächst importieren | Template Files werden ausserhalb FHEM erstellt und dann auf dem FHEM Server (in einem Unterverzeichnis von fhem) abgelegt. Nutzer von [[configdb]] müssen das file zunächst importieren. | ||
Derzeit (März 2017) können template files noch nicht über "Edit Files" in FHEM direkt bearbeitet werden. Über einen Workaround ist dies jedoch möglich. Dateien, die in /FHEM abgelegt sind und Endungen wie z.B. .holiday oder .layout haben, werden unter "Edit Files" angezeigt und können in FHEM bearbeitet werden. | Derzeit (März 2017) können template files noch nicht über "Edit Files" in FHEM direkt bearbeitet werden. Über einen Workaround ist dies jedoch möglich. Dateien, die in /FHEM abgelegt sind und Endungen wie z.B. .holiday oder .layout haben, werden unter "Edit Files" angezeigt und können in FHEM bearbeitet werden. | ||
Das template file kann mittels | Das template file kann mittels | ||
< | :<code>template show <templateFile></code> | ||
template show <templateFile> | |||
</ | |||
angezeigt werden | angezeigt werden | ||
== Template File mit Inhalt füllen == | == Template File mit Inhalt füllen == | ||
Das Template besteht aus FHEM Befehlen mit Plathaltern, die bei der Ausführung des template Befehls durch konkrete Werte ersetzt werden. Ein template könnte beispielsweise folgendermaßen definiert werden. | Das Template besteht aus FHEM Befehlen mit Plathaltern, die bei der Ausführung des template Befehls durch konkrete Werte ersetzt werden. Ein template könnte beispielsweise folgendermaßen definiert werden. | ||
< | <pre> | ||
# my Template File ./FHEM/tmpl_example.layout | # my Template File ./FHEM/tmpl_example.layout | ||
define %name% dummy | define %name% dummy | ||
define di_%name% doif ([%name]) (set %device" on) | define di_%name% doif ([%name]) (set %device" on) | ||
attr di_%name do always | attr di_%name do always | ||
</ | </pre> | ||
== Template ausführen == | == Template ausführen == | ||
Bei Ausführung des Templates werden die FHEM Befehle des template files abgearbeitet. In oben definiertem Beispiel würde also ein | Bei Ausführung des Templates werden die FHEM Befehle des template files abgearbeitet. In oben definiertem Beispiel würde also ein | ||
< | :<code>template ./FHEM/tmpl_example.layout name=myDummy </code> | ||
template ./FHEM/tmpl_example.layout name=myDummy | dazu führen, dass ein Dummy inkl. zugehörigem [[DOIF]] angelegt würde. | ||
</ | |||
dazu führen, dass ein Dummy inkl. zugehörigem DOIF angelegt würde. | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:Glossary]] | [[Kategorie:Glossary]] |
Version vom 20. März 2017, 08:11 Uhr
template | |
---|---|
Zweck / Funktion | |
Einfaches Erstellen gleichartiger Devices | |
Allgemein | |
Typ | Befehl |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | 98_template.pm |
Ersteller | Dr. Boris Neubert (Forum ) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Der template Befehl vereinfacht das Erstellen gleichartiger Devices in FHEM. Ein Template File besteht im Grunde aus FHEM Befehlen, in die Platzhalter eingefügt werden. Beim Aufruf des template Befehles werden die Platzhalter durch konkrete Werte ersetzt. Damit lassen sich sehr schnell ähnliche Devices (oder Kombinationen von Devices) erstellen oder ändern. Ein template file könnte z.B. die Definition eines Dummies inkl. mehrerer sich auf den Dummy beziehenden notify und at enthalten. Durch wiederholte Ausführung des templates lassen sich so schnell Devices und ihre Verarbeitungslogik erstellen.
Template File erstellen
Template Files werden ausserhalb FHEM erstellt und dann auf dem FHEM Server (in einem Unterverzeichnis von fhem) abgelegt. Nutzer von configdb müssen das file zunächst importieren.
Derzeit (März 2017) können template files noch nicht über "Edit Files" in FHEM direkt bearbeitet werden. Über einen Workaround ist dies jedoch möglich. Dateien, die in /FHEM abgelegt sind und Endungen wie z.B. .holiday oder .layout haben, werden unter "Edit Files" angezeigt und können in FHEM bearbeitet werden. Das template file kann mittels
template show <templateFile>
angezeigt werden
Template File mit Inhalt füllen
Das Template besteht aus FHEM Befehlen mit Plathaltern, die bei der Ausführung des template Befehls durch konkrete Werte ersetzt werden. Ein template könnte beispielsweise folgendermaßen definiert werden.
# my Template File ./FHEM/tmpl_example.layout define %name% dummy define di_%name% doif ([%name]) (set %device" on) attr di_%name do always
Template ausführen
Bei Ausführung des Templates werden die FHEM Befehle des template files abgearbeitet. In oben definiertem Beispiel würde also ein
template ./FHEM/tmpl_example.layout name=myDummy
dazu führen, dass ein Dummy inkl. zugehörigem DOIF angelegt würde.