617 Commits

Author SHA1 Message Date
jenkins
439b320cbe Merge PR #576: Network device discovery: create reply for each discovery request 2022-10-25 02:37:04 +02:00
jenkins
3e5e9ac738 Merge PR #574: Add Thing and Things types to script engine 2022-10-25 02:37:03 +02:00
jenkins
0a571a63a9 Merge PR #566: Align gassensor interface wording 2022-10-25 02:36:58 +02:00
jenkins
264b0362f6 Merge PR #558: Fix a potential info->aborted() call after the plugin called info->finish() 2022-10-25 02:36:56 +02:00
Michael Zanetti
22e75b08df Add Thing and Things types to script engine 2022-10-13 15:18:06 +02:00
Simon Stürz
5471a5da34 Network device discovery: create reply for each discovery request 2022-10-03 11:28:18 +02:00
Michael Zanetti
884dd2874f Align gassensor interface wording 2022-09-05 23:14:26 +02:00
jenkins
62e0cd3195 Merge PR #563: Add electricity helper class to libnymea 2022-08-26 12:58:12 +02:00
jenkins
03a44665d4 Merge PR #556: Add optional boost state to thermostats 2022-08-26 12:58:07 +02:00
jenkins
0ba8120923 Merge PR #555: Add lock/unlock actions to smartlock interface 2022-08-26 12:58:05 +02:00
jenkins
e2544bdfda Merge PR #554: Remove displayNameEvent property from stateTypes 2022-08-26 12:58:04 +02:00
jenkins
c8760863d0 Merge PR #552: Check Info objects for finished after aborting them 2022-08-26 12:58:01 +02:00
jenkins
1f67787ca6 Merge PR #550: Fix logging level indicator character for debug prints 2022-08-26 12:57:58 +02:00
jenkins
f3b9441861 Merge PR #549: Add support for Z-Wave 2022-08-26 12:57:56 +02:00
jenkins
ed7926f84e Merge PR #545: Add connected property to MqttChannel 2022-08-26 12:57:51 +02:00
Simon Stürz
2fcd200812 Add electricity helper class to libnymea 2022-08-26 12:12:20 +02:00
Michael Zanetti
a8b02a4869 Add support for Z-Wave 2022-08-26 00:28:56 +02:00
Michael Zanetti
3c7e05501e Fix a potential info->aborted() call after the plugin called info->finish()
It can happen that a plugin calls finish() in a slot which normally would be dispatched before the timeout
but due to high system load the slot is invoked only after the timeout. This in turn would cause Qt to also queue up
this timeout slot and by the time the system processes slots, the plugin comes in first and we'd fire an aborted()
signal in the plugin after it called finish(), potentially badly breaking the plugin as a plugin developer would not
expect this to happen. So we'll have to verify here that the plugin did not finish() by now before aborting.
2022-08-10 23:34:58 +02:00
Michael Zanetti
09210d3e6d Add optional boost state to thermostats
nymea:app already implements this and many plugins do too. Apparently
most of the radiator thermostats support this, so it's worth making it
part of the interface.
2022-08-08 12:26:56 +02:00
Michael Zanetti
119605ab13 Add lock/unlock actions to smartlock interface 2022-08-08 12:23:44 +02:00
Michael Zanetti
f398cd3379 Remove displayNameEvent property from stateTypes 2022-08-07 12:53:38 +02:00
Simon Stürz
4ef0b68027 Add connected property to MqttChannel 2022-08-05 15:53:47 +02:00
Michael Zanetti
7633cfe9fa Check Info objects for finished abert aborting them
This gives plugin developers a chance to finish() an info on their
own in an aborted() handler and set a custom error code and
displayMessage without causing a "finishing an already finished object"
warning.
2022-08-04 18:34:21 +02:00
Michael Zanetti
1f35ddbff5 Fix logging level indicator character for debug prints 2022-08-01 20:05:38 +02:00
Simon Stürz
ecaa0c8dc5 Update discovery and action timeouts and make JSONRPC timeout the last timeout 2022-07-21 16:27:11 +02:00
jenkins
eb32e2274a Merge PR #539: Add phaseCount state to electricvehicle interface 2022-06-30 15:04:39 +02:00
jenkins
a0186a0fb6 Merge PR #533: Add support for CoIoT 2022-06-30 15:04:37 +02:00
jenkins
48d5a182c6 Merge PR #531: Some fixes in Coap 2022-06-30 15:04:35 +02:00
Michael Zanetti
57048dd6e9 Add support for CoIoT
CoIoT is a shelly specific extensions to CoAP:
It adds a new Request code which is not part of the CoAP spec
as well as using CoAP multicast (which is part of CoAP).

This commit
* renames "statusCode" to "reqRspCode" which describes
the actual field more precisely as it is in fact a Request or Response
code, not a status code.
* Allows joining multicast groups, by default using the CoAP specified
multicast address.
* Allows setting custom Request codes in requests, as well as
processing the PDUs Request/response code by the client.
2022-06-30 10:16:20 +02:00
Michael Zanetti
62644650c0 Some fixes in Coap
* Fixed an indexOutOfRange warning when creating coap requests
  because the first addOption() call was calling
  m_options.insert(1) on an empty list.

* Old code was appending multiple UDP datagrams to a single big Coap
  message, however, Coap is specified to only send s single datagram
  per message. The datagram length specifies the payload size.

* some boolean member variables weren't initialized which resulted in
  occational wrong flags.

* Parsing had issues with determining the option length in some occations
  and also would crash when receiving coap messages without any options
  or payload. To get rid of the complex and erraneous index calculations,
  the entire package parsing is now using a DataStream.

(This makes it work with Shelly devices)
2022-06-30 10:15:31 +02:00
Simon Stürz
6bb36a773b Make sure the ping replies get cleaned up from queues 2022-06-29 12:47:55 +02:00
Simon Stürz
c398f7ab2f Fix ping requestId and sequence number endiness from and to the network 2022-06-29 12:25:09 +02:00
Michael Zanetti
8d50955bcc Add phaseCount state to electricvehicle interface 2022-06-27 12:37:44 +02:00
Simon Stürz
0d20cf7816 Hold reference count of monitor objects
Make host lookup optional
Cleanup pending ping on monitor unregister
2022-06-20 16:58:05 +02:00
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