コード例 #1
0
	function Entertainment_SetRoomControlVisibility($RoomControlId, $Value) {
	   $RoomName     = IPS_GetName(IPS_GetParent($RoomControlId));
	   $RoomConfig   = get_RoomConfiguration();
	   $ControlName  = IPS_GetName($RoomControlId);
	   $WFRoomName   = $RoomConfig[$RoomName][c_Property_Name];
	   if ($WFRoomName=="") return;
	   $WFRoomId     = IPS_GetCategoryIDByName($WFRoomName, c_ID_WebFrontRoomes);

      $WFControlId = false;
		$ChildrenIds = IPS_GetChildrenIDs($WFRoomId);
		foreach($ChildrenIds as $ChildrenIdx => $ChildrenId) {
		   if (IPS_LinkExists($ChildrenId)) {
		      if (IPS_GetName($ChildrenId)==$ControlName) {
		         $WFControlId = $ChildrenId;
		      }
			} else {
				$WFControlId = @IPS_GetLinkIDByName($ControlName, $WFRoomId);
			}
		}

		if ($WFControlId!==false) {
			$WFControl=IPS_GetObject($WFControlId);
			if ($WFControl['ObjectIsHidden']<> !$Value) {
				IPS_SetHidden($WFControlId, !$Value);
			}
		}

	}
コード例 #2
0
	function Entertainment_SetRoomVisible($PowerId, $Value) {
	   $RoomConfig   = get_RoomConfiguration();
	   $RoomId        = IPS_GetParent($PowerId);
	   $RoomName      = IPS_GetName($RoomId);
	   $WFRoomName   = $RoomConfig[$RoomName][c_Property_Name];
	   if ($WFRoomName=="") return;
	   $WFRoomId     = IPS_GetCategoryIDByName($WFRoomName, c_ID_WebFrontRoomes);

		$ChildrenIds = IPS_GetChildrenIDs($WFRoomId);
		foreach($ChildrenIds as $ChildrenIdx => $ChildrenId) {
		   if (IPS_LinkExists($ChildrenId)) {
			   $LinkData = IPS_GetLink($ChildrenId);
			   $LinkedChildId = $LinkData["LinkChildID"];
		  		if ($LinkedChildId <> $PowerId) {
		    		IPSLogger_Trc(__file__, 'Set Control "'.IPS_GetName($ChildrenId).'" of Room "'.IPS_GetName($RoomId).'" Visible='.bool2OnOff($Value));
		  			IPS_SetHidden($ChildrenId, !$Value);
		  		}
			} else {
		  	   $GroupSwitchId = get_ControlIdByRoomId($RoomId, c_Control_Group);
		 		IPS_SetHidden($ChildrenId, !GetValue($GroupSwitchId) or !$Value);
			}
		}
	}
コード例 #3
0
 protected function SetupCategory($CategoryName)
 {
     $ImportCategoryID = $this->ReadPropertyInteger('ImportCategoryID');
     //Prüfen ob Kategorie exitiert ansonsten anlegen
     $KategorieID = @IPS_GetCategoryIDByName($CategoryName, $ImportCategoryID);
     if ($KategorieID === false) {
         //echo "Kategorie nicht gefunden!";
         // Anlegen einer neuen Kategorie mit dem Namen "Mediola [Typ] Geräte"
         $CategoryID = $this->CreateCategory($CategoryName);
         return $CategoryID;
     } else {
         //Kategorie exixtiert
         //echo "Die Kategorien-ID lautet: ". $KategorieID;
         $CategoryID = $KategorieID;
         return $CategoryID;
     }
 }
コード例 #4
0
ファイル: IPSWatering.inc.php プロジェクト: KOS-CH/IPSLibrary
	function get_CirclyIdByCircleIdent($CircleIdent, $ParentId=null) {
		if ($ParentId==null) {
			$ParentId = IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSWatering');
		}
		$CirclyId = IPS_GetCategoryIDByName($CircleIdent, $ParentId);

		return $CirclyId;
	}
コード例 #5
0
	 * @file          IPSWatering_ActivationTimer.ips.php
	 * @author        Andreas Brauneis
	 * @version
	 * Version 2.50.1, 11.03.2012<br/>
	 *
	 * Starten der Bewässerungs Kreise zu den vorgegebenen Zeiten
	 *
	 */

	 /** @}*/

	include_once "IPSWatering.inc.php";

   $CircleName         = IPS_GetName($_IPS['EVENT']);
   $categoryId_Circles = IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSWatering.WaterCircles');
   $CircleId           = IPS_GetCategoryIDByName($CircleName, $categoryId_Circles);
   $ControlId          = get_ControlId(c_Control_Active, $CircleId);

	$WaterConfig = get_WateringConfiguration();

	// Wert von Bewässerungs Sensor ermitteln
	$SensorLimit = GetValue(get_ControlId(c_Control_Sensor, $CircleId));
	$SensorValue = false;
	if (array_key_exists(c_Property_Sensor, $WaterConfig[$CircleName])) {
		$SensorPath  = $WaterConfig[$CircleName][c_Property_Sensor];
		if ($SensorPath <> '') {
			$SensorId    = IPSUtil_ObjectIDByPath($SensorPath);
			if ($SensorId===false) {
			   IPSLogger_Wrn(__file__, "Specified Sensor '$SensorPath' could NOT be found");
			} else {
				$SensorValue = GetValue($SensorId);
コード例 #6
0
function Kategorie_GetOrSet($Kategorie_Name, $ParentID)
{
    $Kategorie_ID = @IPS_GetCategoryIDByName($Kategorie_Name, $ParentID);
    if ($Kategorie_ID === false) {
        $Kategorie_ID = IPS_CreateCategory();
        IPS_SetName($Kategorie_ID, $Kategorie_Name);
        IPS_SetParent($Kategorie_ID, $ParentID);
    }
    return $Kategorie_ID;
}
コード例 #7
0
ファイル: module.php プロジェクト: 1007/Symcon1007_Withings
 protected function DoBlutdruck($ModulID, $data)
 {
     $diastolic = 0;
     $systolic = 0;
     $pulse = 0;
     $CatID = @IPS_GetCategoryIDByName("Blutdruck", $ModulID);
     if ($CatID === false) {
         return;
     }
     $time = @$data['measuregrps'][0]['date'];
     $data = @$data['measuregrps'][0]['measures'];
     if (count($data) != 3) {
         $this->Logging("Fehler bei DoBlutdruck " . count($data));
         //return;
     }
     $id = @IPS_GetVariableIDByName("DatumUhrzeit", $CatID);
     if ($id > 0) {
         $old = GetValueInteger($id);
         if ($old == $time) {
             // keine neue Daten
             return false;
         }
         SetValueInteger($id, $time);
     }
     foreach ($data as $messung) {
         $val = $messung['value'];
         if ($messung['type'] == 9) {
             $diastolic = $val;
         }
         if ($messung['type'] == 10) {
             $systolic = $val;
         }
         if ($messung['type'] == 11) {
             $pulse = $val;
         }
     }
     $id = IPS_GetVariableIDByName("Diastolic", $CatID);
     if ($id > 0) {
         SetValueInteger($id, $diastolic);
     }
     $id = IPS_GetVariableIDByName("Systolic", $CatID);
     if ($id > 0) {
         SetValueInteger($id, $systolic);
     }
     $id = IPS_GetVariableIDByName("Puls", $CatID);
     if ($id > 0) {
         SetValueInteger($id, $pulse);
     }
 }