MQTT switch help

Hello, I’m a newbie here and jump to OH2 directly.
Recently I follow @rlkoshak code to setup one Switch by the code at the end of demo.items:

Switch LED02 				{mqtt=">[mosquibroker:/ESP_Easy_01/GPIO/2:COMMAND:ON:0],>[mosquibroker:/ESP_Easy_01/GPIO/2:COMMAND:OFF:1],<[mosquibroker:/ESP_Easy_01/GPIO/2:state:default]"}
Number LED02_Status			{mqtt="<[mosquibroker:/ESP_Easy_01/GPIO/2:state:default]"}
Switch proxyLED02 

and the code at the end of demo.rules:

rule "proxyLED02 changed"
    when
        Item proxyLED02 received command
    then
        LED02.sendCommand(proxyLED02.state)
    end

rule "LED02_Status updated"
    when
        Item LED02_Status received update
    then
        if(LED02_Status.state == 0) proxyLED02.postUpdate(ON)
        else proxyLED02.postUpdate(OFF)
    end

and the code at the end of demo.sitemaps:

Frame  label="MQTT Test"{
    Switch item=proxyLED02 label="LED 02"
}

and my addons.cfg is:

# The base installation package of this openHAB instance
# Valid options:
#   - minimal  : Installation only with dashboard, but no UIs or other addons
#   - standard : Typical installation with all standards UIs
#   - demo     : A demo setup which includes UIs, a few bindings, config files etc.
package = demo

# A comma-separated list of bindings to install (e.g. "sonos,knx,zwave")
binding = mqtt

# A comma-separated list of UIs to install (e.g. "basic,paper")
ui = basic

# A comma-separated list of persistence services to install (e.g. "rrd4j,jpa")
persistence = mqtt

# A comma-separated list of actions to install (e.g. "mail,pushover")
action = mqtt

# A comma-separated list of transformation services to install (e.g. "map,jsonpath")
transformation = 

# A comma-separated list of text-to-speech engines to install (e.g. "marytts,freetts")
tts = 

# A comma-separated list of miscellaneous services to install (e.g. "myopenhab")
misc = 

In the bigining, I got no responcse from ESP8266-12 LED when toggle the Switch, but got the logs in openhab.log:

2016-02-19 22:37:11.351 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'proxyLED02' received command OFF
2016-02-19 22:37:11.357 [ERROR] [.script.engine.ScriptExecutionThread] - Error during the execution of rule 'proxyLED02 changed': Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.sendCommand(org.eclipse.smarthome.core.items.Item,java.lang.Number) on instance: null
2016-02-19 22:37:11.377 [INFO ] [marthome.event.ItemStateChangedEvent] - proxyLED02 changed from ON to OFF

After reboot openHAB server (Raspberry Pi 2), it did work! And with the following log data:

2016-02-20 10:41:51.021 [INFO ] [smarthome.event.ItemCommandEvent    ] - Item 'LED02' received command OFF
2016-02-20 10:41:51.023 [DEBUG] [inding.mqtt.internal.MqttItemBinding] - Publishing command OFF to /ESP_Easy_01/GPIO/2
2016-02-20 10:41:51.025 [INFO ] [marthome.event.ItemStateChangedEvent] - proxyLED02 changed from OFF to ON
2016-02-20 10:41:51.026 [DEBUG] [t.mqtt.internal.MqttBrokerConnection] - Publishing message 34 to topic '/ESP_Easy_01/GPIO/2'
2016-02-20 10:41:51.027 [ERROR] [.mqtt.internal.MqttMessageSubscriber] - Error processing MQTT message.
java.lang.NullPointerException
	at org.openhab.core.events.EventPublisherDelegate.postUpdate(EventPublisherDelegate.java:60)[163:org.openhab.core.compat1x:2.0.0.201602120202]
	at org.openhab.binding.mqtt.internal.MqttMessageSubscriber.processMessage(MqttMessageSubscriber.java:150)[11:org.openhab.binding.mqtt:1.9.0.201602140217]
	at org.openhab.io.transport.mqtt.internal.MqttBrokerConnection.messageArrived(MqttBrokerConnection.java:552)[13:org.openhab.io.transport.mqtt:1.9.0.201602140217]
	at org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:354)[15:org.eclipse.paho.client.mqttv3:1.0.2]
	at org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:162)[15:org.eclipse.paho.client.mqttv3:1.0.2]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2016-02-20 10:41:51.046 [INFO ] [marthome.event.ItemStateChangedEvent] - proxyLED02 changed from ON to OFF

Although sometimes Switch no response (can’t turn on or can’t turn off by first tap, but after 2nd or 3rd tap it will OK), after short period, finally the LED work properly. But the ERROR message still remain in log file.

Can anyone help me to resolve this issue?

And my question is : Should I need “Import” in OH2? Because from the topic OH2 Documentation, Kai seems say no need import anymore in OH2, am I right?

Other question is : I put all the related MQTT bindings to addons directory, including “binding, action, io.transport, persistence, eclipse.smarthome.io.transport, eclipse.paho.client.mqttv3”. Is it OK?

Thanks for the help in advance!