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); } } }
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); } } }
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; } }
function get_CirclyIdByCircleIdent($CircleIdent, $ParentId=null) { if ($ParentId==null) { $ParentId = IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSWatering'); } $CirclyId = IPS_GetCategoryIDByName($CircleIdent, $ParentId); return $CirclyId; }
* @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);
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; }
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); } }