- // lookup converter
- final ExperimenterDataOfChoice vendorData = notification.getExperimenterDataOfChoice();
- final MessageTypeKey<? extends ExperimenterDataOfChoice> key = new MessageTypeKey<>(
- getDeviceInfo().getVersion(),
- (Class<? extends ExperimenterDataOfChoice>) vendorData.getImplementedInterface());
- final ConvertorMessageFromOFJava<ExperimenterDataOfChoice, MessagePath> messageConverter =
- extensionConverterProvider.getMessageConverter(key);
- if (messageConverter == null) {
- LOG.warn("custom converter for {}[OF:{}] not found",
- notification.getExperimenterDataOfChoice().getImplementedInterface(),
- getDeviceInfo().getVersion());
- return;
- }
- // build notification
- final ExperimenterMessageOfChoice messageOfChoice;
- try {
+ if (isMasterOfDevice()) {
+ // lookup converter
+ final ExperimenterDataOfChoice vendorData = notification.getExperimenterDataOfChoice();
+ final MessageTypeKey<? extends ExperimenterDataOfChoice> key = new MessageTypeKey<>(
+ getDeviceInfo().getVersion(),
+ (Class<? extends ExperimenterDataOfChoice>) vendorData.getImplementedInterface());
+ final ConvertorMessageFromOFJava<ExperimenterDataOfChoice, MessagePath> messageConverter =
+ extensionConverterProvider.getMessageConverter(key);
+ if (messageConverter == null) {
+ LOG.warn("custom converter for {}[OF:{}] not found",
+ notification.getExperimenterDataOfChoice().getImplementedInterface(),
+ getDeviceInfo().getVersion());
+ return;
+ }
+ // build notification
+ final ExperimenterMessageOfChoice messageOfChoice;