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); }
@Override public void setup(HmDevice parent, DeviceDescription desc, Map<String, Map<String, ParameterDescription<?>>> paramSets) { logger.debug("setup SHUTTER_CONTACT handler for address {}", desc.getAddress()); String swName = ResourceUtils.getValidResourceName("SHUTTER_CONTACT" + desc.getAddress()); Map<String, ParameterDescription<?>> values = paramSets.get(ParameterDescription.SET_TYPES.VALUES.name()); if (values == null) { logger.warn("received no VALUES parameters for device {}", desc.getAddress()); return; } DoorWindowSensor sens = parent.addDecorator(swName, DoorWindowSensor.class); sens.reading().create(); sens.activate(true); sens.battery().chargeSensor().reading().create(); sens.activate(true); conn.addEventListener(new ShutterContactListener(sens, desc.getAddress())); }
reading.create(); reading.getParent().activate(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); }
@Override public void setup(HmDevice parent, DeviceDescription desc, Map<String, Map<String, ParameterDescription<?>>> paramSets) { logger.debug("setup SHUTTER_CONTACT handler for address {}", desc.getAddress()); String swName = ResourceUtils.getValidResourceName("SHUTTER_CONTACT" + desc.getAddress()); Map<String, ParameterDescription<?>> values = paramSets.get(ParameterDescription.SET_TYPES.VALUES.name()); if (values == null) { logger.warn("received no VALUES parameters for device {}", desc.getAddress()); return; } DoorWindowSensor sens = parent.addDecorator(swName, DoorWindowSensor.class); sens.reading().create(); sens.activate(true); sens.battery().chargeSensor().reading().create(); sens.activate(true); conn.addEventListener(new ShutterContactListener(sens, desc.getAddress())); }
reading.create(); reading.getParent().activate(true);
@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); }
config.targetResourceParent().create(); config.targetResourceParent().addDecorator("schedule",targetResource); config.updateInterval().create();
FloatResource resultBase = m_config.resultBase().create(); resultBase.program().setAsReference(m_output); m_config.delay().create();
batteryStatus = (FloatResource) eSens.reading().create();
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);
private void addMandatoryChannels() { HM_hlConfig attributeConfig = new HM_hlConfig(); attributeConfig.driverId = hm_hlConfig.driverId; attributeConfig.interfaceId = hm_hlConfig.interfaceId; attributeConfig.deviceAddress = hm_hlConfig.deviceAddress; attributeConfig.channelAddress = "ATTRIBUTE:0001"; attributeConfig.timeout = -1; attributeConfig.resourceName = hm_hlConfig.resourceName + "SmokeDetector"; attributeConfig.chLocator = addChannel(attributeConfig); attributeConfig = new HM_hlConfig(); attributeConfig.driverId = hm_hlConfig.driverId; attributeConfig.interfaceId = hm_hlConfig.interfaceId; attributeConfig.deviceAddress = hm_hlConfig.deviceAddress; attributeConfig.channelAddress = "ATTRIBUTE:0002"; attributeConfig.timeout = -1; attributeConfig.resourceName = hm_hlConfig.resourceName + "_BatteryStatus"; attributeConfig.chLocator = addChannel(attributeConfig); SmokeDetector smokeDetector = resourceManager.createResource(hm_hlConfig.resourceName, SmokeDetector.class); smokeAlert = smokeDetector.reading().create(); // smokeAlert.activate(true); // smokeAlert.setValue(false); smokeAlert.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); StateOfChargeSensor eSens = smokeDetector.battery().chargeSensor().create(); batteryStatus = eSens.reading().create(); // batteryStatus.activate(true); // batteryStatus.setValue(95); batteryStatus.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); // do not activate value resources, since they do not contain sensible values yet ResourceUtils.activateComplexResources(smokeDetector, true, appManager.getResourceAccess()); }
batteryStatus = (FloatResource) eSens.reading().create();
private void addMandatoryChannels() { HM_hlConfig attributeConfig = new HM_hlConfig(); attributeConfig.driverId = hm_hlConfig.driverId; attributeConfig.interfaceId = hm_hlConfig.interfaceId; attributeConfig.deviceAddress = hm_hlConfig.deviceAddress; attributeConfig.channelAddress = "ATTRIBUTE:0001"; attributeConfig.timeout = -1; attributeConfig.resourceName = hm_hlConfig.resourceName + "_HighWater"; attributeConfig.chLocator = addChannel(attributeConfig); attributeConfig = new HM_hlConfig(); attributeConfig.driverId = hm_hlConfig.driverId; attributeConfig.interfaceId = hm_hlConfig.interfaceId; attributeConfig.deviceAddress = hm_hlConfig.deviceAddress; attributeConfig.channelAddress = "ATTRIBUTE:0002"; attributeConfig.timeout = -1; attributeConfig.resourceName = hm_hlConfig.resourceName + "_BatteryStatus"; attributeConfig.chLocator = addChannel(attributeConfig); WaterDetector threeStateDevice = resourceManager.createResource(hm_hlConfig.resourceName, WaterDetector.class); highWater = threeStateDevice.reading().create(); // highWater.activate(true); // highWater.setValue("dry"); highWater.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); StateOfChargeSensor eSens = threeStateDevice.battery().chargeSensor().create(); batteryStatus = eSens.reading().create(); // batteryStatus.activate(true); // batteryStatus.setValue(95); batteryStatus.requestAccessMode(AccessMode.EXCLUSIVE, AccessPriority.PRIO_HIGHEST); // do not activate value resources, since they do not contain sensible values yet ResourceUtils.activateComplexResources(threeStateDevice, true, appManager.getResourceAccess()); }
@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; }
batteryStatus = eSens.reading().create();