DLCD: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎Datum: deutsches datumsformat dmy)
K (Diverse Tippfehler korrigiert)
Zeile 1: Zeile 1:
{{Infobox Modul
{{Infobox Modul
|ModPurpose=Daten sammeln und formatiert auf LCD ausgeben
|ModPurpose=Daten sammeln und formatiert auf LCD ausgeben
<!-- |ModCategory= (noch?) nicht verwendet -->
|ModType=x
|ModType=x
|ModCmdRef= ---- noch nicht Teil von FHEM ----
|ModCmdRef= ---- noch nicht Teil von FHEM ----
|ModForumArea=Codeschnipsel
|ModForumArea=Codeschnipsel
|ModTechName=39_DLCD.pm
|ModTechName=39_DLCD.pm
|ModOwner=[http://forum.fhem.de/index.php?action=profile;u=6340 epsrw1]}}
|ModOwner=epsrw1 ([http://forum.fhem.de/index.php?action=profile;u=6340 Forum] / [[Benutzer Diskussion:Epsrw1|Wiki]])}}


Das [[DLCD]]-Modul bietet eine einfache Möglichkeit, Daten zu sammeln und für die Anzeige auf einem seriellen LCD aufzubereiten.
Das [[DLCD]]-Modul bietet eine einfache Möglichkeit, Daten zu sammeln und für die Anzeige auf einem seriellen LCD aufzubereiten.
Zeile 13: Zeile 12:
<u>Diese Wiki-Seite beschreibt den Versionsstand 1.1 des DLCD-Moduls.</u>  
<u>Diese Wiki-Seite beschreibt den Versionsstand 1.1 des DLCD-Moduls.</u>  


Thread im Forum:[http://forum.fhem.de/index.php/topic,24519.0.html]
Thread im {{Link2Forum|Topic=24519|LinkText=Fhem-Forum}} mit der jeweils aktuellen Version des Moduls als Anhang im ersten Beitrag.


== Beschreibung ==
== Beschreibung ==
Zeile 20: Zeile 19:
DLCD bietet als kleines Helferlein die Möglichkeit, Textzeilen eines LCD Displays als Readings vorzubereiten und mit Daten frei konfigurierbarer Readings zu befüllen.
DLCD bietet als kleines Helferlein die Möglichkeit, Textzeilen eines LCD Displays als Readings vorzubereiten und mit Daten frei konfigurierbarer Readings zu befüllen.


Jede Zeile wird als Attr vordefiniert, und mit Platzhaltern (zB.: %1%) für die einzutragenden Werte versehen.
Jede Zeile wird als Attr vordefiniert, und mit Platzhaltern (z.B.: %1%) für die einzutragenden Werte versehen.


Die Liste aller einzulesenden Devices:Readings wird in einem attr eingestellt. Das Modul prüft dann regelmäßig (attr: poll interval) die Daten der Fhem-Devices  
Die Liste aller einzulesenden Devices:Readings wird in einem attr eingestellt. Das Modul prüft dann regelmäßig (attr: poll interval) die Daten der Fhem-Devices  
Zeile 38: Zeile 37:


== Attribute ==
== Attribute ==
Alle Attributes sind auch in fhem durch das Kommando get attrHelp <varname> erklärt, für's "schnelle Nachschauen zwischendurch".
Alle Attribute sind auch in fhem durch das Kommando get attrHelp <varname> erklärt, für's "schnelle Nachschauen zwischendurch".




* dlcdRows -> Anzahl Datenzeilen (kann mehr als am display sein mit eingeschaltetem scrolling)
* dlcdRows -> Anzahl Datenzeilen (kann mehr als am Display sein mit eingeschaltetem Scrolling)


* dlcdCols -> Anzahl Spalten des LCD Displays
* dlcdCols -> Anzahl Spalten des LC-Displays


* dlcdPollInterval -> Zeitintervall nach dem FHEM die Daten versucht zu aktualisieren
* dlcdPollInterval -> Zeitintervall, nach dem FHEM versucht, die Daten zu aktualisieren


* dlcdLine1 -> Formatvorlage für LCD-zeile zB: text: %1% text: %2%
* dlcdLine1 -> Formatvorlage für LCD-Zeile z.B.: text: %1% text: %2%


* dlcdLine2 -> Formatvorlage für LCD-zeile zB: text: %3% text: %4%
* dlcdLine2 -> Formatvorlage für LCD-Zeile z.B.: text: %3% text: %4%


* dlcdLine3 -> Formatvorlage für LCD-zeile zB: text: %5% text: %6%
* dlcdLine3 -> Formatvorlage für LCD-Zeile z.B.: text: %5% text: %6%


* dlcdLine4 -> Formatvorlage für LCD-zeile text: %7% text: %8%
* dlcdLine4 -> Formatvorlage für LCD-Zeile Text: %7% text: %8%


* dlcdLine5 -> Formatvorlage für LCD-zeile text: %11% text: %12%
* dlcdLine5 -> Formatvorlage für LCD-Zeile Text: %11% text: %12%


* dlcdVal1 -> Quelle für den Wert %1% im Format: FhemDev:reading
* dlcdVal1 -> Quelle für den Wert %1% im Format: FhemDev:reading
Zeile 67: Zeile 66:
* dlcdVal12 -> Quelle für den Wert %12% im Format: FhemDev:reading
* dlcdVal12 -> Quelle für den Wert %12% im Format: FhemDev:reading


* dlcdTriggerCmd -> Fhem-Command zum Schreiben einer LCD-Zeile. zB.: set lcd_wand writeXY 0,%L%,20,1 %T%
* dlcdTriggerCmd -> Fhem-Befehl zum Schreiben einer LCD-Zeile, z.B.: <code>set lcd_wand writeXY 0,%L%,20,1 %T%</code>


* dlcdVal1formatnum -> Zahlenformatierung für Wert %1%, muss none sein bei Nicht-Zahl
* dlcdVal1formatnum -> Zahlenformatierung für Wert %1%, muss none sein bei Nicht-Zahl
Zeile 83: Zeile 82:
dlcdVal .. formatnum setzen die Anzahl Dezimalstellen fest, sowie ob ein + bzw. - Zeichen vorangestellt wird. Es funktioniert wie folgt:
dlcdVal .. formatnum setzen die Anzahl Dezimalstellen fest, sowie ob ein + bzw. - Zeichen vorangestellt wird. Es funktioniert wie folgt:


erste ziffer: gesamtzahl ziffern in der ausgabe.
erste Ziffer: Gesamtzahl Ziffern in der Ausgabe.
zweite ziffer: anzahl fester dezimalstellen
zweite Ziffer: Anzahl fester Dezimalstellen
optional: +- an dritter stelle
optional: +- an dritter Stelle


Beispiele:  
Beispiele:  
Zeile 92: Zeile 91:
4+0+- -> -0012 +0010
4+0+- -> -0012 +0010


die möglichen optionen sind in einer liste fest vorgegeben um fehleinstellungen zu vermeiden. über das configfile können eigenkreationen eingestellt werden die nicht in der liste sind
Die möglichen Optionen sind in einer Liste fest vorgegeben, um Fehleinstellungen zu vermeiden. Über das configfile können Eigenkreationen eingestellt werden, die nicht in der Liste enthalten sind.


-----
-----


* dlcdBlankspaceReplace -> Leerzeichen wird im dlcdTriggerCmd durch diesen attr-Wert ersetzt. zB: \x20
* dlcdBlankspaceReplace -> Leerzeichen wird im dlcdTriggerCmd durch diesen attr-Wert ersetzt. z.B.: \x20


* dlcdPhysicalRows -> anzahl physikalisch vorhandener zeilen am ausgabedisplay
* dlcdPhysicalRows -> Anzahl physikalisch vorhandener Zeilen am Ausgabedisplay


* dlcdScrolling -> zeilen automatisch scrollen, 1=an 0=aus
* dlcdScrolling -> Zeilen automatisch scrollen, 1=an 0=aus


* dlcdDebugOutput -> zusätzliche readings für aktuelle display-ausgabe zum testen der scroll-funktion
* dlcdDebugOutput -> zusätzliche readings für aktuelle Display-ausgabe zum testen der Scroll-Funktion


== Settings ==
== Settings ==
Zeile 120: Zeile 119:
== Spezielle Anzeigefunktionen ==
== Spezielle Anzeigefunktionen ==


Datum und Uhrzeit basieren aktuell auf der Systemzeit des FHEM-servers. Eine Möglichkeit als Zeitbasis den Timestamp eines FHEM-Readings zu verwenden ist denkbar; wer das nutzen möchte, bitte im Forum melden.
Datum und Uhrzeit basieren aktuell auf der Systemzeit des FHEM-Servers. Eine Möglichkeit, als Zeitbasis den Timestamp eines FHEM-Readings zu verwenden, ist denkbar; wer das nutzen möchte, bitte im Forum melden.


=== Datum ===
=== Datum ===
Zeile 133: Zeile 132:
* %date_WD_eng% --> Wochentag, Abkürzung englisch
* %date_WD_eng% --> Wochentag, Abkürzung englisch
* %date_WD_ger% --> Wochentag, Abkürzung deutsch
* %date_WD_ger% --> Wochentag, Abkürzung deutsch
* %date_dmy% --> datum im format 25.08.2014
* %date_dmy% --> Datum im Format 25.08.2014


=== Zeit ===
=== Zeit ===
Zeile 144: Zeile 143:


=== LCD-Abbild im Web-frontend ===
=== LCD-Abbild im Web-frontend ===
attr <name> stateFormat state<br>Line1<br>Line2<br>Line3<br>Line4<br>Line5
attr <name> stateFormat state<br>Line1<br>Line2<br>Line3<br>Line4<br>Line5


=== Mathematische Werteberechnung ===
=== Mathematische Werteberechnung ===
* Noch in Arbeit - Ideen sind willkommen ;) --> Forum
* Noch in Arbeit - Ideen sind willkommen ;) --> Forum
* To be continued
* To be continued


== Weblinks ==
== Weblinks ==
* [http://forum.fhem.de/index.php/topic,24519.0.html] Thread im Forum, in dem dieses Modul vorgestellt wurde
* {{Link2Forum|Topic=24519|LinkText=Thread}} [http://forum.fhem.de/index.php/topic,24519.0.html] Thread im Forum, in dem dieses Modul vorgestellt wurde
* ...
* ...


[[Kategorie:Other Components]]
[[Kategorie:Other Components]]

Version vom 26. August 2014, 06:11 Uhr

---- noch nicht Teil von FHEM ----
Zweck / Funktion
Daten sammeln und formatiert auf LCD ausgeben
Allgemein
Typ Inoffiziell
Details
Dokumentation siehe Forum
Support (Forum) Codeschnipsel
Modulname 39_DLCD.pm
Ersteller epsrw1 (Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Das DLCD-Modul bietet eine einfache Möglichkeit, Daten zu sammeln und für die Anzeige auf einem seriellen LCD aufzubereiten.

Features

Diese Wiki-Seite beschreibt den Versionsstand 1.1 des DLCD-Moduls.

Thread im Fhem-Forum mit der jeweils aktuellen Version des Moduls als Anhang im ersten Beitrag.

Beschreibung

Funktionsweise

DLCD bietet als kleines Helferlein die Möglichkeit, Textzeilen eines LCD Displays als Readings vorzubereiten und mit Daten frei konfigurierbarer Readings zu befüllen.

Jede Zeile wird als Attr vordefiniert, und mit Platzhaltern (z.B.: %1%) für die einzutragenden Werte versehen.

Die Liste aller einzulesenden Devices:Readings wird in einem attr eingestellt. Das Modul prüft dann regelmäßig (attr: poll interval) die Daten der Fhem-Devices und aktualisiert dann die Anzeige sobald sich einer der Werte geändert hat.

Zusätzlich können Zahlen einfach über attr formatiert werden (Kommastellen, Rundung, Anzeige von + und - Zeichen).

Die eigentliche Ausgabe auf das LCD erfolgt jeweils immer dann wenn eine Änderung der Daten festgestellt wird, auf beliebiges konfigurierbares Device. Zum beispiel I2C LCD über FHEM, oder auch über shell-command für nicht von FHEM unterstützte displays.

Define

 define <name> DLCD 

In der Basisversion wurde Number::Format von cpan benötigt. Dies ist ab v. 1.1. nicht mehr der Fall.

Attribute

Alle Attribute sind auch in fhem durch das Kommando get attrHelp <varname> erklärt, für's "schnelle Nachschauen zwischendurch".


  • dlcdRows -> Anzahl Datenzeilen (kann mehr als am Display sein mit eingeschaltetem Scrolling)
  • dlcdCols -> Anzahl Spalten des LC-Displays
  • dlcdPollInterval -> Zeitintervall, nach dem FHEM versucht, die Daten zu aktualisieren
  • dlcdLine1 -> Formatvorlage für LCD-Zeile z.B.: text: %1% text: %2%
  • dlcdLine2 -> Formatvorlage für LCD-Zeile z.B.: text: %3% text: %4%
  • dlcdLine3 -> Formatvorlage für LCD-Zeile z.B.: text: %5% text: %6%
  • dlcdLine4 -> Formatvorlage für LCD-Zeile Text: %7% text: %8%
  • dlcdLine5 -> Formatvorlage für LCD-Zeile Text: %11% text: %12%
  • dlcdVal1 -> Quelle für den Wert %1% im Format: FhemDev:reading
  • dlcdVal2 -> Quelle für den Wert %2% im Format: FhemDev:reading
  • dlcdVal3 -> Quelle für den Wert %3% im Format: FhemDev:reading
  • ...
  • dlcdVal12 -> Quelle für den Wert %12% im Format: FhemDev:reading
  • dlcdTriggerCmd -> Fhem-Befehl zum Schreiben einer LCD-Zeile, z.B.: set lcd_wand writeXY 0,%L%,20,1 %T%
  • dlcdVal1formatnum -> Zahlenformatierung für Wert %1%, muss none sein bei Nicht-Zahl
  • dlcdVal2formatnum -> Zahlenformatierung für Wert %1%, muss none sein bei Nicht-Zahl
  • dlcdVal3formatnum -> Zahlenformatierung für Wert %1%, muss none sein bei Nicht-Zahl
  • ...
  • dlcdVal12formatnum -> Zahlenformatierung für Wert %1%, muss none sein bei Nicht-Zahl

dlcdVal .. formatnum setzen die Anzahl Dezimalstellen fest, sowie ob ein + bzw. - Zeichen vorangestellt wird. Es funktioniert wie folgt:

erste Ziffer: Gesamtzahl Ziffern in der Ausgabe. zweite Ziffer: Anzahl fester Dezimalstellen optional: +- an dritter Stelle

Beispiele: 2+1 -> 1.1 9.0 0.4 4+2+- -> -12.34 +10.50 4+0+- -> -0012 +0010

Die möglichen Optionen sind in einer Liste fest vorgegeben, um Fehleinstellungen zu vermeiden. Über das configfile können Eigenkreationen eingestellt werden, die nicht in der Liste enthalten sind.


  • dlcdBlankspaceReplace -> Leerzeichen wird im dlcdTriggerCmd durch diesen attr-Wert ersetzt. z.B.: \x20
  • dlcdPhysicalRows -> Anzahl physikalisch vorhandener Zeilen am Ausgabedisplay
  • dlcdScrolling -> Zeilen automatisch scrollen, 1=an 0=aus
  • dlcdDebugOutput -> zusätzliche readings für aktuelle Display-ausgabe zum testen der Scroll-Funktion

Settings

reset ->alle Readings zurücksetzen

Readings

Line1 -> Aktuelle Anzeige der Zeile 1

Line2 -> Aktuelle Anzeige der Zeile 2

Line3 -> Aktuelle Anzeige der Zeile 3

Line4 -> Aktuelle Anzeige der Zeile 4

Line5 -> Aktuelle Anzeige der Zeile 5

Spezielle Anzeigefunktionen

Datum und Uhrzeit basieren aktuell auf der Systemzeit des FHEM-Servers. Eine Möglichkeit, als Zeitbasis den Timestamp eines FHEM-Readings zu verwenden, ist denkbar; wer das nutzen möchte, bitte im Forum melden.

Datum

  • %date_Y% --> Jaheszahl 4-stellig
  • %date_y% --> Jahreszahl 2-stellig
  • %date_M% --> Monat als Zahl, 2-stellig
  • %date_M_eng% --> Monat, Abkürzung englisch
  • %date_M_ger% --> Monat, Abkürzung deutsch
  • %date_D% --> Tag des Monats 2-stellig
  • %date_WD% --> Wochentag 1-stellig im Format 0(So) ... 6(Sa)
  • %date_WD_eng% --> Wochentag, Abkürzung englisch
  • %date_WD_ger% --> Wochentag, Abkürzung deutsch
  • %date_dmy% --> Datum im Format 25.08.2014

Zeit

  • %time_hms% --> HH:MM:SS Uhrzeit
  • %time_h% --> Stunde
  • %time_m% --> Minute
  • %time_s% --> Sekunde


LCD-Abbild im Web-frontend

attr <name> stateFormat state
Line1
Line2
Line3
Line4
Line5

Mathematische Werteberechnung

  • Noch in Arbeit - Ideen sind willkommen ;) --> Forum
  • To be continued

Weblinks

  • Thread [1] Thread im Forum, in dem dieses Modul vorgestellt wurde
  • ...