Programming of Automation Configuration in Smart Home Systems: Challenges and Opportunities
As the innovation of smart devices and internet-of-things (IoT), smart homes have become prevalent. People tend to transform residences into smart homes by customizing off-the-shelf smart home platforms, instead of creating IoT systems from scratch. Among the alternatives, Home Assistant (HA) is one of the most popular platforms. It allows programmers (i.e., home residents or smart-home creators) to smartify homes by (S1) integrating selected devices into the system and (S2) programming YAML-based software to control those devices. Unfortunately, due to the diversity of devices and complexity of automatic configurations, many programmers have difficulty correctly creating YAML files. Consequently, their smart homes may not work as expected, causing frustration and concern in people. This article presents a novel study on issues of YAML-based automation configuration in smart homes (issues related to S2). We mined the online forum Home Assistant Community for discussion threads related to programming of automation configuration. By manually inspecting 190 threads, we revealed 3 categories of concerns: implementation, optimization, and debugging. Under each category, we classified discussions based on the issue locations and technical concepts involved. Among debugging discussions, we further classified discussions based on users’ resolution strategies; we also applied existing analysis tools to buggy YAML files, to assess the tool effectiveness. Our study reveals the common challenges faced by programmers and frequently applied resolution strategies. There are 129 (68%) examined issues concerning debugging, but existing tools can detect at most 14 of the issues and fix none. It implies that existing tools provide limited assistance in automation configuration. Our research sheds light on future directions in smart home programming.
Authors
- Hao Zhong (ORCID: https://orcid.org/0000-0002-4302-9183)
- Sheik Murad Hassan Anik (ORCID: https://orcid.org/0000-0003-2384-871X)
- Xinghua Gao (ORCID: https://orcid.org/0000-0002-3531-8137)
- Na Meng (ORCID: https://orcid.org/0000-0002-0230-5524)
- Xiaoyin Wang (ORCID: https://orcid.org/0000-0002-9079-5534)
Institutions
- Shanghai Jiao Tong University (CN)
- The University of Texas at San Antonio (US)
- Virginia Tech (US)
- Auburn University at Montgomery (US)
Publication Details
- Journal
- ACM Transactions on Software Engineering and Methodology
- Published
- 2025-04-22
- DOI
- https://doi.org/10.1145/3731450
- Citations
- 4
- Primary Topic
- Spreadsheets and End-User Computing
- Type
- article
- Field-Weighted Citation Impact
- 9.23