Commit Graph

671 Commits (a31daf7742c868fd579d88da37f28ab1740950f5)

Author SHA1 Message Date
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
Jenkins nymea eaab3032a7 Merge PR #465: Fix action copy operator 2021-10-04 12:10:44 +02:00
Jenkins nymea 51c02e350a Merge PR #460: Make use of gpio classes from libnymea-gpio 2021-10-04 12:10:41 +02:00
Simon Stürz 1e2df2eb7c Fix copy constructor of Action class 2021-10-01 15:13:00 +02:00
Simon Stürz 26cb281524 Fix action copy operator 2021-10-01 14:42:03 +02:00
Jenkins nymea bbdbd01613 Merge PR #454: Add an electricvehicle interface 2021-09-06 09:05:05 +02:00
Jenkins nymea 3080360d3a Merge PR #453: Add a plugged in state to evcharger interface 2021-09-06 09:05:04 +02:00
Jenkins nymea e3b1f38902 Merge PR #452: Add a solar inverter interface 2021-09-06 09:05:03 +02:00
Jenkins nymea 4de0713f69 Merge PR #449: Force unit on humidity sensor interface 2021-09-06 09:04:59 +02:00
Jenkins nymea 96868c0073 Merge PR #444: Add more methods to get to states by name instead of id 2021-09-06 09:04:57 +02:00
Jenkins nymea 7be2efa25b Merge PR #443: Update energymeter interface 2021-09-06 09:04:56 +02:00
Simon Stürz f993b0b68e Make use of gpio classes from libnymea-gpio 2021-09-04 19:10:35 +02:00
Simon Stürz 32cec935b4 Better handling for single phase meters 2021-08-26 12:45:20 +02:00
Michael Zanetti d15234f086 enable logging for total consumption/production 2021-08-26 12:08:28 +02:00
Simon Stürz 65e1fb746b Enable energymeter interface for single and split phase meters 2021-08-26 08:58:34 +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 9aef331330 Add an electricvehicle interface 2021-08-09 23:17:27 +02:00
Michael Zanetti ea84a2046a Add a plugged in state to evcharger interface 2021-08-09 16:18:46 +02:00
Michael Zanetti 34f73f7998 Add a solar inverter interface 2021-08-09 15:06:54 +02:00
Michael Zanetti ab2b1fa4a0 Force unit on humidity sensor interface 2021-08-06 19:54:49 +02:00
Michael Zanetti 15faf72785 Add more methods to get to states by name instead of id 2021-07-13 12:27:16 +02:00
Michael Zanetti 1e97ba3c50 Don't make energymeter inherit from smartmeterproducer/consumer 2021-07-12 12:38:21 +02:00
Jenkins nymea 61b411a180 Merge PR #439: Rework smartmeter interfaces 2021-07-06 17:18:33 +02:00
Jenkins nymea 0404240fb7 Merge PR #438: Add a getter method for thing classes to plugin api 2021-07-06 17:18:32 +02:00
Jenkins nymea ae92eb562b Merge PR #437: Add thingClassId to thingDescriptors json 2021-07-06 17:18:31 +02:00
Jenkins nymea cdedaca2b7 Merge PR #436: Add some convenience methods to access states/stateTypes by name 2021-07-06 17:18:30 +02:00
Jenkins nymea c1d1348c4d Merge PR #435: Add support for QList<QDateTime> -> [time_t] conversion to JSON 2021-07-06 17:18:29 +02:00
Jenkins nymea 9ee21cb443 Merge PR #434: Allow [u]ints to be used with analog IO connections 2021-07-06 17:18:27 +02:00
Jenkins nymea 98b17b9e7e Merge PR #433: Add flow rate control support to the ventilation interface 2021-07-06 17:18:26 +02:00
Jenkins nymea 02390650ba Merge PR #432: Network device discovery 2021-07-06 17:18:25 +02:00
Jenkins nymea fa4883238d Merge PR #427: Add more flexible createChannel API to the MQTT provider resource 2021-07-06 17:18:19 +02:00
Jenkins nymea d73cc79adc Merge PR #426: Add air quality interfaces 2021-07-06 17:18:18 +02:00
Michael Zanetti c574c9d522 Add support for QList<QDateTime> -> [time_t] conversion in the json handler 2021-07-02 18:50:21 +02:00
Michael Zanetti 2ed9d18c90 Rework smartmeter interfaces 2021-07-01 23:55:58 +02:00
Simon Stürz 1adbcb72ba Set raw socket capabilities into postinstall script for allowing users to use network device discovery within nymead 2021-06-30 13:54:51 +02:00
Simon Stürz b3fb5b44d7 Make use of system data location for searching the mac address database 2021-06-28 13:51:25 +02:00
Simon Stürz 19e21b9dd4 Add network device discovery result sorting by ip address 2021-06-28 13:51:25 +02:00
Simon Stürz cbb7a2a7f1 Add ARP cache loading and rename to networkdeviceinfo 2021-06-28 13:51:25 +02:00
Simon Stürz cbeac35059 Add arp socket traffic debug category 2021-06-28 13:51:25 +02:00
Simon Stürz 4065a471b7 Fix host lookup after successfull ping 2021-06-28 13:51:25 +02:00
Simon Stürz aaa09162a5 Add nymea-data package and install mac-addresses.db 2021-06-28 13:51:25 +02:00
Simon Stürz 9b65f6a41e Allow plugins to loock up mac address manufactureres 2021-06-28 13:51:25 +02:00
Simon Stürz 60de7e5c45 Add mac address database and build tool 2021-06-28 13:51:25 +02:00
Simon Stürz 08aae83a00 Add network device discovery to the hardware manager 2021-06-28 13:51:25 +02:00
Simon Stürz 7b4a13be75 Add ARP socket 2021-06-28 13:51:25 +02:00
Simon Stürz c3bb9a14b0 Add ping utils 2021-06-28 13:51:25 +02:00
Michael Zanetti 7f2261d769 Add thingClassId to thingDescriptors json 2021-06-27 00:40:33 +02:00
Michael Zanetti 3774a4adc9 Add some convenience methods to access states/stateTypes ba name 2021-06-25 13:48:44 +02:00
Michael Zanetti f08cd6b09f Add a getter method for thing classes to plugin api 2021-06-25 13:47:10 +02:00
Michael Zanetti d1e4aaaaa2 Allow [u]ints to be used with analog IO connections 2021-06-16 00:54:45 +02:00
loosrob 9b994916a1 Add flow rate control support to the ventilation interface 2021-06-16 00:53:39 +02:00
Simon Stürz becd6c3374 Fix debug print for modbus RTU master and try to connect masters after loading them 2021-06-06 00:43:37 +02:00
Simon Stürz 11f62d0555 Add timeout and number of retries to the modbus RTU master and propagate the settings to the API 2021-06-06 00:43:37 +02:00
Simon Stürz 16382eb620 Fix RTU masters not connecting after system restart 2021-06-06 00:43:37 +02:00
Simon Stürz a69b819373 Implement modbus resource siganls and improve connected state notifications 2021-06-06 00:43:37 +02:00
Simon Stürz af7948dc1e Implement add/remove/reconfigure for modbus rtu manager 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
Simon Stürz d6e5347666 Implement loading and saving of modbus hardware resources and finish the RTU master implementation 2021-06-06 00:43:37 +02:00
Simon Stürz 01262b43e9 Add basic structure of the resource and start implement modbus rtu master 2021-06-06 00:43:37 +02:00
Simon Stürz b4d97080bd Add basic modbus rtu hardware resource structure 2021-06-06 00:43:37 +02:00
Michael Zanetti f8f2cf8fc2 Add more flexible createChannel API to the MQTT provider resource 2021-05-28 16:31:00 +02:00
Simon Stürz 8067a3abfd Add air quality interfaces 2021-05-21 08:10:00 +02:00
Michael Zanetti c74ca7cbe6 Also disable it for plugins 2021-05-11 16:13:43 +02:00
Jenkins nymea 6d3952c2f4 Merge PR #413: Use PKGCONFIG for the mqtt include 2021-04-19 11:38:34 +02:00
Jenkins nymea bbcc6a462f Merge PR #412: Drop lastSeenTime from presence sensor 2021-04-19 11:38:32 +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 07327b8bb4 Merge PR #406: Add browsing support to python plugin API 2021-04-19 11:38:27 +02:00
Jenkins nymea c5864b8428 Merge PR #405: Add support CONFIG+=asan for building with address sanitizer 2021-04-19 11:38:26 +02:00
Jenkins nymea 8d2ebedbdf Merge PR #403: Add a cleaning robot interface 2021-04-19 11:38:24 +02:00
Jenkins nymea 8f9376eda1 Merge PR #402: Rework battery interface 2021-04-19 11:38:22 +02:00
Jenkins nymea 84fe40b3e3 Merge PR #401: Add support for the plugin and api key storage to python plugins 2021-04-19 11:38:21 +02:00
Jenkins nymea b62060d57d Merge PR #400: Improve adaptive logging filter 2021-04-19 11:38:20 +02:00
Michael Zanetti de5e1afc0a Use PKGCONFIG for the mqtt include 2021-04-18 20:33:24 +02:00
Michael Zanetti d46ef1c5fa Rework battery interface 2021-04-12 00:58:43 +02:00
Michael Zanetti 339fca3628 Drop lastSeenTime from presence sensor. Can be calculated from the log db 2021-04-12 00:56:06 +02:00
Michael Zanetti e56e21d170 Add a cleaning robot interface 2021-04-11 22:38:58 +02:00
Michael Zanetti 60de0a3eed Add support for storing application data on the core 2021-04-07 00:23:19 +02:00
Michael Zanetti e6780d947d Add support for browsing in the python plugin api 2021-04-06 23:56:31 +02:00
Michael Zanetti fb90efb1de Add device serial number to system api 2021-03-19 20:11:52 +01:00
Michael Zanetti 394e3cc615 Rename forgotten deviceParams in ThingDescriptor 2021-03-17 23:26:23 +01:00
Michael Zanetti b92897600c Add support CONFIG+=asan for building with address sanitizer 2021-03-14 21:48:36 +01:00
Michael Zanetti 9d30be2568 Add support for the plugin storage to python plugins 2021-03-08 00:47:12 +01:00
Michael Zanetti 1b33015354 Also include big jumps in the calculation for the standard deviation 2021-03-05 22:22:18 +01:00
Michael Zanetti df070549c7 Enable logging for barcode scanner events 2021-03-05 17:34:21 +01:00
Jenkins nymea 5cf6267c4b Merge PR #388: Plugininfocompiler: Add debug output for unknown units 2021-02-25 11:27:09 +01:00
Jenkins nymea f789342332 Merge PR #387: Weather interface units 2021-02-25 11:27:08 +01:00
Jenkins nymea dfc9b38e10 Merge PR #385: Updated evcharger interface 2021-02-25 11:27:07 +01:00
Jenkins nymea b0d041b73e Merge PR #380: Add a watersensor interface 2021-02-25 11:27:02 +01:00
Jenkins nymea aa4a7c03b3 Merge PR #378: Rework heating/cooling/thermostat interfaces 2021-02-25 11:26:59 +01:00
Jenkins nymea 13629ec553 Merge PR #369: Username optional on account interface 2021-02-25 11:26:58 +01:00
Jenkins nymea 1016dd61a7 Merge PR #348: Add unit to batterylevel interface 2021-02-25 11:26:57 +01:00
Michael Zanetti 29f88d744d Fix suggestLogging property for plugin devs 2021-02-24 13:41:41 +01:00
Michael Zanetti fadb5c8896 Fix interfaces.qrc 2021-02-17 11:55:54 +01:00
Boernsman 0ada24de34 changed evcharger description 2021-02-15 16:37:17 +01:00
Boernsman cff600b877 removed extendedevcharger and added percentage to evcharger interface 2021-02-15 16:35:07 +01:00
Boernsman b12878fea8 changed extendedevcharger from milliAmpere (uint) to Ampere (double) 2021-02-15 16:31:53 +01:00
Michael Zanetti 5bcda4c25b Add missing license headers 2021-02-03 00:42:32 +01:00
Boernsman f4b4e72e3a added debug output for unknown units 2021-02-02 14:11:12 +01:00
Michael Zanetti d6fd4bfba5 Rework heating/cooling/thermostat interfaces
Simple heating/cooling devices are more different to thermostats
than one would think at first. This splits heating and thermostat
interfaces into two unrelated interfaces and adds a generic
cooling interface for simple on/off air conditioners.
2021-01-31 23:40:53 +01:00
Michael Zanetti 332188db5e Add units to weather interface 2021-01-26 14:10:23 +01:00
Michael Zanetti 62b87ee211 Add a watersensor interface 2021-01-06 16:39:36 +01:00
Michael Zanetti 3fb74cc9e4 Add API to configure logging/filtering by the client 2021-01-04 16:43:28 +01:00
Michael Zanetti 32eb6d6dd7 tune filter 2021-01-03 21:58:10 +01:00
Michael Zanetti eeb1feade0 Add a jitter filtering mechanism 2021-01-02 14:33:15 +01:00
Michael Zanetti ae38e185b6 more work... not really working yet 2021-01-02 14:33:15 +01:00
Michael Zanetti 56448543df An attempt to make it configurable 2021-01-02 14:33:15 +01:00
Michael Zanetti 59140f7bd4 log weather states 2021-01-02 14:33:15 +01:00
Michael Zanetti 5f1855ff44 Don't log all states by default any more 2021-01-02 14:33:15 +01:00
Jenkins nymea 9b076a9873 Merge PR #370: Prevent multiple finish calls on API objects 2020-12-21 18:00:59 +01:00
Jenkins nymea a418c9b1de Merge PR #367: Add a UnitMilliSeconds 2020-12-21 18:00:58 +01:00
Jenkins nymea c9dd8551b2 Merge PR #361: Add a rudimentary mechanism for plugins to provide service data 2020-12-21 18:00:55 +01:00
Jenkins nymea 58ba2c9733 Merge PR #360: Allow building the plugininfocompiler standalone 2020-12-21 18:00:54 +01:00
Jenkins nymea e5e670753e Merge PR #357: Fix state change signal 2020-12-21 18:00:51 +01:00
Jenkins nymea 16c7ff42c0 Merge PR #356: Simplify and extend media interfaces 2020-12-21 18:00:50 +01:00
Jenkins nymea 2c94506867 Merge PR #355: Add paramValue() methods to Action and Event 2020-12-21 18:00:48 +01:00
Jenkins nymea 3ea075bb4e Merge PR #354: Improve parameter validation for interface actions and events 2020-12-21 18:00:47 +01:00
Jenkins nymea ee911e2824 Merge PR #349: Add state based value comparison in rules 2020-12-21 18:00:43 +01:00
Michael Zanetti 015d09432b Simplify and extend media interfaces
Merges the basic and extended variants into one using the optional entries.
2020-12-17 00:14:11 +01:00
Simon Stürz 72a68df345 Add docs and missing license header 2020-12-16 13:06:50 +01:00
Michael Zanetti f1fa59c535 Fix initialisation of the global logging category variable
Just accessing the raw variable doesn't guarantee the order
of construction and may lead to crashes in certain constellations.
2020-12-14 23:38:17 +01:00
Michael Zanetti a11a219bbf Prevent multiple finish calls on API objects
Bad plugin implementations might call finish() more than once
which is not expected by receivers of the finished() signal and
may cause weird side effects.
2020-12-14 23:38:17 +01:00
Michael Zanetti c31b99b04e Add a rudimentary mechanism for plugins to provide service data 2020-12-14 23:37:59 +01:00
Michael Zanetti d999d1c715 Allow building the plugininfocompiler standalone
This is required to be able to build a "native" version of the pic
without having to build all the dependencies pulled in by the
HardwareManager.
2020-12-14 23:37:43 +01:00
Michael Zanetti 0cf7679341 revert newline change to avoid conflicts 2020-12-14 23:32:11 +01:00
Boernsman 2299a5eb27 added tag optional to account interfaces 2020-12-14 10:39:00 +01:00
Michael Zanetti 30f69e619b Add a UnitMilliSeconds 2020-12-11 17:30:58 +01:00
Michael Zanetti 12eef39013 Fix potential wrong state signal
Make sure to emit the very same value we store
2020-12-06 23:33:23 +01:00
Michael Zanetti b9be92df2e Add state based value comparison in rules 2020-12-04 16:16:55 +01:00
Michael Zanetti b1ede004b3 Improve parameter validation for interface actions and events 2020-11-28 14:51:28 +01:00
Simon Stürz 8749789322 Give plugins access to the coordinator IEEE address for unicast bindings 2020-11-25 13:05:27 +01:00
Michael Zanetti a8453418cc Add paramValue() convenience functions to be in line with stateValue() api 2020-11-21 20:17:14 +01:00
Simon Stürz 2e6f68bc41 Fix typo in alert interface 2020-11-18 12:23:02 +01:00
Michael Zanetti 7ab98f65f7 Improve the plugin <-> node matching mechanism
* A ZigbeeNode can now only be claimed by 1 plugin.

* Unhandled nodes will now be re-evaluated on restart as there might
  have been new plugins installed which could handle this node now.
2020-11-16 15:15:28 +01:00
Simon Stürz 562e3235d8 Add nymea-zigbee as build dependency to libnymea 2020-11-16 10:51:31 +01:00
Simon Stürz e9b5b618b2 Implement remove node into the resource and missing network state changed signal handling 2020-11-12 13:26:55 +01:00
Michael Zanetti 4b493ac51d provisoric handling for node removal 2020-11-12 11:27:31 +01:00
Michael Zanetti b1173a3c35 Enable missing signal, fix lib exports 2020-11-07 00:24:54 +01:00
Michael Zanetti af09702c31 first stab on the adding a plugin api 2020-11-06 19:22:19 +01:00
Simon Stürz 91d3ecbbf5 User NYMEA_LOGGING_CATEGORY for zigbee 2020-11-06 18:57:19 +01:00
Simon Stürz 203badf0c7 Improve zigbee api and add serial number 2020-11-06 18:36:22 +01:00
Simon Stürz c3508acc23 Pass nodes into the zigbee resource and implement available for resource 2020-11-06 18:36:22 +01:00
Simon Stürz 19216b5f04 Add Zigbee settings and prepare network creation and loading 2020-11-06 18:36:21 +01:00
Simon Stürz 6e72689c56 Make use of nymea logging categories and offer libnymea-zigbee ZigbeeNetwork logging category within nymea to enable 2020-11-06 18:36:21 +01:00
Simon Stürz 915cd25a7d Update zigbee resource logging category 2020-11-06 18:35:50 +01:00
Simon Stürz 0f0b903af8 Clean up source and dependencies and make build against libnymea-zigbee 2020-11-06 18:35:50 +01:00
Simon Stürz fb74df8f81 Start integrating zigbee into nymea 2020-11-06 18:34:54 +01:00
Michael Zanetti d0935c8181 Add unit to batterylevel interface 2020-10-30 00:28:31 +01:00
Jenkins nymea 90291286df Merge PR #345: Don't use deprecated QString::sprintf and qVariantFromValue 2020-10-28 19:07:42 +01:00
Jenkins nymea 1f652ed78c Merge PR #342: Force full linking of plugins at build time 2020-10-28 19:07:40 +01:00
Jenkins nymea c956988f32 Merge PR #341: Add an API keys provider plugin mechanism 2020-10-28 19:07:39 +01:00
Jenkins nymea 82c347c3a3 Merge PR #336: Add caching information to client API 2020-10-28 19:07:35 +01:00
Jenkins nymea 0f442abe43 Merge PR #335: Fix a potential crash in logging handlers 2020-10-28 19:07:34 +01:00
Jenkins nymea 618d1589f8 Merge PR #333: Allow states, events and actions in interfaces to be optional 2020-10-28 19:07:32 +01:00
Jenkins nymea 907bd3b646 Merge PR #332: Add update interface 2020-10-28 19:07:30 +01:00
Jenkins nymea 6bd094fd72 Merge PR #330: Make the signalStrength state in wirelessconnectable interface optional 2020-10-28 19:07:29 +01:00
Michael Zanetti 166b16689f Don't use deprecated QString::sprintf and qVariantFromValue 2020-10-26 15:59:38 +01:00
Michael Zanetti dcae305625 Add an API keys provider plugin mechanism 2020-10-20 19:44:47 +02:00
Michael Zanetti 07b8515870 Force full linking of plugins at build time 2020-10-19 13:07:19 +02:00
Michael Zanetti e50eece45c Fix metatype registering for old Qt versions 2020-10-15 22:34:06 +02:00
Michael Zanetti d4889b5b78 Make it build with 0.23 2020-10-15 22:34:06 +02:00
Michael Zanetti 3296d4b417 more work 2020-10-15 22:34:06 +02:00
Michael Zanetti 0cbd1ff5ec Clenaup and polish types. 2020-10-15 22:34:06 +02:00
Michael Zanetti a90841401c more work 2020-10-15 22:34:06 +02:00
Michael Zanetti c7f957f201 some more python plugin work 2020-10-15 22:34:06 +02:00
Michael Zanetti 5d0751ae27 fix thread syncronisation 2020-10-15 22:34:06 +02:00
Michael Zanetti 3c47e59811 some more work 2020-10-15 22:34:06 +02:00
Michael Zanetti 125aee7153 Some more python plugin stuff 2020-10-15 22:34:06 +02:00
Michael Zanetti 31cf425b79 intermediate 2020-10-15 22:34:06 +02:00
Michael Zanetti 49bbd64434 Allow states, events and actions in interfaces to be optional 2020-09-20 23:32:15 +02:00
Michael Zanetti f9cd2a99df Add caching information to client API
This allows JsonHandlers to set a hash for certain API calls.
Clients can use this information to load data for such a call
from a cache instead of calling the method over the network
just to get the same result as last time.
2020-09-15 13:53:19 +02:00
Michael Zanetti 4d480f7c3b Fix a potential crash in logging handlers 2020-09-09 19:19:42 +02:00
Michael Zanetti e96d5f0d44 Add update interface 2020-09-06 03:11:27 +02:00
Michael Zanetti 60c55f0d85 Make signalStrength state in wirelessconnectable optional 2020-09-06 02:53:57 +02:00
Jenkins nymea 7ba9bc2add Merge PR #320: Rework garage door interfaces 2020-08-14 13:09:34 +02:00
Jenkins nymea 768b6a877e Merge PR #314: Fix conversion of values 2020-08-14 13:09:34 +02:00
Jenkins nymea bd0072e48f Merge PR #307: Loggingcategories 2020-08-14 13:09:34 +02:00
Michael Zanetti 075046ff70 Add simplegaragedoor 2020-08-01 00:26:22 +02:00
Michael Zanetti f66c3c4a60 add new interfaces to qrc 2020-07-31 17:42:51 +02:00
Michael Zanetti dfb62108fe inherit properly 2020-07-31 17:22:06 +02:00
Michael Zanetti 655e3a7f38 Rework garage door interfaces 2020-07-31 12:52:50 +02:00
Michael Zanetti 399f406d10 fixes 2020-07-27 19:38:21 +02:00
Michael Zanetti 680f574e41 don't use dcCore in the lib 2020-07-27 18:15:45 +02:00
Michael Zanetti 5002fad6d9 fix tests 2020-07-26 01:00:29 +02:00
Michael Zanetti 85146abca5 Fix type conversions of values
This fixes 5 issues in regard to types of values:

1) Default values for params in the metadata were not converted properly,
most visibly on integer values being loaded as double values.

2) Param values coming in from jsonrpc were not converted properly.

3) The plugin might set state values with invalid types or being out of range.

4) If, for some reason (e.g. earlier versions of nymea, or a plugin setting
its own params in code with a wrong type), there was a param value with a
wrong type in the system, we stored that wrong type and restored it on loading
of plugin params while instead it really should be converted to the specified
type in the ParamType.

5) If a plugin is not loaded for a configured thing, the old code would
not initialize the states properly but upon shutdown save those invalid
values to the cache.
2020-07-15 00:22:43 +02:00
Jenkins nymea 3aac5df9f9 Merge PR #306: Vaguely inform the plugin about the origin of actions. 2020-07-14 11:26:14 +02:00
Jenkins nymea c369bd15aa Merge PR #305: Allow emitting events from things directly 2020-07-14 11:26:14 +02:00
Michael Zanetti 75afab7eaf Add nymea logging categories as opposed to just Qt ones 2020-06-17 14:32:35 +02:00