583 Commits

Author SHA1 Message Date
Michael Zanetti
568bbc6972 Smaller fixes in the NetworkDiscovery
Fixes a theoretical memory leak (m_cacheSettings wasn't delete)
which isn't really an issue in practice but valgrind complains on it.

Fixes a typo: m_reties -> m_retries
2022-06-20 13:16:42 +02:00
Simon Stürz
2dbd8c47ba Add ping retry feature and provide it to the monitor 2022-06-20 13:16:42 +02:00
jenkins
f33d674d3c Merge PR #529: Provide access to the network device discovery cache 2022-06-16 00:20:52 +02:00
jenkins
d44776111e Merge PR #528: Properly use pkgconfig to find nymea-mqtt 2022-06-16 00:20:50 +02:00
jenkins
79e8c52765 Merge PR #527: Print a better warning when setStateValue() is called with a wrong name 2022-06-16 00:20:49 +02:00
jenkins
45c20c56cc Merge PR #526: Fix Things filter by param method 2022-06-16 00:20:47 +02:00
jenkins
03efba295e Merge PR #524: Add alarm and firesensor interfaces 2022-06-16 00:20:46 +02:00
jenkins
c52e2ef6b8 Merge PR #522: Fix allowedValues for battery interface 2022-06-16 00:20:44 +02:00
Simon Stürz
289998af32 Align cache updated signal with method wording 2022-06-02 14:09:23 +02:00
Simon Stürz
08d4599f01 Provide access to the network device discovery cache 2022-06-02 14:07:35 +02:00
Michael Zanetti
f6da6d47a9 Properly use pkgconfig to find nymea-mqtt 2022-05-31 17:19:33 +02:00
Michael Zanetti
48095b2ced Print a better warning when setStateValue() is called with a wrong name 2022-05-31 17:17:52 +02:00
Michael Zanetti
6da1c70e5b Add alarm and fire seonsor interfaces 2022-05-31 17:16:42 +02:00
Simon Stürz
964edeee5d Things filter by param 2022-05-23 16:10:12 +02:00
Michael Zanetti
2a62ab17d4 Fix allowedValues for battery interface 2022-05-13 11:26:32 +02:00
Michael Zanetti
bbc585e92e Fix filters genering wrong data types
When enabling a jitter filter on integer states (e.g. a signal
strength that repeatedly jumps up and down by 1), old code
may cause integer state to be populated with floating point values
as the filtering happens after the intial validation for the new
value being valid.
2022-05-13 11:25:48 +02:00
jenkins
dbcbbfcf97 Merge PR #515: Allow modbus RTU plugins to request a connection reset 2022-05-03 23:27:13 +02:00
jenkins
eec7566d50 Merge PR #512: Remove smartmeterconsumer from evcharger 2022-05-03 23:27:09 +02:00
Simon Stürz
1d04da6205 Make sure the ping timer exists to prevent crash if not available 2022-04-26 16:45:07 +02:00
Simon Stürz
f3760ff84a Fix networkdevicemonitor virtual destructor 2022-04-26 11:17:12 +02:00
Simon Stürz
66d62b87de Update debug categories and use qInfo, fix vietual destructor for the monitor 2022-04-25 17:07:48 +02:00
Simon Stürz
76b7bc1267 Fix ping crash if the host address is not valid 2022-04-25 15:27:35 +02:00
Simon Stürz
c59185672f Add mac address class and unit tests
Finish updated network discovery
Improve ARP and monitor handling
Introduce network device info cache housekeeping
2022-04-13 11:08:29 +02:00
Simon Stürz
14ea1bef4a Restructure network discovery and add discovery 2022-04-13 11:08:00 +02:00
Michael Zanetti
9b7e5e469d Allow modbus RTU plugins to request a connection reset 2022-04-06 23:28:54 +02:00
Michael Zanetti
ffd0c7d690 Remove smartmeterconsumer from evcharger 2022-04-04 15:45:42 +02:00
Jenkins nymea
8b87cf674f Merge PR #505: Fix crash for long taking mac address lookup 2022-03-27 19:49:44 +02:00
Jenkins nymea
20956525b3 Merge PR #498: Add discoveryType thing class property 2022-03-27 19:49:35 +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
443dbfb42b Merge PR #494: Split thing cache into individual files 2022-03-27 19:49:30 +02:00
Jenkins nymea
86c6026690 Merge PR #493: Fix some interface definitions (minimum/maximum vs min/max) 2022-03-27 19:49:28 +02:00
Simon Stürz
64d347d921 Fix crash for long taking mac address loockup 2022-03-21 12:49:51 +01:00
Michael Zanetti
5323ab2631 Add discoveryType thing class property
Some plugins may support network discovery, but may not be able to clearly
identify a device and return a list of discovery results that may
be the device, but also may not. As this breaks some app flows they
will be marked as "weak" discovery and can be excluded from said setup
wizards.

NOTE: This commit does not bump the API version even though it should
to avoid merge conflicts with other branches that do bump the version.
2022-02-10 17:38:01 +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
6ab4d49ee1 Add multi user support 2022-02-08 10:36:14 +01:00
Michael Zanetti
717b4f33cc Remove deprecated Devices, Action, Events, States namespaces from JSONRPC 2022-02-08 00:29:07 +01:00
Michael Zanetti
ecac5d9dc9 Fix some interface definitions (minimum/maximum vs min/max) 2022-02-02 14:35:12 +01:00
Jenkins nymea
3d5c9b477b Merge PR #483: Add a providedInterfaces property to thingClass 2021-12-11 00:31:11 +01:00
Jenkins nymea
b8e58511b9 Merge PR #482: Add more "by name" thing methods and c++11 list_initializers for lists 2021-12-11 00:31:10 +01:00
Jenkins nymea
77218553ae Merge PR #481: Add flag handling methods for the JSON RPC handler. 2021-12-11 00:31:09 +01:00
Jenkins nymea
4b2676b5c0 Merge PR #477: Add unit ohm 2021-12-11 00:31:06 +01:00
Jenkins nymea
b969f5f4fa Merge PR #474: Add phase count and session energy state to the evcharger interface 2021-12-11 00:31:04 +01:00
Jenkins nymea
020a2e968a Merge PR #473: Add min charging current to the electricvehicle interface 2021-12-11 00:31:03 +01:00
Jenkins nymea
4f7a81e2dc Merge PR #471: Add charging state to evcharger interface 2021-12-11 00:31:00 +01:00
Jenkins nymea
16fb05d18d Merge PR #469: Add water level sensor interface 2021-12-11 00:30:59 +01:00
Jenkins nymea
8e16b26d09 Merge PR #468: Add heat pump interfaces 2021-12-11 00:30:58 +01:00
Jenkins nymea
00cfb88a74 Merge PR #464: Add support for dynamic min/max state values 2021-12-11 00:30:57 +01:00
Jenkins nymea
9bd4aa2a32 Merge PR #463: Add energystorage interface 2021-12-11 00:30:55 +01:00
Michael Zanetti
262e490b9b Add more "by name" thing methods and c++11 list_initializers for lists 2021-12-09 18:00:18 +01:00