69 Commits

Author SHA1 Message Date
Michael Zanetti
be90f47f63 more work on rules
disallow removing a device if a rule still refers to it unless
parameters contain information on what to do with those rules.
2019-04-01 20:48:17 +02:00
Michael Zanetti
5f61ae03a7 make DeviceManager and RuleEngine in GuhCore private
This helps to have a cleaner separation between modules and have a
place to do inter-module checks before modifying data (e.g.
cascade deleting rules when a device is deleted etc)
2019-04-01 20:48:17 +02:00
Michael Zanetti
da9c937f94 update discoveryParams from QVariantMap to QList<Param> too 2019-04-01 20:48:17 +02:00
Michael Zanetti
fcdf3e1e0b more work on the Hue plugin 2019-04-01 20:48:17 +02:00
Michael Zanetti
a6725ec4e9 add initial support for pairing devices (Only CreateMethodDiscovery and SetupMethodPushButton so far)
implement an initial Philips Hue plugin to test it
add a python script to test stuff
2019-04-01 20:47:51 +02:00
Michael Zanetti
16645498db write more tests for the rules engine.
decouple jsonrpc versioning from application versioning
2019-04-01 20:47:51 +02:00
Michael Zanetti
d2f02d650b fix eventdescriptor's paramdescriptors handling 2019-04-01 20:47:51 +02:00
Michael Zanetti
9d21f32366 allow calling AddRule with a single eventDescriptor but also with a list 2019-04-01 20:47:51 +02:00
Michael Zanetti
373af5bde5 add tests for loading/storing rules to disk 2019-04-01 20:47:51 +02:00
Michael Zanetti
08223606ee introduce StateDescriptor and StateEvaluator for use with Rules 2014-06-09 04:34:37 +02:00
Michael Zanetti
21738b3907 state changes emit events now 2014-06-08 20:52:30 +02:00
Michael Zanetti
bbd05ca7fd align jsonrpc param descriptions with the rest of the type system 2014-06-08 17:08:51 +02:00
Michael Zanetti
b07433a8b5 Add discoveryParams to DeviceClass
Fixes #12
2014-05-05 20:40:02 +02:00
Michael Zanetti
874f4b54d1 add Actions.GetActionType(actionTypeId) to JSONRPC
Fixes #10
2014-05-05 20:21:27 +02:00
Michael Zanetti
0110e3a8eb test the handshake message 2014-05-05 00:35:06 +02:00
Michael Zanetti
d84319fdcc Finish off param handling. New param structures now used everywhere.
Plugin params reworked. Added Devices.GetPluginConfiguration.
Cover params stuff with tests.
2014-05-04 23:59:08 +02:00
Michael Zanetti
edb6c956e6 drop some debug prints 2014-05-04 04:53:08 +02:00
Michael Zanetti
384690bb23 add a test for async device creation 2014-05-04 04:49:19 +02:00
Michael Zanetti
46e6642b90 added a test for device discovery 2014-05-04 03:45:50 +02:00
Michael Zanetti
7c4354a6e1 add api to do async action executions 2014-05-03 19:59:24 +02:00
Michael Zanetti
c54e289403 added a mechanism to bump the version
added a test that checks for JSONRPC api changes and enforces a version bump
2014-05-03 17:22:44 +02:00
Michael Zanetti
f7559742a4 added support for async device creation. 2014-05-03 15:10:16 +02:00
Michael Zanetti
737f6f564e make AddConfiguredDevice and RemoveConfiguredDevice more verbose
Fixes #5
2014-04-29 00:08:14 +02:00
Michael Zanetti
7c3ffbd5d6 make executeAction more verbose 2014-04-28 23:52:05 +02:00
Michael Zanetti
e4c007070f add vendorId to DeviceClass in JSONRPC
Fixes #6
2014-04-28 21:09:04 +02:00
Michael Zanetti
c1ed5054c8 bring back the welcome message
Fixes #4
2014-04-28 20:44:49 +02:00
Michael Zanetti
df001695a1 convert ActionType to use ParamType instead of variants,
extend tests
2014-04-28 20:22:17 +02:00
Michael Zanetti
d4053297c8 add eventdescriptor and paramdescriptor classes to be used with Rules 2014-04-25 00:46:10 +02:00
Michael Zanetti
2e8f031d74 Fixes #3 2014-04-24 21:47:45 +02:00
Simon Stürz
2a372dd240 added google mail notification plugin
changed licence formating
2014-04-20 18:49:39 +02:00
Michael Zanetti
807f9ccd5c fix param json api definition 2014-04-18 04:49:52 +02:00
Michael Zanetti
e312e36ab9 introduce ParamType and Param, to get more type safety and better possibilities for comparison in rules 2014-04-18 04:45:58 +02:00
Michael Zanetti
6485ebbff5 make it a little more typesafe 2014-04-18 01:48:04 +02:00
Michael Zanetti
9ab9f2314f oops 2014-04-16 01:50:08 +02:00
Michael Zanetti
fe95326a10 fix some warnings 2014-04-16 01:13:16 +02:00
Michael Zanetti
1521b2f10b improve testscript 2014-04-14 00:37:40 +02:00
Michael Zanetti
33e64038fa fix discovery response in json 2014-04-14 00:16:08 +02:00
Michael Zanetti
9bfd634cd6 improve json api 2014-04-13 23:36:20 +02:00
Michael Zanetti
c56ebcb6a2 also implement async replies 2014-04-13 22:40:49 +02:00
Michael Zanetti
a5eb0ef759 some more checks 2014-04-13 17:58:33 +02:00
Michael Zanetti
b85aa3072e fix rules again 2014-04-13 14:07:35 +02:00
Michael Zanetti
8d1c7f9c03 add createmethod and setupmethod params
add support for createmethod "auto"
add functional boblight plugin
2014-04-13 10:27:08 +02:00
Michael Zanetti
9bb71fbdfc drop old unused lines 2014-04-06 03:45:52 +02:00
Michael Zanetti
34ab701f95 add much more test coverage 2014-04-06 03:33:51 +02:00
Michael Zanetti
c027bb1481 reenable strict argument checking, now that we can mark parameters as optional 2014-04-06 01:32:46 +02:00
Michael Zanetti
913d544386 fix vendor in introspect, write a test for it 2014-04-06 00:41:38 +02:00
Michael Zanetti
76bf703fc5 add getsupportedvendors 2014-04-06 00:01:43 +02:00
Michael Zanetti
415a48d659 make things more typesafe 2014-04-05 23:37:55 +02:00
Michael Zanetti
4f679b3bc3 restructure lib a bit. added initial code for the new rules stuff 2014-04-05 22:01:38 +02:00
Michael Zanetti
cf9d460bad implemented removeconfigureddevice 2014-04-05 01:55:56 +02:00