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
Michael Zanetti
0ce99fc127
add some debugs
2019-11-15 23:37:52 +01:00
Michael Zanetti
f36eac080f
fix duplicate query execution
2019-11-15 23:12:27 +01:00
Michael Zanetti
2361cc0473
Wait for the job queue to finish before shutting down
2019-11-15 18:34:20 +01:00
Michael Zanetti
3eac06de6e
Threaded log database
...
This
a) makes the log db threaded by using QtConcurrent to run queries in a
different thread but still keeps ordering of the queries and always
only allows a single query at a time (QSql is not threadsafe). This fixes
removeDevice calls failing if we take more than $jsonprc_timeout to clean
a deleted device from the DB and keeps nymead responsive during that too.
b) generally improces performance of the system by not requiring operations
(emitting events, changing states) to wait for the sync log db entry to be
made.
c) drops some of the houskeeping code on nymea startup. While this will still
do log db housekeeping if the DB exceeds maxDbSize, it will not run
housekeeping on the DB any more at application startup. Reasoning for this
is that there have been reports of rules/log entries beimg destroyed if a
plugin can't be found at application startup. Given our general direction
of working towards more dynamic plugin loading, this might happen more often
in the future and we sure don't want to destroy rules etc when we just
temporarily miss a plugin.
d) tries to fix issue #226 by rotating the DB not only when it fails to open
initially, but also when it fails to insert new entries.
2019-11-15 18:33:10 +01:00
Michael Zanetti
f5942a0223
Also check state changes
2019-11-15 11:02:35 +01:00
Michael Zanetti
2228523cf0
Don't emit EventEmitted for invalid devices
2019-11-12 19:25:24 +01:00
Michael Zanetti
abdfce129e
Don't load devices if the plugin dropped support for it
2019-11-07 11:37:11 +01:00
Michael Zanetti
ec15e664e1
cleanup warnings and allow setting "unknown" debug categories
2019-11-06 13:38:22 +01:00
Michael Zanetti
25152c5e27
Add readonly feature to JSONRPC
2019-11-06 00:06:03 +01:00
Michael Zanetti
fa1cd3605c
Add deprecation warnings
2019-11-04 11:56:24 +01:00
Michael Zanetti
5be6e6e19d
Deprecate Actions/Events/States namespaces
2019-11-04 10:52:36 +01:00
Michael Zanetti
0e7edd5abd
cleanup
2019-11-04 10:52:06 +01:00
Michael Zanetti
3cbd01c1d2
drop all pack/unpack methds
2019-11-03 21:24:16 +01:00
Michael Zanetti
3a88a25c49
add copyright headers
2019-11-01 20:55:45 +01:00
Michael Zanetti
baaa719b6a
Restructuring json done
2019-11-01 20:55:45 +01:00
Michael Zanetti
11a388d729
implement stubs for AddDelivery and GetDeliveries
2019-11-01 20:55:45 +01:00
Michael Zanetti
bdd9876a88
Allow registering QMetaObjects on JSON api
2019-11-01 20:55:45 +01:00
Michael Zanetti
e2cf9cb5c3
More work on the experience mode framework
2019-11-01 20:55:45 +01:00
Michael Zanetti
f8d23db584
allow registering json handlers in experience plugins
2019-11-01 20:55:02 +01:00
Michael Zanetti
fab1871ea1
loading plugins working
2019-11-01 20:53:41 +01:00
Michael Zanetti
a47bded031
add loading of plugins
2019-11-01 20:53:41 +01:00