85 Commits

Author SHA1 Message Date
jenkins
264b0362f6 Merge PR #558: Fix a potential info->aborted() call after the plugin called info->finish() 2022-10-25 02:36:56 +02:00
jenkins
e2544bdfda Merge PR #554: Remove displayNameEvent property from stateTypes 2022-08-26 12:58:04 +02:00
Michael Zanetti
3c7e05501e Fix a potential info->aborted() call after the plugin called info->finish()
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.
2022-08-10 23:34:58 +02:00
Michael Zanetti
f398cd3379 Remove displayNameEvent property from stateTypes 2022-08-07 12:53:38 +02:00
Michael Zanetti
7633cfe9fa Check Info objects for finished abert aborting them
This gives plugin developers a chance to finish() an info on their
own in an aborted() handler and set a custom error code and
displayMessage without causing a "finishing an already finished object"
warning.
2022-08-04 18:34:21 +02:00
jenkins
79e8c52765 Merge PR #527: Print a better warning when setStateValue() is called with a wrong name 2022-06-16 00:20:49 +02:00
jenkins
45c20c56cc Merge PR #526: Fix Things filter by param method 2022-06-16 00:20:47 +02:00
Michael Zanetti
48095b2ced Print a better warning when setStateValue() is called with a wrong name 2022-05-31 17:17:52 +02:00
Simon Stürz
964edeee5d Things filter by param 2022-05-23 16:10:12 +02:00
Michael Zanetti
bbc585e92e Fix filters genering wrong data types
When enabling a jitter filter on integer states (e.g. a signal
strength that repeatedly jumps up and down by 1), old code
may cause integer state to be populated with floating point values
as the filtering happens after the intial validation for the new
value being valid.
2022-05-13 11:25:48 +02:00
Jenkins nymea
20956525b3 Merge PR #498: Add discoveryType thing class property 2022-03-27 19:49:35 +02:00
Michael Zanetti
5323ab2631 Add discoveryType thing class property
Some plugins may support network discovery, but may not be able to clearly
identify a device and return a list of discovery results that may
be the device, but also may not. As this breaks some app flows they
will be marked as "weak" discovery and can be excluded from said setup
wizards.

NOTE: This commit does not bump the API version even though it should
to avoid merge conflicts with other branches that do bump the version.
2022-02-10 17:38:01 +01:00
Michael Zanetti
2a91dad1f0 Don't generate events for state changes any more
Up until now, nymea would generate EventTypes for every StateType
as well as emit an Event (along with a StateChanged notification) for
every change. This results in a lot of duplicated network traffic
which is of not much use. The StateChanged notification contains
all the information in the Event too and nymea:app actually never
really used Events for state changes.

This commit removes the events from the ThingClass, making it a lot
smaller and stops emitting Events for state changes.

As this is breaking the behavior, the JSONRPC API major version
is bumped.
2022-02-08 10:38:41 +01:00
Michael Zanetti
717b4f33cc Remove deprecated Devices, Action, Events, States namespaces from JSONRPC 2022-02-08 00:29:07 +01:00
Jenkins nymea
3d5c9b477b Merge PR #483: Add a providedInterfaces property to thingClass 2021-12-11 00:31:11 +01:00
Michael Zanetti
262e490b9b Add more "by name" thing methods and c++11 list_initializers for lists 2021-12-09 18:00:18 +01:00
Michael Zanetti
df5d3550ba Add support for dynamic min/max state values 2021-12-09 17:59:52 +01:00
Michael Zanetti
f2898b9fc8 Add a providedInterfaces property to thingClass 2021-11-10 12:57:28 +01:00
Michael Zanetti
b5768c8bf0 Fix a wrong error message from the plugininfocompiler 2021-11-02 11:02:53 +01:00
Michael Zanetti
15faf72785 Add more methods to get to states by name instead of id 2021-07-13 12:27:16 +02:00
Jenkins nymea
0404240fb7 Merge PR #438: Add a getter method for thing classes to plugin api 2021-07-06 17:18:32 +02:00
Jenkins nymea
ae92eb562b Merge PR #437: Add thingClassId to thingDescriptors json 2021-07-06 17:18:31 +02:00
Jenkins nymea
cdedaca2b7 Merge PR #436: Add some convenience methods to access states/stateTypes by name 2021-07-06 17:18:30 +02:00
Michael Zanetti
7f2261d769 Add thingClassId to thingDescriptors json 2021-06-27 00:40:33 +02:00
Michael Zanetti
3774a4adc9 Add some convenience methods to access states/stateTypes ba name 2021-06-25 13:48:44 +02:00
Michael Zanetti
f08cd6b09f Add a getter method for thing classes to plugin api 2021-06-25 13:47:10 +02:00
Michael Zanetti
d1e4aaaaa2 Allow [u]ints to be used with analog IO connections 2021-06-16 00:54:45 +02:00
Michael Zanetti
c74ca7cbe6 Also disable it for plugins 2021-05-11 16:13:43 +02:00
Jenkins nymea
c9af1280aa Merge PR #410: Add support for storing application data on the core 2021-04-19 11:38:30 +02:00
Jenkins nymea
6f6bce5dae Merge PR #407: Rename forgotten deviceParams in ThingDescriptor 2021-04-19 11:38:28 +02:00
Jenkins nymea
c5864b8428 Merge PR #405: Add support CONFIG+=asan for building with address sanitizer 2021-04-19 11:38:26 +02:00
Jenkins nymea
84fe40b3e3 Merge PR #401: Add support for the plugin and api key storage to python plugins 2021-04-19 11:38:21 +02:00
Michael Zanetti
60de0a3eed Add support for storing application data on the core 2021-04-07 00:23:19 +02:00
Michael Zanetti
394e3cc615 Rename forgotten deviceParams in ThingDescriptor 2021-03-17 23:26:23 +01:00
Michael Zanetti
b92897600c Add support CONFIG+=asan for building with address sanitizer 2021-03-14 21:48:36 +01:00
Michael Zanetti
9d30be2568 Add support for the plugin storage to python plugins 2021-03-08 00:47:12 +01:00
Michael Zanetti
1b33015354 Also include big jumps in the calculation for the standard deviation 2021-03-05 22:22:18 +01:00
Jenkins nymea
5cf6267c4b Merge PR #388: Plugininfocompiler: Add debug output for unknown units 2021-02-25 11:27:09 +01:00
Michael Zanetti
29f88d744d Fix suggestLogging property for plugin devs 2021-02-24 13:41:41 +01:00
Michael Zanetti
5bcda4c25b Add missing license headers 2021-02-03 00:42:32 +01:00
Boernsman
f4b4e72e3a added debug output for unknown units 2021-02-02 14:11:12 +01:00
Michael Zanetti
3fb74cc9e4 Add API to configure logging/filtering by the client 2021-01-04 16:43:28 +01:00
Michael Zanetti
32eb6d6dd7 tune filter 2021-01-03 21:58:10 +01:00
Michael Zanetti
eeb1feade0 Add a jitter filtering mechanism 2021-01-02 14:33:15 +01:00
Michael Zanetti
ae38e185b6 more work... not really working yet 2021-01-02 14:33:15 +01:00
Michael Zanetti
56448543df An attempt to make it configurable 2021-01-02 14:33:15 +01:00
Michael Zanetti
5f1855ff44 Don't log all states by default any more 2021-01-02 14:33:15 +01:00
Jenkins nymea
9b076a9873 Merge PR #370: Prevent multiple finish calls on API objects 2020-12-21 18:00:59 +01:00
Jenkins nymea
c9dd8551b2 Merge PR #361: Add a rudimentary mechanism for plugins to provide service data 2020-12-21 18:00:55 +01:00
Jenkins nymea
58ba2c9733 Merge PR #360: Allow building the plugininfocompiler standalone 2020-12-21 18:00:54 +01:00