Being able to control your smart devices through the Home app is great, but eventually you'll want to automate them to control themselves. While that sounds great, this is also where using HomeKit becomes far more complex and starts to resemble programming to some degree. As you come up with automations for your house, you'll quickly find out that the Home app itself doesn.'t support to many complex things. You end up having to create these Rube Goldberg machines to get it to work just like you intended.