当前位置: 首页>>代码示例>>Java>>正文


Java PercentType类代码示例

本文整理汇总了Java中org.openhab.core.library.types.PercentType的典型用法代码示例。如果您正苦于以下问题:Java PercentType类的具体用法?Java PercentType怎么用?Java PercentType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PercentType类属于org.openhab.core.library.types包,在下文中一共展示了PercentType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getStateAs

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public State getStateAs(Class<? extends State> typeClass) {
	if(typeClass==UpDownType.class) {
		if(state.equals(PercentType.ZERO)) {
			return UpDownType.UP;
		} else if(state.equals(PercentType.HUNDRED)) {
			return UpDownType.DOWN;
		} else {
			return UnDefType.UNDEF;
		}
	} else if(typeClass==DecimalType.class) {
		if(state instanceof PercentType) {
			return new DecimalType(((PercentType) state).toBigDecimal().divide(new BigDecimal(100), 8, RoundingMode.UP));
		}
	}
	return super.getStateAs(typeClass);
}
 
开发者ID:Neulinet,项目名称:Zoo,代码行数:21,代码来源:RollershutterItem.java

示例2: increaseDecrease

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
private void increaseDecrease(TellstickDevice dev, IncreaseDecreaseType increaseDecreaseType)
		throws TellstickException {
	String strValue = dev.getData();
	double value = 0;
	if (strValue != null) {
		 value = Double.valueOf(strValue);
	}
	int percent = (int) Math.round((value / 255) * 100);
	if (IncreaseDecreaseType.INCREASE == increaseDecreaseType) {			
		percent = Math.min(percent + 10, 100);			
	} else if (IncreaseDecreaseType.DECREASE == increaseDecreaseType) {
		percent = Math.max(percent - 10, 0);				
	}
	
	dim(dev, new PercentType(percent));
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:17,代码来源:TellstickController.java

示例3: createState

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
/**
 * Returns a {@link State} which is inherited from the {@link Item}s
 * accepted DataTypes. The call is delegated to the  {@link TypeParser}. If
 * <code>item</code> is <code>null</code> the {@link StringType} is used.
 *  
 * @param itemType
 * @param transformedResponse
 * 
 * @return a {@link State} which type is inherited by the {@link TypeParser}
 * or a {@link StringType} if <code>item</code> is <code>null</code> 
 */
private State createState(Class<? extends Item> itemType, String transformedResponse) {
	try {
		if (itemType.isAssignableFrom(NumberItem.class)) {
			return DecimalType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(ContactItem.class)) {
			return OpenClosedType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(SwitchItem.class)) {
			return OnOffType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(RollershutterItem.class)) {
			return PercentType.valueOf(transformedResponse);
		} else {
			return StringType.valueOf(transformedResponse);
		}
	} catch (Exception e) {
		logger.debug("Couldn't create state of type '{}' for value '{}'", itemType, transformedResponse);
		return StringType.valueOf(transformedResponse);
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:30,代码来源:ExecBinding.java

示例4: internalReceiveCommand

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
/**
 * @{inheritDoc}
 */
@Override
protected void internalReceiveCommand(String itemName, Command command) {
  HdlBindingConfig config = tryGetConfigFor(itemName);

  if (config == null)
    return;

  HdlDimmer dimmer = (HdlDimmer)(server.getDevice(config.address));
  if (dimmer != null) {
    try {
      if (command instanceof OnOffType) {
        dimmer.dimChannel(config.channel, command == OnOffType.ON ? 100 : 0);
      }
      else if (command instanceof PercentType) {
        dimmer.dimChannel(config.channel, ((PercentType)command).intValue());
      }
    }
    catch (IOException e) {
      logger.error("Failed to dim channel: {}", e.getMessage());
    }
  }
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:26,代码来源:HdlBinding.java

示例5: createState

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
/**
 * Returns a {@link State} which is inherited from the {@link Item}s
 * accepted DataTypes. The call is delegated to the {@link TypeParser}. If
 * <code>item</code> is <code>null</code> the {@link StringType} is used.
 * 
 * @param itemType
 * @param transformedResponse
 * 
 * @return a {@link State} which type is inherited by the {@link TypeParser}
 *         or a {@link StringType} if <code>item</code> is <code>null</code>
 */
private State createState(Class<? extends Item> itemType,
		String transformedResponse) {
	try {
		if (itemType.isAssignableFrom(NumberItem.class)) {
			return DecimalType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(ContactItem.class)) {
			return OpenClosedType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(SwitchItem.class)) {
			return OnOffType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(RollershutterItem.class)) {
			return PercentType.valueOf(transformedResponse);
		} else {
			return StringType.valueOf(transformedResponse);
		}
	} catch (Exception e) {
		logger.debug("Couldn't create state of type '{}' for value '{}'",
				itemType, transformedResponse);
		return StringType.valueOf(transformedResponse);
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:32,代码来源:OWServerBinding.java

示例6: getVolumeCommand

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
private String getVolumeCommand(PlexBindingConfig config, Command command) {
	int newVolume = 100;
	
	PlexSession session = getSessionByMachineId(config.getMachineIdentifier());
	if (session != null) 
		newVolume = session.getVolume();
	
	if (command.getClass().equals(PercentType.class)) {
		PercentType percentType = (PercentType)command;
		newVolume = percentType.intValue();
	}  else if (command.getClass().equals(IncreaseDecreaseType.class)) {
		if (command.equals(IncreaseDecreaseType.DECREASE)) 
			newVolume = Math.max(0, newVolume-VOLUME_STEP);
		else 
			newVolume = Math.min(100, newVolume+VOLUME_STEP);
	}
	
	if (session != null) {
		session.setVolume(newVolume);
		callback.updateReceived(session);
	}
	
	String url = String.format("playback/setParameters?volume=%d", newVolume);
	return url;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:26,代码来源:PlexConnector.java

示例7: createState

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
/**
 * Returns a {@link State} which is inherited from the {@link Item}s
 * accepted DataTypes. The call is delegated to the  {@link TypeParser}. If
 * <code>item</code> is <code>null</code> the {@link StringType} is used.
 *  
 * @param itemType
 * @param transformedResponse
 * 
 * @return a {@link State} which type is inherited by the {@link TypeParser}
 * or a {@link StringType} if <code>item</code> is <code>null</code> 
 */
private State createState(Class<? extends Item> itemType, String transformedResponse) {
	try {
		if (itemType.isAssignableFrom(NumberItem.class)) {
			return DecimalType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(ContactItem.class)) {
			return OpenClosedType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(SwitchItem.class)) {
			return OnOffType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(RollershutterItem.class)) {
			return PercentType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(DateTimeItem.class)) {
			return DateTimeType.valueOf(transformedResponse);
		} else {
			return StringType.valueOf(transformedResponse);
		}
	} catch (Exception e) {
		logger.debug("Couldn't create state of type '{}' for value '{}'", itemType, transformedResponse);
		return StringType.valueOf(transformedResponse);
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:32,代码来源:HttpBinding.java

示例8: handleMessage

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
@Override
public void handleMessage(int group, byte cmd1, Msg msg,
		DeviceFeature f, String fromPort) {
	if (isDuplicate(msg) || !isMybutton(msg, f)) {
		return;
	}
	InsteonAddress a = f.getDevice().getAddress();
	if (msg.isAckOfDirect()) {
		logger.error("{}: device {}: ignoring ack of direct.", nm(), a);
	} else {
		logger.info("{}: device {} was turned on. Sending poll request to get actual level", nm(), a);
		m_feature.publish(PercentType.HUNDRED, StateChangeType.ALWAYS);
		// need to poll to find out what level the dimmer is at now.
		// it may not be at 100% because dimmers can be configured
		// to switch to e.g. 75% when turned on.
		Msg m = f.makePollMsg();
		if (m != null)	f.getDevice().enqueueDelayedMessage(m, f, 1000);
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:20,代码来源:MessageHandler.java

示例9: createState

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
private State createState(Class<? extends Item> itemType,
		String transformedResponse) {
	try {
		if (itemType.isAssignableFrom(NumberItem.class)) {
			return DecimalType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(SwitchItem.class)) {
			return OnOffType.valueOf(transformedResponse);
		} else if (itemType.isAssignableFrom(DimmerItem.class)) {
			return PercentType.valueOf(transformedResponse);
		} else {
			return StringType.valueOf(transformedResponse);
		}
	} catch (Exception e) {
		logger.debug("Couldn't create state of type '{}' for value '{}'",
				itemType, transformedResponse);
		return StringType.valueOf(transformedResponse);
	}
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:19,代码来源:Enigma2Binding.java

示例10: getState

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
private StateTransformable getState(Item item) {
    StateTransformable state = null;
    if (item.getState() instanceof HSBType) {
        HSBType hsb = (HSBType) item.getState();
        state = new HSBData(hsb.getHue().longValue(), hsb.getHue().longValue(), hsb.getHue().longValue());
    } else if (item.getState() instanceof DateTimeType) {
        DateTimeType dt = (DateTimeType) item.getState();
        DateTimeDataType data = new DateTimeDataType(dt.toString());
        state = new DateTimeData(data);
    } else if (item.getState() instanceof DecimalType) {

    } else if (item.getState() instanceof OnOffType) {

    } else if (item.getState() instanceof OpenClosedType) {

    } else if (item.getState() instanceof PercentType) {

    } else if (item.getState() instanceof UpDownType) {

    }
    return state;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:23,代码来源:ItemStateRequestProcessor.java

示例11: decreasesWhenDecreaseCommandReceived

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
@Test
@Override
public void decreasesWhenDecreaseCommandReceived()
		throws BindingConfigParseException {

	DmxItem item = getValidInstance();
	DmxService service = Mockito.mock(DmxService.class);

	HSBType hsb = new HSBType(new DecimalType(150), new PercentType(50),
			new PercentType(50));
	item.processCommand(service, hsb);

	Mockito.verify(service, Mockito.times(1)).setChannelValue(3, 65);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(4, 129);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(5, 97);

	item.processCommand(service, IncreaseDecreaseType.DECREASE);

	Mockito.verify(service, Mockito.times(1)).setChannelValue(3, 57);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(4, 116);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(5, 87);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:23,代码来源:DmxColorItemTest.java

示例12: increasesWhenIncreaseCommandReceived

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
@Test
@Override
public void increasesWhenIncreaseCommandReceived()
		throws BindingConfigParseException {

	DmxItem item = getValidInstance();
	DmxService service = Mockito.mock(DmxService.class);

	HSBType hsb = new HSBType(new DecimalType(150), new PercentType(50),
			new PercentType(50));
	item.processCommand(service, hsb);

	Mockito.verify(service, Mockito.times(1)).setChannelValue(3, 65);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(4, 129);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(5, 97);

	item.processCommand(service, IncreaseDecreaseType.INCREASE);

	Mockito.verify(service, Mockito.times(1)).setChannelValue(3, 70);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(4, 140);
	Mockito.verify(service, Mockito.times(1)).setChannelValue(5, 106);

}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:24,代码来源:DmxColorItemTest.java

示例13: createUpdateCommand

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
private Action createUpdateCommand(Command command,	PilightBindingConfig config) {
	Action action = new Action(Action.ACTION_CONTROL);
	
	Code code = new Code();
	code.setDevice(config.getDevice());
	
	if (command instanceof OnOffType) {
		setOnOffValue((OnOffType)command, code);
	} else if (command instanceof PercentType){
		setDimmerValue((PercentType) command, code);
	} else {
		logger.error("Only OnOffType and PercentType can be changed by the pilight binding");
		return null;
	}
		
	action.setCode(code);
	return action;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:19,代码来源:PilightBinding.java

示例14: canDetectSupportForStates

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
@Test
public void canDetectSupportForStates() throws BindingConfigParseException {
	testStateSupport("broker:/topic:state:OFF:0", OnOffType.OFF, true);
	testStateSupport("broker:/topic:state:OFF:0", OnOffType.ON, false);
	testStateSupport("broker:/topic:state:*:0", OnOffType.OFF, true);
	testStateSupport("broker:/topic:state:off:0", OnOffType.OFF, true);
	testStateSupport("broker:/topic:stAte:100:0",
			DecimalType.valueOf("100"), true);
	testStateSupport("broker:/topic:state:100:0",
			DecimalType.valueOf("99"), false);
	testStateSupport("broker:/topic:state:20:0", PercentType.HUNDRED, false);
	testStateSupport("broker:/topic:state:100:0", PercentType.HUNDRED, true);
	testStateSupport("broker:/topic:state:100:0", PercentType.ZERO, false);
	testStateSupport("broker:/topic:state:0:0", PercentType.ZERO, true);
	testStateSupport("broker:/topic:state:CLOSED:0", OpenClosedType.CLOSED,
			true);
	testStateSupport("broker:/topic:state:OPEN:0", OpenClosedType.CLOSED,
			false);
	testStateSupport("broker:/topic:command:*:0", OpenClosedType.CLOSED,
			false);
	testStateSupport("broker:/topic:command:CLOSED:0",
			OpenClosedType.CLOSED, false);
	testStateSupport("broker:/topic:state:240.0,100.0,100.0:0",
			HSBType.BLUE, true);
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:26,代码来源:MqttMessagePublisherTest.java

示例15: convertOpenHabCommandToDeviceCommand

import org.openhab.core.library.types.PercentType; //导入依赖的package包/类
/**
 * Convert OpenHAB commmand to LGTV command.
 * 
 * @param command
 * @param cmdTemplate
 * 
 * @return
 */
private String convertOpenHabCommandToDeviceCommand(Command command, String cmdTemplate) {
	String deviceCmd = null;

	if (command instanceof OnOffType) {
		deviceCmd = String.format(cmdTemplate, command == OnOffType.ON ? 1 : 0);

	} else if (command instanceof StringType) {
		deviceCmd = String.format(cmdTemplate, command);

	} else if (command instanceof DecimalType) {
		deviceCmd = String.format(cmdTemplate, ((DecimalType) command).intValue());

	} else if (command instanceof PercentType) {
		deviceCmd = String.format(cmdTemplate, ((DecimalType) command).intValue());
	}

	return deviceCmd;
}
 
开发者ID:andrey-desman,项目名称:openhab-hdl,代码行数:27,代码来源:LgtvBinding.java


注:本文中的org.openhab.core.library.types.PercentType类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。