Getting row count on a db with approx 200000 entries on an RPi takes about 500ms. To avoid this, this branch keeps better track of entries in the DB and only queries DB count if we can't calculate it ourselves. Trimming itself takes some 150ms. To reduce those calls it changes the threshold of when to trim the DB from a fixed value of 100 to 1% of maxDBSize. Last but not least, getLogEntry() calls are now prioritized over appendLogEntry() calls in order to stay responsive to client apps even if the DB is overloaded with a huge job queue. If the job queue grows to over 1000 jobs, logs of the same device/type will be discared to avoid log flooding.
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 Install on Ubuntu
In order to install nymea on Ubuntu, you simply need to download this bash script:
wget https://downloads.nymea.io/install-nymea.sh
Extract into your Home folder and just run
chmod +x install-nymea.sh
sudo ./install-nymea.sh
Once the success message has printed on your screen, simply run: sudo nymead -n to start nymea!
Quick Install on a Raspberry Pi
We have created an image for your Raspberry Pi (2/3) that comes with an array of plugins for different smart devices! Download
Get the nymea mobile app here:
Get the nymea desktop app here:
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
Wiki and Documentation
-
A detailed description how to install and getting started with the nymea can be found in the
-
A detailed documentation of the source code can be found in the
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.