It can happen that a plugin calls finish() in a slot which normally would be dispatched before the timeout but due to high system load the slot is invoked only after the timeout. This in turn would cause Qt to also queue up this timeout slot and by the time the system processes slots, the plugin comes in first and we'd fire an aborted() signal in the plugin after it called finish(), potentially badly breaking the plugin as a plugin developer would not expect this to happen. So we'll have to verify here that the plugin did not finish() by now before aborting.
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.
Network discovery
When starting nymead as user without root privileges, the network device discovery will not available due to missing raw socket permission. If you still want to make use of this feature, the binary capabilities need to be adjusted.
sudo setcap cap_net_admin,cap_net_raw=eip /usr/bin/nymead
This will allow nymead to create raw sockets for ARP and ICMP network discovery tools even when nymead gets started as user without root privileges.
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 3 of the License.