1von10 images variablenabhängig sichtbar

nun bastle ich schon seit Stunden an einer Möglichkeit, einen (Wärme-)Zustand zu visualisieren. In einer Variablen bekomme ich einen Wert 0-100%. Dem möchte ich 10 Images zuordnen (10,20,30%…).
Einzige Idee war 10 Variablen anzulegen, 10 Images übereinander legen und nach einem true-setzen per script, das jeweilige Image visible zu schalten (z.B. das 40%-Image für Werte von 40-49%). Scheint mir aber recht umständlich und das Script habe ich auch nicht hinbekommen:


$Puffer = GetValue(37771);   // Ladung in %
if ($Puffer >10) {
      SetValueBoolean (43855,true); // set puffer10 true
		} else {
		SetValueBoolean (43855,false);
				 }

so hab ich mal angefangen-schätze aber so wird das nix. Ich wollte den Part in eine Schleife packen-kann das aber nicht in 10er Schritten.
Wie macht ihr sowas?
Feier(tag)liche Grüße
Ralf

Tach,
wenn ich das richtig verstehe, dann:

  • nimmst Du ein Image
  • Im Komponenten-Editor wählst du das Attribut „Picture“
  • wählst dort die Bitmaske aus, nimmst eine Variable und vergibst für 10 Werte 10 Images

Je nach Variablenwert wird das entsprechende Image angezeigt. Die Zwischenwerte muss Du entsprechend anpassen…

Image.png

Hi,

eine andere Möglichkeit wäre noch nur ein Bild im Dashboard einzufügen und das Bild je nach Zustand per Php zu ändern. Ich benutze das um mir verschiedene Wetterzustände anzeigen zu lassen.
Das ganze hat den Vorteil das die Menge der verschiedenen Bilder unbegrenzt ist, bei der Bitmaske hast du nur eine bestimmte Anzahl von möglichen Bildern.


$bla1 = GetValueString(12955 /*[Dashboard\Wetter\Heute]*/);
$blub1 = "C:\IP-Symcon\Wettericons\\".$bla1.".png";
copy($blub1,"C:\IP-Symcon\media\heute.png");

gruß
goran

Ich habe vor kurzem auch an einem IPS projekt gearbeitet (bin noch immer drann) wenn das symbol nur zwei farbig sein soll könnte man, (so wie ich) ein font machen, und dieses nutzen. Hier kann man dem asci-code entprechend viele bilder rein bringen und diese auch noch farblich ändern, größen kann man auch scalieren über die font größe. Nur mal so als lösungs ansatz

Hi,
danke für die Tipps!

wenn ich das richtig verstehe, dann:

  • nimmst Du ein Image
  • Im Komponenten-Editor wählst du das Attribut „Picture“
  • wählst dort die Bitmaske aus, nimmst eine Variable und vergibst für 10 Werte 10 Images
    das sieht aus, als könnt’s funktionieren. Versuch ist aber leider gescheitert, weil IPS wohl eine Integer Variable haben will. Ich hab aber ne Float-Variable, berechnet aus 4 Float-Werten. Und das Image (z.B. Image für 10%) ist sichtbar, wenn der Variablenwert genau 10 ist?? (Wenn ich als Wert 10 eingebe natürlich)
    @goran
    script hab ich leider nicht verstanden.
    In Zeile 1 welchen String woher holen?
    Zeile 2 - Dateinamen erzeugen?
    Zeile 3 - Datei in medien-Ordner kopieren? und weiter??
    @neodaysleeper
    klingt interessant. Allerdings habe ich noch keinen Font hergestellt. Mein Image soll oben rot und unten blau sein, je mehr der Puffer geladen ist, desto mehr rot soll angezeigt werden.

seufz php müsste man können…

Gruß
Ralf

Die Lösung von Neon ist die richtige. Du mußt lediglich den Float-Werten entsprechende Integerwerte zuordnen. Dazu legst Du Dir ein Script an welches Dir die Intergerwerte aus den Floatwerten generiert.

Hi Ralf,

kein Problem, ich hab das letztens nur schnell zwischen Tür und Angel gepostet, deswegen keine Beschreibung. Es liegen bei mir im Ordner \Wettericons verschiedene *.png Dateien für die Wetterzustände (z.B. „Bewölkt.png“ oder „Sonnig.png“).
Im Odner \media gibt es eine Datei (heute.png) die im Dashboard angezeit wird und verändert wird.

1.Zeile
Ich bekomme den Wetterzustand in eine Stringvariable geschrieben (z.B. „Bewölkt“ oder „Sonnig“). Diesen String hole ich mir.
2.Zeile
Ich schreibe mir in die Variable $blub1 den Dateipfad des Wettericons das ich aktuell haben möchte.
3.Zeile
Ich kopiere mir das passende Wettericon (Pfad $blub1) nach \media\heute.png.

Dateien im Mediaordner werden im Dashboard automatisch aktualisiert, daher ist keine weiter Aktion nötig und die veränderte Datei wird sofort aktuell angezeigt.

gruß
goran

Ok, danke für die Anregungen. Da werd’ ich mal daran basteln. Das Generieren von Integer aus Float finde ich bestimmt irgendwo.

Richtige Lösungen sind mir die Liebsten:D

Danke goran für die Beschreibung, das kann ich bestimmt noch gebrauchen.
Gruß
Ralf