Hey Guys,
*added for clarity - I bought one of these
http://www.belkin.com/uk/p/P-F5Z0489/ and found it was not compatible with the WeMo plugin, due to it not having a switch. After a bit of messing around a friend and I worked out whats being sent to the WeMo bridge in order to control the lights that arent on WeMo switches
This is the xml for controlling a single bulb, i have also attached my payload as the value to control the brightness is between 0-255
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.0.7-->
<commandGroup open="True" name="WeMo - Lights" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="772" name="Dim Lights" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Scrape.Post</cmdType>
<params>
<param>http://192.168.0.19:49153/upnp/control/bridge1</param>
<param><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetDeviceStatus xmlns:u="urn:Belkin:service:bridge:1"><DeviceStatusList>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;DeviceStatus&gt;&lt;IsGroupAction&gt;NO&lt;/IsGroupAction&gt;&lt;DeviceID available=&quot;YES&quot;&gt;94103EA2B27844D2&lt;/DeviceID&gt;&lt;CapabilityID&gt;10008&lt;/CapabilityID&gt;&lt;CapabilityValue&gt;{1}:0&lt;/CapabilityValue&gt;&lt;/DeviceStatus&gt;</DeviceStatusList></u:SetDeviceStatus></s:Body></s:Envelope>
<param />
<param />
<param>text/xml; charset="utf-8"</param>
<param>SOAPAction: "urn:Belkin:service:bridge:1#SetDeviceStatus"</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase optional="true">set,dim</phrase>
<phrase>lights</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">lights.xml</payloadFromXML>
<phrase optional="true">percent</phrase>
</command>
</commandGroup>
Some things you will need to change:94103EA2B27844D2, this is your UDN (Unique Device Number) for each bulb, which can be gotten through the WeMoManager app.
The IP and Port will need to change as applicable to you. Have found that the bridge can use one of three ports so may be worth factoring that in aswell. (49154,49153,49152).
Everything between the <Device Status> tags can be duplicated in a single command to allow the same command to control more than one light. For example, my current command for controlling both of my lounge lights looks like this:
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.0.7-->
<command id="772" name="Dim Lights" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Scrape.Post</cmdType>
<params>
<param>http://192.168.0.19:49153/upnp/control/bridge1</param>
<param><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetDeviceStatus xmlns:u="urn:Belkin:service:bridge:1"><DeviceStatusList>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;DeviceStatus&gt;&lt;IsGroupAction&gt;NO&lt;/IsGroupAction&gt;&lt;DeviceID available=&quot;YES&quot;&gt;94103EA2B27844D2&lt;/DeviceID&gt;&lt;CapabilityID&gt;10008&lt;/CapabilityID&gt;&lt;CapabilityValue&gt;{1}:0&lt;/CapabilityValue&gt;&lt;/DeviceStatus&gt;&lt;DeviceStatus&gt;&lt;IsGroupAction&gt;NO&lt;/IsGroupAction&gt;&lt;DeviceID available=&quot;YES&quot;&gt;94103EA2B2786628&lt;/DeviceID&gt;&lt;CapabilityID&gt;10008&lt;/CapabilityID&gt;&lt;CapabilityValue&gt;{1}:0&lt;/CapabilityValue&gt;&lt;/DeviceStatus&gt;</DeviceStatusList></u:SetDeviceStatus></s:Body></s:Envelope></param>
<param />
<param />
<param>text/xml; charset="utf-8"</param>
<param>SOAPAction: "urn:Belkin:service:bridge:1#SetDeviceStatus"</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase optional="true">set,dim</phrase>
<phrase>lights</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">lights.xml</payloadFromXML>
<phrase optional="true">percent</phrase>
</command>