Commit Graph

17 Commits (eb2863ae78bee826f67248d8d7481465f6e14008)

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
Michael Zanetti 30a0469212 Update tests 2021-01-02 14:33:15 +01:00
Michael Zanetti b9be92df2e Add state based value comparison in rules 2020-12-04 16:16:55 +01:00
Michael Zanetti 2fbbaeda97 More work 2020-03-03 16:54:55 +01:00
Michael Zanetti 3e425fc55b Rename devices to integrations/things 2020-03-02 13:40:26 +01:00
Michael Zanetti 8f5536ba1a Update copyright 2020-01-23 20:07:26 +01:00
Michael Zanetti 51f5538772 Improve the PIC to detect duplicate UUIDs, give metter messages. Clean up mock plugin. 2019-07-15 22:55:11 +02:00
Michael Zanetti d24abfe3d0 Move devicemanager's implementation out of libnymea into libnymea-core 2019-07-15 22:52:52 +02:00
Simon Stürz beb00aa0f1 Implement autodevice reconfigure in mock plugin and prepare tests 2019-04-10 13:12:25 +02:00
Michael Zanetti 156ff84888 some more improvements, while at it 2019-04-08 13:55:15 +02:00
Michael Zanetti 6cf060aa93 fix an issue where state values in rules could be casted wrong from string to double 2019-04-08 13:55:15 +02:00
Michael Zanetti abd2305bc0 add support for paramTypes by name 2019-04-08 13:55:15 +02:00
Michael Zanetti b8a86b095d copyright headers guh -> nymea 2019-04-08 13:55:15 +02:00
Michael Zanetti 58c83e9072 add support for interface based rules 2019-04-08 13:55:15 +02:00
Michael Zanetti 562e7aa89d update how id names are generated
include the deviceClass/plugin name in all defines to avoid collisions
between deviceClasses within the same file. So far this hasn't
really been an issue because using idName we could set random ids.

Now interfaces dictate the names, so having multiple deviceClasses
in one file and both implementing the same interface would clash.

This also should improve readability in the plugins code as we won't
have ids like: "bridgeConnected" and "connected" available which
easily causes the developer to accidentally use "connected" where
instead "bridgeConnected" should be used (I actually found some
bugs like this while updating plugins for this). The new style
would force those states to be named like e.g. "bridgeConnected"
and "lightConnected" which are not as easy to mix up.
2019-04-08 13:55:15 +02:00
Michael Zanetti ec5bedf774 add a test for deviceDisappeared 2019-04-02 01:02:45 +02:00
Michael Zanetti 195fb2ba63 removed all plugins, except the mock one which is required for testing 2019-04-02 01:02:45 +02:00