DLCD

Aus FHEMWiki
Version vom 21. Juli 2014, 21:39 Uhr von Epsrw1 (Diskussion | Beiträge) (Datum und Uhrzeit Funktionen)
Zur Navigation springen Zur Suche springen
---- noch nicht Teil von FHEM ----
Zweck / Funktion
Daten sammeln und formatiert auf LCD ausgeben
Allgemein
Typ Hilfsmodul
Details
Dokumentation noch nicht Teil von FHEM ---- EN / noch nicht Teil von FHEM ---- DE
Modulname 39_DLCD.pm
Ersteller epsrw1,cwagner
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.0 des DLCD-Moduls.

Thread im Forum:[1]

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 (zB.: %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

Vor der ersten Verwendung des Moduls ist zu prüfen, ob Number::Format auf dem System vorhanden ist. Erforderlichenfalls kann man es auf der Konsole durch folgendes Kommando installieren:

 sudo cpan -i Number::Format 

("sudo" entfällt für den user root)

Sobald die Voraussetzungen gegeben sind kann in fhem das Modul wie folgt geladen werden:

 define <name> DLCD 

Attribute

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


dlcdRows -> anzahl zeilen des LCD displays

dlcdCols -> anzahl spalten des LCD displays

dlcdPollInterval -> Zeitintervall nach dem FHEM die daten versucht zu aktualisieren

dlcdLine1 -> formatvorlage für LCD-zeile zB: text: %1% text: %2%

dlcdLine2 -> formatvorlage für LCD-zeile zB: text: %3% text: %4%

dlcdLine3 -> formatvorlage für LCD-zeile zB: 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-Command zum schreiben einer LCD-Zeile. zB.: set lcd_wand writeXY 0,%L%,20,1 %T%

dlcdVal1formatnum -> zahlenformatierung für wert %1%, muß none sein bei nicht-zahl

dlcdVal2formatnum -> zahlenformatierung für wert %1%, muß none sein bei nicht-zahl

dlcdVal3formatnum -> zahlenformatierung für wert %1%, muß none sein bei nicht-zahl

...

dlcdVal12formatnum -> zahlenformatierung für wert %1%, muß none sein bei nicht-zahl

dlcdBlankspaceReplace -> leerzeichen wird im dlcdTriggerCmd durch diesen attr-wert ersetzt. zB: \x20

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

Zeit

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

Mathematische Werteberechnung

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

Weblinks

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