code: function subscribeRaw(peripheralId, serviceUuid, uuid, state, callback) {
  
    //todo catch exceptions
    var peripheral = peripherals[peripheralId];
    var characteristic = servicesCache[peripheralId].services[serviceUuid].characteristics[uuid];
    var handle = characteristic.descriptors['2902'];
  
    if (state == false) {
      value = '0000';
    } else {
      if (characteristic.properties == 'indicate'){
        value = '0200';
      } else  {// notify
        value = '0100';
      }    
    }
  
    //if not connected, connect
    checkConnected(peripheral, function(){
      peripheral.writeHandle(handle, new Buffer(value, 'hex'), false, function(error){
        if (error){
          debug('Subscribe error '.red + peripheralId + ' : ' + serviceUuid + ' : ' + uuid )
        }
        sendEvent({
          type: 'notify',
          peripheralId: peripheralId,
          serviceUuid: serviceUuid,
          characteristicUuid: uuid,
          state: state
        });
      });
    })
  
    checkRawNotificationListeners();
  }
docs: raw subscription to indication/notification