本文整理汇总了Java中com.digitaldan.jomnilinkII.MessageTypes.properties.UnitProperties.getUnitType方法的典型用法代码示例。如果您正苦于以下问题:Java UnitProperties.getUnitType方法的具体用法?Java UnitProperties.getUnitType怎么用?Java UnitProperties.getUnitType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.digitaldan.jomnilinkII.MessageTypes.properties.UnitProperties
的用法示例。
在下文中一共展示了UnitProperties.getUnitType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateUnits
import com.digitaldan.jomnilinkII.MessageTypes.properties.UnitProperties; //导入方法依赖的package包/类
/**
* This is by far the most complex method as units have the ability to be
* sub-grouped into rooms. If units are in a room then they will be added to
* their own group which is a member of the Lights group.
* @throws IOException
* @throws OmniNotConnectedException
* @throws OmniInvalidResponseException
* @throws OmniUnknownMessageTypeException
*/
private void generateUnits() throws IOException, OmniNotConnectedException, OmniInvalidResponseException, OmniUnknownMessageTypeException{
//Group Lights_GreatRoom "Great Room" (Lights)
String groupString = "Group\t%s\t\"%s\"\t(%s)\n";
//Dimmer Lights_GreatRoom_MainLights_Switch "Main Lights [%d%%]" (Lights_GreatRoom) {omnilink="unit:10"}
String itemString = "%s\t%s\t\"%s\"\t(%s)\t{omnilink=\"unit:%d\"}\n";
String groupName = "Lights";
//Group Lights "Lights" (All)
groups.append(String.format(groupString,groupName,"Lights","All"));
int objnum = 0;
Message m;
int currentRoom = 0;
String currentRoomName = null;
while ((m = c.reqObjectProperties(Message.OBJ_TYPE_UNIT, objnum, 1, ObjectProperties.FILTER_1_NAMED,
ObjectProperties.FILTER_2_AREA_ALL, ObjectProperties.FILTER_3_ANY_LOAD)).getMessageType() == Message.MESG_TYPE_OBJ_PROP) {
UnitProperties o = ((UnitProperties) m);
objnum = o.getNumber();
boolean isInRoom = false;
boolean isRoomController = false;
if(o.getUnitType() == UnitProperties.UNIT_TYPE_HLC_ROOM ||
o.getObjectType() == UnitProperties.UNIT_TYPE_VIZIARF_ROOM){
currentRoom = objnum;
//Lights_LivingRoom
currentRoomName = cleanString(groupName + "_" + o.getName());
//Make Sure we don't already have a group called this
currentRoomName = addUniqueGroup(currentRoomName);
groups.append(String.format(groupString,currentRoomName,o.getName(),groupName));
rooms.put(currentRoomName, new LinkedList<SiteItem>());
isInRoom = true;
isRoomController = true;
} else if(objnum < currentRoom + 8){
isInRoom = true;
}
//clean the name to remove things like spaces
String objName = cleanString(o.getName());
String group = isInRoom ? currentRoomName : groupName;
//name will be the room name for the first device and roomName_deviceName for sub devices
String name = isRoomController ? objName : group + "_" + objName;
//the label does not have to be cleaned, so set it from the object
String label = o.getName() + " [%d%%]";
SiteItem light = new SiteItem(name, o.getName(), label);
items.append(String.format(itemString,"Dimmer",name + "_Switch",label,group,objnum));
if(isRoomController)
items.append(String.format(itemString,"String",name + "_String",o.getName() + " [%s]",group,objnum));
if(isInRoom)
rooms.get(currentRoomName).add(light);
else
lights.add(light);
}
}