Commit Graph

799 Commits (09210d3e6d1878f9b8fa98a7a8d47c0e85f03c83)

Author SHA1 Message Date
Michael Zanetti f6da6d47a9 Properly use pkgconfig to find nymea-mqtt 2022-05-31 17:19:33 +02:00
jenkins 8a3f85ca25 Merge PR #518: Fix webserver tests 2022-05-03 23:27:15 +02:00
Simon Stürz e4ff2d9422 Update mac address test naming 2022-04-25 08:06:17 +02:00
Michael Zanetti 192bdac209 Fix webserver tests
canonicalFilePath() behavior seems to have changed at some point
and not existing files outside the public dir will return a 404
rather than a 403. Ideally the logic would be fixed to first
check for the file being outside the public directory, directly
returning a 403, then checking if the file exists, return a 404
if not, and lastly check for permissions on the file and return
a 403 again of denied. However, that would result in a bigger
change.

Also, the tests were failing all along if syslog exists but is
not readable (code is ok, just bad test) but none of our
autotesters seemed to have such a setup till now.
2022-04-23 00:23:21 +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
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 223c0c130b Merge PR #489: Make SSL certificate loading and generating more robust 2022-03-27 19:49:25 +02: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 47add31e63 Add configuration for the tunnel proxy server 2022-02-08 11:00:09 +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 2ec72b21b8 Make SSL certificate loading and generating more robust 2022-01-11 13:02:13 +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
Jenkins nymea 3d5c9b477b Merge PR #483: Add a providedInterfaces property to thingClass 2021-12-11 00:31:11 +01:00
Jenkins nymea 4b2676b5c0 Merge PR #477: Add unit ohm 2021-12-11 00:31:06 +01:00
Jenkins nymea a741b13994 Merge PR #472: Add api to set the zigbee channel during network setup 2021-12-11 00:31:01 +01:00
Jenkins nymea 16fb05d18d Merge PR #469: Add water level sensor interface 2021-12-11 00:30:59 +01:00
Michael Zanetti eee810aa4d Add api to set the zigbee channel during network setup 2021-12-09 18:17:32 +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
Michael Zanetti f2898b9fc8 Add a providedInterfaces property to thingClass 2021-11-10 12:57:28 +01:00
Michael Zanetti 7bd7e41ff2 Add unit Ohm 2021-11-02 12:22:09 +01:00
Michael Zanetti ac0ade64c5 Add water level sensor interface 2021-10-12 23:06:44 +02:00
Jenkins nymea 69577f985d Merge PR #461: Use pkgconfig to find zigbee also for tests 2021-10-04 12:10:43 +02:00
Michael Zanetti 883c2e1c2a Use pkgconfig to find zigbee also for tests 2021-09-08 14:26:54 +02:00
Jenkins nymea 87dcd7484d Merge PR #450: Silence some spamming debug messages from project files 2021-09-06 09:05:00 +02:00
Michael Zanetti 886f5c49f6 Add O2, PH, ORP, CO and flammable gas sensor interfaces 2021-08-20 23:57:22 +02:00
Michael Zanetti 3a44714e34 Silence some spamming debug messages from project files 2021-08-06 19:57:37 +02:00
Jenkins nymea ae92eb562b Merge PR #437: Add thingClassId to thingDescriptors json 2021-07-06 17:18:31 +02:00
Jenkins nymea 8ff3d8766c Merge PR #390: Modbus RTU hardware resource 2021-07-06 17:18:15 +02:00
Michael Zanetti 7f2261d769 Add thingClassId to thingDescriptors json 2021-06-27 00:40:33 +02:00
Simon Stürz 856c352a43 Bump JSON API version and update api.json 2021-06-08 15:52:44 +02:00
Michael Zanetti 2731adc5c5 Bump jsonrpc api version 2021-06-07 22:16:38 +02:00
Simon Stürz 0cff50dc2c Update api.json to newest modbus changes 2021-06-06 00:43:37 +02:00
Simon Stürz d3f446e7f9 Update json rpc introspect 2021-06-06 00:43:37 +02:00
Simon Stürz 9967b1007d Add new namespace to the JSON RPC test 2021-06-06 00:43:37 +02:00
Simon Stürz 8d944fe007 Bump JSONRPC version 2021-06-06 00:43:37 +02:00
Simon Stürz 673bce61ff Initialize modbus manager and clean up class hirarchy 2021-06-06 00:43:37 +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 167187a4fb Fix some includes to be more flexible on finding headers 2021-05-11 22:41:42 +02:00
Jenkins nymea c9af1280aa Merge PR #410: Add support for storing application data on the core 2021-04-19 11:38:30 +02:00
Jenkins nymea 10ae50cf53 Merge PR #408: Add device serial number to system api 2021-04-19 11:38:29 +02:00
Jenkins nymea 6f6bce5dae Merge PR #407: Rename forgotten deviceParams in ThingDescriptor 2021-04-19 11:38:28 +02:00
Jenkins nymea 8f9376eda1 Merge PR #402: Rework battery interface 2021-04-19 11:38:22 +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