/** * Send the accessory state acknowledgement message for the specified accessory. * * @param accessoryState * the accessory state * @throws ProtocolException */ public void acknowledgeAccessoryNotify(AccessoryState accessoryState) throws ProtocolException { // TODO check if we must handle this differently ... currently auto-acknowledge new state LOGGER.info("Accessory change notification was received: {}", accessoryState); // if (!AccessoryStateUtils.hasError(accessoryState.getExecute())) { int accessoryNumber = ByteUtils.getInt(accessoryState.getAccessoryNumber()); int aspect = accessoryState.getAspect(); LOGGER .info("Acknowledge the accessory state change for accessory number: {}, aspect: {}", accessoryNumber, aspect); // send acknowledge // TODO check how this works ... currently does not work correct ... // setAccessoryState(accessoryNumber, aspect); // sendQueue.add(AccessoryStateMessage(detectorNumber)); // get the errors, see 4.6.4. Uplink: Messages for accessory functions // TODO verify what happens exactly before enable this ... getAccessoryState(accessoryNumber); // } // else { // LOGGER.warn("An accessory error was detected: {}", accessoryState); // } }