Reasoning: a) Currently, the API behaves inconsistently. While reconfiguring a "justAdd" thing, it did call thingRemoved, however, reconfiguring a thing that uses pairing did not. b) The old implementation did not consider childs. Reconfiguring a justAdd thing which has childs was calling thingRemoved on the parent only but not its childs. c) If we'd fix this by calling thingRemoved() for all flows and childs we'd end up in hells kitchen as we can't know about the new state of childs after the reconfiguration, so we can't just automatically add all the childs back ourselves, the plugin needs to do that. This in turn would mean that childs would get new ids which then breaks rules and stuff. So the conclusion has been to just re-run the setup and the plugin implementation is in charge for then checking the existing childs and calling autoThingDisappeared() as needed. WARNING: This also implies that we need to fix some plugins which currently rely on thingRemoved to be called for reconfiguration and might create duplicate connections or similar now. |
||
|---|---|---|
| .github | ||
| data | ||
| debian | ||
| doc | ||
| icons | ||
| libnymea | ||
| libnymea-core | ||
| plugins | ||
| server | ||
| tests | ||
| tools | ||
| translations | ||
| .gitignore | ||
| CODE_OF_CONDUCT.md | ||
| LICENSE.GPL3 | ||
| LICENSE.LGPL3 | ||
| README.md | ||
| icons.qrc | ||
| nymea.pri | ||
| nymea.pro | ||
| version.h.in | ||
README.md
nymea - open source IoT edge server
nymea (/[n'aiːmea:]/ - is an open source IoT edge server. The plug-in based architecture allows to integrate protocols and APIs. With the build-in rule engine you are able to interconnect devices or services available in the system and create individual scenes and behaviours for your environment.
Quick start
Install nymea on a Raspberry Pi
We have created an image for your Raspberry Pi (all models) that comes with an array of plugins for different smart devices! Download
Get nymea:app here:
|
|
|
A detailed description how to install and getting started with nymea can be found in the nymea | user documentation.
Getting help
If you want to present your project or want to share your newest developments you can share it in Our Forum
If you are facing any troubles, don't hesitate to reach out for us or the community members, we will be pleased to help you: Chat with us on Telegram or Discord
Developing with nymea
A detailed documentation on how to develop with nymea is available on the nymea | developer documentation.
License
nymea is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License.