anchor.diff:                          lager:warning("Unknown element in JSON: ~p", [Else])
                   end,
                   maps:to_list(Data2));
  -        _Else ->
  +        _ ->
               lager:error("Ignored PUSH_DATA: JSON syntax error: ~s", [Data])
       end,
       {noreply, State};
  
positive.code:         <<>> ->
              % no error occured
              ok;
          _Else ->
              case catch jsx:decode(Data, [return_maps, {labels, atom}]) of
                  Data2 when is_map(Data2) ->
                      Ack = maps:get(txpk_ack, Data2),
  
negative.code:                             lorawan_gw_router:downlink_error(MAC, AppState,
                                  list_to_binary(string:to_lower(binary_to_list(Error))))
                      end;
                  _ ->
                      lager:error("Ignored TX_ACK: JSON syntax error: ~s", [Data])
              end
      end,
      {noreply, State#state{tokens=Tokens2}};
  