Android make bluetooth stuff so complex... It's a right pain. I'm slowly working through this app, though. Lord knows when I'll be finished with it.
It's exactly as the DS2. You need to rerun 30 03 01 three times to go from fully open to fully down and vice versa. This is easy on the ELM as you can just hit return and it will rerun the last command. It's also possible for the windows to report, via the OBD2 port, if they are fully open or fully closed. With a bit of logic, it should be possible to run the windows down command exactly the number of times as needed. I might be able to figure out if the return values are binary - that is, fully open or fully closed - or discrete - returns the positional value of the window. The Android app development is still going, albeit slow. You can follow along with the progress at https://github.com/geoghegan/ScootyBus/commits/master . iOS / iPhone will NOT be supported, as Apple have a weird thing about hardware certification, along with their super locked down approach to app development. Current app status is that I can enable the bluetooth adaptor on the phone, list already paired devices, and select an already paired device from a list (which does nothing). This doesn't sound like much, which is due to the fact that bluetooth development is unneedlessly complicated. Edit: Android 4.3 (Note II) and 4.4 (S3 mini) are the only devices I have. If your device is ancient, it probably won't be supported - this is a Google / Android issue.
App update: I can now establish a remote connection and send data. I'm using another phone as a fake OBD-II device, so I can see the data passed from my app. It's still fairly bare bones, and just sends the commands (no error checking). I'll be testing out the app on Friday in the car. Hopefully the UUID is right, I imagine it is as the ELM327 presents as a serial port.
I think the ELM chipset is a bit like an FTDI. Its a usb device, with its own usb driver, and then a virtual com port driver on top of that.
So the SPP UUID is right, but still refuses to connect. I got another adaptor, but it doesn't support the warmup message... Thanks cheap knockoffs! Edit: I will point out that the USB adaptor I have works fine and as expected. So the state of play is: USB - Works Black OBDII Bluetooth - doesn't support warmup (ATWM) Blue OBDII Bluetooth - doesn't want to connect at all using the SPP UUID. It also seems to hang when adding the warmup / set header (ATSH)