private void setValue(FloatResource source, float value) { if((source instanceof TemperatureResource)&&(mode == 0)) ((TemperatureResource)source).setCelsius(value); else source.setValue(value); } @Override
/** * Set the resource value. The <code>value</code> parameter must be parsable to the primitive (or String) * value type of <code>resource</code>. For instance, if <code>resource</code> is a {@link FloatResource}, * then <code>value</code> must be parsable as float. * @param resource * @param value * @throws NumberFormatException */ public static void setValue(SingleValueResource resource, String value) throws NumberFormatException { if (resource instanceof StringResource) { ((StringResource) resource).setValue(value); } else if (resource instanceof FloatResource) { ((FloatResource) resource).setValue(Float.parseFloat(value)); } else if (resource instanceof IntegerResource) { ((IntegerResource) resource).setValue(Integer.parseInt(value)); } else if (resource instanceof BooleanResource) { ((BooleanResource) resource).setValue(Boolean.parseBoolean(value)); } else if (resource instanceof TimeResource) { ((TimeResource) resource).setValue(Long.parseLong(value)); } }
private static void setValue(ValueResource svr, String text) { if (svr instanceof StringResource) { ((StringResource) svr).setValue(text); } else if (svr instanceof FloatResource) { ((FloatResource) svr).setValue(Float.parseFloat(text)); } else if (svr instanceof IntegerResource) { ((IntegerResource) svr).setValue(Integer.parseInt(text)); } else if (svr instanceof TimeResource) { ((TimeResource) svr).setValue(Long.parseLong(text)); } else if (svr instanceof BooleanResource) { ((BooleanResource) svr).setValue(Boolean.parseBoolean(text)); } else if (svr instanceof ByteArrayResource) { ((ByteArrayResource) svr).setValues(DatatypeConverter.parseHexBinary(text)); } else throw new RuntimeException("Invalid resource type " + svr.getResourceType().getSimpleName()); }
@Override protected void parseValue(Value value, String channelAddress) { switch (channelAddress) { case "ATTRIBUTE:0001": status.setValue(value.getStringValue().equals("closed")); status.activate(true); break; case "ATTRIBUTE:0002": batteryStatus.setValue(value.getFloatValue()); batteryStatus.activate(true); break; } }
@Override public void event(List<HmEvent> events) { for (HmEvent e : events) { if (!address.equals(e.getAddress())) { continue; } SingleValueResource res = resources.get(e.getValueKey()); if (res == null) { continue; } try { PARAMS p = PARAMS.valueOf(e.getValueKey()); ((FloatResource) res).setValue(p.convertInput(e.getValueFloat())); } catch (IllegalArgumentException ex) { //this block intentionally left blank } } }
/** * Set the resource value; the passed integer value is converted by the respective * canonical conversion method to the primitive (or String) value type of <code>resource</code>. * @param resource * @param value */ public static void setValue(SingleValueResource resource, int value) { if (resource instanceof StringResource) { ((StringResource) resource).setValue(String.valueOf(value)); } else if (resource instanceof FloatResource) { ((FloatResource) resource).setValue(value); } else if (resource instanceof IntegerResource) { ((IntegerResource) resource).setValue(value); } else if (resource instanceof BooleanResource) { ((BooleanResource) resource).setValue(value == 1 ? true : false); } else if (resource instanceof TimeResource) { ((TimeResource) resource).setValue(value); } }
@Override protected void parseValue(Value value, String channelAddress) { switch (channelAddress) { case "ATTRIBUTE:0001": motion.setValue(value.getBooleanValue()); motion.activate(true); break; case "ATTRIBUTE:0002": brightness.setValue(value.getFloatValue()); brightness.activate(true); break; case "ATTRIBUTE:0003": batteryStatus.setValue(value.getFloatValue()); batteryStatus.activate(true); break; } }
/** * Set the resource value; the passed float value is converted by the respective * canonical conversion method to the primitive (or String) value type of <code>resource</code>. * @param resource * @param value */ public static void setValue(SingleValueResource resource, float value) { if (resource instanceof StringResource) { ((StringResource) resource).setValue(String.valueOf(value)); } else if (resource instanceof FloatResource) { ((FloatResource) resource).setValue(value); } else if (resource instanceof IntegerResource) { ((IntegerResource) resource).setValue((int) value); } else if (resource instanceof BooleanResource) { ((BooleanResource) resource).setValue(value == 1 ? true : false); } else if (resource instanceof TimeResource) { ((TimeResource) resource).setValue((long) value); } }
@Override public void event(List<HmEvent> events) { for (HmEvent e: events) { if (!address.equals(e.getAddress())) { continue; } SingleValueResource res = resources.get(e.getValueKey()); if (res == null) { continue; } for (PARAMS p: PARAMS.values()) { if (p.name().equals(e.getValueKey())) { ((FloatResource) res).setValue(p.convertInput(e.getValueFloat())); logger.debug("resource updated: {} = {}", res.getPath(), e.getValue()); } } } }
@Override public void event(List<HmEvent> events) { for (HmEvent e : events) { if (!address.equals(e.getAddress())) { continue; } SingleValueResource res = resources.get(e.getValueKey()); if (res == null) { continue; } try { PARAMS p = PARAMS.valueOf(e.getValueKey()); ((FloatResource) res).setValue(p.convertInput(e.getValueFloat())); logger.debug("resource updated: {} = {}", res.getPath(), e.getValue()); } catch (IllegalArgumentException ex) { //this block intentionally left blank } } }
@Override public void event(List<HmEvent> events) { for (HmEvent e : events) { if (!address.equals(e.getAddress())) { continue; } SingleValueResource res = resources.get(e.getValueKey()); if (res == null) { continue; } try { PARAMS p = PARAMS.valueOf(e.getValueKey()); ((FloatResource) res).setValue(p.convertInput(e.getValueFloat())); logger.debug("resource updated: {} = {}", res.getPath(), e.getValue()); } catch (IllegalArgumentException ex) { //this block intentionally left blank } } }
@Override protected void parseValue(Value value, String channelAddress) { switch (channelAddress) { case "ATTRIBUTE:0001": highWater.setValue(value.getStringValue()); highWater.activate(true); break; case "ATTRIBUTE:0002": batteryStatus.setValue(value.getFloatValue()); batteryStatus.activate(true); break; } }
@Override protected void parseValue(Value value, String channelAddress) { switch (channelAddress) { case "ATTRIBUTE:0001": smokeAlert.setValue(value.getBooleanValue()); smokeAlert.activate(true); break; case "ATTRIBUTE:0002": batteryStatus.setValue(value.getFloatValue()); batteryStatus.activate(true); break; } }
@Override public void event(List<HmEvent> events) { for (HmEvent e : events) { if (!address.equals(e.getAddress())) { continue; } if (PARAMS.STATE.name().equals(e.getValueKey())) { sens.reading().setValue(e.getValueBoolean()); logger.debug("SHUTTER_CONTACT {} = {}", address, e.getValueBoolean()); } else if (PARAMS.LOWBAT.name().equals(e.getValueKey())) { sens.battery().chargeSensor().reading().setValue(e.getValueBoolean() ? LOWBATVALUE : 1.0f); } } }
public void storeEvent(HmEvent e, SingleValueResource res) { logger.debug("storing event data for {}@{} to {}", e.getValueKey(), e.getAddress(), res.getPath()); if (res instanceof FloatResource) { ((FloatResource) res).setValue(e.getValueFloat()); } else if (res instanceof IntegerResource) { ((IntegerResource) res).setValue(e.getValueInt()); } else if (res instanceof StringResource) { ((StringResource) res).setValue(e.getValueString()); } else if (res instanceof BooleanResource) { ((BooleanResource) res).setValue(e.getValueBoolean()); } else { logger.warn("HomeMatic parameter resource is of unsupported type: {}", res.getResourceType()); } }
@Override public void setRangeFilter(float lowerBoundary, float upperBoundary, int mode) throws RuntimeException { if (m_config == null || !m_config.exists()) throw new RuntimeException("Cannot set filter before ProgramEnforcer has been commited"); boolean lowerNaN = Float.isNaN(lowerBoundary); boolean upperNaN = Float.isNaN(upperBoundary); if (lowerNaN && upperNaN) { m_config.range().delete(); return; } RangeFilter filter = m_config.range(); if (!lowerNaN) { filter.range().lowerLimit().create(); filter.range().lowerLimit().setValue(lowerBoundary); } if (!upperNaN) { filter.range().upperLimit().create(); filter.range().upperLimit().setValue(upperBoundary); } filter.mode().create(); filter.mode().setValue(mode); filter.activate(true); }
public void step(long currentTime, long stepSize) { //Logger logger = LoggerFactory.getLogger(getClass()); //logger.warn("Tried to start unsupported room simulation"); //timer.destroy(); for(RoomInsideSimulationData insideSim: insideComponents) { if(insideSim.requestBusy()) { try { insideSim.pattern.step(stepSize + insideSim.stepTimeMissed); } finally { insideSim.releaseBusy(); insideSim.stepTimeMissed = 0; } } else { insideSim.stepTimeMissed += stepSize; } } //update temperature and humidity float newValue = getNewTemperatureValue(currentTime, currentTime-stepSize); configPattern.simulatedTemperature.setCelsius(newValue); logger.debug("Set simulated room temperature:"+newValue); newValue = calc.getNewValue(stepSize, 0, configPattern.simulatedTemperature.getKelvin()); configPattern.simulatedHumidity.setValue(newValue); } public void close() {
/** * Initialize the field with defaults and request exclusive write access to all fields read from device. */ public void init() { currentTemperature.setKelvin(0.f); remoteDesiredTemperature.setCelsius(20.f); batteryVoltage.setValue(3.f); valvePosition.setValue(0.f); isSwitchControllable.setValue(false); localDesiredTemperature.setValue(20.f); currentTemperature.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); remoteDesiredTemperature.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); batteryVoltage.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); valvePosition.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); isSwitchControllable.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); } }
@Override protected void parseValue(Value value, String channelAddress) { switch (channelAddress) { case "ATTRIBUTE:0001": device.remoteDesiredTemperature.setCelsius(value.getFloatValue()); device.remoteDesiredTemperature.activate(true); break; case "ATTRIBUTE:0002": device.currentTemperature.setCelsius(value.getFloatValue()); device.currentTemperature.activate(true); break; case "ATTRIBUTE:0003": device.valvePosition.setValue(value.getFloatValue()); device.valvePosition.activate(true); break; case "ATTRIBUTE:0004": device.batteryVoltage.setValue(value.getFloatValue()); device.batteryVoltage.activate(true); break; } }
@Override public boolean commit() { if (m_source == null || m_target == null) { return false; } // delete the old configuration if it exsited. if (m_config != null) m_config.delete(); m_config = m_base.createResource(ThresholdModel.class); m_config.source().setAsReference(m_source); m_config.target().setAsReference(m_target); m_config.threshold().create(); m_config.threshold().setValue(m_threshold); m_config.equalityExceeds().create(); m_config.equalityExceeds().setValue(m_equalityExceeds); m_config.invert().create(); m_config.invert().setValue(m_invert); m_config.activate(true); return true; }