39_DLCD.pm - kleines Hilfsmodul um Datenzeilen für serial LCD vorzubereiten v2.0

Begonnen von epsrw1, 12 Juni 2014, 20:04:31

Vorheriges Thema - Nächstes Thema

realrob

Sehe ich auch so. Die zentrale Frage ist halt nur wie ich das angeschlossene display in fhem ansprechen kann. Über das design mache ich mir danach sorgen.  Lg und danke

det.

Zitat von: realrob am 29 November 2016, 23:55:32
Sehe ich auch so. Die zentrale Frage ist halt nur wie ich das angeschlossene display in fhem ansprechen kann. Über das design mache ich mir danach sorgen.  Lg und danke
Die zentrale Frage ist die des Anschlusses - in den verlinkten Artikeln und bei vielen hier im Forum ist das Display damit http://www.fuchs-shop.com/de/shop/6/1/13372316/ über 1-wire Interface an FHEM angebunden. Dann kann Dir auch mit Beispielcode geholfen werden.
LG
det.

realrob

Hi det,
Danke für Deine Antwort! Tja, habe mich auch schon mit dem Gedanken gespielt, da es FHEM offenbar dieses direkte Ansteuern eines HD44780 dzt. nicht unterstützt.
Klar, auf I2C wäre es eine leichte Übung: Das Standarddisplay kann man mit DIESER http://www.banggood.com/LCD1602-Adapter-I2CIICTWI-Serial-Interface-Module-Board-For-Arduino-p-1056942.html?rmmds=search ansprechen. ALLERDINGS braucht man dazwischen DIESEN Pegelwandler http://www.banggood.com/5Pcs-Two-Channel-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-p-979919.html?rmmds=search beim Chinamann um 2,70 im 5erPack.
und schon würde es laufen..
;-)) Dennoch wurmt es mich und ein paar Leidensgenossen hier im Forum, dass es direkt nicht geht! ;-))

schka17

Zitat von: realrob am 30 November 2016, 19:58:21
Hi det,
Danke für Deine Antwort! Tja, habe mich auch schon mit dem Gedanken gespielt, da es FHEM offenbar dieses direkte Ansteuern eines HD44780 dzt. nicht unterstützt.
Klar, auf I2C wäre es eine leichte Übung: Das Standarddisplay kann man mit DIESER http://www.banggood.com/LCD1602-Adapter-I2CIICTWI-Serial-Interface-Module-Board-For-Arduino-p-1056942.html?rmmds=search ansprechen. ALLERDINGS braucht man dazwischen DIESEN Pegelwandler http://www.banggood.com/5Pcs-Two-Channel-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-p-979919.html?rmmds=search beim Chinamann um 2,70 im 5erPack.
und schon würde es laufen..
;-)) Dennoch wurmt es mich und ein paar Leidensgenossen hier im Forum, dass es direkt nicht geht! ;-))
Die Pegelwandler benötigst du nicht da das LCD nichts sendet. Ich betreibe mehrere LCD's mit dem I2C Adapter und ESP oder Arduino, funktioniert ohne Probleme


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

realrob

hmmm.. echt? Würde das i2C Modul, welches mit 5V betrieben wird, die GPIOS SDA1 und SCL1 nicht mit 5V Pegel beaufschlagen und damit grillen? Oder sehe ich das nicht richtig?

schka17

Zitat von: realrob am 30 November 2016, 21:51:22
hmmm.. echt? Würde das i2C Modul, welches mit 5V betrieben wird, die GPIOS SDA1 und SCL1 nicht mit 5V Pegel beaufschlagen und damit grillen? Oder sehe ich das nicht richtig?
Grundsätzlich hast du recht, aber da, zumindest die I2C und LCD Module die ich habe, keine Daten senden,  funktioniert das. Wie gesagt, ich habe es so mit einigen ESP's oder Arduinos, zumindest der ESP ist sehr empfindlich bei Überspannung an den Eingängen.


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Prof. Dr. Peter Henning

Die Module im Hauptverzeichnis werden nicht nur gepflegt, sondern für die gibt es auch Support. Insofern muss man jedes Verständnis dafür aufbringen, wenn jemand das nicht leisten kann oder will (2 Module von mir stehen auch im contrib).

Also bitte mal langsam mit solchen Forderungen, wenn man selbst noch nicht lange dabei ist.

LG

pah

Marekh

Ich habe ein 20X4 LCD Display an ESPEasy am laufen, allerdings gelingt es mir nicht °C darzustellen.

Als Attribut habe ich in dlcdReplaceRegex ein °=\xDF eingefügt, dies führt aber zu einen anderen Zeichen auf dem Display.

Wie kann ich mein Display überreder das ° darzustellen

list Garage_Display
Internals:
   NAME       Garage_Display
   NR         240
   NTFY_ORDER 50-Garage_Display
   STATE      So, 29.10.2017 16:03<br>Audibatterie 11.93 V<br><br>Garage T:16.1 °C H:58%
   TYPE       DLCD
   READINGS:
     2017-10-29 01:41:09   Line1           So
     2017-10-23 13:36:45   Line10          attr dlcdLine10 %time1%
     2017-10-29 01:41:09   Line2           29.10.2017
     2017-10-29 16:03:00   Line3           16:03
     2017-10-29 16:03:30   Line4           11.93
     2017-10-29 15:17:31   Line5           16.1 °C
     2017-10-29 15:35:36   Line6           58
     2017-10-29 12:42:06   Line7           timer
     2017-10-23 13:36:45   Line8           attr dlcdLine8 %time1%
     2017-10-23 13:36:45   Line9           attr dlcdLine9 %time1%
     2017-10-29 16:03:30   state           16:03:30
Attributes:
   dlcdClearLineCmd 5
   dlcdCols   20
   dlcdLine1  %date_WD_ger%
   dlcdLine2  %date_dmy%
   dlcdLine3  %time_h%:%time_m%
   dlcdLine4  %1%
   dlcdLine5  %2% °C
   dlcdLine6  %3%
   dlcdLine7  %4%
   dlcdPollInterval 2
   dlcdReplaceRegex °=\xDF
   dlcdRows   10
   dlcdVal1   ESPEasy_Audi_A6_Boardspannung:Analog
   dlcdVal1formatnum 3+2
   dlcdVal2   Garage_Temperatur:temperature
   dlcdVal2formatnum 2+1
   dlcdVal3   Garage_Temperatur:humidity
   dlcdVal3formatnum 2+0
   dlcdVal4   Garage_Tor_runter_Automatisch_DOIF:zeit
   room       Display
   stateFormat Line1, Line2 Line3<br>Audibatterie Line4 V<br><br>Garage T:Line5 H:Line6%


Danke
Marek

schka17

M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Marekh

Leider steht mit °=ß  immer noch das gleiche falsche Zeichen auf dem Display, ich definiere in dlcdLine5:  %2% °C, wäre es besser, wenn das °C schon in den ausgelesenen Reading (%2%) stehen würde?

Marek

kpwg

Du solltest erst einmal versuchen, den Zeichensatz des Displays zu erkunden. Das hat mit DLCD noch nichts zu tun. Ich habe für solche Fälle das LCD händisch beschrieben und entsprechend Fotos der "Blöcke" gemacht. Nicht immer waren alle gewünschten Zeichen enthalten (Umlaute, etc).

LuckyDay

°=\x{DF}

du musst im Zeichensatz von deinem Display schauen, also Doku wälzen

schka17

Doku hatte ich zu meinem Displays auch keine, war recht mühsam, zumal ja auch noch die codepages vom System bzw. Webinterface dazukommen....

Habe das empirisch ermittelt, also einfach nacheinander alle ASCII Codes mit dem webcommand ans Display gesendet.
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Marekh

interessant ist, egal was ich bei dlcdReplaceRegex hinschreibe (°=ß, °=\x{DF}...), das Display zeigt immer die gleichen 2 Zeichen an, so als ob das dlcdReplaceRegex nichts macht.

Marek

rih

Müssten es nicht 2 Backslash in dem ReplaceRegex-Attribut sein (mal abgesehen vom Zeichensatz)?
°=\\x{DF}
So klappt es zumindest bei mir mit dem °C.