Michael Zanetti
8aa91292fe
more work
2020-10-15 22:34:06 +02:00
Michael Zanetti
85c9d93ccd
Somoe type fixes
2020-10-15 22:34:06 +02:00
Michael Zanetti
c7f957f201
some more python plugin work
2020-10-15 22:34:06 +02:00
Michael Zanetti
5d0751ae27
fix thread syncronisation
2020-10-15 22:34:06 +02:00
Michael Zanetti
3c47e59811
some more work
2020-10-15 22:34:06 +02:00
Michael Zanetti
f97e5bf4d0
more work
2020-10-15 22:34:06 +02:00
Michael Zanetti
59c1c8e9f2
some more work
2020-10-15 22:34:06 +02:00
Michael Zanetti
68e9c82758
run a thread for each call
2020-10-15 22:34:06 +02:00
Michael Zanetti
125aee7153
Some more python plugin stuff
2020-10-15 22:34:06 +02:00
Michael Zanetti
13d10b8aa0
some more python plugin work
2020-10-15 22:34:06 +02:00
Michael Zanetti
31cf425b79
intermediate
2020-10-15 22:34:06 +02:00
Michael Zanetti
a2e6d9e185
Add an event loop
2020-10-15 22:34:06 +02:00
Michael Zanetti
380e962bd1
some more work on python plugins
2020-10-15 22:34:06 +02:00
Michael Zanetti
a21315efc5
some more hacking
2020-10-15 22:34:06 +02:00
Michael Zanetti
d17b44c83d
Initial attempt to support python plugins
2020-10-15 22:34:06 +02:00
Michael Zanetti
8fee1bb2e5
Fix duplicate connections on case of retrying
2020-10-15 22:33:36 +02:00
Michael Zanetti
6aaab68cdc
Retry setup if it fails at startup (e.g. network isn't up yet or similar)
2020-10-15 22:33:36 +02:00
Michael Zanetti
79dd00cb57
Add support for interface based script events and actions
2020-10-02 13:18:27 +02:00
Michael Zanetti
2f17a86506
Fix the webserver for serving static files
2020-09-23 00:49:37 +02:00
Michael Zanetti
f9cd2a99df
Add caching information to client API
...
This allows JsonHandlers to set a hash for certain API calls.
Clients can use this information to load data for such a call
from a cache instead of calling the method over the network
just to get the same result as last time.
2020-09-15 13:53:19 +02:00
Michael Zanetti
4d480f7c3b
Fix a potential crash in logging handlers
2020-09-09 19:19:42 +02:00
Jenkins nymea
eb291a47d5
Merge PR #334 : Silence the warning about not being able to translate plugins
2020-09-08 13:53:52 +02:00
Jenkins nymea
65de093c4a
Merge PR #321 : Make it build with Qt 5.14 and -Wno-deprecated
2020-09-08 13:53:50 +02:00
Michael Zanetti
81ac85dd55
Silence the warning about not being able to translate plugins
2020-09-08 12:06:16 +02:00
Michael Zanetti
d529a27df1
fix mocks to properly deal with the new way of reconfiguring
2020-09-01 13:45:14 +02:00
Michael Zanetti
573a2c061a
Don't call thingRemoved() on the plugin in case of reconfiguring
...
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.
2020-09-01 13:45:14 +02:00
Jenkins nymea
70c9c7f495
Merge PR #323 : Fix cleanig up tags that are not needed any more
2020-08-14 13:09:34 +02:00
Jenkins nymea
c803a1e81b
Merge PR #322 : Fix update busy flag in GetUpdateStatus API call
2020-08-14 13:09:34 +02:00
Jenkins nymea
54d186b7f0
Merge PR #319 : Fix missing name method override for json handlers
2020-08-14 13:09:34 +02:00
Jenkins nymea
dc536db74e
Merge PR #315 : Use bindValue for composing query strings for the log DB
2020-08-14 13:09:34 +02:00
Jenkins nymea
768b6a877e
Merge PR #314 : Fix conversion of values
2020-08-14 13:09:34 +02:00
Jenkins nymea
bd0072e48f
Merge PR #307 : Loggingcategories
2020-08-14 13:09:34 +02:00
Michael Zanetti
1066e768c9
Fix cleaning up of tags that are not needed any more
2020-08-13 17:40:08 +02:00
Simon Stürz
dd16734ca7
Fix update busy flag in GetUpdateStatus API call
2020-08-07 08:01:30 +02:00
Michael Zanetti
61871a729f
Make it build with Qt 5.14 and -Wno-deprecated
2020-07-31 15:00:16 +02:00
Michael Zanetti
399f406d10
fixes
2020-07-27 19:38:21 +02:00
Michael Zanetti
5002fad6d9
fix tests
2020-07-26 01:00:29 +02:00
Michael Zanetti
85146abca5
Fix type conversions of values
...
This fixes 5 issues in regard to types of values:
1) Default values for params in the metadata were not converted properly,
most visibly on integer values being loaded as double values.
2) Param values coming in from jsonrpc were not converted properly.
3) The plugin might set state values with invalid types or being out of range.
4) If, for some reason (e.g. earlier versions of nymea, or a plugin setting
its own params in code with a wrong type), there was a param value with a
wrong type in the system, we stored that wrong type and restored it on loading
of plugin params while instead it really should be converted to the specified
type in the ParamType.
5) If a plugin is not loaded for a configured thing, the old code would
not initialize the states properly but upon shutdown save those invalid
values to the cache.
2020-07-15 00:22:43 +02:00
Simon Stürz
1334bb5bc7
Fix missing name override for json handlers
2020-07-14 16:36:03 +02:00
Jenkins nymea
c5b52da69d
Merge PR #318 : Fix time filter
2020-07-14 11:26:14 +02:00
Jenkins nymea
3aac5df9f9
Merge PR #306 : Vaguely inform the plugin about the origin of actions.
2020-07-14 11:26:14 +02:00
Jenkins nymea
c369bd15aa
Merge PR #305 : Allow emitting events from things directly
2020-07-14 11:26:14 +02:00
Jenkins nymea
7b60f05c64
Merge PR #299 : Store state changes immediately when they change
2020-07-14 11:26:14 +02:00
Michael Zanetti
16f80aa24c
Fix time filter
2020-07-14 11:23:05 +02:00
Michael Zanetti
a4beed9aee
Properly store stringlists
2020-07-10 23:15:05 +02:00
Michael Zanetti
98e5176393
Use bindValue for composing query strings for the log DB
...
Event/action param values might not be escaped properly otherwise
2020-07-05 12:29:38 +02:00
Michael Zanetti
ca041bbd02
Convert recurring UPnP message to a debug print
2020-06-25 23:29:54 +02:00
Michael Zanetti
75afab7eaf
Add nymea logging categories as opposed to just Qt ones
2020-06-17 14:32:35 +02:00
Michael Zanetti
021f2479d9
Vaguely inform the plugin about the origin of actions.
...
Fixes #277
2020-06-16 17:49:41 +02:00
Michael Zanetti
f029184651
Allow emitting events from things directly
2020-06-16 16:16:23 +02:00
Jenkins nymea
a01d5ea5b9
Merge PR #297 : Fix UPnP discovery if wifi comes up late
2020-06-07 19:16:24 +02:00
Jenkins nymea
48fb5f7edb
Merge PR #292 : Check for cloud certificate file before trying to connect
2020-06-07 19:16:23 +02:00
Jenkins nymea
7337105073
Merge PR #291 : Fix thing class translations
2020-06-07 19:16:23 +02:00
Jenkins nymea
bf3a29b868
Merge PR #290 : Add support for restarting nymea in the system api
2020-06-07 19:16:23 +02:00
Jenkins nymea
917c58d145
Merge PR #289 : Add an I2C hardware resource
2020-06-07 19:16:23 +02:00
Jenkins nymea
fecce90ba3
Merge PR #288 : Improve networking API
2020-06-07 19:16:23 +02:00
Jenkins nymea
94152ebe78
Merge PR #287 : Drop internal networkmanager and use libnymea-networkmanager instead
2020-06-07 19:16:23 +02:00
Jenkins nymea
b1521c8207
Merge PR #286 : Log DB schema 4
2020-06-07 19:16:23 +02:00
Jenkins nymea
3156264787
Merge PR #283 : Reject duplicate ids in plugin json
2020-06-07 19:16:23 +02:00
Jenkins nymea
60eebfc289
Merge PR #282 : Add support for generic IO connections
2020-06-07 19:16:23 +02:00
Michael Zanetti
82703de061
Fixes after testing/review
2020-06-07 19:15:39 +02:00
Michael Zanetti
cf2ce0ca27
Store state changes immediately when they change
2020-05-29 18:51:51 +02:00
Michael Zanetti
dbea7acbb2
Add an I2C hardware resource
2020-05-27 22:44:36 +02:00
Michael Zanetti
7eee989e12
Fix UPnP discovery if wifi comes up late
2020-05-27 00:08:08 +02:00
Michael Zanetti
2fa0730c90
Check for cloud certificate file before trying to connect
2020-05-13 19:07:22 +02:00
Michael Zanetti
322bcf56a6
Add support for inverting the connections
2020-05-09 19:14:02 +02:00
Michael Zanetti
4e509d75f8
Add tests, some fixes/improvements
2020-05-05 21:04:07 +02:00
Michael Zanetti
3fc4825c67
Improve networking api
...
Add support starting an AP and provide ip address info
2020-05-04 16:03:48 +02:00
Michael Zanetti
318a71725f
Fix plugins translations
2020-05-04 13:39:20 +02:00
Michael Zanetti
688cde9c9c
Fix translating thing classes
2020-05-04 12:45:45 +02:00
Michael Zanetti
bb30a451b3
New DB schema version
...
* Store plaintext values in log db again
* Use msecs precision instead of secs
* rename column deviceId to thingId
2020-05-04 11:32:42 +02:00
Michael Zanetti
28624e264d
Add support for restarting nymea in system api
2020-05-01 21:19:22 +02:00
Michael Zanetti
9f856f3ce9
Add support for generic IO connections
2020-05-01 14:43:23 +02:00
Michael Zanetti
a859be9371
Fix introspect according to how the api behaved already
2020-04-23 15:39:15 +02:00
Michael Zanetti
58c4dcb6c9
Drop internal networkmanager and use libnymea-networkmanager instead
2020-04-23 15:08:02 +02:00
Michael Zanetti
1531a38297
Make the duplicate UUID check more strict
2020-04-08 13:57:31 +02:00
Michael Zanetti
46245a2a6b
Add better messages when failing to load a plugin
2020-04-07 19:46:16 +02:00
Jenkins nymea
deba851a08
Merge PR #281 : Fix remving of things without plugin
2020-04-05 14:43:24 +02:00
Jenkins nymea
777dba7439
Merge PR #278 : Fix initialization of ScriptState values on startup
2020-04-05 14:43:24 +02:00
Jenkins nymea
59bfd9ba83
Merge PR #275 : Add a displayMessage for errors to browsing operations
2020-04-05 14:43:23 +02:00
Jenkins nymea
e64d293d2b
Merge PR #274 : Allow removal of discovered child things
2020-04-05 14:43:23 +02:00
Jenkins nymea
7c3143a9ea
Merge PR #273 : Add better error reporting when a client fails to establish the encryption channel
2020-04-05 14:43:23 +02:00
Jenkins nymea
a062ab44cf
Merge PR #272 : Fix param values getting lost in ScriptEvents
2020-04-05 14:43:23 +02:00
Michael Zanetti
6b0697182d
Fix a crash when removing a thing without plugin
2020-04-05 14:41:12 +02:00
Michael Zanetti
944c0b8b5a
Properly initialize ScriptState values
2020-04-05 11:54:32 +02:00
Michael Zanetti
045a3606a2
fix typo when refactoring
2020-04-05 11:52:09 +02:00
Michael Zanetti
d362ce913e
Add a displayMessage for errors to browsing operations
2020-03-25 00:22:34 +01:00
Michael Zanetti
b01e8c8ee4
Fix deprecation warning for notifications
2020-03-24 15:22:24 +01:00
Michael Zanetti
a53e714f25
Allow removing child things if they're not autocreated
2020-03-20 11:11:46 +01:00
Michael Zanetti
e388d46bc6
Add better error reporting if SSL fails to establish a connection
2020-03-20 10:18:29 +01:00
Michael Zanetti
8f846434b9
Fix loading of pluginmetadata
2020-03-19 18:17:39 +01:00
Michael Zanetti
d82054df5d
Fix param values getting lost in ScriptEvents
2020-03-18 18:16:00 +01:00
Michael Zanetti
16e731e5e2
fix a bug in the device handler
2020-03-17 15:32:44 +01:00
Michael Zanetti
8fd3bf8a55
Update docs
2020-03-17 13:17:05 +01:00
Michael Zanetti
a894d27a18
Update script api
2020-03-05 19:50:15 +01:00
Michael Zanetti
8208473302
bump api
2020-03-05 16:16:57 +01:00
Michael Zanetti
2fbbaeda97
More work
2020-03-03 16:54:55 +01:00
Michael Zanetti
3e425fc55b
Rename devices to integrations/things
2020-03-02 13:40:26 +01:00
Jenkins nymea
6b4640d412
Merge PR #265 : Keep devices without plugins in the system
2020-02-23 23:38:28 +01:00
Jenkins nymea
c662657ce5
Merge PR #264 : Fix ScriptAction qqmlparserstatus
2020-02-23 23:38:28 +01:00
Jenkins nymea
690031a77c
Merge PR #263 : Fix some issues reported by valgrind
2020-02-23 23:38:28 +01:00
Jenkins nymea
8165d7c9c5
Merge PR #257 : Add more detailed setup status to API
2020-02-23 23:38:28 +01:00
Jenkins nymea
bfb14fe4ae
Merge PR #256 : Cleanup Rule definition in introspection
2020-02-23 23:38:28 +01:00
Michael Zanetti
db43d2ca6c
rename file and add copyright header
2020-02-10 14:22:43 +01:00
Michael Zanetti
ee30ece5c2
Delete devices before plugins when shuttting down
2020-02-10 13:00:24 +01:00
Michael Zanetti
68e9fe1ba1
Cache device classes and keep devices with missing plugins in the system
2020-02-10 00:53:28 +01:00
Michael Zanetti
6e4a0bc84b
Add better device setup status details to api
2020-02-10 00:53:04 +01:00
Michael Zanetti
c0d0e13b71
Fix ScriptAction qqmlparserstatus
2020-02-09 19:06:44 +01:00
Michael Zanetti
b12e203572
Fix some smally memory leaks reported by valgrind
2020-02-09 15:54:23 +01:00
Michael Zanetti
fb94178920
Move authentication to Users namespace
2020-02-08 01:30:11 +01:00
Michael Zanetti
ec0aa802c5
Add more user management features
2020-02-07 00:33:00 +01:00
Jenkins nymea
845b9ab209
Merge PR #253 : Update copyright
2020-01-29 21:44:34 +01:00
Jenkins nymea
401a42a78c
Merge PR #252 : Fix crash when removing a connected transport interface
2020-01-29 21:44:34 +01:00
Jenkins nymea
59f30ad9d3
Merge PR #250 : Qt versions
2020-01-29 21:44:34 +01:00
Jenkins nymea
b7ac4ec806
Merge PR #248 : Disconnect all slots of nymea:core on shutdown
2020-01-29 21:44:34 +01:00
Jenkins nymea
ace4c70fe4
Merge PR #247 : Generate a version.h file
2020-01-29 21:44:34 +01:00
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
ba6219bfd6
Cleanup Rule definition in introspection
...
As per feedback from client development
2020-01-29 15:16:29 +01:00
Michael Zanetti
8f5536ba1a
Update copyright
2020-01-23 20:07:26 +01:00
Jenkins nymea
495b3e1ab6
Merge PR #252 : Fix crash when removing a connected transport interface
2020-01-22 23:47:15 +01:00
Jenkins nymea
02f63acb94
Merge PR #250 : Qt versions
2020-01-22 23:47:15 +01:00
Jenkins nymea
5cbace14bf
Merge PR #248 : Disconnect all slots of nymea:core on shutdown
2020-01-22 23:47:15 +01:00
Jenkins nymea
27ca2f3174
Merge PR #247 : Generate a version.h file
2020-01-22 23:47:15 +01:00
Jenkins nymea
f82bc6949c
Merge PR #245 : Use a more unique nonce for the remote connection
2020-01-22 23:47:15 +01:00
Jenkins nymea
ce4348143a
Merge PR #244 : Subscribe to the entire device namespace in nymea:cloud MQTT
2020-01-22 23:47:15 +01:00
Jenkins nymea
670bda1e28
Merge PR #243 : Update device names when changed by the plugin
2020-01-22 23:47:15 +01:00
Jenkins nymea
2d08e7a028
Merge PR #241 : Improve log DB housekeeping performance
2020-01-22 23:47:15 +01:00
Jenkins nymea
74be126d76
Merge PR #240 : Update company name
2020-01-22 23:47:15 +01:00
Jenkins nymea
e256ac034d
Merge PR #238 : Add System Time API
2020-01-22 23:47:14 +01:00
Michael Zanetti
07cf9e05ae
Fix crash when removing a connected transport interface
2020-01-22 23:43:07 +01:00
Michael Zanetti
f44b4906a5
Add Qt version info to API
2020-01-21 22:56:28 +01:00
Michael Zanetti
de0395f115
Disconnect all slots of nymea:core on shutdown
2020-01-15 14:17:01 +01:00
Michael Zanetti
a21dde0289
Generate a version.h file instead of passing it via DEFINES
2020-01-15 12:39:35 +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
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
Michael Zanetti
f1ca2a5b86
Add experience mode plugins
2019-11-01 20:46:55 +01:00
Michael Zanetti
5e3bc2acbd
Drop JsonTypes class by distributing logic to json handlers
...
This is required in order to be able to be more flexible in registering
new types/methods.
2019-11-01 20:46:55 +01:00
Michael Zanetti
03b8be22d6
Drop old REST server
2019-11-01 20:14:00 +01:00
Michael Zanetti
977247e950
Complete setup api
2019-10-31 13:09:26 +01:00
Michael Zanetti
0b5f475991
Fix typo
2019-10-19 14:13:48 +02:00
Michael Zanetti
9b1b6d86e6
Allow more granular notification subscriptions in API
2019-10-19 14:13:48 +02:00
Jenkins nymea
55011abaf9
Merge PR #219 : Add support for more media service icons
2019-10-18 14:57:23 +02:00
Jenkins nymea
d589b66e3c
Merge PR #218 : Improve live logs in debug interface and rework logging rules
2019-10-18 14:57:23 +02:00
Jenkins nymea
fa93998d5b
Merge PR #217 : Improve debug report and report download mechanism
2019-10-18 14:57:23 +02:00
Jenkins nymea
c066962a66
Merge PR #215 : Always initialize device settings params
2019-10-18 14:57:22 +02:00
Jenkins nymea
29655ad175
Merge PR #214 : MQTT hardware resource api updates
2019-10-18 14:57:22 +02:00
Jenkins nymea
c2c4b50e76
Merge PR #213 : Improve json parse errors
2019-10-18 14:57:22 +02:00
Michael Zanetti
679e51b027
Fix failing test
2019-10-17 12:21:16 +02:00
Michael Zanetti
e049c3b2f5
Don't execute actions on devices that didn't complete the setup
2019-10-17 00:07:32 +02:00
Michael Zanetti
0c7a810366
Use deviceClass.displayName to generate a device name if the user doesn't give one
2019-10-16 17:56:49 +02:00
Michael Zanetti
14bc0eb73e
fix pairing for oauth
2019-10-16 17:56:49 +02:00
Michael Zanetti
32f7f22a7d
Add a timeout to api info objects
2019-10-16 17:56:49 +02:00
Michael Zanetti
fe5af9a0f5
Make displayMessages translatable
2019-10-16 17:56:49 +02:00
Michael Zanetti
82bebeccca
move docs around
2019-10-16 17:56:49 +02:00
Michael Zanetti
7f0f2d1d09
Rework devicemanager and plugin api
2019-10-16 17:56:49 +02:00
Simon Stürz
cc858b4d0a
Fix hostname reading for Qt < 5.6
2019-10-08 16:20:20 +02:00
Simon Stürz
191936e235
Load debug categories from settings and allow configuration using debug interface
2019-10-08 16:20:20 +02:00
Simon Stürz
b4f32c073a
Add dynamic logging filter elements for core and plugins in the livelog view
2019-10-08 16:19:42 +02:00
Simon Stürz
dc6c4b88df
Prepare debug categories for the live log viewer in the debug interface
2019-10-08 16:19:42 +02:00
Simon Stürz
7d98bb37c8
Adjust live logs buttons with flexbox
2019-10-08 16:19:42 +02:00
Simon Stürz
0555449578
Add remove and copy buttons for log view
2019-10-08 16:19:42 +02:00
Simon Stürz
3655ac39de
Fix leftover QSysInfo::machineHostName for Qt < 5.6
2019-10-08 16:19:17 +02:00
Michael Zanetti
1f68389a85
Fix Browser icon definition in introspect
2019-10-08 15:51:10 +02:00
Simon Stürz
3114151f29
Fix hostname parsing for Qt < 5.6
2019-10-08 09:47:04 +02:00
Simon Stürz
79cdf8316e
Improve debug report and report download mechanism
2019-10-02 13:12:50 +02:00
Michael Zanetti
c437ef7143
Always initialize device settings params
2019-09-27 12:09:57 +02:00
Michael Zanetti
9aa98c4fa4
Also imoprove validation errros
2019-09-25 17:53:58 +02:00
Michael Zanetti
b5919a534d
Update MQTT api a bit to be more flexible
2019-09-25 15:15:44 +02:00
Michael Zanetti
bbd18b4f65
Fix a debug print to avoid spamming the log
2019-09-06 21:47:17 +02:00
Jenkins
9990ba2f6c
Merge PR #197 : Verify events coming from plugins
2019-09-02 18:01:50 +02:00
Jenkins
491ea92e2d
Merge PR #196 : Prevent plugins from being loaded twice
2019-09-02 18:01:50 +02:00
Michael Zanetti
da0b7a04f8
Verify events coming from plugins
2019-08-23 12:10:07 +02:00
Michael Zanetti
1c8f24269e
Prevent plugins from being loaded multiple times
2019-08-23 11:41:20 +02:00
Michael Zanetti
b4ae1919ba
cleanup fixes
2019-07-25 15:56:18 +02:00
Michael Zanetti
0b7176c6f4
Re-enable the default ctor for BrowseResults
...
This opens up the possibility for the plugin dev to mess up the
request id if [s]he creates a new one instead of using the one given by
the api, but not being able to keep results in a Qt container
is not a price I am willing to pay for this. After all it'S going to be
very visible on the first test to the plugin dev if this deosn't match.
2019-07-25 15:56:18 +02:00
Michael Zanetti
1608e07d99
BrowserItems in rules working
2019-07-25 15:56:18 +02:00
Michael Zanetti
0fb42681af
A little more work on browser item support for rules
2019-07-25 15:56:18 +02:00
Michael Zanetti
4e7557f964
add locale option
2019-07-25 15:56:18 +02:00
Michael Zanetti
aee554a1ee
BrowserItemActions, yay!
2019-07-25 15:56:18 +02:00
Michael Zanetti
ff337bf8b6
Make browser item execution work async too
2019-07-25 15:56:18 +02:00
Michael Zanetti
a385188d37
More work on the device browser
2019-07-25 15:56:18 +02:00
Michael Zanetti
57f68bcdc0
More work on adding a Device browser
2019-07-25 15:56:18 +02:00