559 Commits

Author SHA1 Message Date
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
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
Michael Zanetti
df5d3550ba Add support for dynamic min/max state values 2021-12-09 17:59:52 +01:00
Simon Stürz
b03d4d155a Fix json typo in simple heat pump interface 2021-11-16 16:48:55 +01:00
Simon Stürz
cd42d6b7dc Inhert simple heat pump from power interface 2021-11-16 14:41:49 +01:00
Simon Stürz
17371bdb7c Fix JSON typo in heatpump interface 2021-11-11 11:05:24 +01:00
Michael Zanetti
f2898b9fc8 Add a providedInterfaces property to thingClass 2021-11-10 12:57:28 +01:00
Simon Stürz
e8e66c9b7f Add optional common states for heat pumps 2021-11-10 08:11:19 +01:00
Simon Stürz
1fc896def2 Add flag handling methods for the JSON RPC handler. 2021-11-05 18:49:20 +01:00
Michael Zanetti
7bd7e41ff2 Add unit Ohm 2021-11-02 12:22:09 +01:00
Michael Zanetti
b5768c8bf0 Fix a wrong error message from the plugininfocompiler 2021-11-02 11:02:53 +01:00
Simon Stürz
81c1ba94d3 Update max charging current to uint 2021-10-28 08:05:52 +02:00
Simon Stürz
442f33e50d Allign minimal charging current to system naming 2021-10-27 17:34:34 +02:00
Simon Stürz
b5dc78d9d3 Add session energy as optional sate for ev charger 2021-10-22 14:06:17 +02:00
Simon Stürz
4ac016396a Add phase count state to the evcharger interface 2021-10-22 12:20:56 +02:00
Simon Stürz
49a03580be Make minimal charging current writable 2021-10-22 12:08:48 +02:00
Simon Stürz
29ee1b48f0 Add minimal charging current to electricvehicle interface 2021-10-22 12:06:20 +02:00
Michael Zanetti
aec7400ad0 Add charging state to evcharger interface 2021-10-19 13:40:51 +02:00
Michael Zanetti
ac0ade64c5 Add water level sensor interface 2021-10-12 23:06:44 +02:00
Simon Stürz
1b385dd038 Add heat pump interfaces 2021-10-12 10:11:29 +02:00
Michael Zanetti
19b1657f21 Make currentPower mandatory for smartmeters 2021-10-07 14:10:58 +02:00
Michael Zanetti
20b13bc3ed Enforce smartmeterconsumer on evchargers 2021-10-07 14:10:58 +02:00
Michael Zanetti
4b4bef2885 Adjust unit for energystorage 2021-10-07 14:10:58 +02:00
Michael Zanetti
d01fb7d16a Log producers/consumers totals 2021-10-07 14:10:58 +02:00
Michael Zanetti
d8acacf322 Add capacity state 2021-10-07 14:10:58 +02:00
Michael Zanetti
500f6c6cef Add energystorage interface 2021-10-07 14:10:58 +02:00