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
jenkins
9355694c24
Merge PR #620 : Refactor NymeaCore class
2023-02-21 17:43:34 +01:00
jenkins
8cb4a264e9
Merge PR #618 : Use dynamic min/max values for io connections
2023-02-21 17:43:33 +01:00
jenkins
e248bffcf2
Merge PR #611 : Add information for initialSetup and reconfigure to ThingSetupInfo
2023-02-21 17:43:23 +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
Michael Zanetti
937b032f3c
Use dynamic min/max values for io connections
2023-01-12 22:54:25 +01:00
Michael Zanetti
66ca0afa1f
Add information for initialSetup and reconfigure to ThingSetupInfo
2022-12-14 23:39:29 +01:00
jenkins
ff1a841352
Merge PR #603 : Fix a crash when the same plugin file is loaded twice
2022-12-13 21:05:02 +01:00
Michael Zanetti
5f8f8b2e62
Fix a crash when the same plugin file is loaded twice
...
If the same directory is passed twice QPluginLoader
would return the same object for the instance() call.
Deleting that would lead to deleting the instance for
the originally loaded plugin too.
2022-11-25 11:17:02 +01:00
Michael Zanetti
a7e1ffca1f
Make init call for python plugins blocking
...
We don't want to run setupThing() before init() is completed.
This also matches with how C++ plugins work.
Fixes #598
2022-11-09 15:12:18 +01:00
jenkins
d59a6edd27
Merge PR #584 : Allow to override default paths using new env variable
2022-10-25 02:37:15 +02:00
jenkins
d0e4811849
Merge PR #581 : Improve warning information in thing manager
2022-10-25 02:37:11 +02:00
jenkins
3e5e9ac738
Merge PR #574 : Add Thing and Things types to script engine
2022-10-25 02:37:03 +02:00
Michael Zanetti
22e75b08df
Add Thing and Things types to script engine
2022-10-13 15:18:06 +02:00
Simon Stürz
6734de4b45
Allow to override default paths using new env variable and rename additional paths to *EXTRA_PATH
2022-10-13 15:16:18 +02:00
Simon Stürz
a3b3eecde8
Update debug prints and improve information given by warnings
2022-10-13 12:07:20 +02:00
Michael Zanetti
a28e90ebd4
Fix PyStdOutHandler class name in python engine
2022-09-11 20:38:48 +02:00
jenkins
878a9f9042
Merge PR #553 : Fix a python plugin crash when trying to login with empty credentials
2022-08-26 12:58:02 +02:00
Michael Zanetti
fc8c9df40e
Fix a python plugin crash when trying to login with empty credentials
2022-08-07 12:29:48 +02:00
Simon Stürz
ecaa0c8dc5
Update discovery and action timeouts and make JSONRPC timeout the last timeout
2022-07-21 16:27:11 +02:00
Michael Zanetti
db65beb202
Migrate pluginid in thing settings when a thing class moves between plugins
2022-05-13 11:27:21 +02:00
jenkins
7bc4d2ec2a
Merge PR #508 : Add support for listing and removing entries to PyPluginStorage
2022-05-03 23:27:04 +02:00
jenkins
1a06fabda2
Merge PR #507 : Add support for datetime objects to pluginStorage in python plugins
2022-05-03 23:27:03 +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
Jenkins nymea
013c94a907
Merge PR #495 : Fix cleaning up things when a setup fails in python plugins
2022-03-27 19:49:31 +02:00
Michael Zanetti
1befe6166f
Add support for removing entries and listing child keys in PyPluginStorage
2022-03-23 00:23:40 +01:00
Michael Zanetti
b77b9a7bb6
Add support for datetime objects to pluginStorage in python plugins
2022-03-22 10:48:58 +01:00
Michael Zanetti
7bfb48feac
Split thing state cache into individual files
2022-02-09 12:04:08 +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
2596eb46b6
Fix cleaning up things when a setup fails in python plugins
2022-02-06 19:47:44 +01:00
Jenkins nymea
8c2d3e8c42
Merge PR #486 : Fix a double-free when shutting down the python engine.
2021-12-11 00:31:15 +01:00
Michael Zanetti
df5d3550ba
Add support for dynamic min/max state values
2021-12-09 17:59:52 +01:00
Michael Zanetti
74029c94a6
Fix a double-free when shutting down the python engine.
...
Python_AddObject() will steal the reference and delete it. Since we
deleted m_logger ourselves too, a double free would corrupt memory
on nymea shutdown.
This would cause tests to crash when restarting the core within
a single process by restartServer()
2021-12-09 13:28:14 +01:00
Jenkins nymea
f8645357b0
Merge PR #458 : Fix myThings() not being updated before thingRemoved in python plugins
2021-09-06 09:05:08 +02:00
Michael Zanetti
59011c0387
Add PluginTimer API to python plugins
2021-08-26 14:15:43 +02:00
Michael Zanetti
0e916ebbf7
Fix myCount() not being updated before thingRemoved in python plugins
2021-08-25 00:57:08 +02:00
Jenkins nymea
449b5c4cd5
Merge PR #417 : Add more param getter functions to the python api
2021-07-06 17:18:17 +02:00
Jenkins nymea
d15d2f510d
Merge PR #423 : Fix erraneous state changes during thing setup
2021-05-21 15:13:52 +02:00
Michael Zanetti
1e008fd60d
Fix erraneous state changes during thing setup
2021-05-19 16:11:31 +02:00
Michael Zanetti
2b9b8cf725
Fix a threading related crash in python plugin param handling
2021-05-11 16:34:36 +02:00
Michael Zanetti
e7a5cf854b
Add more param getter functions to the python api
2021-05-08 20:43:59 +02:00
Jenkins nymea
e43af9a49d
Merge PR #411 : Add parentId member to pyThingDescriptor
2021-04-19 11:38:31 +02:00
Jenkins nymea
07327b8bb4
Merge PR #406 : Add browsing support to python plugin API
2021-04-19 11:38:27 +02:00
Jenkins nymea
d35765cb72
Merge PR #404 : Clean up PyStdoutHandler on shutdown
2021-04-19 11:38:25 +02:00
Jenkins nymea
84fe40b3e3
Merge PR #401 : Add support for the plugin and api key storage to python plugins
2021-04-19 11:38:21 +02:00
Jenkins nymea
a81b484635
Merge PR #396 : Don't call thingRemoved() when a thing didn't complete the setup
2021-04-19 11:38:17 +02:00
Michael Zanetti
8887e13d2e
Add parentId member to pyThingDescriptor
2021-04-08 00:57:35 +02:00
Michael Zanetti
e6780d947d
Add support for browsing in the python plugin api
2021-04-06 23:56:31 +02:00
Michael Zanetti
193c647dc6
Also add api key storage api to python
2021-03-14 20:41:30 +01:00