Update for people working on building SmartShield apps:
The SoftwareSerial library did not work for me. Specifically, serial would write correctly but not read correctly. I verified this with a logic analyzer. If you can set the rgb led but don’t get any commands back, this is probably why. Consider looking for alternate software serial libraries, you can probably find a few on github. Otherwise you might try adding a delay(1500) before any other commands in setup - I read some documentation that said the Ember may take up to 1.4 seconds to boot.
I’m using an Arduino Mega ADK (multiple serial ports), so I don’t need to rely on SoftwareSerial. If you have a Mega I’ve written a small script which passes through a terminal to the Ember chip. The chip on the Arduino is set at 2400 baud, 8n1 and writes out the messages it receives like so:
T00000000:RX len 9, ep 01, clus 0x0000 (Basic) FC 00 seq 03 cmd 0A payload[0A 68 65 6C 6C 6F ]
The payload is a hex encoded string.
The script is here. Upload it your Mega, jumper Serial 1 to 2/3, and start the Arduino Serial Monitor at 115200 baud, with line ending nl+cr. If you type help at the prompt you can get a readout of the commands for the Ember Appbuilder firmware that is running on the EM357. (If you break something it’s your fault, so be careful.)
Next I’ll write a small parser for those payloads and have a full replacement for the SmartThings library. However I’m really only developing for the Mega right now. If you have a device without multiple serial ports I recommend using the shield’s switch to run on 0/1 and modify this script accordingly. The downside is that you now can’t use the serial over usb to communicate with a computer.