Skip to content

App to control digital pins on bolt module using api-key and device id or through a custom API

Notifications You must be signed in to change notification settings

SahilKr24/boltiot-control-app

Repository files navigation

Project logo   Bolt logo

Home Automation

Status Platform GitHub Issues GitHub Pull Requests License


A Flutter App to control digital pins on bolt module using api-key and device id

📝 Table of Contents

💡 Idea / Solution

The idea behind this app was to enable users to implement the functionality of Bolt IOT without having to login into the Bolt cloud everytime and by streamlining the use of API through the help of an Android app and not relying upon the Bolt IOT app or cloud services that require prior knowledge of HTML CSS and JS to implement.

There are two versions of the app:

  • One vision relies upon API key and Device ID which is stored locally on the device which can be used to trigger one of the four pins on the Bolt module that is 1, 2, 3 and 4 respectively.
  • The second version relies upon the use of an handwritten API that is hosted in any of the cloud platforms such as ec2 or heroku. The need for such was eminent because the Bolt cloud does not store the state of the pins in which they were triggered so this custom API that sits between the app and the original Bolt API helps in saving the state at which the pins are, thus when you re-open the app you can again get back the state at which you have left it the last time and also enable custom JS functions to automate stuff.

Depending upon the need, the users can either opt for the API + Device ID version on the master branch or the custom API version on the API based branch that could require additional deployment on web service which can be found in the GIT repository linked here.Bolt-API

⛓️ Dependencies / Limitations

-The app depends upon the axios module to make http requests to either the Bolt API on the custom API hosted and then processes the responses to store the state in a local variable which is then displayed on the user interaction screen. -Users can also customise and setup custom scenes which can act as macros for larger tasks such as managing all the four pins at once thus reducing the number of API calls which is limited by the Bolt cloud. -Currently if the Bolt module is restarted it loses its state.

🚀 Future Scope

In a future update, we will include custom scripts that will enable the bolt module to reinitialise to the state it had last saved thus reducing the impact of power loss.

🏁 Getting Started

Download the app as per your needs from the release section and install it on your Android device. Depending on the version you selected, you will either need to enter the API key and the Device ID or custom API host URL and the port number.

🎈 Usage

The interface of the app is fairly simple, you just have to tap on one of the big grey buttons on the app home screen to Trigger the pins on or off in the order 1, 2, 3 and 4.

⛏️ Built With

  • Flutter - Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

✍️ Authors

See also the list of contributors who participated in this project.

🎉 Acknowledgments

About

App to control digital pins on bolt module using api-key and device id or through a custom API

Topics

Resources

Stars

Watchers

Forks

Languages