SwitchBoard 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.
This 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.
- Jetpack Compose: Modern UI toolkit for building native Android interfaces.
- Ktor: Asynchronous networking library for making HTTP requests.
- SwitchBotAPI: Official API integration for controlling SwitchBot devices.
- User Authentication: Token and secret-based authentication for secure API access.
- Device Control: Easy management and control of SwitchBot devices.
- Android Studio
- Kotlin 1.5+
- SwitchBot account and APP for obtaining API credentials
-
Clone the Repository
git clone https://github.com/yourusername/SwitchBoard.git cd SwitchBoard
-
Open the Project in Android Studio
-
Set Up API Credentials
- Obtain your
token
andsecret
from the SwitchBot APP. - Add these credentials to your project's configuration.
- Obtain your
-
Run the Application
- Connect your Android tablet to your development environment.
- Run the project from Android Studio.
-
Log In
- Enter your SwitchBot
token
andsecret
to authenticate and start controlling your devices.
- Enter your SwitchBot
com.theswitchbot.switchboard.entity
: Contains the main entity classes for the application.com.theswitchbot.switchboard.widget
: Houses the Jetpack Compose UI components.com.theswitchbot.switchboard.vm
: Manages SwitchBotAPI calls and handles the application's logic.
For detailed information about the SwitchBotAPI, refer to the official SwitchBotAPI Documentation.
We welcome contributions from the open-source community! If you're interested in helping maintain this project, please follow these steps:
-
Fork the Repository
- Create a new branch for your feature or bug fix.
-
Make Changes
- Implement your changes in the new branch.
-
Submit a Pull Request
- Provide a clear description of your changes and submit a pull request for review.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or suggestions, please open an issue.
Thank you for using and contributing to SwitchBoard!