CustomReadings: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Vorlage Link2CmdRef)
 
(14 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Modul
{{Infobox Modul
|ModPurpose=Erstellen von eigenen "Readings" in FHEM
|ModPurpose=Erstellen von eigenen "Readings" in FHEM
|ModType=d
|ModType=h
<!-- |ModCategory= (noch?) nicht verwendet -->
<!-- |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
[[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 unter Beispiele aufgeführt.
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 ==
Das Modul befindet sich seit dem 07.09.2014 im offiziellen SVN Zweig von FHEM.
Sofern es nicht gefunden wird, ist muss eine Aktualisierung von FHEM (update in die Befehlszeile)
eingegeben werden.


Momentan ist das Modul noch nicht im offiziellen FHEM SVN eingepflegt. Das bedeutet, dass die Installation manuell durchgeführt werden muss.
== Einbindung in FHEM ==
Das Modul kann unter [http://forum.fhem.de/index.php?action=dlattach;topic=26656.0;attach=18826 98_CustomReadings.pm] heruntergeladen werden,
[[Datei:example_customreading_kernel.png|mini|400px|rechts|Beispieldefinition eines CustomReadings]]
Danach muss in dem FHEM Ordner :<code>./FHEM/</code> kopiert werden (normalerweise unter /opt/fhem/FHEM bei einem Linux-System).
 
== Einbindung in Fhem ==
'''Beispieldefinition'''
'''Beispieldefinition'''
<pre>define myReadings CustomReadings
<pre>define myReadings CustomReadings
attr myReadings interval 60
attr myReadings interval 2
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 einer Minute wird das "Reading" kernel erzeugt und mit der
Ausgabe des Systembefehls "uname -r" gefüllt.  
Ausgabe des Systembefehls "uname -r" gefüllt.  
[[Datei:example_customreading_kernel.png]]


'''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>


<pre>attr myReadings readingDefinitions kernel:qx(uname -r 2>&1), timezone:qx(cat /etc/timezone 2>&1)</pre>
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.
 
[[Datei:Example_customreading_two_defs.png]]


<br clear=all>
=== Beispiele ===
=== Beispiele ===


Zeile 48: Zeile 42:
| style="width:40%" |<pre>attr myReadings readingDefinitions hdd_temperature:qx(hddtemp /dev/sda 2>&1)</pre>
| style="width:40%" |<pre>attr myReadings readingDefinitions hdd_temperature:qx(hddtemp /dev/sda 2>&1)</pre>
| Anzeigen der Festplattentemperatur  
| Anzeigen der Festplattentemperatur  
'''HINWEIS''' Funktioniert nur auf Systemen auf den auch das Programm hddtemp eingerichtet ist und die entsprechenden Rechte für den FHEM-User gesetzt wurden!
'''HINWEIS''': Funktioniert nur auf Systemen, auf denen auch das Programm hddtemp eingerichtet ist und die entsprechenden Rechte für den FHEM-User gesetzt wurden!
|-
|-
| <pre>fhem_backup_folder_size:qx(fhem_backup_folder_size:qx(du -ch /opt/fhem/backup/ |awk 'END {print $1}'))</pre>
| <pre><nowiki>fhem_backup_folder_size:qx(fhem_backup_folder_size:qx(du -ch /opt/fhem/backup/ |awk 'END {print $1}'))</nowiki></pre>
| Anzeigen der Größe des Backup Verzeichnisses /opt/fhem/backup
| Anzeigen der Größe des Backup Verzeichnisses /opt/fhem/backup
|-
|-
Zeile 56: Zeile 50:
| Anzeigen der Perl Version
| Anzeigen der Perl Version
|-
|-
| <pre>last_fhem_log_entry:qx(tail -1 /opt/fhem/log/fhem-\$(date +%Y-%m).log)</pre>
| Anzeigen des letzten Log Eintrages im fhem.log
|-
| <pre>last_fhem_log_error:qx(grep -i error ./log/fhem-\$(date +%Y-%m).log|tail -1)</pre>
| Anzeigen des letzten Log Eintrages der das Wort "error oder ERROR oder Error" beinhaltet!
|-
|-
| <pre>COMBINED:qx(cat /proc/sys/vm/dirty_background*),dirty_bytes:,dirty_ration:</pre>
| Mehrere Werte gleichzeitig in die entsprechenden "Readings" übernehmen
|-
|}
|}


== Links ==
== Links ==
* Thread über das Modul im [http://forum.fhem.de/index.php/topic,26656.0.html Fhem Forum]
* Thread über das Modul im {{Link2Forum|Topic=26656|LinkText=FHEM Forum}}
* FHEM {{Link2CmdRef|Anker=CustomReadings}}
* {{Link2Forum|Topic=26810|Message=0|LinkText=Ankündigung}}


[[Kategorie:HOWTOS]]
[[Kategorie:HOWTOS]]
[[Kategorie:Code Snippets]]
[[Kategorie:Code Snippets]]

Aktuelle Version vom 31. Januar 2018, 15:28 Uhr

CustomReadings
Zweck / Funktion
Erstellen von eigenen "Readings" in FHEM
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
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

Das Modul befindet sich seit dem 07.09.2014 im offiziellen SVN Zweig von FHEM. Sofern es nicht gefunden wird, ist muss eine Aktualisierung von FHEM (update in die Befehlszeile) eingegeben werden.

Einbindung in FHEM

Beispieldefinition eines CustomReadings

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"

Beispiel mit zwei 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
last_fhem_log_error:qx(grep -i error ./log/fhem-\$(date +%Y-%m).log|tail -1)
Anzeigen des letzten Log Eintrages der das Wort "error oder ERROR oder Error" beinhaltet!
COMBINED:qx(cat /proc/sys/vm/dirty_background*),dirty_bytes:,dirty_ration:
Mehrere Werte gleichzeitig in die entsprechenden "Readings" übernehmen

Links