String unitId; try { while (!(unitId = configVariableProvider.getValue(UNIT_KEY + "_" + i)).isEmpty()) { logger.debug("Found unit id [" + unitId + "] with key [" + UNIT_KEY + "_" + i + "]"); ColorStateServiceRemote remote = new ColorStateServiceRemote(); String colorString; try { while (!(colorString = configVariableProvider.getValue(COLOR_KEY + "_" + i)).isEmpty()) { logger.debug("Found color [" + colorString + "] with key [" + COLOR_KEY + "_" + i + "]"); String[] split = colorString.split(SEPERATOR); holdingTime = Long.parseLong(configVariableProvider.getValue(HOLDING_TIME_KEY)); strategy = ColoringStrategy.valueOf(configVariableProvider.getValue(STRATEGY_KEY));
UnitConfig sourceUnitConfig = Registries.getUnitRegistry().getUnitConfigById(configVariableProvider.getValue(SOURCE_KEY)); if (sourceUnitConfig.getEnablingState().getValue() != EnablingState.State.ENABLED) { throw new NotAvailableException("Source[" + ScopeGenerator.generateStringRep(sourceUnitConfig.getScope()) + "] is not enabled"); String unitId; try { while (!(unitId = configVariableProvider.getValue(TARGET_KEY + "_" + i)).isEmpty()) { i++; logger.debug("Found target id [" + unitId + "] with key [" + TARGET_KEY + "_" + i + "]"); sourceBehaviour = PowerStateSyncBehaviour.valueOf(configVariableProvider.getValue(SOURCE_BEHAVIOUR_KEY)); } catch (NotAvailableException ex) { sourceBehaviour = DEFAULT_SOURCE_BEHAVIOR; targetBehaviour = PowerStateSyncBehaviour.valueOf(configVariableProvider.getValue(TARGET_BEHAVIOUR_KEY)); } catch (NotAvailableException ex) { targetBehaviour = DEFAULT_TARGET_BEHAVIOR;
try { MetaConfigVariableProvider variableProvider = new MetaConfigVariableProvider("doorPositionMetaConfigProvider", unitConfig.getMetaConfig()); contactDoorPosition = ContactDoorPosition.valueOf(variableProvider.getValue(META_CONFIG_DOOR_POSITION_KEY)); } catch (NotAvailableException | IllegalArgumentException ex) { contactDoorPosition = DEFAULT_CONTACT_DOOR_POSITION; try { MetaConfigVariableProvider variableProvider = new MetaConfigVariableProvider("windowPositionVariableProvider", unitConfig.getMetaConfig()); contactWindowPosition = ContactWindowPosition.valueOf(variableProvider.getValue(META_CONFIG_WINDOW_POSITION_KEY)); } catch (NotAvailableException | IllegalArgumentException ex) { contactWindowPosition = DEFAULT_CONTACT_WINDOW_POSITION;
public static String getItemName(final Service service, final ServiceConfigType.ServiceConfig serviceConfig) throws CouldNotPerformException { try { if (!serviceConfig.hasBindingConfig()) { throw new NotAvailableException("binding service config"); } if (!serviceConfig.getBindingConfig().hasMetaConfig()) { throw new NotAvailableException("binding service config meta config"); } MetaConfigVariableProvider metaConfigVariableProvider = new MetaConfigVariableProvider("BindingServiceConfig", serviceConfig.getBindingConfig().getMetaConfig()); return metaConfigVariableProvider.getValue(OPENHAB_BINDING_ITEM_ID); } catch (CouldNotPerformException ex) { throw new CouldNotPerformException("Could not generate item name!", ex); } } }