{"id":28444105,"url":"https://github.com/openwonderlabs/switch-board","last_synced_at":"2025-09-06T18:43:02.794Z","repository":{"id":250245335,"uuid":"832921655","full_name":"OpenWonderLabs/switch-board","owner":"OpenWonderLabs","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-26T02:54:59.000Z","size":14559,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T08:43:41.086Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenWonderLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-24T02:18:03.000Z","updated_at":"2025-04-14T17:56:46.000Z","dependencies_parsed_at":"2024-07-26T04:11:18.391Z","dependency_job_id":null,"html_url":"https://github.com/OpenWonderLabs/switch-board","commit_stats":null,"previous_names":["openwonderlabs/switch-board"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenWonderLabs/switch-board","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenWonderLabs%2Fswitch-board","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenWonderLabs%2Fswitch-board/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenWonderLabs%2Fswitch-board/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenWonderLabs%2Fswitch-board/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenWonderLabs","download_url":"https://codeload.github.com/OpenWonderLabs/switch-board/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenWonderLabs%2Fswitch-board/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262608452,"owners_count":23336500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-06T08:40:56.820Z","updated_at":"2025-06-29T14:30:48.245Z","avatar_url":"https://github.com/OpenWonderLabs.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SwitchBoard Android Application\n\nSwitchBoard is an open-source Android tablet application designed to control SwitchBot smart home devices using Jetpack Compose for the UI, Ktor for network requests, and the official SwitchBotAPI. This application provides a convenient way to manage your SwitchBot devices through an Android tablet.\n\nThis project is maintained by developers in their spare time and may still have some issues. We hope capable community members can join in and help with maintenance.\n\n## Features\n\n- **Jetpack Compose**: Modern UI toolkit for building native Android interfaces.\n- **Ktor**: Asynchronous networking library for making HTTP requests.\n- **SwitchBotAPI**: Official API integration for controlling SwitchBot devices.\n- **User Authentication**: Token and secret-based authentication for secure API access.\n- **Device Control**: Easy management and control of SwitchBot devices.\n\n## Getting Started\n\n### Prerequisites\n\n- Android Studio\n- Kotlin 1.5+\n- SwitchBot account and APP for obtaining API credentials\n\n### Installation\n\n1. **Clone the Repository**\n   ```bash\n   git clone https://github.com/yourusername/SwitchBoard.git\n   cd SwitchBoard\n   ```\n\n2. **Open the Project in Android Studio**\n\n3. **Set Up API Credentials**\n   - Obtain your `token` and `secret` from the SwitchBot APP.\n   - Add these credentials to your project's configuration.\n\n### Usage\n\n1. **Run the Application**\n   - Connect your Android tablet to your development environment.\n   - Run the project from Android Studio.\n\n2. **Log In**\n   - Enter your SwitchBot `token` and `secret` to authenticate and start controlling your devices.\n\n## Project Structure\n\n- `com.theswitchbot.switchboard.entity`: Contains the main entity classes for the application.\n- `com.theswitchbot.switchboard.widget`: Houses the Jetpack Compose UI components.\n- `com.theswitchbot.switchboard.vm`: Manages SwitchBotAPI calls and handles the application's logic.\n\n## Documentation\n\nFor detailed information about the SwitchBotAPI, refer to the official [SwitchBotAPI Documentation](https://github.com/OpenWonderLabs/SwitchBotAPI).\n\n## ScreenShot\n![](assets/screenshot-20240726-102948.png)\n![](assets/Snipaste_2024-07-26_10-34-26.png)\n![](assets/Screenshot_20240723_224712.png)\n\n## Contributing\n\nWe welcome contributions from the open-source community! If you're interested in helping maintain this project, please follow these steps:\n\n1. **Fork the Repository**\n   - Create a new branch for your feature or bug fix.\n\n2. **Make Changes**\n   - Implement your changes in the new branch.\n\n3. **Submit a Pull Request**\n   - Provide a clear description of your changes and submit a pull request for review.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contact\n\nFor questions or suggestions, please open an issue.\n\n---\n\nThank you for using and contributing to SwitchBoard!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenwonderlabs%2Fswitch-board","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenwonderlabs%2Fswitch-board","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenwonderlabs%2Fswitch-board/lists"}