Smart home systems have developed rapidly in recent years, entering many people's daily lives. However, it is difficult for products from different manufacturers to work together due to different hardware, wireless protocols and APIs. These barriers limit the interoperability between IoT devices.We introduce the open-source HolonCraft framework by applying the Holon ontology to smart home systems. We enable different systems to share device descriptions so that devices can recognize each other, understand each other's functions, and work together as needed, composing a system of systems (SoS) at runtime, in order to fulfill the needs of a given user workflow. Further, HolonCraft implements a cross-platform graphical programming editor for smart home automation. HolonCraft automatically transforms device capabilities (in the form of holon descriptions) into visual programming elements, enabling users without programming backgrounds to design smart home automation through simple drag-and-drop operations while also supporting advanced programming features such as branches, loops and even functions and variables. It then type-checks the composed workflow and, accordingly, generates code to actualize the workflow. Consequently, HolonCraft dramatically improves the abstraction and expressiveness of automation. As a result, HolonCraft enhances the efficiency and reliability of automation development while lowering the entry barrier to users.