<s:Body>
<u:GetBinaryState xmlns:u="urn:Belkin:service:basicevent:1">
</u:GetBinaryState>
</s:Body>
</s:Envelope>
The GetBinaryState request’s intention is to query if the Switch is on or off. The Switch
responds:
HTTP/1.1 200 OK
CONTENT-LENGTH: 285
CONTENT-TYPE: text/xml; charset="utf-8"
DATE: Mon, 20 Oct 2014 16:33:36 GMT
EXT:
SERVER: Unspecified, UPnP/1.0, Unspecified
X-User-Agent: redsonic
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:GetBinaryStateResponse xmlns:u="urn:Belkin:service:basicevent:1">
<BinaryState>0</BinaryState>
</u:GetBinaryStateResponse>
</s:Body> </s:Envelope>
The value of 0 for BinaryState indicates that the Switch is turned off. As shown in Chap-
ter 3, the Hub can also send a SetBinaryState request to toggle the power on.
Notice that, just like with the official WeMo app, no authentication or authorization is
required. In order to interoperate with other devices such as the WeMo Switch and hue light-
ing, the SmartThings Hub and app have no choice but to follow the protocols defined by the
third-party devices they are integrating with.
There is little SmartThings can do to secure the designs crafted by third-party devices it
wants to integrate with. The toss-up is between accepting the risk and insecurity inherent in
interoperability, or choosing not to integrate. It appears that SmartThings has decided to go
the route of interoperability, aiming to be able to support a wide ecosystem of IoT devices
(including those by third parties) that can in turn be programmed using the SmartThings app
and IDE. This approach makes sound business sense, because it positions SmartThings to be
the hub of IoT devices of the future. However, the risk that is exposed is the sum total of the
impact of all insecure devices that SmartThings decides to interoperate with.
Conclusion
Companies like SmartThings are clearly enabling IoT in the home and helping us push
toward a digital future that blurs the lines between our physical spaces and our online virtual
spaces. The SmartThings IDE is a powerful way to elegantly program both these spaces to
maximize benefit from IoT devices in our homes.
CHAPTER 4: BLURRED LINES—WHEN THE PHYSICAL SPACE MEETS THE VIRTUAL
(^118) SPACE