29 Commits

Author SHA1 Message Date
Michael Zanetti
65736e1034 Fix suggestLogging property not working for eventTypes 2022-11-05 19:04:31 +01:00
Michael Zanetti
f398cd3379 Remove displayNameEvent property from stateTypes 2022-08-07 12:53:38 +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
Jenkins nymea
3d5c9b477b Merge PR #483: Add a providedInterfaces property to thingClass 2021-12-11 00:31:11 +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
d1e4aaaaa2 Allow [u]ints to be used with analog IO connections 2021-06-16 00:54:45 +02: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
Boernsman
f4b4e72e3a added debug output for unknown units 2021-02-02 14:11:12 +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
Jenkins nymea
58ba2c9733 Merge PR #360: Allow building the plugininfocompiler standalone 2020-12-21 18:00:54 +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
b1ede004b3 Improve parameter validation for interface actions and events 2020-11-28 14:51:28 +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
c7f957f201 some more python plugin work 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
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
Jenkins nymea
3156264787 Merge PR #283: Reject duplicate ids in plugin json 2020-06-07 19:16:23 +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
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