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

epsrw1

Zitat von: Kermit20 am 23 Februar 2016, 11:31:21
- zwei 20x4 LCD über I2C Angebunden
...
2. I2C LCD
der i2c ist der übeltäter der blockiert, in Deinem Fall gleich doppelt...

Zitat von: Kermit20 am 23 Februar 2016, 11:31:21
3. DLCD Definition


   dlcdPollInterval 5

Ohne Scrollen und einem Intervall von 5 Sek, hat sich das System nun etwas beruhigt. Ich schalte das scrollen mal wieder ein, um einen Sysmon unter "Last" zu erhalten.
...
Kann man die Scroll Geschwindigkeit einstellen ?
mit längerem poll interval sollte es etwas flüssiger werden. das scrollen geht dann ebenfalls entsprechend langsamer.

bei zwei displays würde ich das interval um eine sekunde verschieden setzen, damit die beiden asymetrisch laufen und die i2c blockade jeweils kürzer ausfällt.

LG, florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Kermit20

Hi,
und Danke für deine Antwort. Das das 2te LCD nicht förderlich ist, dachte ich mir, hängt aber nur dran um zu schauen ob es geht 2 anzuschließen und stellt nur die Uhrzeit dar.

Die Probleme gab es auch schon vorher mit nur einem Display.

Hier mal der Sysmon mit Scrolling:

Internals:
   DEF        1 1 1 10
   INTERVAL_BASE 60
   INTERVAL_MULTIPLIERS 1 1 1 10
   MODE       local
   NAME       sysmonRPiSlave
   NR         67
   STATE      Active
   TYPE       SYSMON
   Readings:
     2016-02-24 09:35:05   cpu0_freq       700
     2016-02-24 09:35:05   cpu0_freq_stat  700.00 700.00 700.00
     2016-02-23 17:30:11   cpu_bogomips    2.00
     2016-02-24 09:35:35   cpu_core_count  1
     2016-02-24 09:35:05   cpu_freq        700
     2016-02-24 09:35:05   cpu_freq_stat   700.00 700.00 700.00
     2016-02-24 09:35:35   cpu_idle_stat   -829.97 96.30 13.93
     2016-02-23 17:30:11   cpu_model_name  ARMv6-compatible processor rev 7 (v6l)
     2016-02-24 09:35:35   cpu_temp        44.39
     2016-02-24 09:35:35   cpu_temp_avg    44.5
     2016-02-24 09:35:35   cpu_temp_stat   34.70 49.23 44.41
     2016-02-24 09:35:35   eth0            RX: 1.19 MB, TX: 7.96 MB, Total: 9.15 MB
     2016-02-24 09:35:35   eth0_diff       RX: 0.00 MB, TX: 0.01 MB, Total: 0.01 MB
     2016-02-24 09:35:35   eth0_rx         1247828
     2016-02-24 09:35:35   eth0_speed      100
     2016-02-24 09:35:35   eth0_tx         8343812
     2016-02-24 09:35:35   fhemstarttime   1456244979
     2016-02-24 09:35:35   fhemstarttime_text 23.02.2016 17:29:39
     2016-02-24 09:35:35   fhemuptime      57926
     2016-02-24 09:35:35   fhemuptime_text 0 days, 16 hours, 05 minutes
     2016-02-24 09:35:35   idletime        10139 17.48 %
     2016-02-24 09:35:35   idletime_text   0 days, 02 hours, 48 minutes (17.48 %)
     2016-02-24 09:35:35   loadavg         1.06 1.01 1.00
     2016-02-23 17:30:11   perl_version    v5.14.2
     2016-02-24 09:35:35   ram             Total: 434.60 MB, Used: 56.99 MB, 13.11 %, Free: 377.61 MB
     2016-02-24 09:35:35   ram_used_stat   47.93 115.84 56.77
     2016-02-24 09:35:35   starttime       1456244885
     2016-02-24 09:35:35   starttime_text  23.02.2016 17:28:05
     2016-02-24 09:35:35   stat_cpu        3998014 0 525717 770168 2141 94 262532
     2016-02-24 09:35:35   stat_cpu_diff   4350 0 621 837 2 0 243
     2016-02-24 09:35:35   stat_cpu_percent 71.87 0.00 10.26 13.83 0.03 0.00 4.01
     2016-02-24 09:35:35   stat_cpu_text   user: 71.87 %, nice: 0.00 %, sys: 10.26 %, idle: 13.83 %, io: 0.03 %, irq: 0.00 %, sirq: 4.01 %
     2016-02-24 09:35:35   swap            Total: 100.00 MB, Used: 0.00 MB,  0.00 %, Free: 100.00 MB
     2016-02-24 09:35:35   swap_used_stat  0.00 0.00 0.00
     2016-02-24 09:35:35   uptime          58019
     2016-02-24 09:35:35   uptime_text     0 days, 16 hours, 06 minutes



Ich werde deiner Empfehlung mal folgen und die Displays durchkonfigurieren und die Timer anpassen. Evtl. kann ich auch auf das Scrolling verzichten.
RPi1: FHEM mit HMLAN und CUL Eigenbau: diverse Homematic Geräte; Technoline Temp/Feuchte 868 MHz // Schalsteckdosen 433 MHz
RPi2: FHEM mit Viessmann(optolink) mit VControl und 1W Sensoren
RPi3: Apache / Owncloud 9

epsrw1

ohne scrolling ist die last am geringsten da mein modul vergleicht ob sich daten geändert haben und nur dann an das display überträgt. wenn Dir der platz ohne scrollen reicht ist das vermutlich die beste lösung.

LG, florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

ak323

Zitat von: McSpitz am 23 März 2015, 19:30:12
Hallo Florian,

wow - danke für die schnelle Antwort  ;D

Ich habe das nicht per I2C sondern mittels 4 GPIOpins angeschlosse (andere GPIOpins haben bspw. schon einen 433MHz Sender).

Ich dachte im Coding des DLCD Moduls steht irgendwo die Stelle: nutze Pin 1, 12, xx? wahrscheinlich gibt es das aber gar nicht
und das Display muss per I2C ran wenn ich Dein Modul nutzen möchte ...? Ich habe das Display aus dem Sunf*under Kit, da war nix
mit I2C  :(

In der allgemeinen commandref kann aber doch eigentlich zur Verdrahtung - die Voraussetzung für Dein Modul ist - nix drinstehen, oder?

... und es macht "Klick" ... serial Display ... ;-)

Gruß
Alex

...gibt des denn nirgends eine entsprechende Beschreibung wie man das lcd mit dem HD44780 an den GPIOs des raspberry anschließt und dann konfiguriert ... Ich finde nix.. Danke.
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

epsrw1

Zitat von: ak323 am 23 März 2016, 07:30:06
...gibt des denn nirgends eine entsprechende Beschreibung wie man das lcd mit dem HD44780 an den GPIOs des raspberry anschließt und dann konfiguriert ... Ich finde nix.. Danke.

Das modul füttert nur Dein bereits fertig eingerichtetes Display mit Daten. Für den Anschluss hilft zB google oder vielleicht dieser Link: http://tutorials-raspberrypi.de/text-auf-16x2-zeichen-lcd-display-anzeigen-hd44780/

LG, florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

ak323

Danke Florian für den Link.
Mein lcd ist am Raspberry angeschlossen und über Python kann ich es auch beschreiben.
D.h. Ich brauche dann nur noch das DLCD Modul in fhem benutzen ?

Was verstehst Du unter "fertig eingerichtet" ?

Danke ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...


epsrw1

Zitat von: ak323 am 23 März 2016, 20:44:02
Mein lcd ist am Raspberry angeschlossen und über Python kann ich es auch beschreiben.
D.h. Ich brauche dann nur noch das DLCD Modul in fhem benutzen ?
Was verstehst Du unter "fertig eingerichtet" ?

Dein Display sollte sich in FHEM beschreiben lassen. Zur Not wäre auch denkbar ein shell-command zum schreiben in der config von DLCD reinzubasteln, das halte ich aber nicht für optimal.
Die Links von pah sollten Dir weiterhelfen.

LG, florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Peter aus Calw

Hallo Florian,
wird zwar angezeigt, dass seit einiger Zeit in Bezug auf Dein Modul nichts mehr passiert ist.
Hoffe aber als Gruftie doch noch eine Hilfe zu erhalten.
Habe mir das LCD2004A von Robin besorgt und es auch schon geschafft von Fhem aus mein Fenster "offen"
an das Ding zu  senden. Nun möchte ich eben die Vorzüge von Deinem Modul DLCD zu nützen, komme aber nicht auf den Trichter wie das Fenster dort hineinkommt.

Mein Fenster heißt "HM_FS_Th:state:offen". Mit diesem Kommando schaffe ich das :

define Anzeige:1 DOIF ([HM_FS_Th:state] eq "open") ({system("wget -q -O- http://192.168.2.10/control?cmd=lcd,,1,Fenster%20Th%20offen")}) DOELSE ({system("wget -q -O- http://192.168.2.10/control?cmd=lcdcmd,clear")}) 

Wie bringe ich DLCD das bei ?
LG Peter aus Calw

realrob

Liebe Leute,
Nachdem ich erfolgreich nun meine Rolladen via Z-Wave Fibaro und auch schon Relais vie GPIO schalten kann, würde ich gerne auch ein Display HD44780 betreiben auf dem ich zB. Temperatur oder die Wasserstand im Brunnen ausgeben möchte. Nun betreibe ich aber das Display nicht an I2C sondern habe es direkt an die GPIO Pins angeschlossen: Konkret: an GPIO-Pin
DISPLAY
6 (GND)
2 (+5V)
6 (GND) (Kontrast)
26 (GPIO7) (RS)
6 (GND)
24 (GPIO8) (E)
22 (GPIO25)(Data4)
18 (GPIO24)(Data5)
16 (GPIO23)(Data6)
12 (GPIO18)(Data7)

Frage1: Kann Fhem dieses Display ansprechen?
Frage2: Wenn ja, wo müsste ich die Anschlüsse konfigurieren?
Frage3: Wenn das alles klappen sollte - kann ich dann DLCD auch verwenden?

Sorry, falls die Fragen etwas naiv wirken, aber ich mache gerade meine ersten Schritte im System
lg


realrob

 :D Super- Vielen Dank für die rasche Antwort!
So ganz steige ich aber noch nicht durch - da ich das Modul so genau nicht kenne. Gibt es da eventuell noch genauere Infos dazu? zB. Howto?
Dh. definiere ich in dem Modul die Leitungen und dann könnte ich bereits so komfortabel das Display via DLCD ansprechen?
lg


realrob

Danke! Dh. wenn ich Dich richtig interpretiere, dann werde ich um den Hardwareumbau in Richtung 1-Wire nicht herumkommen? Korrekt?

Bem: Die Links, die Du mir geschickt hast führen mich stehts in Richtung 1-Wire. Grundsätzlich ist ja 1-Wire toll, hätten mir auch einige GPIO´s erspart und ich verwende es aktuell auch für die Temperatursensoren.
lg

epsrw1

erst wenn Dein display in FHEM eingerichtet ist und sich bedienen lässt kannst Du Dein persönliches Layout mit DLCD machen.

LG
Florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel