CustomReadings: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K (kleine Formatierungskorrekturen; ModulTyp auf "inoffiziell" geändert) |
||
Zeile 1: | Zeile 1: | ||
{{Infobox Modul | {{Infobox Modul | ||
|ModPurpose=Erstellen von eigenen "Readings" in FHEM | |ModPurpose=Erstellen von eigenen "Readings" in FHEM | ||
|ModType= | |ModType=x | ||
<!-- |ModCmdRef= wird automatisch generiert --> | <!-- |ModCmdRef= wird automatisch generiert --> | ||
|ModForumArea=Unterstützende Dienste | |||
|ModTechName=98_CustomReadings.pm | |ModTechName=98_CustomReadings.pm | ||
|ModOwner=HCS | |ModOwner=[http://forum.fhem.de/index.php?action=profile;u=6609 HCS] | ||
}} | }} | ||
[[CustomReadings]] ist ein FHEM Modul, mit dessen Hilfe man sich die unterschiedlichsten "Readings" in FHEM erstellen kann. Das Modul kann zum Beispiel benutzt werden, um diverse Systeminformation (z.B. Kernel Version, HDD Temperatur o.ä.) in FHEM anzuzeigen und weiter zu verarbeiten. | |||
diverse Systeminformation (z.B. Kernel Version, HDD Temperatur o.ä.) in FHEM anzuzeigen und weiter zu verarbeiten. | |||
== Zielsetzung == | == Zielsetzung == | ||
Dieses Modul ermöglicht vielfältige Verknüpfungen mit den unterschiedlichsten Anwendungen in einem System. Weitere Einsatzzwecke sind | Dieses Modul ermöglicht vielfältige Verknüpfungen mit den unterschiedlichsten Anwendungen in einem System. Weitere Einsatzzwecke sind im Abschnitt [[CustomReadings#Beispiele|Beispiele]] aufgeführt. | ||
== Installation des Moduls == | == Installation des Moduls == | ||
Momentan ist das Modul noch nicht im offiziellen FHEM SVN eingepflegt. Das bedeutet, dass die Installation manuell durchgeführt werden muss. | Momentan ist das Modul noch nicht im offiziellen FHEM SVN eingepflegt. Das bedeutet, dass die Installation manuell durchgeführt werden muss. | ||
Das Modul kann unter [http://forum.fhem.de/index.php?action=dlattach;topic=26656.0;attach=18826 98_CustomReadings.pm] heruntergeladen werden | Das Modul kann unter [http://forum.fhem.de/index.php?action=dlattach;topic=26656.0;attach=18826 98_CustomReadings.pm] heruntergeladen werden. Danach muss es in den FHEM Ordner <code>./FHEM/</code> kopiert werden (normalerweise unter /opt/fhem/FHEM bei einem Linux-System). | ||
Danach muss in | |||
== Einbindung in Fhem == | == Einbindung in Fhem == | ||
[[Datei:example_customreading_kernel.png|mini|400px|rechts|Beispieldefinition eines CustomReadings]] | |||
'''Beispieldefinition''' | '''Beispieldefinition''' | ||
<pre>define myReadings CustomReadings | <pre>define myReadings CustomReadings | ||
Zeile 26: | Zeile 24: | ||
attr myReadings readingDefinitions kernel:qx(uname -r 2>&1) | attr myReadings readingDefinitions kernel:qx(uname -r 2>&1) | ||
</pre> | </pre> | ||
Die obige Definition zeigt die Erstellung eines sog. "CustomReadings". Das Attribut "interval" gibt das Aktualisierungsintervall in Sekunden an. | Die obige Definition zeigt die Erstellung eines sog. "CustomReadings". Das Attribut "interval" gibt das Aktualisierungsintervall in Sekunden an. Das Attribut "readingsDefinitions" enthält den eigentlichen Systembefehl. Nach spätestens zwei Sekunden wird das "Reading" ''kernel'' erzeugt und mit der | ||
Das Attribut "readingsDefinitions" enthält den eigentlichen Systembefehl. Nach spätestens zwei Sekunden wird das "Reading" kernel erzeugt und mit der | |||
Ausgabe des Systembefehls "uname -r" gefüllt. | Ausgabe des Systembefehls "uname -r" gefüllt. | ||
'''Hinzufügen weiterer "Readings"''' | '''Hinzufügen weiterer "Readings"''' | ||
[[Datei:Example_customreading_two_defs.png|mini|600px|rechts|Beispiel mit zwei Readings]] | |||
:<code>attr myReadings readingDefinitions kernel:qx(uname -r 2>&1), timezone:qx(cat /etc/timezone 2>&1)</code> | |||
Weitere "Readings" können einfach über das Attribut "readingsDefinitions" mit Hilfe des Trennzeichens "," (Komma) hinzugefügt werden. Im folgenden wird die Zeitzone als "Reading" "timezone" hinzugefügt. | |||
Weitere "Readings" können einfach über das Attribut "readingsDefinitions" mit Hilfe des Trennzeichens , (Komma) hinzugefügt werden. | |||
Im folgenden wird die Zeitzone als "Reading" "timezone" hinzugefügt. | |||
<br clear=all> | |||
=== Beispiele === | === Beispiele === | ||
Zeile 46: | Zeile 39: | ||
! Definition !! Erläuterungen | ! Definition !! Erläuterungen | ||
|- | |- | ||
| style="width:40%" |< | | style="width:40%" |<code>attr myReadings readingDefinitions hdd_temperature:qx(hddtemp /dev/sda 2>&1)</code> | ||
| Anzeigen der Festplattentemperatur | | Anzeigen der Festplattentemperatur | ||
'''HINWEIS''' Funktioniert nur auf Systemen auf | '''HINWEIS''': Funktioniert nur auf Systemen, auf denen auch das Programm hddtemp eingerichtet ist und die entsprechenden Rechte für den FHEM-User gesetzt wurden! | ||
|- | |- | ||
| < | | <code><nowiki>fhem_backup_folder_size:qx(fhem_backup_folder_size:qx(du -ch /opt/fhem/backup/ |awk 'END {print $1}'))</nowiki></code> | ||
| Anzeigen der Größe des Backup Verzeichnisses /opt/fhem/backup | | Anzeigen der Größe des Backup Verzeichnisses /opt/fhem/backup | ||
|- | |- | ||
| < | | <code>perl_version:$]</code> | ||
| Anzeigen der Perl Version | | Anzeigen der Perl Version | ||
|- | |- | ||
| < | | <code>last_fhem_log_entry:qx(tail -1 /opt/fhem/log/fhem-\$(date +%Y-%m).log)</code> | ||
| Anzeigen des letzten Log Eintrages im fhem.log | | Anzeigen des letzten Log Eintrages im fhem.log | ||
|- | |- | ||
Zeile 62: | Zeile 55: | ||
== Links == | == Links == | ||
* Thread über das Modul im | * Thread über das Modul im {{Link2Forum|Topic=26656|LinkText=Fhem Forum}} | ||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:Code Snippets]] | [[Kategorie:Code Snippets]] |
Version vom 5. September 2014, 07:42 Uhr
CustomReadings | |
---|---|
Zweck / Funktion | |
Erstellen von eigenen "Readings" in FHEM | |
Allgemein | |
Typ | Inoffiziell |
Details | |
Dokumentation | siehe Forum |
Support (Forum) | Unterstützende Dienste |
Modulname | 98_CustomReadings.pm |
Ersteller | HCS |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
CustomReadings ist ein FHEM Modul, mit dessen Hilfe man sich die unterschiedlichsten "Readings" in FHEM erstellen kann. Das Modul kann zum Beispiel benutzt werden, um diverse Systeminformation (z.B. Kernel Version, HDD Temperatur o.ä.) in FHEM anzuzeigen und weiter zu verarbeiten.
Zielsetzung
Dieses Modul ermöglicht vielfältige Verknüpfungen mit den unterschiedlichsten Anwendungen in einem System. Weitere Einsatzzwecke sind im Abschnitt Beispiele aufgeführt.
Installation des Moduls
Momentan ist das Modul noch nicht im offiziellen FHEM SVN eingepflegt. Das bedeutet, dass die Installation manuell durchgeführt werden muss.
Das Modul kann unter 98_CustomReadings.pm heruntergeladen werden. Danach muss es in den FHEM Ordner ./FHEM/
kopiert werden (normalerweise unter /opt/fhem/FHEM bei einem Linux-System).
Einbindung in Fhem
Beispieldefinition
define myReadings CustomReadings attr myReadings interval 2 attr myReadings readingDefinitions kernel:qx(uname -r 2>&1)
Die obige Definition zeigt die Erstellung eines sog. "CustomReadings". Das Attribut "interval" gibt das Aktualisierungsintervall in Sekunden an. Das Attribut "readingsDefinitions" enthält den eigentlichen Systembefehl. Nach spätestens zwei Sekunden wird das "Reading" kernel erzeugt und mit der Ausgabe des Systembefehls "uname -r" gefüllt.
Hinzufügen weiterer "Readings"
attr myReadings readingDefinitions kernel:qx(uname -r 2>&1), timezone:qx(cat /etc/timezone 2>&1)
Weitere "Readings" können einfach über das Attribut "readingsDefinitions" mit Hilfe des Trennzeichens "," (Komma) hinzugefügt werden. Im folgenden wird die Zeitzone als "Reading" "timezone" hinzugefügt.
Beispiele
Definition | Erläuterungen |
---|---|
attr myReadings readingDefinitions hdd_temperature:qx(hddtemp /dev/sda 2>&1)
|
Anzeigen der Festplattentemperatur
HINWEIS: Funktioniert nur auf Systemen, auf denen auch das Programm hddtemp eingerichtet ist und die entsprechenden Rechte für den FHEM-User gesetzt wurden! |
fhem_backup_folder_size:qx(fhem_backup_folder_size:qx(du -ch /opt/fhem/backup/ |awk 'END {print $1}'))
|
Anzeigen der Größe des Backup Verzeichnisses /opt/fhem/backup |
perl_version:$]
|
Anzeigen der Perl Version |
last_fhem_log_entry:qx(tail -1 /opt/fhem/log/fhem-\$(date +%Y-%m).log)
|
Anzeigen des letzten Log Eintrages im fhem.log |
Links
- Thread über das Modul im Fhem Forum