aus Variablen möchte ich mir die Werte in einem Textfeld in einer ausgewählten Farbe anzeigen lassen. Bei den Boolean Variablen geht das, indem ich im Variablenprofil die beiden Farben zuweise. Wie bekomme ich das bei einer Float-Variablen für alle Variablenwerte hin?
Im Float Profil schreibst Du bei Text Deine gewünschte Formatierung rein (z.B. %0.2f") und weißt eine Farbe zu, das sollte es gewesen sein. So kannst Du auch für gewisse Werte(bereiche) unterschiedliche Farben zuweisen!
Einfach mal mit rumspielen!
Ciao Pitti
PS: bei Wert natürlich die kleinste Zahl oder eben Bereiche (0, 20, 40, 100 für 0-19. 20-39, 40-100) …
Danke, Pitti - wenn ich im Profil unter Assoziationen auf „Neu“ gehe und dort beim Wert z.B. „10-35“ reinschreibe, sagt er mir " ‚10-35‘ ist kein gültiger Gleitkommawert.". Muss der Wertbereich woanders definiert werden, wenn ja wo?
Habe gerade noch mal in der Doku geschaut - dort heißt es:
„Die zweite Möglichkeit besteht darin, Werte auszulassen, um z.B. nur wichtige Positionen, die eine Änderung benötigen, anzuzeigen. So könnten für eine Jalousie z.B. nur die Werte 0, 50, 100 interessant sein, da nur für diese Icons verwendet werden. Die Assoziationen können definiert werden, indem für die Werte 0, 50, 100 einen Eintrag hinzufügt werden. Dabei würden die Einträge für folgende Werte gültig sein: 0 (0-49), 50 (50-99) und 100 (100).“
Und das noch an alle, die wie ich etwas langsam sind beim Verstehen:
Damit die Werte angezeigt werden, darf das Textfeld nicht leer sein.
Im Textfeld „%f“ eingeben. So werden auch die angezeigten Nachkommastellen definiert (z.B. „%0.1f“ für eine Nachkommastelle) - der unter „Stellen“ angegebene Wert wird bei einem entsprechenden Eintrag im Textfeld ignoriert.
Leider werden mir die Werte aus Float-Variablen nicht farbig angezeigt (anders Boolean und Integer) - wisst Ihr, wie ich die ebenfalls farbig hinbekomme (ich habe es dort auch schon gefragt, aber vielleicht habt Ihr eine Idee…)?
P.S.: Wie Fonzo weiß, habe ich es mit seiner Hilfe auch schon so versucht:
Der 2. Link sind HTML-Boxen. Es scheint irgendwie möglich zu sein, die Einträge in verschiedenen Farben zu gestalten, bei meinen Versuchen bin ich allerdings kläglich gescheitert…
Beim Skript im 1. Link werden die Werte der wiederzugebenden Variablen bei Bool und Integer in der Farbe wiedergegeben, wie im Profil definiert, nur leider bei Float nicht…
Wie Michael sagt, bitte die Frage im anderen Thread stellen!
Ich habe jetzt mal schnell über die Scripte geschaut. Wenn ich es richtig verstehe werden die Profile ausgelesen und in HTML übersetzt! Das müsste man dann halt auch für deine Float’s machen!
// if the type of the variable supports profiles with associations, try to
// retrieve the association list so that log entries can be created with
// text and color, rather than just bare values.
$profile = false;
$prof_name = $var['VariableCustomProfile'];
if($prof_name == '') $prof_name = $var['VariableProfile'];
if($prof_name != '') {
if(!array_key_exists($prof_name, $profiles)) {
$profile = @IPS_GetVariableProfile($prof_name);
if($profile === false) {
if($debug) echo "Profile \"" . $prof_name . "\" not found!\r";
} else {
$profiles[$prof_name] = $profile;
}
} else {
$profile = $profiles[$prof_name];
}
}
Ich verstehe halt nicht, warum die Farbwiedergabe bei Bool und Integer klappt, nicht aber bei Float. Leider reichen meine PHP-Kenntnisse auch nicht, das herauszufinden.
Die Frage habe ich beim Skript-Thread auch schon gestellt - Euch aber schon mal vielen Dank!
Ich bin mir nicht sicher, ob es wirklich am Skript liegt:
Ich habe bei der entsprechenden Float-Variablen im Profil die Werte 10 (grün zugewiesen) und 35 (rot zugewiesen) und bei Text jeweils „%0.1f“ eingegeben:
Alle Werte außer 10 und 35 werden ohne Farbe mit dem definierten Suffix ausgegeben. Wenn der Wert der Variablen 10 bzw. 35 ist, wird nicht der Wert, sondern der Inhalt von „Text“, also „%0.1f“ in grün bzw. in rot ausgegeben.
Es scheint also am Profil und der Art der Wertdefinition zu liegen, oder? Habt Ihr eine Idee, wie ich das richtig hinbekomme?
Wo ? Im Webfront ?
Oder in den Scripten ?
Bei den Scripten wird dass so sein; diese berücksichtigen ein Float mit von - bis nicht !
Nur wenn es eine Punktlandung bei dem Wert ist; wird der Text eingefärbt (zumindest bei dem einen Script).
Wende dich doch sonst per PN an den Autor, wenn er im Thread nicht antwortet.
Michael