Hi,
ich habe mir ein kleines Konstrukt gebaut, dass mir im Webfront/in der App alle momentan angeschalteten Lichter anzeigt. Sollte kein Licht den Status „an“ haben, wird die Kategorie ausgeblendet.
Vielleicht kann es jemand gebrauchen. Änderungsideen/Verbesserungsvorschläge erwünscht.
Funktionsweise:
- Eine Kategorie mit allen Lichtern o.ä., die „überwacht“ werden sollen anlegen. Dort die gewünschten Variablen verknüpfen
- Pro angelegter Verlinkung bei der eigentlichen Variable ein Ereignis „bei Variablenänderung“ anlegen und die Funktion aufrufen
<?php
function check_status_lights () {
//$alle_lichter => ID der Kategorie, die sämtliche Verlinkungen enthält
$alle_lichter = IPS_GetChildrenIDs(32659 /*[aktive Beleuchtung]*/ );
$count_alle_lichter = count($alle_lichter);
$any_active=0;
//echo $count_alle_lichter;
for ($i=0; $i < $count_alle_lichter; $i++) {
$current_link = IPS_GetLink($alle_lichter[$i]);
$current_link_value = GetValueBoolean($current_link["TargetID"]) . "
";
if ($current_link_value == 0) {
IPS_SetHidden($alle_lichter[$i], true);
}
else
{
IPS_SetHidden($alle_lichter[$i], false);
}
}
for ($i=0; $i < $count_alle_lichter; $i++) {
$current_link = IPS_GetLink($alle_lichter[$i]);
$current_link_value = GetValueBoolean($current_link["TargetID"]) . "
";
if ($current_link_value == 1) {
$any_active=1;
break;
}
}
if ($any_active <> 1) {
IPS_SetHidden(32659 /*[aktive Beleuchtung]*/, true);
}
else
{
IPS_SetHidden(32659 /*[aktive Beleuchtung]*/, false);
}
?>
Gruß dharma