http://stackoverflow.com/questions/42816706/summernote-knockoutjs-editor-not-updated-after-update-value-of-observable

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.2/summernote.css">
<!-- include libraries(jQuery, bootstrap) -->
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script> 

<!-- include summernote css/js-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.2/summernote.js"></script>

<div>
  <div class="html-editor" data-bind="summernote: PublishNote"></div>
</div>
<textarea data-bind="value: PublishNote"></textarea>

JavaScript

var viewModel = function(){
	var self = this;
  
  self.PublishNote = ko.observable("Initial Data");  
  
  setTimeout(function(){
    self.PublishNote('<h1>Hello World</h1');
  }, 10000);
}


ko.bindingHandlers.summernote = {
  init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
    var value = ko.unwrap(valueAccessor());
    var $element = $(element);
    $element.html(value).summernote({
      onChange: function (contents) {
        valueAccessor()(contents);
      }
    });
  },
  update: function (element, valueAccessor) {
    var $element = $(element);
    $element.summernote('code',ko.utils.unwrapObservable(valueAccessor()));
  }
};
        
ko.applyBindings(new viewModel());