Domapic was born literally as a "garage" project (the author's garage needed some automatisms), but it has grown enough to become a good option for "iot developer makers" to easily develop their own accessories and integrate them with existing commercial home automation systems.
There is an enormous to-do list in the roadmap to make the system reach the expectactions of the author, but things have to be done step by step. For the moment, next tasks are "oficially" in the roadmap, and are expected to be accomplished in 2019 or first quarter of 2020:
- Cloud plugin. Plugin for connecting Controller with remote web interface.
- Abilities aliases. Users will be able to define an alias for abilities. Alias will be displayed in web interface instead of ability name.
- Guest role. Add a new users role called "guest". Users with this role will have permissions to see and to interact only with certain abilities, defined in his profile.
- Automatisms. Define interactions between accessories using the Controller interface. "When the accessory X emits Y event, then send Z action to W accessory."
- Accessories detection and connection. Add a "discover accesories in local network" feaure to Controller. Improve the connection proccess to make it simpler.
- Plugin for Amazon' Alexa. Create a plugin that will allow to control Domapic Accessories using Amazon' Alexa.
- Plugin for Google Home. Create a plugin that will allow to control Domapic Accessories using Google Home.
- Mobile application. Domapic Cloud Mobile Application for remote mobile control.
- Security tokens management. Allow users to manage their own security tokens through the Controller web interface.(Delete browser access tokens, create api keys, etc.)
- Accesories remote configuration. Add to Controller user interface a new section to configurate and restart Accessories.
- Accesories logs in Controller interface. Add a new section to the Controller interface for displaying Accessories logs.
- Accessories web interface. Add web interface to accessories. Intended to be used to configure them and make easier the Controller connection proccess.
- Front end components catalog. Many Domapic applications will use same components (Domapic Controller, Domapic Cloud, Accessories, etc.). A shareable components catalog is needed to boost the front end development.
- Documentation website. Currently the documentation is distributed in Readme files of many packages. Migrate all documentation to a single website will improve the developers experience.
- Rename "Services" into "Accessories". Replace all old references to "Services" in code into "Accessories". It is the same concept, but recently whe renamed it into "Accessories" for better comprehension.
- Accessories and Plugins scaffolds. Command line interface for creating easily Accessories and Plugins.
- Testing tools. Provide mocks and other testing tools to facilitate the development of tests.
- Domapic Base code splitting. The Domapic Base package can be splitted in small packages at charge of single responsibilities. This will improve the development and testing, and will make easier possible contributions.
- Improvements in Accessories configuration. Configuration of Accessories should be more flexible, allowing environment variables, etc.
- Check for updates. Automatic check for updates. Compatibility checks between Controller and Accessories versions.
- Improvements in command line interface and processes management. Simplify the command line interface, add commands for updating packages, display all current Domapic processes, add inquirer to improve the command line experience, etc.
This list will be kept up to date as tasks are being completed. Consult the progress in the related github projects.
Contributions are welcome, thanks in advance!
Please visit the github organization page and contribute sending issues, requesting features, opening pull requests, etc.
Each repository on the organization contain files with the "Code of Conduct", by participating, you are expected to uphold that code. Repositories contain too a "Contributing" file that you should read before opening pull requests.
If you have any doubt, or you think you can collaborate in any other way with the project, please contact us through firstname.lastname@example.org