Aus einer Liste Dummy IDs finden.

Bei meiner Lichtsteuerung habe ich das Problem das wenn ich ein Wert aktualisiere das ich prüfen möchte ob der jeweilige Raum angeschaltet ist oder nicht.

Dazu gehe ich einmal durch meine Liste und versuche anhand eines Channels mir den Parent zu holen, das funktioniert aber nicht.

 if (is_array($deviceList) || is_object($deviceList)){
            foreach($deviceList as $i => $device){

                // Set Value for each Device if the Switch set on
                $channelName = $device->Name;
                $channelObjectR = IPS_GetObject($device->RChannel);

                //$ObjectID = @IPS_GetObjectIDByName($channelName, $parent);
                //$Object = IPS_GetObject($ObjectID);

                $ObjektID = @IPS_GetObjectIDByName($device->Name, $parent);

                $deviceProp = IPS_GetObject($ObjektID);

                $getSwitch = $deviceProp['ChildrenIDs'][4];
                $Switch = GetValue($getSwitch);

                $getDevice = IPS_GetParent($device->RChannel);

                $getValueChannelR = GetValue($device->RChannel);
                $getValueChannelG = GetValue($device->GChannel);
                $getValueChannelB = GetValue($device->BChannel);
                $getValueChannelW = GetValue($device->WChannel);

                // Get Ident
                $channelObjectR = IPS_GetObject($device->RChannel);
                $channelObjectG = IPS_GetObject($device->GChannel);
                $channelObjectB = IPS_GetObject($device->BChannel);
                $channelObjectW = IPS_GetObject($device->WChannel);

                // Get Channel Number
                $channelStringR = $channelObjectR['ObjectIdent'];
                $channelStringG = $channelObjectG['ObjectIdent'];
                $channelStringB = $channelObjectB['ObjectIdent'];
                $channelStringW = $channelObjectW['ObjectIdent'];
                $channelNumberR = $this->getIntFromString($channelStringR);
                $channelNumberG = $this->getIntFromString($channelStringG);
                $channelNumberB = $this->getIntFromString($channelStringB);
                $channelNumberW = $this->getIntFromString($channelStringW);

                if($Switch == TRUE){
                    DMX_FadeChannel($getDevice, $channelNumberR, $getValueGlobalR, $getValueGlobalF);
                    DMX_FadeChannel($getDevice, $channelNumberG, $getValueGlobalG, $getValueGlobalF);
                    DMX_FadeChannel($getDevice, $channelNumberB, $getValueGlobalB, $getValueGlobalF);
                    DMX_FadeChannel($getDevice, $channelNumberW, $getValueGlobalW, $getValueGlobalF);
                }
                if($Switch == FALSE){
                }
            }
        }
        echo "
 Event Trigger started";
    }

Hallo,

habe ich dich richtig verstanden?
Du bekommst die ParentID schon nicht?

Vielleicht wäre mal ein Screenshot deiner Struktur hilfreich, dann ist es evtl. einfacher zu verstehen. :slight_smile:

Grüße,
Kai