The smart home will be flat! Forget about interconnecting everything on a physical layer. That was a really nice idea, when you only wanted to connect the things in your home. But what if you want to connect remote things? History has shown that a network is likely to be more successful if the majority of its logic is pushed to the edges. A network should not process logic, but only transport information. However, all currently available smart home control applications process information in the network, i.e. on the sink!
The above image shows how ZigBee should interconnect your things (courtesy of Texas Instruments). However, I argue that this brings in too much complexity. You are too reliant on the coordinator. I would argue, all information should first be transmitted to the cloud, where nodes then can be linked on a logical level! Let the application decide which nodes to link!
This should give you and idea, of how this could look like!

