anchor.diff:  init([]) ->
       Self = self(),
       Mqtt = mqtt_client:connect(),
  -    mqtt_client:subscribe(Mqtt, "#", fun(Topic, Message) ->
  +    mqtt_client:subscribe(Mqtt, "zwave/get/#", fun(Topic, Message) ->
           gen_server:cast(Self, {from_mqtt, Topic, Message})
       end),
  +    ehome_dispatcher:subscribe([mqtt, set, all], self(),
  +        fun([mqtt, set | Topic], Value) ->
  +            gen_server:cast(Self, {to_mqtt, Topic, Value})
  +        end),
       {ok, #state{mqtt = Mqtt}}.
   
   %%--------------------------------------------------------------------
  
positive.code:         {user_code, 99},
          {barrier_operator, 102},
          {configuration, 112},
          {configuration_v2, 112},
          {alarm, 113},
          {manufacturer_specific, 114},
          {powerlevel, 115},
  
negative.code: -include_lib("eunit/include/eunit.hrl").
  
  learn_test() ->
      {T1, true} = learn([a,b,c], 1, #node{}),
      {T2, true} = learn([a,b,d], 2, T1),
      {_, false} = learn([a,b,d], 2, T2),
      #node{subs =
          #{a := #node{subs =
              #{b := #node{subs =
  