41 Commits

Author SHA1 Message Date
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
Jenkins nymea
e5e670753e Merge PR #357: Fix state change signal 2020-12-21 18:00:51 +01:00
Michael Zanetti
f1fa59c535 Fix initialisation of the global logging category variable
Just accessing the raw variable doesn't guarantee the order
of construction and may lead to crashes in certain constellations.
2020-12-14 23:38:17 +01:00
Michael Zanetti
a11a219bbf Prevent multiple finish calls on API objects
Bad plugin implementations might call finish() more than once
which is not expected by receivers of the finished() signal and
may cause weird side effects.
2020-12-14 23:38:17 +01:00
Michael Zanetti
c31b99b04e Add a rudimentary mechanism for plugins to provide service data 2020-12-14 23:37:59 +01:00
Michael Zanetti
d999d1c715 Allow building the plugininfocompiler standalone
This is required to be able to build a "native" version of the pic
without having to build all the dependencies pulled in by the
HardwareManager.
2020-12-14 23:37:43 +01:00
Michael Zanetti
12eef39013 Fix potential wrong state signal
Make sure to emit the very same value we store
2020-12-06 23:33:23 +01:00
Michael Zanetti
b1ede004b3 Improve parameter validation for interface actions and events 2020-11-28 14:51:28 +01:00
Jenkins nymea
1f652ed78c Merge PR #342: Force full linking of plugins at build time 2020-10-28 19:07:40 +01:00
Jenkins nymea
c956988f32 Merge PR #341: Add an API keys provider plugin mechanism 2020-10-28 19:07:39 +01:00
Jenkins nymea
618d1589f8 Merge PR #333: Allow states, events and actions in interfaces to be optional 2020-10-28 19:07:32 +01:00
Michael Zanetti
dcae305625 Add an API keys provider plugin mechanism 2020-10-20 19:44:47 +02:00
Michael Zanetti
07b8515870 Force full linking of plugins at build time 2020-10-19 13:07:19 +02:00
Michael Zanetti
e50eece45c Fix metatype registering for old Qt versions 2020-10-15 22:34:06 +02:00
Michael Zanetti
a90841401c more work 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
125aee7153 Some more python plugin stuff 2020-10-15 22:34:06 +02:00
Michael Zanetti
49bbd64434 Allow states, events and actions in interfaces to be optional 2020-09-20 23:32:15 +02:00
Jenkins nymea
768b6a877e Merge PR #314: Fix conversion of values 2020-08-14 13:09:34 +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
Michael Zanetti
f029184651 Allow emitting events from things directly 2020-06-16 16:16:23 +02:00
Jenkins nymea
7337105073 Merge PR #291: Fix thing class translations 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
Michael Zanetti
82703de061 Fixes after testing/review 2020-06-07 19:15:39 +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
688cde9c9c Fix translating thing classes 2020-05-04 12:45:45 +02:00
Michael Zanetti
9f856f3ce9 Add support for generic IO connections 2020-05-01 14:43:23 +02:00
Michael Zanetti
1531a38297 Make the duplicate UUID check more strict 2020-04-08 13:57:31 +02:00
Michael Zanetti
d362ce913e Add a displayMessage for errors to browsing operations 2020-03-25 00:22:34 +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