use of org.openhab.binding.enocean.internal.profiles.WindowHandleProfile in project openhab1-addons by openhab.
the class EnoceanBinding method processEEPs.
private void processEEPs(EnoceanBindingProvider enoceanBindingProvider, String itemName) {
EnoceanParameterAddress parameterAddress = enoceanBindingProvider.getParameterAddress(itemName);
EEPId eep = enoceanBindingProvider.getEEP(itemName);
esp3Host.addDeviceProfile(parameterAddress.getEnoceanDeviceId(), eep);
Item item = enoceanBindingProvider.getItem(itemName);
if (profiles.containsKey(parameterAddress.getAsString())) {
Profile profile = profiles.get(parameterAddress.getAsString());
profile.removeItem(item);
}
Class<Profile> customProfileClass = enoceanBindingProvider.getCustomProfile(itemName);
if (customProfileClass != null) {
Constructor<Profile> constructor;
Profile profile;
try {
constructor = customProfileClass.getConstructor(Item.class, EventPublisher.class);
profile = constructor.newInstance(item, eventPublisher);
addProfile(item, parameterAddress, profile);
} catch (Exception e) {
logger.error("Could not create class for profile " + customProfileClass, e);
}
} else if (EEPId.EEP_F6_02_01.equals(eep) || EEPId.EEP_F6_10_00.equals(eep)) {
if (item.getClass().equals(RollershutterItem.class)) {
RollershutterProfile profile = new RollershutterProfile(item, eventPublisher);
addProfile(item, parameterAddress, profile);
}
if (item.getClass().equals(DimmerItem.class)) {
DimmerOnOffProfile profile = new DimmerOnOffProfile(item, eventPublisher);
addProfile(item, parameterAddress, profile);
}
if (item.getClass().equals(SwitchItem.class) && parameterAddress.getParameterId() == null) {
SwitchOnOffProfile profile = new SwitchOnOffProfile(item, eventPublisher);
addProfile(item, parameterAddress, profile);
}
if (item.getClass().equals(StringItem.class) && EEPId.EEP_F6_10_00.equals(eep)) {
WindowHandleProfile profile = new WindowHandleProfile(item, eventPublisher);
addProfile(item, parameterAddress, profile);
}
}
}
Aggregations