/** * Method returns the state source(s) result(s) (contains state value(s)) of the input brightnessState. * * @param brightnessState The BrightnessState. * @return state source(s) result(s) of the input state. Return null if dataUnit could not be identified. */ private List<RdfNodeObject> brightnessStateSources(final BrightnessState brightnessState) { final List<RdfNodeObject> stateSources = new ArrayList<>(); final BrightnessState.DataUnit dataUnit = brightnessState.getBrightnessDataUnit(); switch (dataUnit) { case PERCENT: final String brightnessVal = "\"" + String.valueOf(brightnessState.getBrightness()) + "\"^^NS:Percent"; stateSources.add(new RdfNodeObject(new ArrayList<String>() {{add(brightnessVal);}}, true)); break; case UNKNOWN: LOGGER.warn("Dropped brightness state value, cause dataUnit is UNKNOWN."); return null; default: LOGGER.warn("DataUnit of brightness state could not be detected. Please add " + dataUnit + " to ontologyManager implementation."); return null; } return stateSources; }
if (hasOperationService()) { try { brightnessBar.setValue((int) getProviderService().getBrightnessState().getBrightness()); } catch (CouldNotPerformException ex) { ExceptionPrinter.printHistory(ex, logger); Double brightness = getProviderService().getBrightnessState().getBrightness(); brightnessLevelLabel.setText(numberFormat.format(getProviderService().getBrightnessState().getBrightness()) + "%"); } catch (CouldNotPerformException ex) { ExceptionPrinter.printHistory(ex, logger, LogLevel.ERROR);
@Override public BrightnessState getBrightnessState(final UnitType unitType) throws NotAvailableException { Collection<BrightnessStateOperationService> brightnessStateOperationServices = getServices(unitType); int serviceNumber = brightnessStateOperationServices.size(); Double average = 0d; long timestamp = 0; for (BrightnessStateOperationService service : brightnessStateOperationServices) { if (!((UnitRemote) service).isDataAvailable()) { serviceNumber--; continue; } average += service.getBrightnessState().getBrightness(); timestamp = Math.max(timestamp, service.getBrightnessState().getTimestamp().getTime()); } average /= serviceNumber; return TimestampProcessor.updateTimestamp(timestamp, BrightnessState.newBuilder().setBrightness(average), TimeUnit.MICROSECONDS, logger).build(); } }
@Override protected void applyDataUpdate(ColorableLightData.Builder internalBuilder, ServiceType serviceType) { switch (serviceType) { case COLOR_STATE_SERVICE: internalBuilder.getBrightnessStateBuilder().setBrightness(internalBuilder.getColorState().getColor().getHsbColor().getBrightness()); internalBuilder.getPowerStateBuilder().setValue(PowerState.State.ON); break; case BRIGHTNESS_STATE_SERVICE: HSBColor hsb = internalBuilder.getColorState().getColor().getHsbColor().toBuilder().setBrightness(internalBuilder.getBrightnessState().getBrightness()).build(); Color color = Color.newBuilder().setType(Color.Type.HSB).setHsbColor(hsb).build(); internalBuilder.setColorState(internalBuilder.getColorState().toBuilder().setColor(color).build()); if (internalBuilder.getBrightnessState().getBrightness() == 0) { internalBuilder.getPowerStateBuilder().setValue(PowerState.State.OFF); } else { internalBuilder.getPowerStateBuilder().setValue(PowerState.State.ON); } break; } } }
@Override protected void applyDataUpdate(DimmableLightData.Builder internalBuilder, ServiceType serviceType) { switch (serviceType) { case BRIGHTNESS_STATE_SERVICE: if (internalBuilder.getBrightnessState().getBrightness() == 0) { internalBuilder.getPowerStateBuilder().setValue(PowerState.State.OFF); } else { internalBuilder.getPowerStateBuilder().setValue(PowerState.State.ON); } break; } } }
@Override protected void applyDataUpdate(DimmerData.Builder internalBuilder, ServiceType serviceType) { switch (serviceType) { case BRIGHTNESS_STATE_SERVICE: if (internalBuilder.getBrightnessState().getBrightness() == 0) { internalBuilder.getPowerStateBuilder().setValue(PowerState.State.OFF); } else { internalBuilder.getPowerStateBuilder().setValue(PowerState.State.ON); } break; } } }
static void verifyBrightnessState(final BrightnessState brightnessState) throws VerificationFailedException { switch (brightnessState.getBrightnessDataUnit()) { case PERCENT: OperationService.verifyValueRange("brightness", brightnessState.getBrightness(), 0, 100); break; case UNKNOWN: throw new VerificationFailedException("BrightnessState data unit unknown!"); default: break; } } }
@Override public Future<ActionFuture> setBrightnessState(final BrightnessState brightnessState) throws CouldNotPerformException { lastCommand = OpenHABCommandFactory.newPercentCommand(brightnessState.getBrightness()); final Future future = executeCommand(lastCommand); if (autoRepeat) { repeatLastCommand(); } return future; } }
/** * Get the brightness value. * * @param brightnessState the state * @return the current brightness value */ public static Double transform(BrightnessState brightnessState) { return brightnessState.getBrightness(); } }