New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extension Add-ons #1505
Comments
Great! Add-ons packaging Security A third model would create a plugin-system that limits how much damage a plugin can do. Domoticz has the Python Plugin system, which has functionality to create things in the interface and also to get data out of Domoticz. This can be a completely separate system from the add-on system. The add-ons would offer 'deeper' functionality and would be more thoroughly vetted, while these 'plugins' would be a higher level aspect, and would more often work with things that are already available in the system. Perhaps 'plugins' could have dependencies on 'add-ons'. As an aside, the plugin level could also work as a way to add theming. Or you could split of an even higher third level of 'themes' that may only include client side javascript and CSS. A fourth "Wild West" option (D) would be the "at your own risk" model, where users can add any code simply by pasting in a link from a github page. A mix could be that a group of special 'guinea pig' users is appointed. They try new add-ons and can spot issues before they are accepted to the main stream. It might be a simple checkbox in the interface to become a guinea pig. If there haven't been issues after X amount of guinea pig hours (users * length of time installed per user), or of a certain mound of users say that they found no issues, then the code could be deamed 'safe' for broader consumption. In all cases you would probably need a standardised schema for how the add-ons can inform which OS libraries are required. (and how plugins could inform which add-ons they rely on, if you want to go that route). How much control you want to go for depends on the goals of the Gateway project. |
I should mention that we do already have an add-ons system for "adapter add-ons" which use npm packages, an IPC API, a GitHub repository to list them and checksums to verify their integrity. This issue is about adding a new type of add-ons which modify the gateway's UI. |
Good point :-D |
Here's a practical example of an interface I'd like to incorporate into the Mozilla Gateway somehow: |
Here's another mockup. The idea would be:
In my experience it's really useful if people can mix and match existing data into new display constellations. They often want to bring disparate sensors from different devices together in one view/widget. Here's a quick bad mockup of what a dashboard could look like. In reality these widgets could be made to be more in one style if some useful ready made widgets are bundled with the Mozilla Gateway. |
Maybe another useful example of an 'app' is a virtual thermostat. It's something that very useful. It uses your existing temperature sensors and actuators to toggle heaters on and of. It uses a PID algorithm, allowing for very stable temperatures in your home. It can handle multiple rooms, and for each room will automatically learn how well isolated it is. |
I was thinking: what if the add-on settings page is expanded a little bit as follows:
|
I'm going to close this issue now that we can build extensions. Any additional extension points that we want can be filed in their own issues. |
As a developer I want to write an add-on which extends the user interface of the Things Gateway.
This might include:
Questions:
The text was updated successfully, but these errors were encountered: