118 Commits

Author SHA1 Message Date
Simon Stürz
40182978e0 Implement webserver resource mechanism 2025-11-19 09:56:22 +01:00
Simon Stürz
360e287619 Add thing added and removed logic depending on users thing permission 2025-11-19 09:47:00 +01:00
Simon Stürz
71cd3561b6 UserManager: Update user database and migrate to version 2 2025-11-19 09:45:54 +01:00
Simon Stürz
4d170061fd Update license text and add SPDX identifier 2025-11-17 16:42:41 +01:00
jenkins
628c2c9be7 Merge PR #688: core: Fix shutdown crash and improve application logging 2024-12-20 13:39:07 +01:00
jenkins
cc3e531b2b Merge PR #672: Debug JSONRPC API handler 2024-12-20 13:39:02 +01:00
jenkins
318da58f45 Merge PR #670: Add systemd notify support 2024-12-20 13:39:01 +01:00
Simon Stürz
ffaa53b04d Add debug API to JSONRPC 2024-12-20 10:06:35 +01:00
Simon Stürz
a31daf7742 core: Fix shutdown crash and improve application logging
Signed-off-by: Simon Stürz <simon.stuerz@nymea.io>
2024-11-25 14:50:40 +01:00
Simon Stürz
bad240025d Add systemd notify support 2024-03-26 08:43:12 +01:00
Simon Stürz
512ea502c1 Stop nymea time manager before shutdown the daemon 2024-03-26 08:23:21 +01:00
Simon Stürz
84dca158b3 LogEngine: provide possibility to disable the log engine 2023-08-22 09:21:03 +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
Michael Zanetti
7c4b6494bb Drop old nymea:cloud support 2022-12-01 16:37:51 +01:00
jenkins
d0e4811849 Merge PR #581: Improve warning information in thing manager 2022-10-25 02:37:11 +02:00
Michael Zanetti
22e75b08df Add Thing and Things types to script engine 2022-10-13 15:18:06 +02:00
Simon Stürz
a3b3eecde8 Update debug prints and improve information given by warnings 2022-10-13 12:07:20 +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
Simon Stürz
0615808ee4 Provide access to the experience manager and offer possiblity for loading own plugin instance 2022-08-05 15:46:01 +02:00
jenkins
2098203f73 Merge PR #537: Fix additional interface command line parameter 2022-06-30 15:04:38 +02:00
Michael Zanetti
785f8cf43c Fix additional interface command line parameter 2022-06-10 17:20:50 +02:00
Michael Zanetti
8efe92e421 Explicitly destroy experiences on shutdown
Fixes an occational crash if an experience accesses
the thingmanager while it is being shut down.
2022-05-13 11:26:47 +02: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
343d4a8c86 Remove cloud push notifications
Note: This doesn't remove 100% of the related code yet, just keeps
the minimum required to emit autoThingDisappeared() for all the
things and clean up users setups.

The rest of the CloudNotifications class code shall be removed
with 0.31 (or soonish after that).
2021-11-18 00:12:05 +01:00
Simon Stürz
675782997c Move modbus RTU classes into hardware source code section 2021-06-06 00:43:37 +02:00
Simon Stürz
72a0db6d0d Implement ModbusRtu JSONRPC API 2021-06-06 00:43:37 +02:00
Simon Stürz
673bce61ff Initialize modbus manager and clean up class hirarchy 2021-06-06 00:43:37 +02:00
Michael Zanetti
ae38e185b6 more work... not really working yet 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
8f27d36698 Merge PR #375: Reorder shutdown 2020-12-21 18:01:07 +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
2d132ab57e Merge PR #346: Add ZigBee hardware resource and network management 2020-12-21 18:00:42 +01:00
Jenkins nymea
48bbe244a7 Merge PR #344: Add a command line argument for additional server interfaces 2020-12-21 18:00:41 +01:00
Michael Zanetti
5e409be5b8 Reorder shutdown
The server manager might be used by things, so we need to destroy things first
2020-12-16 01:28:22 +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
bfc4476019 allow the same plugin fetching a zigbeenode multiple times
inform the zigbeemanager about things finishing loading
2020-11-16 22:18:19 +01:00
Michael Zanetti
57ec37712a tell the zigbee resource when we're done loading things 2020-11-16 17:58:13 +01:00
Simon Stürz
255a6dc090 Move zigbeemanager include into the cpp 2020-11-16 14:50:16 +01:00
Simon Stürz
c3508acc23 Pass nodes into the zigbee resource and implement available for resource 2020-11-06 18:36:22 +01:00
Simon Stürz
fb74df8f81 Start integrating zigbee into nymea 2020-11-06 18:34:54 +01:00
Michael Zanetti
61a07c3bb1 Add a command line argument for additional server interfaces 2020-10-27 09:44:00 +01:00
Michael Zanetti
c7f957f201 some more python plugin work 2020-10-15 22:34:06 +02:00
Jenkins nymea
70c9c7f495 Merge PR #323: Fix cleanig up tags that are not needed any more 2020-08-14 13:09:34 +02:00
Jenkins nymea
bd0072e48f Merge PR #307: Loggingcategories 2020-08-14 13:09:34 +02:00
Michael Zanetti
1066e768c9 Fix cleaning up of tags that are not needed any more 2020-08-13 17:40:08 +02:00
Michael Zanetti
75afab7eaf Add nymea logging categories as opposed to just Qt ones 2020-06-17 14:32:35 +02:00
Michael Zanetti
021f2479d9 Vaguely inform the plugin about the origin of actions.
Fixes #277
2020-06-16 17:49:41 +02:00
Jenkins nymea
94152ebe78 Merge PR #287: Drop internal networkmanager and use libnymea-networkmanager instead 2020-06-07 19:16:23 +02:00