The SmartAppZoo dataset contains a total of 3,526 SmartThings apps, including 184 SmartThings official apps, 468 IoTBench third-party apps, and 2,874 Github third-party apps. We always welcome contributions to the dataset from the community.
-
We crawled SmartApps from Github repositories between January 1, 2013 and December 31, 2022.
-
We obtained 184 official apps from the SmartThings Public GitHub Repo.
-
We obtained 468 cleaned third-party apps from the IoTBench dataset, excluding hand-crafted malicious SmartApps.
-
We obtained 2,874 cleaned third-party apps from other Github repositories, avoiding those used for adversarial SmartApp research.
-
We developed a converter tool ConvertGroovyToNodeJS.ipynb that converts Groovy SmartApps into Node.js SmartApps.
-
The converter can translate the fixed-format parts of Groovy SmartApps, such as definition/preference blocks, subscription/schedule functions, and device commands from Groovy to Node.js. However, the conversion of other user-defined functions requires the help of the research community.
-
Currently, the converter can accurately translate approximately 50 simple Groovy SmartApps into Node.js SmartApps. The converted results are located in the repository ConvertGroovyToNodeJS.
@inproceedings{SmartAppZoo,
title = {Poster Abstract: SmartAppZoo: A Repository of SmartThings Apps for IoT Benchmarking},
author = {Wang, Zhaohui and Luo, Bo and Li, Fengjun},
booktitle = {Proceedings of the 8th ACM/IEEE Conference on Internet of Things Design and Implementation},
year = {2023},
location = {San Antonio, TX, USA},
pages = {448–449},
series = {IoTDI '23}
}
When visiting the Github Third-Party folder via a browser, you may receive the following warning:
Sorry, we had to truncate this directory to 1,000 files. 1,874 entries were omitted from the list.
This is a common practice on Github. Github limits the number of files that can be listed in the webview to 1000. The warning only appears when using a browser, but you can still fork, clone, or download the repository without issues.
We welcome submissions of issues and pull requests.
SmartAppZoo uses SmartApps from 1207 repositories. We have listed all the Github usernames and repository names in Credit.md.