Commit Graph

333 Commits (de6136fc658908fbf166faef2ea319525d97b6fc)

Author SHA1 Message Date
Jenkins nymea 1554c568eb Merge PR #245: Use a more unique nonce for the remote connection 2020-01-29 21:44:34 +01:00
Jenkins nymea 56b0570231 Merge PR #244: Subscribe to the entire device namespace in nymea:cloud MQTT 2020-01-29 21:44:34 +01:00
Jenkins nymea 8b992870a3 Merge PR #243: Update device names when changed by the plugin 2020-01-29 21:44:34 +01:00
Jenkins nymea 56517ce491 Merge PR #241: Improve log DB housekeeping performance 2020-01-29 21:44:34 +01:00
Jenkins nymea 85c29ab4b5 Merge PR #240: Update company name 2020-01-29 21:44:34 +01:00
Jenkins nymea 44a403f0e4 Merge PR #238: Add System Time API 2020-01-29 21:44:34 +01:00
Michael Zanetti 114c381e4d fix typo in docs 2020-01-29 21:40:47 +01:00
Michael Zanetti 744f25312b Cleanup as code review suggests 2020-01-15 12:32:32 +01:00
Michael Zanetti 7d615293c5 Use a more unique nonce for the remote connection 2020-01-10 13:31:31 +01:00
Michael Zanetti 03c8e8d114 Improve log DB housekeeping performance
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.
2020-01-05 23:46:51 +01:00
Michael Zanetti 7374652121 Subscribe to the entire device namespace in nymea:cloud NQTT
This allows the REST proxy to establish remote connections.
2020-01-05 20:37:13 +01:00
Michael Zanetti b3ebbc18c0 Update device names when changed by the plugin 2020-01-05 14:58:02 +01:00
Michael Zanetti 9c7694c133 Update company name 2019-12-27 00:29:58 +01:00
Michael Zanetti b2960f5f62 fix typo 2019-12-16 12:23:26 +01:00
Michael Zanetti b6a3a8e0bf fix typos in api doc 2019-12-16 11:35:38 +01:00
Michael Zanetti 4e70f0f5f8 build with older Qt 2019-12-16 11:16:26 +01:00
Michael Zanetti 9b07216768 Add system api to configure the system time
This gets rid of the locally kept time zone which caused issues
in plugins and the ScriptEngine.
2019-12-15 12:44:14 +01:00
Michael Zanetti 24cecf9d47 Add tests for the scriptengine 2019-12-10 18:49:28 +01:00
Michael Zanetti dd70129a4d Add ScriptAlarm 2019-12-10 00:22:49 +01:00
Michael Zanetti 9ecb2d0af4 Support params 2019-12-08 22:13:36 +01:00
Michael Zanetti 5ae3af6cbf Only install our filter once 2019-12-02 00:02:14 +01:00
Michael Zanetti 22bacf09e1 fix build 2019-12-01 01:14:26 +01:00
Michael Zanetti 5a36c2347f fix logging system to cope with the qml output redirection 2019-12-01 00:08:57 +01:00
Michael Zanetti bffdf9cb88 add copyright headers 2019-12-01 00:08:57 +01:00
Michael Zanetti ebf4d83286 Make it build with Qt 5.5 2019-12-01 00:08:57 +01:00
Michael Zanetti 9a52345700 fix notifications 2019-12-01 00:08:57 +01:00
Michael Zanetti 53a79c52d6 fixes 2019-12-01 00:08:57 +01:00
Michael Zanetti 3c274b04ab More work on scripting 2019-12-01 00:08:57 +01:00
Michael Zanetti 3a9a0a0abc Add scripts api namespace 2019-12-01 00:08:57 +01:00
Michael Zanetti 6ab6f8a80b tune script types a bit 2019-12-01 00:08:57 +01:00
Michael Zanetti d4081195d4 Some more work on the script engine 2019-12-01 00:07:35 +01:00
Michael Zanetti 0f75be0fa4 Require Qt 5.12 for ScriptDevicePlugin 2019-12-01 00:07:35 +01:00
Michael Zanetti 4c0c95b1a8 Add a ScriptEngine 2019-12-01 00:07:35 +01:00
Michael Zanetti fd401a850a cleanup 2019-12-01 00:07:35 +01:00
Michael Zanetti e47a4062ee Fix loading of JS plugins 2019-12-01 00:07:35 +01:00
Michael Zanetti b97e4e5b0c Add support for JS device plugins 2019-12-01 00:07:35 +01:00
Michael Zanetti 9322cc79e9 Initial attempt to script a plugin 2019-12-01 00:07:35 +01:00
Jenkins nymea f1cd51c5e6 Merge PR #236: Add some more plugin search paths to work better on non-debian systems 2019-12-01 00:05:00 +01:00
Jenkins nymea 387ce07bf3 Merge PR #234: Weaken password requirements a bit 2019-12-01 00:05:00 +01:00
Jenkins nymea a56362a264 Merge PR #233: Threaded log database 2019-12-01 00:05:00 +01:00
Jenkins nymea a9c304b5f8 Merge PR #232: Don't emit EventEmitted for invalid devices 2019-12-01 00:05:00 +01:00
Jenkins nymea 3f066c5cc9 Merge PR #230: Don't load devices if the plugin dropped support for it 2019-12-01 00:05:00 +01:00
Michael Zanetti 2b63b59261 drop whitespace 2019-11-30 23:58:26 +01:00
Michael Zanetti 212ccc8596 remove unneeded processQueue 2019-11-30 23:56:56 +01:00
Michael Zanetti 64a494e44a Fix tests that didn't wait long enough for log entries to be written 2019-11-28 20:47:55 +01:00
Michael Zanetti 619bbf76f3 don't use QSqlQuery at all outside the job queue
On some backends, such as MySQL, a prepare() call will access
the database
2019-11-28 14:20:37 +01:00
Michael Zanetti 5030ab8ac5 Add some more plugin search paths to work better on non-debian systems 2019-11-26 19:47:19 +01:00
Michael Zanetti 7b99783603 Weaken password requirements a bit
We've decided to not require special characters any more
2019-11-22 17:37:37 +01:00
Michael Zanetti c7dd26d525 cleanup, fix last tests 2019-11-16 00:44:08 +01:00
Michael Zanetti 73812df269 fix shutdown 2019-11-15 23:54:40 +01:00