Hi,
ich habe mein neues LCD vom Fuchs-Shop.
Im Modul steht die lcdpage auf:
my @lcdpage = (0,32,20,96);
Den lcdcontroller habe ich wie folgt eingestellt:
my $lcdcontroller = "HD44780";
Mit dem Befehl "set <> line 1 test" erscheint "test in ZEile 2 ab Position 13.
Zeile 0 und 2 sind korrekt.
Hier ist das Datenblatt: http://www.fuchs-shop.com/download/LCD205.pdf
Leider erschließt sich mir hieraus nicht wie die lcdpage einzustellen ist. Hat wer einen Tip?
hallo Tobias,
das ist die endlose Geschichte bei jedem OWLCD update, da pah ein exotisches LCD hat, steht das my @lcdpage auf einer für unseren LCD unpassenden Zeilen/Zeichenkombination. Das ist zu Recht das Privileg des Modulerstellers. Du musst nur das # vor der nächsten Zeile löschen und die von Dir zitierte Zeile auskommentieren mit # - nach reload OWLCD geht es dann wie gewünscht.
Jaja, das weiß ich, die Frage ist wie ich die page einstellen soll ;) Ich seh durch das Datenblatt nicht durch....
So, jetzt gehts....
Was habe ich gemacht?
my $lcdcontroller = "KS0073";
my @lcdpage = (0,64,20,84);
Dann das LCD aus und wieder angeschaltet:
set LCD lcd off
set LCD lcd on
set LCD test
Ich denke mal am Initialisieren hats gelegen... MErkwürdig warum das das Modul nicht selbet im Initialize macht :(
sorry, das hatte ich vorausgesetzt - dazu gab es schon mal 2012 was im Forum. Habe das so in der fhem.cfg gelöst:
include ./fhem/lcdstart.cfg
define LCD_off at +00:00:01 set OWX_LCD lcd off
define LCD_on at +00:00:02 set OWX_LCD lcd on
define LCD1_off at +00:00:01 set OWX_LCD1 lcd off
define LCD2_on at +00:00:02 set OWX_LCD1 lcd on
define W_LCD0 set OWX_LCD backlight on
define W_LCD1 set OWX_LCD1 backlight on
So initialisieren sich die 2 LCD nach Systemstart in Folge updates selbst.
Oder sowas hier.
Der Aufruf in der fhem.cfg:
define ntf_LCD_Start notify global:INITIALIZED {prg_Display_Start}
und das dazugehörige Prog in der 99_myUtils.pm (hier als OWServer-Variante):
sub
prg_Display_Start()
{
fhem ("set Display backlight 0");
fhem ("set Display LCDon 0");
fhem ("set Display LCDon 1");
fhem ("set Display backlight 1");
}
Damit wird beim Restart oder Speichern das Display neu gestartet.
Ach na ja, "Privileg des Modulerstellers" ist das nicht. Ich bin nur nie dazu gekommen, das mit einer sauberen Struktur so zu programmieren, dass man es ggf. als Attribut setzen kann.
LG
pah