Commit Graph

84 Commits (1f35ddbff5ccb020401bf770071cc32daaaf7ccf)

Author SHA1 Message Date
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 6ab4d49ee1 Add multi user support 2022-02-08 10:36:14 +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
Simon Stürz 1e2df2eb7c Fix copy constructor of Action class 2021-10-01 15:13:00 +02:00
Simon Stürz 26cb281524 Fix action copy operator 2021-10-01 14:42:03 +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 e6780d947d Add support for browsing in the python plugin api 2021-04-06 23:56:31 +02:00
Michael Zanetti 3fb74cc9e4 Add API to configure logging/filtering by the client 2021-01-04 16:43:28 +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 2c94506867 Merge PR #355: Add paramValue() methods to Action and Event 2020-12-21 18:00:48 +01:00
Michael Zanetti b9be92df2e Add state based value comparison in rules 2020-12-04 16:16:55 +01:00
Michael Zanetti a8453418cc Add paramValue() convenience functions to be in line with stateValue() api 2020-11-21 20:17:14 +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 3296d4b417 more work 2020-10-15 22:34:06 +02:00
Michael Zanetti 0cbd1ff5ec Clenaup and polish types. 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 399f406d10 fixes 2020-07-27 19:38:21 +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 021f2479d9 Vaguely inform the plugin about the origin of actions.
Fixes #277
2020-06-16 17:49:41 +02:00
Michael Zanetti 9f856f3ce9 Add support for generic IO connections 2020-05-01 14:43:23 +02:00
Michael Zanetti dfc593358d Add Radio Paradise icon support in the browser 2020-03-17 13:18:00 +01:00
Michael Zanetti 8208473302 bump api 2020-03-05 16:16:57 +01:00
Michael Zanetti 3e425fc55b Rename devices to integrations/things 2020-03-02 13:40:26 +01:00
Michael Zanetti 8f5536ba1a Update copyright 2020-01-23 20:07:26 +01:00
Michael Zanetti 2ad30eca94 Add support for a Bluetooth Media icon 2020-01-16 12:40:00 +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 baaa719b6a Restructuring json done 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
Jenkins nymea 55011abaf9 Merge PR #219: Add support for more media service icons 2019-10-18 14:57:23 +02:00
Michael Zanetti 7f0f2d1d09 Rework devicemanager and plugin api 2019-10-16 17:56:49 +02:00
Michael Zanetti f65b49bf61 Add media icons to mock 2019-10-08 17:24:09 +02:00
Michael Zanetti 9b6453b85e Add mroe media service icons 2019-10-08 17:24:09 +02:00
Michael Zanetti b5b38f287f Add missing method 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 692bf6cf96 typo fix 2019-07-25 15:56:18 +02:00
Michael Zanetti aee554a1ee BrowserItemActions, yay! 2019-07-25 15:56:18 +02:00
Michael Zanetti 968f1fe2fa intermediate commit 2019-07-25 15:56:18 +02:00
Michael Zanetti f0e8e5a609 bump version 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