118 Commits

Author SHA1 Message Date
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
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
Michael Zanetti
317467a05b Clean up PyStdoutHandler on shutdown 2021-03-14 20:20:59 +01:00
Michael Zanetti
9d30be2568 Add support for the plugin storage to python plugins 2021-03-08 00:47:12 +01:00
Jenkins nymea
52b8d478a7 Merge PR #395: Fix loading of JS plugins 2021-02-25 11:27:15 +01:00
Jenkins nymea
2050ac23cb Merge PR #382: Silence plugin dir debug print 2021-02-25 11:27:05 +01:00
Jenkins nymea
4348390d50 Merge PR #381: Don't crash when a python plugin fails to load 2021-02-25 11:27:04 +01:00
Michael Zanetti
dab8764584 Refresh setup status before proceeding 2021-02-24 17:42:16 +01:00
Michael Zanetti
b2f9e911ad Don't cal thingRemoved() when a thing didn't complete the setup 2021-02-20 22:56:57 +01:00
Michael Zanetti
8274550eed Fix loading of JS plugins 2021-02-20 22:11:11 +01:00
Michael Zanetti
a95b2de303 Silence plugin dir debug print
This is printed before logging filters are set because it's needed
for generating the --help text. There shouldn't be a debug print at
this place yet.
2021-01-09 11:48:59 +01:00
Michael Zanetti
3f0321f195 Don't crash when a python plugin fails to load 2021-01-09 11:38:26 +01:00
Michael Zanetti
3fb74cc9e4 Add API to configure logging/filtering by the client 2021-01-04 16:43:28 +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
5d6ca5a45a Merge PR #373: Fix memory off-by-one overflow 2020-12-21 18:01:04 +01:00
Michael Zanetti
2898a08efd Fix memory off-by-one overflow 2020-12-15 22:30:03 +01:00
Michael Zanetti
d1b57be370 Make python plugins optional during the build process 2020-11-30 20:00:04 +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
694b070f05 Merge PR #310: Add support for Python plugins 2020-10-28 19:07:25 +01:00
Jenkins nymea
db98f60556 Merge PR #309: Don't call thingRemoved() on the plugin in case of reconfiguring 2020-10-28 19:07:24 +01:00
Michael Zanetti
dcae305625 Add an API keys provider plugin mechanism 2020-10-20 19:44:47 +02:00
Michael Zanetti
befda2ec00 Revert back to qDebug, we're not ready for qInfo yet 2020-10-15 22:34:06 +02:00
Michael Zanetti
8aa2feb7c6 Make python plugins appear in the logging categories list 2020-10-15 22:34:06 +02:00
Michael Zanetti
15eead0976 Properly catch stdout and stderr and redirect it to qmessagelogger 2020-10-15 22:34:06 +02:00
Michael Zanetti
85f742a38d Add ThingActionInfo.paramValue() method 2020-10-15 22:34:06 +02:00
Michael Zanetti
e50eece45c Fix metatype registering for old Qt versions 2020-10-15 22:34:06 +02:00
Michael Zanetti
9f49187dc1 Fix tests and xenial build 2020-10-15 22:34:06 +02:00
Michael Zanetti
16c4fa3345 fix issues in teardown. 2020-10-15 22:34:06 +02:00
Michael Zanetti
d4889b5b78 Make it build with 0.23 2020-10-15 22:34:06 +02:00
Michael Zanetti
fdbdb02c16 Make it compatible with python 3.5 2020-10-15 22:34:06 +02:00