1)); IPS_SetHidden(IPS_GetObjectIDByName("Sonnenuntergang", $ObjectID_Mode_1), ($Mode_Aus <> 2)); IPS_SetHidden(IPS_GetObjectIDByName("zivile Abenddämmerung", $ObjectID_Mode_1), ($Mode_Aus <> 3)); IPS_SetHidden(IPS_GetObjectIDByName("nautische Abenddämmerung", $ObjectID_Mode_1), ($Mode_Aus <> 4)); IPS_SetHidden(IPS_GetObjectIDByName("astronomische Abenddämmerung", $ObjectID_Mode_1), ($Mode_Aus <> 5)); IPS_SetHidden(IPS_GetObjectIDByName($NameLimit_1ab.$Name_1a, $ObjectID_Mode_1), ($Mode_Aus < 2)); IPS_SetEventActive($ObjectID_Event_1a, ($Mode_Aus > 0)); if ($Mode_Aus > 1){ if ($Mode_Aus == 2) {$TimeID = IPS_GetObjectIDByName("Sonnenuntergang", $AstroID);} if ($Mode_Aus == 3) {$TimeID = IPS_GetObjectIDByName("zivile Abenddämmerung", $AstroID);} if ($Mode_Aus == 4) {$TimeID = IPS_GetObjectIDByName("nautische Abenddämmerung", $AstroID);} if ($Mode_Aus == 5) {$TimeID = IPS_GetObjectIDByName("astronomische Abenddämmerung", $AstroID);} $Time = GetValueString($TimeID); $Limits = GetValueString(IPS_GetObjectIDByName($NameLimit_1ab.$Name_1a, $ObjectID_Mode_1)); list($H,$M) = TimeLimit($Time, $Limits); IPS_SetEventCyclicTimeFrom($ObjectID_Event_1a,$H,$M,00); } } // ---------------------------------------------- // Parameter 1b // ---------------------------------------------- if ($ObjectID_Event_1b != FALSE AND $ObjectID_Event_1a <> $ObjectID_Event_1b) { $Mode_Aus = GetValueInteger($ObjectID_Mode_1); IPS_SetHidden(IPS_GetObjectIDByName("Zeit".$Name_1b, $ObjectID_Mode_1), ($Mode_Aus <> 1)); IPS_SetHidden(IPS_GetObjectIDByName($NameLimit_1ab.$Name_1b, $ObjectID_Mode_1), ($Mode_Aus < 2)); IPS_SetEventActive($ObjectID_Event_1b, ($Mode_Aus > 0)); if ($Mode_Aus > 1){ if ($Mode_Aus == 2) {$TimeID = IPS_GetObjectIDByName("Sonnenuntergang", $AstroID);} if ($Mode_Aus == 3) {$TimeID = IPS_GetObjectIDByName("zivile Abenddämmerung", $AstroID);} if ($Mode_Aus == 4) {$TimeID = IPS_GetObjectIDByName("nautische Abenddämmerung", $AstroID);} if ($Mode_Aus == 5) {$TimeID = IPS_GetObjectIDByName("astronomische Abenddämmerung", $AstroID);} $Time = GetValueString($TimeID); $Limits = GetValueString(IPS_GetObjectIDByName($NameLimit_1ab.$Name_1b, $ObjectID_Mode_1)); list($H,$M) = TimeLimit($Time, $Limits); IPS_SetEventCyclicTimeFrom($ObjectID_Event_1b,$H,$M,00); } } // ---------------------------------------------- // Parameter 2a // ---------------------------------------------- if ($ObjectID_Event_2a != FALSE) { $Mode_Aus = GetValueInteger($ObjectID_Mode_2); IPS_SetHidden(IPS_GetObjectIDByName("Zeit".$Name_2a, $ObjectID_Mode_2), ($Mode_Aus <> 1)); IPS_SetHidden(IPS_GetObjectIDByName("Sonnenaufgang", $ObjectID_Mode_2), ($Mode_Aus <> 2)); IPS_SetHidden(IPS_GetObjectIDByName("zivile Morgendämmerung", $ObjectID_Mode_2), ($Mode_Aus <> 3)); IPS_SetHidden(IPS_GetObjectIDByName("nautische Morgendämmerung", $ObjectID_Mode_2), ($Mode_Aus <> 4)); IPS_SetHidden(IPS_GetObjectIDByName("astronomische Morgendämmerung", $ObjectID_Mode_2), ($Mode_Aus <> 5)); IPS_SetHidden(IPS_GetObjectIDByName($NameLimit_2ab.$Name_2a, $ObjectID_Mode_2), ($Mode_Aus < 2)); IPS_SetEventActive($ObjectID_Event_2a, ($Mode_Aus > 0)); if ($Mode_Aus > 1){ if ($Mode_Aus == 2) {$TimeID = IPS_GetObjectIDByName("Sonnenaufgang", $AstroID);} if ($Mode_Aus == 3) {$TimeID = IPS_GetObjectIDByName("zivile Morgendämmerung", $AstroID);} if ($Mode_Aus == 4) {$TimeID = IPS_GetObjectIDByName("nautische Morgendämmerung", $AstroID);} if ($Mode_Aus == 5) {$TimeID = IPS_GetObjectIDByName("astronomische Morgendämmerung", $AstroID);} $Time = GetValueString($TimeID); $Limits = GetValueString(IPS_GetObjectIDByName($NameLimit_2ab.$Name_2a, $ObjectID_Mode_2)); list($H,$M) = TimeLimit($Time, $Limits); IPS_SetEventCyclicTimeFrom($ObjectID_Event_2a,$H,$M,00); } } // ---------------------------------------------- // Parameter 2b // ---------------------------------------------- if ($ObjectID_Event_2b != FALSE AND $ObjectID_Event_2a <> $ObjectID_Event_2b) { $Mode_Aus = GetValueInteger($ObjectID_Mode_2); IPS_SetHidden(IPS_GetObjectIDByName("Zeit".$Name_2b, $ObjectID_Mode_2), ($Mode_Aus <> 1)); IPS_SetHidden(IPS_GetObjectIDByName($NameLimit_2ab.$Name_2b, $ObjectID_Mode_2), ($Mode_Aus < 2)); IPS_SetEventActive($ObjectID_Event_2b, ($Mode_Aus > 0)); if ($Mode_Aus > 1){ if ($Mode_Aus == 2) {$TimeID = IPS_GetObjectIDByName("Sonnenaufgang", $AstroID);} if ($Mode_Aus == 3) {$TimeID = IPS_GetObjectIDByName("zivile Morgendämmerung", $AstroID);} if ($Mode_Aus == 4) {$TimeID = IPS_GetObjectIDByName("nautische Morgendämmerung", $AstroID);} if ($Mode_Aus == 5) {$TimeID = IPS_GetObjectIDByName("astronomische Morgendämmerung", $AstroID);} $Time = GetValueString($TimeID); $Limits = GetValueString(IPS_GetObjectIDByName($NameLimit_2ab.$Name_2b, $ObjectID_Mode_2)); list($H,$M) = TimeLimit($Time, $Limits); IPS_SetEventCyclicTimeFrom($ObjectID_Event_2b,$H,$M,00); } } function TimeLimit($Time, $Limits){ $teile = explode(':', $Time); $H = intval($teile[0]); $M = intval($teile[1]); $Hmin = intval(substr($Limits,0,2)); $Mmin = intval(substr($Limits,3,2)); $Hmax = intval(substr($Limits,6,2)); $Mmax = intval(substr($Limits,9,2)); if ($H < $Hmin){$H = $Hmin;$M = $Mmin;} if ($H == $Hmin and $M < $Mmin){$M = $Mmin;} if ($H > $Hmax){$H = $Hmax;$M = $Mmax;} if ($H == $Hmax and $M > $Mmax){$M = $Mmax;} return array ($H, $M); } ?>