250 Commits

Author SHA1 Message Date
Simon Stürz
0070d7e3dd Update PlatformUpdateController implementation
Introduce UpdateType for PlatformUpdateController implementations
Add optional update progress
Bump JSON-RPC API version to version 8.5
2026-02-19 14:35:20 +01:00
jenkins
9898fbd6f1 Merge PR #726: Introduce optional stepSize for StateTypes and ParamTypes 2026-01-19 10:09:54 +01:00
Simon Stürz
106a30498e Add value clamping for Param and State values 2026-01-08 11:50:37 +01:00
Simon Stürz
9865265a5d Add optional stepSize for numeric StateTypes and ParamTypes 2026-01-07 15:19:43 +01:00
Simon Stürz
662e313bd8 Add admin methods for user management 2025-11-19 09:47:01 +01:00
Simon Stürz
82fe7c7ae3 Bump JSON RPC Api to 8.4 2025-11-19 09:46:17 +01:00
Simon Stürz
cf681c15c6 Bump API version to 8.3 2025-10-13 16:31:45 +02:00
jenkins
482f64f3ab Merge PR #686: NetworkManager: add wireless device capabilities 2024-12-20 13:39:06 +01:00
Simon Stürz
8744903325 Update JSON RPC API to 8.2 2024-12-20 10:06:40 +01:00
Simon Stürz
f013619a45 NetworkManager: add wireless device capabilities 2024-10-18 14:21:53 +02:00
Michael Zanetti
4b3ec64e58 Make possibleValues for states dynamic and translatable 2023-08-01 10:45:41 +02:00
jenkins
21061e91a0 Merge PR #637: Rework the log engine to use influxdb instead of sql 2023-05-23 11:49:12 +02:00
jenkins
2cd6db2b8f Merge PR #630: Add location setting 2023-05-23 11:49:05 +02:00
Michael Zanetti
4e509841b0 Rework the log engine to use influxdb instead of sql 2023-05-08 23:38:34 +02:00
jenkins
4c29386bbd Merge PR #629: Drop cloud settings which aren't used any more 2023-02-21 17:43:45 +01:00
jenkins
9f4c3bc27a Merge PR #628: Allow users with ControlThings permission to read things logs 2023-02-21 17:43:44 +01:00
Michael Zanetti
3a8fa74fcf Add location information to NymeaConfiguration 2023-02-18 22:35:02 +01:00
Michael Zanetti
15bcff1e6f Drop cloud settings which aren't used any more
Actually not bumping the jsonrpc version which in theory is a violation,
however, the largest part of this has been gone already with the bump to
7.0 and no known client applications are using this anways any more.
2023-02-16 14:07:35 +01:00
Michael Zanetti
5ea014a507 Allow users with ControlThings permission to read things logs 2023-02-13 14:29:03 +01: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
15ab9c06d1 Merge PR #606: Drop old nymea:cloud support 2022-12-13 21:05:05 +01:00
Michael Zanetti
7c4b6494bb Drop old nymea:cloud support 2022-12-01 16:37:51 +01:00
Michael Zanetti
9296c1183c Fix permissions for tags and appdata
This ties those namespaces to the things permissions but won't
allow having different tags/appdata per user, which arguably would
be desirable. However, that's currently not that straight forward
to do, as at the moment there is no way to direct jsonrpc notifications
to a single user.
2022-11-30 15:30:50 +01:00
jenkins
6008303b5b Merge PR #583: Rework air quliaty interfaces 2022-10-25 02:37:14 +02:00
jenkins
1d5144fb66 Merge PR #582: Add API to configure the wired network 2022-10-25 02:37:13 +02:00
Michael Zanetti
7c7955b66b Rework air quliaty interfaces
Removes the indoorairquality and airquality interfaces as the
plugin isn't the right place for these sort of voncersion.
Instead, this PR specifies the individual compounds that
for the base for air quality measurements and ties them down
to export raw data.

It's the client apps responsibility to translate those values
into Air Quality Index scales based on the location of user. I.e.
while Europe would use the CAQI (Common Air Quality Index), the
US would use the EPA AQI etc.
2022-10-17 23:00:39 +02:00
Michael Zanetti
b4eca2a94f Add API to interact with ZigBee bindings 2022-10-13 11:05:04 +02:00
Michael Zanetti
1fc4c7f2d7 Expose Zigbee neighbor and routing tables to jsonrpc 2022-10-13 10:59:24 +02:00
Michael Zanetti
baab4ed8c6 Add API to configure the wired network 2022-10-06 13:41:30 +02:00
jenkins
f3b9441861 Merge PR #549: Add support for Z-Wave 2022-08-26 12:57:56 +02:00
Michael Zanetti
a8b02a4869 Add support for Z-Wave 2022-08-26 00:28:56 +02:00
Michael Zanetti
c004c0d81d Make thingclassId optional in AddThing() when there's already a ThingDescriptor 2022-07-28 19:55:32 +02:00
Jenkins nymea
20956525b3 Merge PR #498: Add discoveryType thing class property 2022-03-27 19:49:35 +02:00
Jenkins nymea
d83fed97d8 Merge PR #496: Don't generate events for state changes any more 2022-03-27 19:49:32 +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
47add31e63 Add configuration for the tunnel proxy server 2022-02-08 11:00:09 +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
Jenkins nymea
4b2676b5c0 Merge PR #477: Add unit ohm 2021-12-11 00:31:06 +01:00
Jenkins nymea
a741b13994 Merge PR #472: Add api to set the zigbee channel during network setup 2021-12-11 00:31:01 +01:00
Jenkins nymea
16fb05d18d Merge PR #469: Add water level sensor interface 2021-12-11 00:30:59 +01:00
Michael Zanetti
eee810aa4d Add api to set the zigbee channel during network setup 2021-12-09 18:17:32 +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
7bd7e41ff2 Add unit Ohm 2021-11-02 12:22:09 +01:00
Michael Zanetti
ac0ade64c5 Add water level sensor interface 2021-10-12 23:06:44 +02:00
Michael Zanetti
886f5c49f6 Add O2, PH, ORP, CO and flammable gas sensor interfaces 2021-08-20 23:57:22 +02:00
Jenkins nymea
ae92eb562b Merge PR #437: Add thingClassId to thingDescriptors json 2021-07-06 17:18:31 +02:00