RasperyPi + LCD + CSM / RS485 Platine = "FHEM-Zentrale"

Begonnen von Dirk, 15 Mai 2013, 21:29:16

Vorheriges Thema - Nächstes Thema

dampf123

Hallo zusammen,
ich habe nun auch erfolgreich das Board aufgebaut und in Betrieb genommen.
(Danke an Dirk für den vorbildlichen zusammengestellten Teilesatz)

Nachdem ich das CSM Modul auf die FW 1.57 geflash habe, klappt es auch mit der Kommunikation mit meinen HomeMatic Komponenten.
Die von Hause aus geflashte Vers. 1.55 wollte nicht .......

Nun brauche ich Hilfe beim Ausgeben von Text auf dem Display.
Über die Konsole ist es kein Problem, da klappt alles.

ZitatIch habe auch grade gesehen, dass es vom Modul aus ein "set ... text" gibt, aber dass dieses vom Modul gar nicht verarbeitet wird.
Also bekommt man mit reinen FHEM-Mitteln derzeit keinen text auf das Display. Dazu muss mann Shell-Befehle abschicken

Ich stelle die Tage noch ein Update zur Verfügung.
Noch irgendwelche Ideen die ich hier berücksichtigen soll?

Konkret möchte ich die Temperatur und Luftfeuchtigkeit von meinem HM-WDS40-TH-I auf dem Display ausgeben.

Da ich nicht der Programmier-Profi bin, helfen mir Beispiele weiter, die ich abändern kann.

Schon mal Danke für eure Hilfe.

Gruß
Klaus
RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

PeMue

Hallo Klaus,

ich patche nicht gerne in anderen Modulen, Dirk wird mit bestimmt verzeihen.
Als "quick workaround" anbei mein 00_RPI_LCD.pm.
Mit set <lcd_name> text <zeile [0:4]> <text_mit_underscores> müsste sich jetzt etwas auf den Bildschirm zaubern lassen.
Folgende Einschränkung:
- der Text hört ab dem ersten Leerzeichen auf, daher die underscores
Ich weiß leider nicht, wie man in Perl die Parameter übergibt, '' und "" gehen nicht.
Die Zeilen mit der Analoguhr kannst Du ja rauswerfen, war ein Versuch von mir ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

dampf123

Hallo Peter,
danke für die schnelle Antwort.

Sehe ich es richtg, das ich dein geändertes Modul 00_RPI_LCD.pm in das Verzeichnis:
/opt/fhem/FHEM kopieren muss ?

und das "alte" Modul 00_rpiLCD.pm kann / muss da bleiben ?
(eigendlich ist das bei mir nur ein symbolischer Link)

Gruß
Klaus

 
RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

PeMue

Hallo Klaus,

benenne Dein altes Modul um und speichere meines da ab, wo das alte war. Dann sollte auch der symbolische Link wieder funktionieren.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

dampf123

Hallo Peter,
dein gepatchtes Modul habe ich zum laufen gebracht.
Ich mußte noch in der fhem.cfg die Definitionen anpassen.
Alt: rpiLCD  
Neu: RPI_LCD

Danke, nun kann ich mich einer anderen Baustelle widmen.

Gruß
Klaus


RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

dampf123

Moin zusammen,
ich benötige noch mal einen Tipp, wie ich eine "Variable" als Text auf dem Display ausgeben kann.

mit:
set RPI_LCD text 0 Hallo_Klaus

bekomme ich ja nun wunderbar was auf das Display, möchte aber gerne Messwerte vom Temperatursensor letztendlich an dem Display anzeigen.

Schon mal Danke

Gruß
Klaus
 
RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

ed_2

Hallo Dirk,

hast du noch Platinen? Kann ich bei dir noch einen Komplettsatz erwerben?
Ich fange gerade erst mit fhem an und habe gerade meinen PI und
will jetzt erst mal zum testen das licht im Schalfzimmer mit FS20 komponenten
zu schalten. Wenn ich deinen Bausatz nehme brauche ich doch keinen CUL mehr oder?


Mfg

ed_2

PeMue

Hallo Ed,

ZitatWenn ich deinen Bausatz nehme brauche ich doch keinen CUL mehr oder?
Wenn Du das CSM auf der Platine bestückst, dann brauchst Du keinen CUL mehr. Das Programmieren der Firmware geht auch sehr schön, RPi hängt im Keller und vom Büro aus kann ich flashen ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Dirk

Hallo ed_2,

Zitathast du noch Platinen?
Im Moment sind Platinen bestellt, und sollten nun hoffentlich nächste Woche hier ankommen. Diejenigen die bisher warten mussten bitte noch etwas gedult.

ZitatKann ich bei dir noch einen Komplettsatz erwerben?
Ja, ich schicke dir zu den Details eine PM

ZitatWenn ich deinen Bausatz nehme brauche ich doch keinen CUL mehr oder?
Wenn du den mit CSM-Modul bestellst, so wie PeMue schon richtig sagte, ersetzt das CSM den CUL.

Gruß
Dirk

PeMue

Hallo Klaus,

versuchs mal damit:
my $wert=22.34;
my $ausgabe="Hallo_Klaus_der_Wert_ist:_".$wert;
set RPI_LCD text 0 $ausgabe

Habe es noch nicht getestet und wahrscheinlich vermische ich Perl und fhem code, aber vielleicht funktioniert es ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

dampf123

Hallo Peter,
entschuldige das ich erst jetzt auf deinen Tipp reagiere.
Habe momentan etwas "Umzugsstress" (Schwiegereltern ziehen um ....), und da ist Hilfe angesagt.

Nun zu deinem Vorschlag:
klaptt nicht, leider ...

Der Perl-Code muß, soweit ich es verstanden habe, in {}-Klammern gesetzt werden.
Das Problem ist aber irgendwie die Übergabe von der Variablen an das Display.

Die folgende Zeile:

set RPI_LCD text 0 $ausgabe

läßt auf dem Display nur den Text: $ausgabe erscheinen.

Evt. hat der Dirk als "Entwickler" ja noch einen Lösungsvorschlag parat ?

Schöne Grüße
Klaus



RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

Dirk

Hi Klaus,

ZitatEvt. hat der Dirk als "Entwickler" ja noch einen Lösungsvorschlag parat ?
Bestimmt. Allerdings komme ich erst am Wochenende dazu. Kann sein das es hier auch noch was fehlt im Code.

Gruß
Dirk

PeMue

Hallo Dirk,

ich habe die Textausgabe in Dein Modul implementiert (siehe ein paar Ecken weiter vorne). Mein Problem ist aber, wie bekomme ich Text mit Leerzeichen bzw. Text und Variablen ausgegeben. Wär's in C wärs kein Problem, aber mit Perl bin ich noch nicht so vertraut.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

UweH

Das hier:
sub
prg_LCD_Anzeige()

{
my $zeile_0 = sprintf("%.1f",ReadingsVal("Temp.AZ","temperature",0))." °C";

fhem ("set LCD line20.0 Temp: $zeile_0");

}

müsste in etwa (LCD Aufruf ändern) auch bei Dir funktionieren. Damit kann ich auf dem 1-Wire-Display z.B. die Temperatur eines DS1820 anzeigen. Per Notify wird dieses Unterprogramm aus der 99_myUtils aufgerufen.

Dirk

Zitatich habe die Textausgabe in Dein Modul implementiert (siehe ein paar Ecken weiter vorne)
Ja, das habe ich gesehen. Das hatte ich hier auch schon liegen. Du warst aber schneller :)
Daher will ich das die nächsten tage auch mal wieder aktualisieren.

Gruß
Dirk