What you see is the expected behaviour. The 3 buttons send On/Off command when the device has a binding with another device.
For e.g You can Bind a Button to control a Zigbee SmartPlug. Once you have a binding, every time you press the button, the ZBWS3 sends a Toggle command to the SmartPlug.
So what you want to do is create a binding in the ZBWS3 for the SmartPlug. On the Gateway you will be able to see the SmartPlug turn On/Off, but not anything from the ZBWS3.
You can create bindings through API or manually.
1. Manually: Explained in the ZBWS3 QuickStart Guide: http://www.simplehomenet.com/Downloads/ZBWS3B%20Quick-Start.pdf
2. Through API: http://wiki.smartenit.com/api/classNodeMgmt.html#ad1a9388f23e1e35c26d90075617cf492
u16DestAdd = ZBWS3 address
u8SrcEP = 1 for Button1, 2 for Button 2 and Button 3.
u16ClusterID = 0x0006
u16BndgDest = Smartplug
u8DestEP = 1
Let me know if you have any other questions.