817 Commits

Author SHA1 Message Date
jenkins
6008303b5b Merge PR #583: Rework air quliaty interfaces 2022-10-25 02:37:14 +02:00
jenkins
1d5144fb66 Merge PR #582: Add API to configure the wired network 2022-10-25 02:37:13 +02:00
jenkins
8c67dd8bd8 Merge PR #580: Remove extern plugin info from testlib header 2022-10-25 02:37:10 +02:00
jenkins
3e5e9ac738 Merge PR #574: Add Thing and Things types to script engine 2022-10-25 02:37:03 +02:00
jenkins
094c32ecf1 Merge PR #572: Add API to interact with ZigBee bindings 2022-10-25 02:37:01 +02:00
jenkins
68c0fad975 Merge PR #564: Expose Zigbee neighbor tables to jsonrpc 2022-10-25 02:36:57 +02:00
Michael Zanetti
7c7955b66b Rework air quliaty interfaces
Removes the indoorairquality and airquality interfaces as the
plugin isn't the right place for these sort of voncersion.
Instead, this PR specifies the individual compounds that
for the base for air quality measurements and ties them down
to export raw data.

It's the client apps responsibility to translate those values
into Air Quality Index scales based on the location of user. I.e.
while Europe would use the CAQI (Common Air Quality Index), the
US would use the EPA AQI etc.
2022-10-17 23:00:39 +02:00
Michael Zanetti
22e75b08df Add Thing and Things types to script engine 2022-10-13 15:18:06 +02:00
Michael Zanetti
b4eca2a94f Add API to interact with ZigBee bindings 2022-10-13 11:05:04 +02:00
Michael Zanetti
1fc4c7f2d7 Expose Zigbee neighbor and routing tables to jsonrpc 2022-10-13 10:59:24 +02:00
Michael Zanetti
baab4ed8c6 Add API to configure the wired network 2022-10-06 13:41:30 +02:00
Simon Stürz
41a5d2caf0 nymea testbase: remove extern plugin info from testlib header 2022-10-03 15:17:29 +02:00
Michael Zanetti
327fba5797 Fix creating rules without giving action params that have a default value 2022-09-07 20:25:33 +02:00
jenkins
f3b9441861 Merge PR #549: Add support for Z-Wave 2022-08-26 12:57:56 +02:00
jenkins
c4ea75a809 Merge PR #540: Provide experience manager access in core instance 2022-08-26 12:57:45 +02:00
Michael Zanetti
a8b02a4869 Add support for Z-Wave 2022-08-26 00:28:56 +02:00
Simon Stürz
3e1e7b5a01 Update nymea-tests and provide libnymea-tests as development package 2022-08-05 15:33:18 +02:00
Michael Zanetti
c004c0d81d Make thingclassId optional in AddThing() when there's already a ThingDescriptor 2022-07-28 19:55:32 +02:00
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