Andere Anzeige im WF nach umstellung auf 6.0

Hallo,

seit der Umstellung auf 6.0 habe ich einen komischen Fehler im Webfront.

Webfront

Vorher war der geöffnet Button auch in hellem rot und der Datumsbutton abgedimmt wie bei den geschlossenen.
Das ist wahrscheinlich nur eine Kleinigkeit, aber ich komme nicht drauf.
Im Objektbaum sieht das so aus:

Baum

Variable

Das ist das Aktionsskript:

if($_IPS['SENDER'] == "WebFront")
{
	return;
}
$profile = "DoorContact_Garage";	//welches Profile wird benutzt (Unterscheidung bool/int)
//$var = IPS_GetVariable(24186);	//[Locations\Garage\HM_Garagentür\STATE] ersetzt durch nächste 2 Zeilen (26.5.21)
$varID = $_IPS['VARIABLE'];	//Welche Variable hat dieses Skript getriggert
$var = IPS_GetVariable($varID);	//alle Daten der Variable (Array)
//print_r($var);
$wann = date('d.m.y H:i:s', $var['VariableChanged']);	//Uhrzeit der Betätigung
//switch($var['VariableValue']) //ersetzt durch nächste Zeile (26.5.21)
switch($_IPS['VALUE'])
{
    case 0:
    IPS_SetVariableProfileAssociation($profile, 4, $wann, "", -1);
    IPS_SetVariableProfileAssociation($profile, 0, "geschlossen", "Window", 0x008000);
    break;
    case 1:
    IPS_SetVariableProfileAssociation($profile, 4, $wann, "", -1);
    IPS_SetVariableProfileAssociation($profile, 0, "geöffnet", "Window", 0xFF0000);
    break;
}

Vielleicht kann mir jemand einen Tipp geben, wo ich was ändern muss, damit auch die geöffnet Meldung wieder passt.

Gruß
Michael

Das hat nichts mit dem Update zu tun.
Du missbrauchst hier ein Variablenprofil um mehrere Werte und Zustände anzuzeigen.
Und der Wert der Variable ist jetzt halt nicht 0 und dadurch ist der Eintrag vom Profil zum Wert 0 abgedunkelt und der von Wert 4 hell.
Ändere den Wert der Variable auf 0 und du hast die gleiche Anzeige wie bei den anderen Variablen.
Ich vermute aber eher dass das nicht von Dauer ist, weil diese Variable von einem HM-Device sich ja ändern wird.
Leider sieht man auf dem Screenshot nicht um welchen Variablentyp es sich handelt.
Eventuell musst du in den beiden Case Blöcken noch jeweils einen Eintrag für die Assoziation 1 hinzufügen.
Michael

Hi,

danke für die schnelle Antwort.
Ich denke schon das es mit dem Update zu tun hat, es ging ja seit Jahren richtig. Das wurde halt in Urzeiten mal so im Forum gemacht um diese Darstellung zu bekommen. Hat mir bisher gut gefallen.

Die Variable ist boolean bei den Integer Variablen geht es noch wie früher.
Da habe ich die gleichen Einstellungen.

Gruß
Michael

Eine bool Variable kann nur zwei Zustände.
Somit hast du da eher einen Bug ausgenutzt.
Wie gesagt, wenn die Variable dann den Wert false hast, ist deine Anzeige so lange korrekt bis das Gerät bei STATE wieder ein true empfängt.
Du kannst aber das hier testen; ohne Garantie das es funktioniert.

{
    case 0:
    IPS_SetVariableProfileAssociation($profile, 4, $wann, "", -1);
    IPS_SetVariableProfileAssociation($profile, 0, "geschlossen", "Window", 0x008000);
IPS_SetVariableProfileAssociation($profile, 1, "", "", -1);
    break;
    case 1:
    IPS_SetVariableProfileAssociation($profile, 4, $wann, "", -1);
    IPS_SetVariableProfileAssociation($profile, 1, "geöffnet", "Window", 0xFF0000);
IPS_SetVariableProfileAssociation($profile, 0, "", "", -1);
    break;
}

Michael

Hab deinen Vorschlag ausprobiert, das ändert es nicht.
Es kommt dann noch eine Fehlermeldung:
11.09.2021 20:31:35 | Warning 2 | Assoziation kann für Boolean-Profil nicht gelöscht werden | C:\ProgramData\Symcon\scripts\31387.ips.php | line:31
11.09.2021 20:32:22 | Warning 2 | Assoziation kann für Boolean-Profil nicht gelöscht werden | C:\ProgramData\Symcon\scripts\31387.ips.php | line:25

Hab mir jetzt eine ähnliche Darstellung mit HTML Tabelle gebaut. Ist nicht so schön, aber da bin ich ein totaler Anfänger. :innocent:
Bild

Mal gucken ob ich die Zeit dann weglasse, war halt schön so.
Vielen Dank für deine Hilfe.

Gruß
Michael

Du könntest auch dynamisch den Text „Garagentür“ ändern und dort die Zeit anhängen. Optisch nicht so schön, aber inhaltlich gleich.

Danke, ne gute Idee. Schau ich mir mal an.