Smart Home Technology: Zigbee and Z-Wave Wesley Peck, PhD wesleygpeck@lowescom Iris Smart Home Lowe s Companies, Inc
Background Education 2003, BS from KU in Computer Science 2012, PhD from KU in Computer Science Worked in CSDL Lab with Dr Andrews and Dr Alexander Focus on DSLs, compilers, synthesis tools, operating systems, FPGAs Work History 2013, Started in IoT / Smart Home industry at Motorola Working on the 4Home project Z-Wave centric, Zigbee prototyped but never released 2014, Prototype of a Big Data product with Arris 2015, Back to IoT / Smart Home with Lowe s Iris Building V2 platform from the ground up Large ecosystem of devices: Zigbee, Z-Wave, IP, Bluetooth Smart, etc
Welcome to the Smart Home Computers have revolutionized communication Modern cellphones have an abundance of sensors and technologies that allow them to monitor and adapt to their environment Communication is faster, safer, more secure, more accessible, more comfortable, and more efficient than any other time in history Computers have revolutionized transportation Modern automobiles and airplanes have an abundance of sensors and technologies that allow them to monitor and adapt to their environment Transportation is faster, safer, more secure, more accessible, more comfortable, and more efficient than any other time in history Shouldn t computers revolutionize your home in the same way?
Welcome to the Smart Home Your home should be able to monitor itself Who s in or around your home? What rooms are they in? Who are they? How much energy is used? What devices are using it? How can it be reduced? Which doors/windows/vents are opened/closed? Which should be? What temperature is it inside? What is the temperature of each room? What should the temperature be in each room? How much light is in the room? How much light should there be? What kind of ambiance should be set? What kind of carbon footprint does your home have? What kind of carbon footprint should it have? How do we reduce it? Your home should be able to adapt to its environment Control home safety, security, temperature, humidity, light level, ambiance Control energy use, water use, carbon emissions Your home should be faster (to maintain, to customize, etc), safer, more secure, more accessible, more comfortable, and more efficient than any other time in history
Welcome to the Smart Home What s taking so long? The home is a much more dynamic place than a cellphone or a car People and pets always coming and going, sometimes in large numbers The home is a much larger place than a cellphone or car Cellphone ~ 002 cubic feet, car ~ 120 cubic feet, home ~ 16000 cubic feet The home is a much more intimate place than a cellphone or car Privacy and security concerns are paramount The home is a much more custom place than a cellphone or car Cellphones and cars come in standard models Even cookie cutter homes are highly customized by the buyer afterwards The smart home industry is much more volatile right now Communication standards: Zigbee, Z-Wave, Bluetooth Smart, AllJoyn, Wi-Fi HaLow, Thread, Insteon, IPCD (those are just the more modern standards) Unlike cellphones and modern cars, your home wasn t designed with Smart capabilities in mind
Welcome to the Smart Home
Key Challenges Fragmentation and volatility Tons of vendors and products in the market (and more joining) Every product is different in the way it works Vendors tend to focus on their own products Understandable desire to differentiate themselves and connect with customers Very easy to end up with dozens of individual apps for control Users prefer a single place to monitor and control their smart home But they also want choices Piecemeal updates to existing homes Update your home into a smart home one component at a time Need to support installation in locations not designed for electronics Battery power, battery should last 1+ year for typical use Wireless, network wiring not present even if electrical wiring is
Zigbee and Z-Wave Zigbee Z-Wave 24 GHz band 90842 MHz band (US) 250 kbit/s 40 100 kbit/s ~ 20 meter range (65 ft) ~ 30 meter range (100 ft) 1uA slp, 26mA RX, 31mA TX 2uA slp, 33mA RX, 36mA TX Secure messaging mandated AES-128 for encryption 32-bit ARM, 24 MHz 128 KB flash, 12 KB RAM Mesh topology, AODV routing Defines many ontologies Secure messaging optional AES-128 for encryption 8-bit 8051, 32 MHz 128 KB flash, 16 KB RAM Mesh topology, source routing Defines a single ontology
Z-Wave Overview Z-Wave Network 32-bit Home ID, 8-bit Node ID Up to 232 nodes in the network, AES-128 for secure messaging Controller Node Responsible for initial formation of the network Responsible for maintaining and distributing security keys Responsible for adding or removing other nodes Responsible for calculating all routes through the network (sort of) Slave Node Several variants (always listening, wakeup, FLiRs) Only always listening can be used for routing through the network Wakeup nodes can power down to deep sleep for long periods FLiRs nodes sleep for 1000 or 250 ms at a time
Zigbee Overview Zigbee Network 64-bit Extended PAN-ID, 64-bit EUI-64, 16-bit PAN-ID, 16-bit NWK ID Up to 64K nodes in the network Coordinator Responsible for initial network formation Responsible for maintaining and distributing security keys Responsible for adding or removing other nodes Routing Device Responsible for routing packets through the network (radios always on) Responsible for buffering packets for any end device children End Device Can power down for long periods of time Must poll their parent routing device at least once every 7680 seconds
Z-Wave: Pairing a Node A B C Controller Controller broadcasts transfer presentation and lock broadcasts node information frame Lock Assign Node ID: 020 E D G NOP (verifies ID received) Find Nodes in Range F H Locks sends NOP Power to all of the devices that it can hear to determine signal quality I L Command Complete Get Nodes in Range K J Node Range Info Assign Return Route
Z-Wave: Secure Key Exchange A B C Controller Security Scheme Get Security Scheme Report Lock E D G Security Nonce Get Security Nonce Report Network Key Set (encrypted) F H Security Nonce Get Security Nonce Report I L Network Key Verify (encrypted) K J Security Commands Supported Get Security Commands Supported Report
Z-Wave: Finishing up Pairing B Controller Lock A C Manufacturer Specific Get E D G Manufacturer Specific Report Association Remove Association Set F H I L Controller informs the rest of the smart home system that a new node has been paired to the network and is now useable K J
Zigbee: Pairing a Node A B C Coordinator Coordinator broadcasts beacons indicating that its is allowing joins Association Request: EUI64= Lock E D G Association Response: NWK= Transport Key Device Announce F H Coordinator broadcasts device announcement to the entire network I L K J From this point on everything is encrypted with a unique encryption key
Zigbee: Finishing up Pairing B Coordinator Lock A C Node Descriptor Request Node Descriptor Response E D G Power Descriptor Request Power Descriptor Response Active Endpoint Request F H Active Endpoint Response Simple Description Request I L Simple Description Response ZCL ReadAttributes: Basic K J ZCL ReadAttributes Response: Basic
Zigbee: Finishing up Pairing B Coordinator Lock A C Bind Request Bind Response E D G Bind Request F H Bind Response I L Controller informs the rest of the smart home system that a new node has been paired to the network and is now useable K J
Z-Wave: Controlling the Lock A B C Controller Door Lock: Close Door Lock: Report Lock E I F K D L H G J Application level view is pretty simple Do secure message exchange Tell door to lock, get state report back What s going on behind the scenes? Controller has to determine a route Route can be a maximum of 5 hops Route is included in the sent message What happens if the route fails? Try to find another route, fallback to explorer frame (dynamic routing)
Zigbee: Controlling the Lock A B C Coordinator ZCL: LockDoor ZCL: LockDoor Response Lock E D G Application level view is pretty simple Tell door to lock, get state report back F H What s going on behind the scenes? Controller has to determine a route Uses AODV to determine next hop I L What happens if the route fails? Use AODV to determine next hop K J Alternative routing algorithm Source routing via MTORR
Questions?