Beliebige Texte im Display anzeigen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

rtlplus
Beiträge: 91
Registriert: 17.10.2009, 02:09
Wohnort: Schweiz
Hat sich bedankt: 1 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von rtlplus » 27.10.2009, 20:17

Hoi Dirch,

vieeeeelen Dank für deine super Antwort. Sie hat mich einiges weiter gebracht.
Heute habe ich min. 3 und gestern 2 Stunden versucht die Anzeige im CCU Display ein bisschen schöner zu formatieren.
Das schönste, dass mir gelungen ist ist:

string stderr;
string stdout;
var Aussentemperatur = dom.GetObject("Aussentemperatur").Value().ToString();
system.Exec("sh /etc/config/addons/lcd_msg/display_msg.sh Aussentemp.______" # Aussentemperatur.ToString() ,&stdout, &stderr);

Entweder ich schreibe in der dritten Zeile ToInteger, dann bekomme ich keine Nachkommastelle z.B. 23.5 °C oder ich schreibe ToString, dann füllt er den Rest halt mit Nullen.

Zu deiner Frage: am liebsten wäre mir es würde nur dauerhaft die Meldung z.B. 23.5 °C angezeigt werden, bzw. nie der Text CCU Homematic.

Gruess René

WAdler 68
Beiträge: 1431
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von WAdler 68 » 27.10.2009, 23:48

rtlplus hat geschrieben:Hallo Dirch,
also wenn ich das Programm installiere und dann die Zeilen:

string stderr;
string stdout;
system.Exec("sh /etc/config/addons/lcd_msg/display_msg.sh Text immer wieder anzeigen",&stdout, &stderr);

im CCU Skript eingebe und dann ausführe, wird auf meinem Display nur <Retry...> angezeig.

kannst du mir helfen?
Vielen Dank und Gruess, René
diese meldung wird auch gezeigt wenn im text ein "<" oder ein ">" vor kommt. "<>" ist für befehle reserwiert wie im zeilenumbruch weiter oben beschrieben.
hast du was am text verändert und so einen klammerfehler drin?

dirch
Beiträge: 579
Registriert: 24.10.2008, 03:26
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von dirch » 28.10.2009, 10:38

Hallo René,
rtlplus hat geschrieben: Entweder ich schreibe in der dritten Zeile ToInteger, dann bekomme ich keine Nachkommastelle z.B. 23.5 °C oder ich schreibe ToString, dann füllt er den Rest halt mit Nullen.
Eine schoene Loesung faellt mir gerade nicht ein, aber Du kannst den String mit den vielen Nullen ja mit SubStr() kuerzen, die Position des Punkts kannst du mit Find herausfinden. Siehe Teil 1 der Homematic Skript Dokumentation
rtlplus hat geschrieben: Zu deiner Frage: am liebsten wäre mir es würde nur dauerhaft die Meldung z.B. 23.5 °C angezeigt werden, bzw. nie der Text CCU Homematic.
Ok, kommt in die naechste Version mit rein.

Gruss,
Dirch
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...

WAdler 68
Beiträge: 1431
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von WAdler 68 » 28.10.2009, 12:49

ich habe es für meine anlage gerade fertig du musst nur oben den sensor und unten den text ändern.

string stderr;
string stdout;

object wettersensor = dom.GetObject("Wettersensor");
object temperature = dom.GetObject("BidCos-RF." # wettersensor.Address() # ".TEMPERATURE");

var temp = temperature.Value();

var vtemp = temp.ToString() ;
var x = vtemp.Length();

string vtemps = vtemp.Substr(0, x-4);
vtemps ="<skip count='2'/>" + vtemps +"°C";

system.Exec("sh /etc/config/addons/lcd_msg/display_msg.sh Temp Garten" # vtemps ,&stdout, &stderr);

WAdler 68
Beiträge: 1431
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von WAdler 68 » 28.10.2009, 13:02

da ich auf dem display keinen scrolltext hin bekomme, stört mich nun das "-ende-" kann man das abschalten?

rtlplus
Beiträge: 91
Registriert: 17.10.2009, 02:09
Wohnort: Schweiz
Hat sich bedankt: 1 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von rtlplus » 28.10.2009, 19:19

Vieeelen Dank WAdler 68, hat suuuper funktioniert!

Gruess René

string stderr;
string stdout;

object temperature = dom.GetObject("Aussentemperatur");

var temp = temperature.Value();

var vtemp = temp.ToString() ;
var x = vtemp.Length();

string vtemps = vtemp.Substr(0, x-4);
vtemps ="<skip count='2'/>" + vtemps +"°C";

system.Exec("sh /etc/config/addons/lcd_msg/display_msg.sh Aussentemp." # vtemps ,&stdout, &stderr);

dirch
Beiträge: 579
Registriert: 24.10.2008, 03:26
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Wunschliste fuer die naechste Version

Beitrag von dirch » 28.10.2009, 19:44

Ich nehm das mal mit in die Wunschliste fuer die naechste Version mit auf
WAdler 68 hat geschrieben:da ich auf dem display keinen scrolltext hin bekomme, stört mich nun das "-ende-" kann man das abschalten?
rtlplus hat geschrieben:Zu deiner Frage: am liebsten wäre mir es würde nur dauerhaft die Meldung z.B. 23.5 °C angezeigt werden, bzw. nie der Text CCU Homematic

Mit etwas Aufwand waere auch ein Scrolltext vorstellbar, allerdings nur recht unschoen mit ruckeligem Zeichenweisen Scrollen. Ich bezweifel ob sanftes Scrollen ueber hss_lcd moeglich ist

Ich wuesste auch gerne ob es moeglich ist die Hintergrundbeleuchtung des Displays aus hss_lcd einzuschalten, waere hybsch wenn man das bei neuen Nachrichten koennte.

Und wie man die LEDs aus hss_lcd ansteuern kann interessiert mich auch, es scheint den Tag <leds/> zu geben, was er genau macht und kann ist mir noch schleierhaft
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...

rtlplus
Beiträge: 91
Registriert: 17.10.2009, 02:09
Wohnort: Schweiz
Hat sich bedankt: 1 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von rtlplus » 02.11.2009, 19:13

Hoi Dirch
du hast im letzten Mail geschrieben, dass du die Funktion:
„eine Meldung dauerhaft im Display der CCU Homematic anzuzeigen z.B. 23.5°C“
in die nächste Version mit rein nimmst.
Nun, meinst du die nächste Version der Firmware der HomeMatic CCU Vers. 1.404 oder die deines Zusatzprogrammes um Texte anzuzeigen.
Die neue Firmwareversion habe ich nämlich gerade installiert und der Text wechselt wie vorher von CCU-HomeMatic zu Aussentemperatur zu -ende- usw.
Oder muss ich die Programmzeilen etwas anpassen?
string stderr;
string stdout;
system.Exec("sh /etc/config/addons/lcd_msg/display_msg.sh I" # vtemp2s # "<br/>O" # vtemp1s, &stdout, &stderr);
Gruess René

dirch
Beiträge: 579
Registriert: 24.10.2008, 03:26
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von dirch » 02.11.2009, 20:54

Hallo René,
rtlplus hat geschrieben:Nun, meinst du die nächste Version der Firmware der HomeMatic CCU Vers. 1.404 oder die deines Zusatzprogrammes um Texte anzuzeigen.
Die neue Firmwareversion habe ich nämlich gerade installiert und der Text wechselt wie vorher von CCU-HomeMatic zu Aussentemperatur zu -ende- usw.
Ich meinte naetuerlich die naechste Version des Zusatzprogramms. Wenn ich Einfluss auf die Firmwareversionen von ELV/eQ-3 haette dann braeuchte man fuer die Anzeige von Texten im Display keine Zusatzsoftware :wink:

Ich werd das bei Zeiten mal einbauen. Aktuell bin ich aber - wenn ich mal Zeit habe - erstmal an der Fernsteuerung per Email dran. Sobald die zumindest halbwegs fertig ist widme ich mich auch wieder anderen Themen wie der Anzeige von Texten im Display. Bis dahin bitte noch etwas gedulden :roll:

Gruss,
Dirch
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...

WAdler 68
Beiträge: 1431
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Beliebige Texte im Display anzeigen

Beitrag von WAdler 68 » 05.11.2009, 21:00

mir ist heute das programm einfach so stehen geblieben :(
ich lasse so ca. aller 20 s eine neue nachricht auf dem display erscheinen. das geht so weit auch recht gut, nur ist mir das heute einfach so stehen geblieben :( ich habe kein löschen des displays zwischen der neu beschreibung drin, da es eh immer nur den neusten text zeigte. nun dachte ich, ich drücke auf neustart ( in zusatzsoftware ... doch da kommt nur ein fehler Failure Success . das ist blöd. ich habe nun mal aller 15 s ein löschen drin, mal sehen obs dann besser wird. ( ach ja, ich habe nun wieder die fw 1.403 drauf)

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“