Commit Graph

25 Commits (ffaa53b04dc709b496a09a9819c2cd74fc119733)

Author SHA1 Message Date
Michael Zanetti 4b3ec64e58 Make possibleValues for states dynamic and translatable 2023-08-01 10:45:41 +02:00
Michael Zanetti 4e509841b0 Rework the log engine to use influxdb instead of sql 2023-05-08 23:38:34 +02:00
Michael Zanetti 92197cb97c Refactor NymeaCore class
This moves all the things and rules logic away from NymeaCore
into their respective modules where it belongs.

One major change is the removal of the removePolicy functionality.
This was somewhat broken as it was only working for rules but not
for all the other modules like scripts, experiences etc. After
an attempt to create something that works with all modules it
really seemed that this does not make a lot of sence after all,
given that updating rules would in most cases leave something
very broken behind and removing them was the only sane thing to do.

On the other hand, experience plugins may not work well with such
a policy eithre as they may require to do their own special thing.

So in the end the removePolicy was dropped altogether. Apps should
instead figure out themselves what removal of a thing may imply and
inform the user about that beforehand.
2023-01-24 17:56:04 +01:00
jenkins 942c41bc0b Merge PR #548: Allow apps to cache the GetPlugins call on JsonRpc 2022-08-26 12:57:55 +02:00
Michael Zanetti c004c0d81d Make thingclassId optional in AddThing() when there's already a ThingDescriptor 2022-07-28 19:55:32 +02:00
Michael Zanetti 69fee48c23 Allow apps to cache the GetPlugins call on JsonRpc 2022-07-28 17:41:42 +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 6ab4d49ee1 Add multi user support 2022-02-08 10:36:14 +01:00
Jenkins nymea 77218553ae Merge PR #481: Add flag handling methods for the JSON RPC handler. 2021-12-11 00:31:09 +01:00
Michael Zanetti df5d3550ba Add support for dynamic min/max state values 2021-12-09 17:59:52 +01:00
Simon Stürz 1fc896def2 Add flag handling methods for the JSON RPC handler. 2021-11-05 18:49:20 +01:00
Michael Zanetti 3fb74cc9e4 Add API to configure logging/filtering by the client 2021-01-04 16:43:28 +01:00
Michael Zanetti ae38e185b6 more work... not really working yet 2021-01-02 14:33:15 +01:00
Michael Zanetti 4a41df3cf6 Allow filtering GetThingClasses for thingClassIds 2020-12-03 12:00:47 +01: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 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 9f856f3ce9 Add support for generic IO connections 2020-05-01 14:43:23 +02:00
Michael Zanetti d362ce913e Add a displayMessage for errors to browsing operations 2020-03-25 00:22:34 +01:00
Michael Zanetti 8fd3bf8a55 Update docs 2020-03-17 13:17:05 +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