/** * Method returns the state source(s) result(s) (contains state value(s)) of the input illuminanceState. * * @param illuminanceState The IlluminanceState. * @return state source(s) result(s) of the input state. */ private List<RdfNodeObject> illuminanceStateSources(final IlluminanceState illuminanceState) { final List<RdfNodeObject> stateSources = new ArrayList<>(); final IlluminanceState.DataUnit dataUnit = illuminanceState.getIlluminanceDataUnit(); switch (dataUnit) { case LUX: final String illuminanceStateVal = "\"" + String.valueOf(illuminanceState.getIlluminance()) + "\"^^NS:Lux"; stateSources.add(new RdfNodeObject(new ArrayList<String>() {{add(illuminanceStateVal);}}, true)); break; case UNKNOWN: LOGGER.warn("Dropped illuminance state value, cause dataUnit is UNKNOWN."); return null; default: LOGGER.warn("DataUnit of intensity state could not be detected. Please add " + dataUnit + " to ontologyManager implementation."); return null; } return stateSources; }
if (locationRemote.getIlluminanceState().getIlluminance() > MAXIMUM_WANTED_ILLUMINATION) {
@Override public IlluminanceState getIlluminanceState(final UnitType unitType) throws NotAvailableException { double averageIlluminance = 0; long timestamp = 0; Collection<IlluminanceStateProviderService> illuminanceStateProviderServices = getServices(unitType); int amount = illuminanceStateProviderServices.size(); for (IlluminanceStateProviderService service : illuminanceStateProviderServices) { if (!((UnitRemote) service).isDataAvailable()) { amount--; continue; } averageIlluminance += service.getIlluminanceState().getIlluminance(); timestamp = Math.max(timestamp, service.getIlluminanceState().getTimestamp().getTime()); } averageIlluminance = averageIlluminance / amount; return TimestampProcessor.updateTimestamp(timestamp, IlluminanceState.newBuilder().setIlluminance(averageIlluminance).setIlluminanceDataUnit(IlluminanceState.DataUnit.LUX), TimeUnit.MICROSECONDS, logger).build(); }
public IlluminationRollerShutterAgent() throws InstantiationException { super(IlluminationRollerShutterAgent.class); actionRescheduleHelper = new ActionRescheduler(ActionRescheduler.RescheduleOption.EXTEND, 30); triggerHolderObserver = (Observable<ActivationState> source, ActivationState data) -> { if (data.getValue().equals(ActivationState.State.ACTIVE)) { if (locationRemote.getIlluminanceState().getIlluminance() > MAXIMUM_WANTED_ILLUMINATION) { regulateShutterLevelDown(); } else if (locationRemote.getIlluminanceState().getIlluminance() < MINIMUM_NEEDED_ILLUMINATION) { regulateShutterLevelUp(); } } else { actionRescheduleHelper.stopExecution(); } }; }
@Override protected void updateDynamicComponents() { try { stateLabel.setText(getProviderService().getIlluminanceState().getIlluminance() + " " + getProviderService().getIlluminanceState().getIlluminanceDataUnit().name()); } catch (CouldNotPerformException ex) { ExceptionPrinter.printHistory(ex, logger); } } }
/** * Get the illuminance value. * * @param illuminanceState the state * @return the current illuminance */ public static Double transform(IlluminanceState illuminanceState) { return illuminanceState.getIlluminance(); } }