Scriptgesteuertes Ein- Ausblenden von Anzeigen

Hallo Gemeinde,

erst einmal recht herzlichen Dank an alle hier im Forum, die mir die schweren ersten Tage mit IP-Symcon mit Rat und Tat zur seite gestanden haben.

Ich habe mich langsam eingefunden und langsam entspricht alles meinen Vorstellungen.

Trotzdem stoße ich immer wieder schnell an Grenzen, da ich kein php kann. Ich muss mir alles aus dem Forum hier zusammensuchen und passe das dann meinen Vorstellungen an. Funktioniert soweit ganz gut, solange ich ein Beispiel habe.

Jetzt bin ich aber auf ein Problem gestoßen, wozu ich kein Beispiel finde.

Ist es möglich, durch Script oder Instanz, eine Anzeige (Variable, Modul, Kategorie, etc.) einfach ausblenden zu lassen? Bisher habe ich nur die Möglichkeit gefunden z.B. einen Link zu löschen.

Es sollen aber z.B. ungewünschte Anzeigen nicht gelöscht, sondern nur ausgeblendet werden, wenn ein Schalter/Ereignis gesetzt ist.

Geht das?

Danke und Gruß
Dirk

IPS_SetHidden.

jo, hab ich auch grad gefunden. Dankeschön.

Vielleicht sollte ich mir die Doku mal unters Kopfkissen legen…

Puuh, zu meiner bisherigen Haussteuerung mit ezControl und Intertechno-Komponenten ist das IPS ein ziemlich mächtiges Werkzeug!

Aber es wird…

Danke!

Gruß
Dirk

So, das Ausblenden funktioniert.

Aber er blendet es nicht mehr ein, wenn ich den Schalter wieder einschalte.

Hier mal der Script:

<?
$HZ_Kuehlung = GetValue(19533);

if($HZ_Kuehlung == false)
{
IPS_SetHidden(11927, true);
}
if($HZ_Kuehlung == true)
{
IPS_SetHidden(11927, false);
}
?>

Gesteuert durch das Ereignis vom Schalter (19533).

Warum geht das nu nicht? Es gibts ja kein IPS_SetVisible()

Oder doch??

<?
if(!GetValue(19533))
{
    IPS_SetHidden(11927, true);
}
else
{
    IPS_SetHidden(11927, false);
}
?>

getriggert auf 19533 bei Variablenänderung.

Edit:

Da fällt mir grad ein, wenn Du das ganze in Betracht auf deine Frage von gestern beziehst, reicht es aus einfach $IPS_VALUE abzufragen. Du brauchst dann keinen Trigger.

Sieht dann so aus.

if($IPS_SENDER == "WebFront")
{
    SetValue($IPS_VARIABLE, $IPS_VALUE);
    if(!$IPS_VALUE)
    {
       IPS_SetHidden(11927, true);
    }
    else
    {
       IPS_SetHidden(11927, false);
    }
}

Großartig!

Vielen Dank!

Und ja, es war auf die Frage von gestern bezogen… :wink:

Gruß
Dirk