public GroupEntry(final UnitConfig locationUnitConfig) throws CouldNotPerformException, InterruptedException { this(ItemIdGenerator.generateUnitGroupID(locationUnitConfig), locationUnitConfig.getLabel(), detectIcon(new MetaConfigVariableProvider("LocationConfig", locationUnitConfig.getMetaConfig())), new ArrayList<>()); if (!locationUnitConfig.getLocationConfig().getRoot()) { this.parentLocations.add(ItemIdGenerator.generateParentGroupID(locationUnitConfig)); } calculateGaps(); }
/** * Returns the variable provider of this unit like {@code generateVariablePool()}. Additionally this provider also contains variables related to the given service of this unit. * For this it's needed that this unit supports the given service. Additional to the {@code generateVariablePool()} this method further provides: * * BindingServiceConfig (if available) * * ServiceMetaConfig (if available) * * ServiceConfig (protobuf fields) * * @return a key - value pair pool providing all related variable of this unit including the service variables. * * @throws NotAvailableException is thrown if the variable pool is not available. */ default VariableProvider generateVariablePool(final ServiceConfig serviceConfig) throws NotAvailableException { final MetaConfigPool configPool = (MetaConfigPool) generateVariablePool(); if (serviceConfig.hasBindingConfig()) { configPool.register(new MetaConfigVariableProvider("BindingServiceConfig", serviceConfig.getBindingConfig().getMetaConfig())); } configPool.register(new MetaConfigVariableProvider("ServiceMetaConfig", serviceConfig.getMetaConfig())); configPool.register(new ProtobufVariableProvider(serviceConfig)); return configPool; }
CachedUnitRegistryRemote.waitForData(); MetaConfigVariableProvider configVariableProvider = new MetaConfigVariableProvider("AmbientColorAgent", config.getMetaConfig());
Registries.getUnitRegistry().waitForData(); final MetaConfigPool metaConfigPool = new MetaConfigPool(); metaConfigPool.register(new MetaConfigVariableProvider("UnitConfig", config.getMetaConfig())); if (config.hasUnitHostId() && !config.getUnitHostId().isEmpty()) { try { metaConfigPool.register(new MetaConfigVariableProvider("UnitHost", Registries.getUnitRegistry().getUnitConfigById(config.getUnitHostId()).getMetaConfig())); } catch (NotAvailableException ex) { logger.warn("Could not check host of unit[" + ScopeGenerator.generateStringRep(config.getScope()) + "] for infrastructure filter because its not available");
@Override public UnitConfig applyConfigUpdate(UnitConfig config) throws CouldNotPerformException, InterruptedException { setDataField(TYPE_FIELD_USER_NAME, config.getUserConfig().getUserName()); MetaConfigVariableProvider variableProvider = new MetaConfigVariableProvider(config.getLabel(), config.getMetaConfig());
ContactDoorPosition contactDoorPosition; try { MetaConfigVariableProvider variableProvider = new MetaConfigVariableProvider("doorPositionMetaConfigProvider", unitConfig.getMetaConfig()); contactDoorPosition = ContactDoorPosition.valueOf(variableProvider.getValue(META_CONFIG_DOOR_POSITION_KEY)); } catch (NotAvailableException | IllegalArgumentException ex) { ContactWindowPosition contactWindowPosition; try { MetaConfigVariableProvider variableProvider = new MetaConfigVariableProvider("windowPositionVariableProvider", unitConfig.getMetaConfig()); contactWindowPosition = ContactWindowPosition.valueOf(variableProvider.getValue(META_CONFIG_WINDOW_POSITION_KEY)); } catch (NotAvailableException | IllegalArgumentException ex) {
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); } } }
public void updateNeutralWhiteValue(final UnitConfig config) throws InterruptedException { try { final MetaConfigPool configPool = new MetaConfigPool(); configPool.register(new MetaConfigVariableProvider("UnitConfig", config.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("ServiceConfig", colorStateServiceConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceUnitConfig", deviceUnitConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceClass", deviceClass.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("ServiceTemplateConfig", colorStateServiceTemplateConfig.getMetaConfig()));
public void updateNeutralWhiteValue(final UnitConfigType.UnitConfig config) throws InterruptedException { try { final MetaConfigPool configPool = new MetaConfigPool(); configPool.register(new MetaConfigVariableProvider("UnitConfig", config.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("ServiceConfig", colorStateServiceConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceUnitConfig", deviceUnitConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceClass", deviceClass.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("ServiceTemplateConfig", colorStateServiceTemplateConfig.getMetaConfig()));
CachedUnitRegistryRemote.waitForData(); MetaConfigVariableProvider configVariableProvider = new MetaConfigVariableProvider("IlluminationRollerShutterAgent", config.getMetaConfig());
CachedUnitRegistryRemote.waitForData(); MetaConfigVariableProvider configVariableProvider = new MetaConfigVariableProvider("IlluminationLightSavingAgent", config.getMetaConfig());
variableProvider = new MetaConfigVariableProvider("BindingConfigVariableProvider", Registries.getDeviceRegistry().getDeviceClassById(deviceUnitConfig.getDeviceConfig().getDeviceClassId()).getBindingConfig().getMetaConfig()); openhabBindingType = variableProvider.getValue(SERVICE_TEMPLATE_BINDING_TYPE); if (!"zwave".equals(openhabBindingType)) { variableProvider = new MetaConfigVariableProvider("DeviceConfigVariableProvider", deviceUnitConfig.getMetaConfig()); zwaveNodeID = variableProvider.getValue(OPENHAB_BINDING_DEVICE_ID); zwaveNodeConfigFile = new File(zwaveDb, "node" + zwaveNodeID + ".xml");
configPool.register(new MetaConfigVariableProvider("BindingServiceConfig", serviceConfig.getBindingConfig().getMetaConfig())); configPool.register(new MetaConfigVariableProvider("ServiceMetaConfig", serviceConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("UnitLocationMetaConfig", locationUnitConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("UnitMetaConfig", unitConfig.getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceMetaConfig", unitHostMetaConfig)); configPool.register(new MetaConfigVariableProvider("DeviceBindingConfig", deviceClass.getBindingConfig().getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceClassMetaConfig", deviceClass.getMetaConfig())); configPool.register(new ProtobufVariableProvider(locationUnitConfig)); configPool.register(new ProtobufVariableProvider(unitConfig)); configPool.register(new MetaConfigVariableProvider("ServiceTemplateMetaConfig", lookupServiceTemplate(deviceClass, unitConfig, serviceConfig).getMetaConfig())); } catch (final NotAvailableException ex) { ExceptionPrinter.printHistory(new CouldNotPerformException("Could not load service template meta config for Service[" + serviceConfig.getServiceDescription().getType().name() + "] of Unit[" + unitConfig.getLabel() + "]", ex), logger, LogLevel.ERROR);
configPool.register(new MetaConfigVariableProvider("HostConfigMetaConfig", hostUnitConfig.getMetaConfig())); configPool.register(new ProtobufVariableProvider(hostUnitConfig)); switch (hostUnitConfig.getType()) { case DEVICE: final DeviceClass deviceClass = Registries.getDeviceRegistry().getDeviceClassById(hostUnitConfig.getDeviceConfig().getDeviceClassId()); configPool.register(new MetaConfigVariableProvider("DeviceBindingConfig", deviceClass.getBindingConfig().getMetaConfig())); configPool.register(new MetaConfigVariableProvider("DeviceClassMetaConfig", deviceClass.getMetaConfig())); configPool.register(new ProtobufVariableProvider(deviceClass)); break; case APP: final AppClass appClass = Registries.getAppRegistry().getAppClassById(hostUnitConfig.getAppConfig().getAppClassId()); configPool.register(new MetaConfigVariableProvider("AppBindingConfig", appClass.getBindingConfig().getMetaConfig())); configPool.register(new MetaConfigVariableProvider("AppClassMetaConfig", appClass.getMetaConfig())); configPool.register(new ProtobufVariableProvider(appClass)); break; configPool.register(new MetaConfigVariableProvider("UnitLocationMetaConfig", locationUnitConfig.getMetaConfig())); configPool.register(new ProtobufVariableProvider(locationUnitConfig)); } catch (NullPointerException | CouldNotPerformException | InterruptedException ex) { configPool.register(new MetaConfigVariableProvider("UnitMetaConfig", unitConfig.getMetaConfig())); configPool.register(new ProtobufVariableProvider(unitConfig)); return configPool;
Registries.getUnitRegistry().waitForData(); MetaConfigVariableProvider configVariableProvider = new MetaConfigVariableProvider("PowerStateSynchroniserAgent", config.getMetaConfig());