Cmdalias: Unterschied zwischen den Versionen
| Zeile 39: | Zeile 39: | ||
Verkürzter Befehlsaufruf des TTS Moduls  | Verkürzter Befehlsaufruf des TTS Moduls  | ||
<pre>define c_say cmdalias say .* AS set MyTTS tts '$EVENT'</pre>  | <pre>define c_say cmdalias say .* AS set MyTTS tts '$EVENT'</pre>  | ||
Umbenennen eines FHEM Raumes  | |||
<pre>define c_roomrename cmdalias roomrename .* AS { for my $name (devspec2array("room=$EVTPART0")){ map {s/$EVTPART0/$EVTPART1/;; fhem("attr $name room $_")} AttrVal($name,'room','') } }</pre>  | |||
== Links ==  | == Links ==  | ||
Version vom 18. Oktober 2015, 07:49 Uhr
| Cmdalias | |
|---|---|
| Zweck / Funktion | |
| Erstellen von Benutzer-definierten Befehlen in FHEM | |
| Allgemein | |
| Typ | Hilfsmodul | 
| Details | |
| Dokumentation | EN / DE | 
| Support (Forum) | FHEM | 
| Modulname | 98_cmdalias.pm | 
| Ersteller | rudolfkoenig | 
| Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! | |
cmdalias ist ein Modul zum definieren von benutzerdefinierten Befehlen. 
Zielsetzung
Die jeweiligen Befehlsketten können mit diesem Modul verkürzt werden oder sogar verändert werden.
Einbindung in Fhem
define <name> cmdalias <cmd> [parameter] AS newcommand..."
Beispieldefinition
define s1 cmdalias shutdown update AS save;;shutdowndefine s2 cmdalias set lamp .* AS { Log 1, "$EVENT";; fhem("set $EVENT") }
Aufruf in Fhem
Die aliase können entweder in der FHEM Befehlzeie oder direkt im telnet eingegeben werden.
Beispiele
Auflisten von Geräten die in FHEM das Attribut "ignore" gesetzt haben:
define c_showignoreddevices cmdalias showignoreddevices AS { join("\n", grep { $attr{$_}{ignore} } sort keys %attr ) }
Auflisten von Geräten ohne TYPE Definition (sollte nur bei einer fehlerhaften Definition eine Ausgabe erstellen):
define c_shownotypedevices cmdalias shownotypedevices AS { join("\n", grep { !defined($defs{$_}{TYPE}) } keys %defs) }
In diesem Beispiel wird dem Gerät MiLight_1 nicht erlaubt ausgeschaltet zu werden
define c_aliasMiLight_1 cmdalias set MiLight_1 off AS set HMSchaltaktor_1 off
Verkürzter Befehlsaufruf des TTS Moduls
define c_say cmdalias say .* AS set MyTTS tts '$EVENT'
Umbenennen eines FHEM Raumes
define c_roomrename cmdalias roomrename .* AS { for my $name (devspec2array("room=$EVTPART0")){ map {s/$EVTPART0/$EVTPART1/;; fhem("attr $name room $_")} AttrVal($name,'room','') } }
Links
- Thread über das Modul im Fhem Forum
 - Thread mit weiteren Informationen