Icon über Var Profil Einfärben

Moin,
Es scheint ja nicht zu gehen, einem Icon (zB als Info Widget) je nach Variablen Zustand einzufärben.
Nur die Hintergrundfarbe des Textes wird eingefärbt. Text ist mir für bestimmte Übersichten aber zu sperrig und hat ja auch immer eine andere Länge.
Fände es spitzenmäßig, wenn man entweder das Icon selbst oder zu mind den HG abhängig vom Var zustand einfärben könnt.
Oder geht das schon.

Hab im Forum nix dazu gefunden (überraschenderen Weise…)

Klar geht das. Du erstellst Dir Dein Wunschicon in Deinen Wunschfarben. Ich mache das mit Gimp. Dann im Variablenprofil die verschiedenen Farben den Zuständen zuordnen.

Viele Grüße
Jürgen

Joa, das stimmt schon, ist mir aber „zu manuell“. Hätte gehofft man könne die icons (oder den Hintergrund) per Skript oder in den VAR Profilen umfärben. Das ginge nicht nur wesentlich schneller sondern wäre auch flexibler.
Trotzdem danke.

mit diesem Script überschreibe ich mir die Icons meiner Rollläden,
wenn diese in Bewegung sind zeigen sie mir die Bewegung hoch oder runter an:


<?php
 
if ($_IPS['SENDER'] == 'Variable')
	{
		$VarId = $_IPS['VARIABLE'];
		$LevId = IPS_GetObjectIDByName("LEVEL", (IPS_GetParent($_IPS['VARIABLE'])));
        $alleLinks = IPS_GetLinkList();

		if (GetValueInteger($VarId) == '0')
		{
			foreach($alleLinks as $link) 
			{ 
		   		$Links = IPS_GetLink($link); 
		   		if ( $Links['TargetID'] == $LevId ) 
			  	IPS_SetIcon($Links['LinkID'], "Warning");
			}
		}
		
        if (GetValueInteger($VarId) == '1')
		{
			foreach($alleLinks as $link) 
			{ 
		   		$Links = IPS_GetLink($link); 
		   		if ( $Links['TargetID'] == $LevId ) 
			  	IPS_SetIcon($Links['LinkID'], "HollowArrowUp");
			}
		}

        if (GetValueInteger($VarId) == '2')
		{
			foreach($alleLinks as $link) 
			{ 
		   		$Links = IPS_GetLink($link); 
		   		if ( $Links['TargetID'] == $LevId ) 
			  	IPS_SetIcon($Links['LinkID'], "HollowArrowDown");
			}
		}
		if (GetValueInteger($VarId) == '3')
		{
			foreach($alleLinks as $link) 
			{ 
		   		$Links = IPS_GetLink($link); 
		   		if ( $Links['TargetID'] == $LevId ) 
			  	IPS_SetIcon($Links['LinkID'], "");
			}
		}
 	}

Rollo_icon_2.png

Vielleicht hilft Dir das weiter.

Loerdy