648 Commits

Author SHA1 Message Date
jenkins
a2d8a5f90c Merge PR #627: Fix method to convert phases from string 2023-02-21 17:43:42 +01:00
jenkins
44209a24c1 Merge PR #623: NetworkDeviceMonitor: Fix initial reachable state using internal caches 2023-02-21 17:43:38 +01:00
jenkins
9355694c24 Merge PR #620: Refactor NymeaCore class 2023-02-21 17:43:34 +01:00
jenkins
5d3492c788 Merge PR #617: Require min/max values for pressuresensors 2023-02-21 17:43:31 +01:00
jenkins
f27299d263 Merge PR #615: Require min/max values for co2sensors 2023-02-21 17:43:29 +01:00
jenkins
0477ce4507 Merge PR #612: Enable logging for thermostat states 2023-02-21 17:43:25 +01:00
jenkins
e248bffcf2 Merge PR #611: Add information for initialSetup and reconfigure to ThingSetupInfo 2023-02-21 17:43:23 +01:00
Simon Stürz
bba746c83c Fix method to convert phases from string 2023-02-10 22:15:30 +01:00
Simon Stürz
1ac8802035 NetworkDeviceMonitor: Fix initial reachable state using internal caches 2023-02-01 23:47:32 +01:00
Michael Zanetti
92197cb97c Refactor NymeaCore class
This moves all the things and rules logic away from NymeaCore
into their respective modules where it belongs.

One major change is the removal of the removePolicy functionality.
This was somewhat broken as it was only working for rules but not
for all the other modules like scripts, experiences etc. After
an attempt to create something that works with all modules it
really seemed that this does not make a lot of sence after all,
given that updating rules would in most cases leave something
very broken behind and removing them was the only sane thing to do.

On the other hand, experience plugins may not work well with such
a policy eithre as they may require to do their own special thing.

So in the end the removePolicy was dropped altogether. Apps should
instead figure out themselves what removal of a thing may imply and
inform the user about that beforehand.
2023-01-24 17:56:04 +01:00
Michael Zanetti
fea635edcf Require min/max values for pressuresensors 2023-01-12 22:52:39 +01:00
Michael Zanetti
08c0a09957 Require min/max values for co2sensors 2022-12-31 12:35:41 +01:00
Michael Zanetti
8e0c8eda41 Enable logging for thermostat states 2022-12-24 21:09:10 +01:00
Michael Zanetti
66ca0afa1f Add information for initialSetup and reconfigure to ThingSetupInfo 2022-12-14 23:39:29 +01:00
jenkins
1d268e2205 Merge PR #608: Add vibrationsensor interface 2022-12-13 21:05:06 +01:00
jenkins
375c513186 Merge PR #601: Allow registering lists of ThingId on json rpc 2022-12-13 21:05:00 +01:00
jenkins
66c606aa10 Merge PR #600: NetworkDeviceDiscovery: wait for pending MAC address manufacturer lookups before finishing a discovery 2022-12-13 21:04:59 +01:00
jenkins
6cce82c088 Merge PR #591: Allow registering list types without their contained objects on JSONRPC 2022-12-13 21:04:55 +01:00
jenkins
8bd402d808 Merge PR #590: Fix suggestLogging property not working for eventTypes 2022-12-13 21:04:54 +01:00
jenkins
f22d1e55a4 Merge PR #589: Add a childlock interface 2022-12-13 21:04:52 +01:00
Simon Stürz
6a08de4763 Ping: Clean up replies properly if they get deleted before finished 2022-12-12 11:12:11 +01:00
Michael Zanetti
bbc8e54ebc Add vibrationsensor interface 2022-12-06 22:56:13 +01:00
Simon Stürz
da6d7b8efe Speed up ping, inform about unfinished ping replies and abort on timeout 2022-12-05 08:55:48 +01:00
Michael Zanetti
289362fefc Allow registering lists of ThingId on json rpc 2022-11-12 23:59:25 +01:00
Michael Zanetti
0dee8d44de Allow registering list types without their contained objects on JSONRPC 2022-11-06 01:32:57 +01:00
Michael Zanetti
65736e1034 Fix suggestLogging property not working for eventTypes 2022-11-05 19:04:31 +01:00
jenkins
6008303b5b Merge PR #583: Rework air quliaty interfaces 2022-10-25 02:37:14 +02:00
jenkins
d0e4811849 Merge PR #581: Improve warning information in thing manager 2022-10-25 02:37:11 +02:00
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
57b3c84b8f Add a childlock interface 2022-10-23 23:00:14 +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
Simon Stürz
a3b3eecde8 Update debug prints and improve information given by warnings 2022-10-13 12:07:20 +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