@XmlElement public float getValue() { return ((FloatResource) res).getValue(); }
private void setValue(FloatResource source, float value) { if((source instanceof TemperatureResource)&&(mode == 0)) ((TemperatureResource)source).setCelsius(value); else source.setValue(value); } @Override
private void enableHumidity() { humidityEnabled = Status_hum.ENABLED; HumiditySensor hSensor = thDevice.sensors().addDecorator("humiditySensor", HumiditySensor.class); humidity = hSensor.reading().create(); // humidity.activate(true); humidity.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); hSensor.activate(false); }
/** * Checks if limits of the sensor are violated. */ public boolean areLimitsViolated(SensorAlarmPattern sensor) { final float x = sensor.reading.getValue(); if (sensor.minReading.isActive()) { final float min = sensor.minReading.getValue(); if (x < min) return true; } if (sensor.maxReading.isActive()) { final float max = sensor.maxReading.getValue(); if (x > max) return true; } return false; }
@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; } }
sum += ((FloatResource) value).getValue(); isEmpty = false; ((FloatResource) m_config.resultBase()).setValue(sum); m_logger.warn("Float resource found in SumManipulator for result type " + clazz.getSimpleName() + " -> rounding float and adding it to result ..."); sum += Math.round(((FloatResource) value).getValue()); isEmpty = false;
@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; }
@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); }
batteryStatus = (FloatResource) eSens.reading().create(); batteryStatus.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); batteryStatus.setValue(95);
@Override public void onPOSTComplete(String data, OgemaHttpRequest req) { FloatResource source = getResource(sva, req, FloatResource.class); String val = myField.getValue(req); float value; try { value = Float.parseFloat(val); } catch (NumberFormatException | NullPointerException e) { if(alert != null) alert.showAlert(notAllowedMessageUsed, false, req); return; } if (value < minimumAllowed) { if(alert != null) alert.showAlert(notAllowedMessageUsed, false, req); return; } if (value > maximumAllowed) { if(alert != null) alert.showAlert(notAllowedMessageUsed, false, req); return; } if(!source.exists()) { source.create(); setValue(source, value); source.activate(true); } else { setValue(source, value); } if(alert != null) alert.showAlert("New value: " + value, true, req); }
/** * 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); } }
private static RecordedData getHistoricalData(SingleValueResource resource) { RecordedData rd = null; if (resource instanceof FloatResource) rd = ((FloatResource) resource).getHistoricalData(); else if (resource instanceof IntegerResource) rd = ((IntegerResource) resource).getHistoricalData(); else if (resource instanceof TimeResource) rd = ((TimeResource) resource).getHistoricalData(); else if (resource instanceof BooleanResource) rd = ((BooleanResource) resource).getHistoricalData(); else throw new IllegalArgumentException("Logging not possible for resource of type " + resource.getResourceType().getName()); return rd; }
switch (dataType.getDataType()) { case 0: ts = fl.getHistoricalData(); break; case 1: ts = fl.forecast(); break; case 2: ts = fl.program(); break;
config.targetResourceParent().create(); config.targetResourceParent().addDecorator("schedule",targetResource); config.updateInterval().create(); config.updateInterval().setValue(updateInterval);
ElectricDimmer device = resMan.createResource(conInfo.getName(), ElectricDimmer.class); device.setting().create(); device.setting().stateControl().create(); device.setting().stateControl().addValueListener(createUpdateListener(conInfo), true); device.setting().stateFeedback().create(); createReadWriteableComInfo(device, true, false); conInfo.setRessource(device);