Compare commits

...

1020 Commits

Author SHA1 Message Date
jenkins 5b73038726 Jenkins release build 1.14.2 2026-02-19 16:27:40 +01:00
Simon Stürz 0070d7e3dd Update PlatformUpdateController implementation
Introduce UpdateType for PlatformUpdateController implementations
Add optional update progress
Bump JSON-RPC API version to version 8.5
2026-02-19 14:35:20 +01:00
jenkins ab61ed9a8b Jenkins release build 1.14.1 2026-02-10 12:05:47 +01:00
jenkins 3c7e1bed4f Merge PR #735: Thing: Add state name based set method for possible values 2026-02-10 12:05:46 +01:00
jenkins 89ad2d0f12 Merge PR #734: Update default loations for the mac-addresses.db to be more generic 2026-02-10 12:05:45 +01:00
jenkins 028da6a3b4 Merge PR #733: JsonRpc Server: Improve token verification handling 2026-02-10 12:05:43 +01:00
Simon Stürz b58c5646df Thing: Add state name based set method for possible values 2026-02-10 10:11:35 +01:00
Simon Stürz 53b00a950f MacAddressDatabase: Update default loations for the mac-addresses.db to be more generic. 2026-01-29 21:24:36 +01:00
Simon Stürz 5eb5c6628b JsonRpc Server: Improve token verification handling depending on the interface configuration 2026-01-29 12:24:28 +01:00
Simon Stürz a1d0574e20 LogEngine: Improve behavior of disabled logengine 2026-01-22 11:58:58 +01:00
jenkins abd8dd2d97 Jenkins release build 1.14.0 2026-01-19 10:10:03 +01:00
jenkins 8b87deb06d Merge PR #730: Update copyright year to 2026 2026-01-19 10:10:01 +01:00
jenkins 9427353e4d Merge PR #729: Update mac address database 2026-01-19 10:10:00 +01:00
jenkins 07a4e71b03 Merge PR #728: Update README.md 2026-01-19 10:09:58 +01:00
jenkins 841a00e6a7 Merge PR #727: Update electric vehicle inteface 2026-01-19 10:09:56 +01:00
jenkins 9898fbd6f1 Merge PR #726: Introduce optional stepSize for StateTypes and ParamTypes 2026-01-19 10:09:54 +01:00
jenkins d15910aef7 Merge PR #725: ExperienceManager: Provide LogEngine access to experience plugins 2026-01-19 10:09:53 +01:00
jenkins 66d35fdc78 Merge PR #724: Stabalize verify action exectued tests 2026-01-19 10:09:51 +01:00
jenkins 6999f96577 Merge PR #719: NymeaCore: class cleanup and statup improvements 2026-01-19 10:09:49 +01:00
jenkins 81fd9a290b Merge PR #718: Update translations 2026-01-19 10:09:48 +01:00
jenkins af3dc11276 Merge PR #714: Extend webserver resource management 2026-01-19 10:09:46 +01:00
jenkins 6cf709d33d Merge PR #711: Thing based user permissions 2026-01-19 10:09:45 +01:00
Simon Stürz 04307fac20 Update mac address database 2026-01-19 10:06:48 +01:00
Simon Stürz 6a1980cfb7 Update copyright year to 2026 2026-01-13 15:43:05 +01:00
Simon Stürz e3e0fcfb94 Update links to debian trixie images 2026-01-13 15:22:40 +01:00
Simon Stürz a269bb76dd Update README.md 2026-01-08 12:39:01 +01:00
Simon Stürz 5ab7811a79 Add test for ensureValueClamping 2026-01-08 11:51:32 +01:00
Simon Stürz 106a30498e Add value clamping for Param and State values 2026-01-08 11:50:37 +01:00
Simon Stürz 9865265a5d Add optional stepSize for numeric StateTypes and ParamTypes 2026-01-07 15:19:43 +01:00
Simon Stürz 7e070aeccb Update evcharger interface and change maxChargingCurrent to double
for precise energy adjustments if possible
2026-01-07 15:18:56 +01:00
Simon Stürz 9609598ff5 Add maximum charging current to the electric vehicle inteface 2025-12-22 13:47:18 +01:00
Simon Stürz 9a34f40372 ExperienceManager: Make LogEngine available to experience plugins 2025-12-16 16:29:21 +01:00
jenkins 8ca1bca75d Jenkins release build 1.13.0 2025-12-02 10:38:46 +01:00
jenkins f2ed3e1054 Merge PR #721: Update license text and add SPDX identifier 2025-12-02 10:38:45 +01:00
Simon Stürz 04c31b165c Stabalize verify action exectued tests 2025-12-01 10:58:03 +01:00
jenkins a410c7a6f0 Jenkins release build 1.12.4 2025-11-27 11:05:38 +01:00
jenkins 39887a9dfc Merge PR #722: server: Add fallback to TSL 1.2 or later for encrypted connections 2025-11-27 11:05:37 +01:00
jenkins 2453044080 Merge PR #720: RuleEngine: Improve TimeDescriptor and CalendarItem DateTime Time loa… 2025-11-27 11:05:36 +01:00
jenkins 8f2a402a28 Merge PR #716: NetworkDeviceMonitor: Improve ping and network device monitor behavior 2025-11-27 11:05:35 +01:00
Simon Stürz c06c8db08d server: Add fallback to TSL 1.2 or later for encrypted connections 2025-11-27 09:04:53 +01:00
Simon Stürz ab9df2711a Fix webserver disabled resource response flow 2025-11-19 09:56:23 +01:00
Simon Stürz ccc94a0e24 Fix development package install for webserver classes 2025-11-19 09:56:23 +01:00
Simon Stürz 29ba4625e8 Add resource enable/disable handling 2025-11-19 09:56:23 +01:00
Simon Stürz 2a309ce596 Move static file reply creation to the resource 2025-11-19 09:56:23 +01:00
Simon Stürz 5d035677e0 Add WebServerResource support for experience plugins 2025-11-19 09:56:23 +01:00
Simon Stürz 40182978e0 Implement webserver resource mechanism 2025-11-19 09:56:22 +01:00
Simon Stürz 88d1e4ce52 Add thing added and removed logic depending on users thing permission 2025-11-19 09:54:43 +01:00
Simon Stürz 3d884e7c06 Add initial test for thing based authentication 2025-11-19 09:53:25 +01:00
Simon Stürz 662e313bd8 Add admin methods for user management 2025-11-19 09:47:01 +01:00
Simon Stürz ded99e35d4 Add admin management methods 2025-11-19 09:47:01 +01:00
Simon Stürz 360e287619 Add thing added and removed logic depending on users thing permission 2025-11-19 09:47:00 +01:00
Simon Stürz b80ad6d839 Add missing thingError fpr IO connections 2025-11-19 09:46:17 +01:00
Simon Stürz cfe4328776 Fix allowed things loading 2025-11-19 09:46:17 +01:00
Simon Stürz 82fe7c7ae3 Bump JSON RPC Api to 8.4 2025-11-19 09:46:17 +01:00
Simon Stürz f77d94ef7b Add initial test for thing based authentication 2025-11-19 09:46:15 +01:00
Simon Stürz 71cd3561b6 UserManager: Update user database and migrate to version 2 2025-11-19 09:45:54 +01:00
Simon Stürz e638c8cab2 Add scope verification and tests 2025-11-19 09:45:54 +01:00
Simon Stürz 88aa22f3a2 UserManager: Add thing based user permissions 2025-11-19 09:45:54 +01:00
Simon Stürz cdabfb54a5 Update all guh references to nymea 2025-11-17 16:42:46 +01:00
Simon Stürz 7527fd7495 Add io.nymea DBus interface 2025-11-17 16:42:46 +01:00
Simon Stürz ea1781ccb4 Update .gitignore 2025-11-17 16:42:46 +01:00
Simon Stürz 4d170061fd Update license text and add SPDX identifier 2025-11-17 16:42:41 +01:00
Simon Stürz dd964d8044 RuleEngine: Improve TimeDescriptor and CalendarItem DateTime Time loading 2025-11-15 16:34:20 +01:00
Simon Stürz 415e1a7648 NetworkDeviceDiscovery: Fix cache update reference bug 2025-11-15 15:54:47 +01:00
Simon Stürz 889a52959f network monitor: sync mode and register type 2025-11-15 15:53:21 +01:00
Simon Stürz 1a4037f232 ping.cpp: resolve DNS failures and cleanup 2025-11-15 15:53:21 +01:00
Simon Stürz 9ff93f9ecc Fix overloaded equal operator of the NetworkDeviceMonitor 2025-11-15 15:53:21 +01:00
Simon Stürz c6dc910f1a Update network device verification 2025-11-15 15:53:21 +01:00
Simon Stürz cfc13d6984 NymeaCore: class cleanup and statup improvements 2025-11-15 15:36:09 +01:00
Simon Stürz 84293f9a3c Update translations 2025-11-15 15:02:16 +01:00
Simon Stürz e4ef75b76d Add ANGENTS.md file 2025-11-15 14:43:20 +01:00
Simon Stürz a06730336f JSONRPC: Improve list handling of API list types 2025-11-14 22:51:04 +01:00
jenkins 603ec80f7f Jenkins release build 1.12.3 2025-11-04 11:38:32 +01:00
jenkins 42f8207ca3 Merge PR #713: Update systemd service documentation url 2025-11-04 11:38:32 +01:00
Simon Stürz cb0bdb4e05 Update systemd service documentation url 2025-11-04 11:04:25 +01:00
Simon Stürz da3693da5f Update mac address database 2025-11-04 11:02:12 +01:00
jenkins 3e7c9559a4 Jenkins release build 1.12.2 2025-10-29 12:27:49 +01:00
Simon Stürz 1370763b6d debian: Fix debian packaging scripts for Qt6 based packages 2025-10-21 14:58:10 +02:00
jenkins 955811c482 Jenkins release build 1.12.1 2025-10-20 13:40:24 +02:00
jenkins cc164e50f7 Merge PR #707: Disable insecure interfaces if configured using env 2025-10-20 13:40:24 +02:00
jenkins 9bcc72d249 Merge PR #706: Prevent double definitions from a double included testlib macro 2025-10-20 13:40:23 +02:00
Simon Stürz 09e9f72ddc Update network device monitor behavior for IP and hostname based monitors 2025-10-20 10:09:26 +02:00
Simon Stürz cf681c15c6 Bump API version to 8.3 2025-10-13 16:31:45 +02:00
Simon Stürz 74ae874ae9 Add tests for NYMEA_INSECURE_INTERFACES_DISABLED env 2025-10-13 16:31:45 +02:00
Simon Stürz e8244e9313 Disable insecure interfaces if configured using env 2025-10-13 16:31:45 +02:00
Simon Stürz a74f747df8 Update JsonRpc debug categories and fix some inlcudes 2025-10-13 16:31:45 +02:00
Simon Stürz 400fff6785 Rename testlib folder to libnymea-tests
Fix multiple imports of QT libs by replacing "+=" with "*="
2025-10-13 09:39:15 +02:00
jenkins d8dcff002c Jenkins release build 1.12.0 2025-09-23 14:12:47 +02:00
jenkins 03114859b3 Merge PR #704: Update mac address database 2025-09-23 14:12:46 +02:00
jenkins e06e1c7e14 Merge PR #703: Make sure NetworkDeviceMonitor on localhost are always reachable 2025-09-23 14:12:45 +02:00
jenkins 0d85868465 Merge PR #702: Fix some typos in the code base 2025-09-23 14:12:43 +02:00
Simon Stürz 3ea7639b9d Make TI backend support configurable 2025-09-23 14:11:48 +02:00
Simon Stürz 1f37ea94dc Update mac address database 2025-09-11 10:51:00 +02:00
Simon Stürz 42def79a54 Update python init depending on the py version 2025-09-11 10:09:56 +02:00
Simon Stürz 73e7c975af Update lib search paths for all plugin types 2025-09-11 10:09:56 +02:00
Simon Stürz 835c1d9dd2 Update deprecated signals qt version handling 2025-09-11 10:09:56 +02:00
Simon Stürz d58c5a6cf7 Fix bluetooth le connection 2025-09-11 10:09:56 +02:00
Simon Stürz 173c318dd3 Add test script for thingclasses 2025-09-11 10:09:56 +02:00
Simon Stürz d71ce85f12 Fix interface allowed values loading and debug cathegories for thing and thing manager 2025-09-11 10:09:56 +02:00
Simon Stürz 685d28f88b Port modbus rtu 2025-09-11 10:09:56 +02:00
Simon Stürz aa59ddd714 Make testes not parallel 2025-09-11 10:09:52 +02:00
Simon Stürz 2acf7784a6 Update the entire Qt6 code to new signal slot connections
Update logging cathegories and allign coding style
2025-09-11 10:09:24 +02:00
Simon Stürz 2f0077a5d1 Add compat 2025-09-11 10:09:24 +02:00
Simon Stürz 3a234066ef Fix qt5 build and test not overloading == operator 2025-09-11 10:09:24 +02:00
Simon Stürz f5c4bd16ac Add Qt6 support
Add Qt6 debian packaging
2025-09-11 10:09:24 +02:00
Simon Stürz 269efecb36 Make sure NetworkDeviceMonitor on localhost are always reachable 2025-09-10 15:02:52 +02:00
Simon Stürz 4e27699915 Fix some typos 2025-07-02 14:58:49 +02:00
jenkins 5f4f2a9b78 Jenkins release build 1.11.1 2025-06-10 13:35:08 +02:00
jenkins 9eeff13322 Merge PR #700: Update mac address database 2025-06-10 13:35:08 +02:00
Simon Stürz a2a43e5e8c Update mac address database 2025-06-10 10:10:54 +02:00
Simon Stürz 633ee99d0b NetworkDiscovery: Fix localhost lookup and prevent usage of IPv6 on host lookup 2025-04-14 14:01:22 +02:00
Simon Stürz 00fc81405b NetworkDiscovery: Fix possible crash on monitor cleanup
DateTime: Improve performance by using static current QDateTime method
2025-04-14 12:02:15 +02:00
jenkins 91c3cf88a8 Jenkins release build 1.11.0 2025-03-20 14:15:10 +01:00
jenkins ee62bbe65d Merge PR #694: Update MAC address database 2025-03-20 14:15:10 +01:00
jenkins eb2863ae78 Merge PR #691: Update copyright to 2025 2025-03-20 14:15:08 +01:00
jenkins 95ebffee0c Merge PR #689: Rework network discovery 2025-03-20 14:15:07 +01:00
Simon Stürz 354aea9f9a Update MAC address database 2025-03-20 13:45:14 +01:00
Simon Stürz 1c6fbc8d1e Add network device mock thing 2025-01-10 09:03:49 +01:00
Simon Stürz a0227e20a3 Update copyright to 2025 2025-01-09 16:17:34 +01:00
jenkins 6c9cad2683 Jenkins release build 1.10.0 2024-12-20 13:39:09 +01:00
jenkins 889f268eb4 Merge PR #690: Update MAC address database 2024-12-20 13:39:09 +01:00
jenkins 628c2c9be7 Merge PR #688: core: Fix shutdown crash and improve application logging 2024-12-20 13:39:07 +01:00
jenkins 482f64f3ab Merge PR #686: NetworkManager: add wireless device capabilities 2024-12-20 13:39:06 +01:00
jenkins 9127829a6c Merge PR #685: Influxdb: Disable debug print if database is disabled or not initialized 2024-12-20 13:39:05 +01:00
jenkins c48b6ae407 Merge PR #684: Use default cache location for the plugin info caches 2024-12-20 13:39:03 +01:00
jenkins cc3e531b2b Merge PR #672: Debug JSONRPC API handler 2024-12-20 13:39:02 +01:00
jenkins 318da58f45 Merge PR #670: Add systemd notify support 2024-12-20 13:39:01 +01:00
Simon Stürz 8744903325 Update JSON RPC API to 8.2 2024-12-20 10:06:40 +01:00
Simon Stürz ffaa53b04d Add debug API to JSONRPC 2024-12-20 10:06:35 +01:00
Simon Stürz 46ccc8a46b Update mock plugin info 2024-12-19 20:40:53 +01:00
Simon Stürz 341a07cd85 Update ping and monitor handling 2024-12-19 20:40:53 +01:00
Simon Stürz abb656016d Update monitor 2024-12-19 20:40:53 +01:00
Simon Stürz 9b4b2d9b20 Update network device info and make host address the primary idetifier instead of the MAC address
Introduce monitor mode for network device info
Update network device monitor
introduce networkdevice interface
2024-12-19 20:40:21 +01:00
Simon Stürz e64c7959e4 Update MAC address database 2024-12-19 13:45:41 +01:00
Simon Stürz c46b86088a Add networkdevice interface 2024-12-03 16:24:07 +01:00
Simon Stürz 311fb7bfa4 Introduce interfaces mechanism for ThingClass paramTypes 2024-12-03 16:24:07 +01:00
Simon Stürz a31daf7742 core: Fix shutdown crash and improve application logging
Signed-off-by: Simon Stürz <simon.stuerz@nymea.io>
2024-11-25 14:50:40 +01:00
jenkins 4fe03a10ea Jenkins release build 1.9.5 2024-10-29 07:16:46 +01:00
Simon Stürz 8e05986333 CoAP: Silence warning regarding multicast join error 2024-10-29 07:10:55 +01:00
Simon Stürz f013619a45 NetworkManager: add wireless device capabilities 2024-10-18 14:21:53 +02:00
Simon Stürz 09b378e251 Influxdb: Disable debug print if database is disabled or not initialized 2024-10-15 14:47:35 +02:00
Simon Stürz 81fdea51a8 Use default cache location for the plugin info caches 2024-10-09 14:09:56 +02:00
jenkins 36adad329f Jenkins release build 1.9.4 2024-10-01 16:53:59 +02:00
jenkins f50a7b9a88 Merge PR #683: Network device discovery reachable to early 2024-10-01 16:53:58 +02:00
jenkins 6084d5b8f1 Merge PR #682: Update README 2024-10-01 16:53:56 +02:00
jenkins e695099ad0 Merge PR #681: Update debian copyright 2024-10-01 16:53:55 +02:00
jenkins b0bf6ed4c9 Merge PR #680: Update mac address database 2024-10-01 16:53:54 +02:00
jenkins 795e541e01 Merge PR #679: Log proper RPC method name for the initial setup 2024-10-01 16:53:52 +02:00
jenkins fb29d24265 Merge PR #678: modbus RTU: add platform configuration 2024-10-01 16:53:51 +02:00
jenkins d761d7dccb Merge PR #673: Remove unused signal 2024-10-01 16:53:50 +02:00
Simon Stürz dae11725f8 NetworkDeviceDiscovery: Fix reachable changed before the network address is known 2024-10-01 14:58:02 +02:00
Simon Stürz 02d0ebb152 Update mac address database 2024-09-30 14:31:55 +02:00
Simon Stürz 8c76cfdd06 Update README 2024-09-30 14:29:10 +02:00
Simon Stürz 24c2967eaa Update debian copyright 2024-08-14 08:36:55 +02:00
Simon Stürz 87ed98b72f modbus RTU: add platform configuration 2024-08-07 11:09:19 +02:00
Tobi 28ea0545ec
Log proper RPC method name for the initial setup 2024-07-30 12:15:40 +02:00
jenkins c0532a64ea Jenkins release build 1.9.3 2024-07-19 21:05:43 +02:00
Simon Stürz 9b786c04d5 Update debian packaging and compat level 2024-06-11 12:05:49 +02:00
jenkins f81b85764b Jenkins release build 1.9.2 2024-05-15 08:18:12 +02:00
jenkins 4a0e218b8a Merge PR #675: Update dependency for Ubuntu noble 2024-05-15 08:18:11 +02:00
jenkins ec84acc9f0 Merge PR #674: Update mac address database 2024-05-15 08:18:10 +02:00
Simon Stürz 982a89c19e Update dependency for Ubuntu noble 2024-05-15 08:17:10 +02:00
Simon Stürz bbe6745e8a Update mac address database 2024-04-10 11:17:24 +02:00
Simon Stürz bad240025d Add systemd notify support 2024-03-26 08:43:12 +01:00
Simon Stürz ce7d075af2 Remove unused signal 2024-03-26 08:38:57 +01:00
Simon Stürz 512ea502c1 Stop nymea time manager before shutdown the daemon 2024-03-26 08:23:21 +01:00
jenkins cb9607498e Jenkins release build 1.9.1 2024-01-29 12:22:29 +01:00
jenkins 17189a6582 Merge PR #666: Update install directory for tests 2024-01-29 12:22:28 +01:00
jenkins 7b86c55a70 Merge PR #665: Allow to build nymead using custom version independent from dpkg 2024-01-29 12:22:27 +01:00
jenkins ebcde271e4 Merge PR #663: Update copyright to 2024 2024-01-29 12:22:26 +01:00
jenkins 1b8d1718be Merge PR #662: Update mac address database 2024-01-29 12:22:24 +01:00
jenkins eb8d7f07b5 Merge PR #661: Fix mantic build 2024-01-29 12:22:23 +01:00
jenkins bd0b3fe177 Merge PR #660: Update optional prgress state to update interface 2024-01-29 12:22:21 +01:00
jenkins cbb5349bdf Merge PR #659: Add more debug prints to script console when ThingState fails 2024-01-29 12:22:20 +01:00
Simon Stürz 1a1b268421 Update install directory for tests 2024-01-29 09:55:41 +01:00
Simon Stürz 37d9dca254 Allow to build nymead using custom version independent from dpkg 2024-01-24 17:35:18 +01:00
Simon Stürz d7eef823d9 Update mac address database 2024-01-08 16:21:02 +01:00
Simon Stürz 8814fbc2d1 Update copyright to 2024 2024-01-08 16:18:46 +01:00
Michael Zanetti 743909b122 Fix mantic build 2024-01-05 17:08:47 +01:00
Michael Zanetti a749d780fd Update optional prgress state to update interface 2024-01-04 16:07:12 +01:00
Michael Zanetti c716f57e9c Add more debug prints to script console when ThingState fails 2023-12-30 18:08:41 +01:00
Michael Zanetti 46e6232021 Enable logging for signal strength by default
Since the new log engine this isn't that heavy on the resources any more
2023-12-29 13:11:20 +01:00
jenkins a3be47b815 Jenkins release build 1.9.0 2023-11-29 14:13:40 +01:00
jenkins 89615140eb Merge PR #657: Add support for Bluetooth pairing during thing setup 2023-11-29 14:13:39 +01:00
jenkins 4e7d8270b1 Merge PR #656: Fix building with newer gcc 2023-11-29 14:13:38 +01:00
jenkins 7e4afba769 Merge PR #655: NetworkDeviceDiscovery: Update warning regarding multiple IPs for one MAC address. 2023-11-29 14:13:36 +01:00
jenkins 7ca78aff08 Merge PR #654: Make script runtime errors appear in the script console 2023-11-29 14:13:35 +01:00
jenkins 856c3503ee Merge PR #653: LogEngine: provide possibility to disable the log engine 2023-11-29 14:13:34 +01:00
jenkins 4765e1174f Merge PR #651: Make possibleValues for states dynamic and translatable 2023-11-29 14:13:32 +01:00
jenkins d79ea7bdde Merge PR #642: Enable more info on double ThingActionInfo::finish() calls 2023-11-29 14:13:31 +01:00
jenkins a348c91b4f Merge PR #641: Add support for connections to actionExecuted in scripts 2023-11-29 14:13:30 +01:00
Michael Zanetti cc26006a83 Add support for Bluetooth pairing during thing setup 2023-11-26 13:41:54 +01:00
Michael Zanetti b868035bf5 Allow discovering on bluetooth adapter plugged in at runtime 2023-11-20 20:40:40 +01:00
Michael Zanetti 4305c76471 Fix building with newer gcc 2023-11-20 20:40:02 +01:00
Michael Zanetti 2c817247be Fix building with newer gcc 2023-10-29 23:14:51 +01:00
Simon Stürz abc4c128b1 NetworkDeviceDiscovery: Update warning regarding multiple IPs for one MAC address. 2023-10-17 10:19:34 +02:00
Michael Zanetti 748e599537 Make script runtime errors appear in the script console 2023-09-12 13:39:07 +02:00
Simon Stürz 84dca158b3 LogEngine: provide possibility to disable the log engine 2023-08-22 09:21:03 +02:00
jenkins ab22d470b5 Jenkins release build 1.8.4 2023-08-18 17:11:58 +02:00
jenkins 65ad9456dd Jenkins release build 1.8.3 2023-08-17 14:10:39 +02:00
Michael Zanetti 0c09e07112 Add support for connection to actionExecuted in scripts 2023-08-01 10:53:14 +02:00
Michael Zanetti 14de03b154 Enable more info on double ThingActionInfi::finish() calls 2023-08-01 10:52:09 +02:00
Michael Zanetti 4b3ec64e58 Make possibleValues for states dynamic and translatable 2023-08-01 10:45:41 +02:00
jenkins 1e75df2782 Jenkins release build 1.8.2 2023-06-29 11:37:28 +02:00
jenkins 9003c5d16d Merge PR #650: arp: Fix discovery resolving multiple/wrong mac addresses for ip 2023-06-29 11:37:28 +02:00
jenkins 5936b19ba2 Merge PR #647: Fix influx systemd env override not working with older systemd 2023-06-29 11:37:26 +02:00
jenkins fbc0b146e2 Merge PR #645: Tell systemd that we're using influxdb 2023-06-29 11:37:25 +02:00
jenkins 215620dc56 Merge PR #643: Update Dutch translations 2023-06-29 11:37:24 +02:00
Simon Stürz 27a06e280e arp: Fix discovery resolving multiple/wrong mac addresses for one ip address 2023-06-23 16:49:01 +02:00
Michael Zanetti 40efbb1ef4 Fix influx systemd env override not working with older systemd
Apparently the system unit file for influx is influxdb.service,
however, the symlinks in /etc differ and are named influxd.service.
While newer systemd versions seem to handle that properly, older ones
(debian buster) don't seem to pick up our config if it's named
like the symlink instead of the actual unit file
2023-06-19 12:20:35 +02:00
Michael Zanetti 3bb567c9da Tell systemd that we're using influxdb 2023-06-16 09:27:52 +02:00
alpha-rd 018f3fb1df Dutch translation to mock 2023-06-13 19:53:42 +02:00
alpha-rd 44e4c00181
Create plugins/mock/translations/727a4a9a-c187-446f-aadf-f1b2220607d1-nl.ts
Startingpoint for translating the mock plugin to dutch
2023-06-08 22:19:24 +02:00
alpha-rd 697882a2ea Dutch translation of nymead-nl is ready 2023-06-08 21:54:43 +02:00
jenkins bb402e3127 Jenkins release build 1.8.1 2023-06-07 15:51:18 +02:00
jenkins df6a5ee0f3 Jenkins release build 1.8.0 2023-05-23 11:49:15 +02:00
jenkins 254bc5c9f5 Merge PR #640: Update mac address database 2023-05-23 11:49:14 +02:00
jenkins cdc93ebf05 Merge PR #639: NetworkDeviceDiscovery: perform reachability verification ping 2023-05-23 11:49:13 +02:00
jenkins 21061e91a0 Merge PR #637: Rework the log engine to use influxdb instead of sql 2023-05-23 11:49:12 +02:00
jenkins c60b5399a5 Merge PR #636: Enforce unit on closable interface 2023-05-23 11:49:10 +02:00
jenkins 8a2d736840 Merge PR #635: Fix multiple ragisterTransport calls on reconfiguring interfaces 2023-05-23 11:49:09 +02:00
jenkins d41f63f807 Merge PR #634: Add windowOpen and windowOpenDetected states to the thermostat 2023-05-23 11:49:08 +02:00
jenkins 50921e0fa5 Merge PR #632: Add desiredPhaseCount state to evcharger interface 2023-05-23 11:49:06 +02:00
jenkins 2cd6db2b8f Merge PR #630: Add location setting 2023-05-23 11:49:05 +02:00
Simon Stürz 4531b72479 Update mac address database 2023-05-23 11:45:49 +02:00
Michael Zanetti c2e7d2bf0e Override influxdb defaults to
* only listen to localhost for security reasons
* don't print debug logs for every call
* don't use the _internal db
2023-05-22 16:08:51 +02:00
Michael Zanetti 4e509841b0 Rework the log engine to use influxdb instead of sql 2023-05-08 23:38:34 +02:00
Simon Stürz c161e4df09 NetworkDeviceDiscovery: perform reachability verification ping 2023-05-05 11:04:32 +02:00
Michael Zanetti bea44a96c0 Add windowOpen and windowOpenDetected states to the thermostat 2023-05-04 23:08:23 +02:00
Michael Zanetti 8ffcfde9cd Enforce unit on closable interface 2023-03-30 14:08:29 +02:00
Michael Zanetti 2385ea33a0 Fix multiple ragisterTransport calls on reconfiguring interfaces 2023-03-18 01:02:27 +01:00
Michael Zanetti 0e4226b568 Add desiredPhaseCount state to evcharger interface 2023-02-23 13:38:32 +01:00
jenkins a41b82afbe Jenkins release build 1.7.0 2023-02-21 17:43:48 +01:00
jenkins c01f3d806c Merge PR #631: Update MAC address database 2023-02-21 17:43:47 +01:00
jenkins 4c29386bbd Merge PR #629: Drop cloud settings which aren't used any more 2023-02-21 17:43:45 +01:00
jenkins 9f4c3bc27a Merge PR #628: Allow users with ControlThings permission to read things logs 2023-02-21 17:43:44 +01:00
jenkins a2d8a5f90c Merge PR #627: Fix method to convert phases from string 2023-02-21 17:43:42 +01:00
jenkins e9e734dc60 Merge PR #625: Stabilize logging tests 2023-02-21 17:43:41 +01:00
jenkins b0b1ff6b58 Merge PR #624: Create indices on entries table of log db 2023-02-21 17:43:40 +01:00
jenkins 44209a24c1 Merge PR #623: NetworkDeviceMonitor: Fix initial reachable state using internal caches 2023-02-21 17:43:38 +01:00
jenkins 6dcdc89c90 Merge PR #622: Manually check for Bluetooth before instantiating QtBluetooth 2023-02-21 17:43:37 +01:00
jenkins d88e5e1681 Merge PR #621: Update copyright to 2023 2023-02-21 17:43:35 +01:00
jenkins 9355694c24 Merge PR #620: Refactor NymeaCore class 2023-02-21 17:43:34 +01:00
jenkins 8cb4a264e9 Merge PR #618: Use dynamic min/max values for io connections 2023-02-21 17:43:33 +01:00
jenkins 5d3492c788 Merge PR #617: Require min/max values for pressuresensors 2023-02-21 17:43:31 +01:00
jenkins 13a5519a94 Merge PR #616: network device monitor: Clean up pending ping replies properly 2023-02-21 17:43:30 +01:00
jenkins f27299d263 Merge PR #615: Require min/max values for co2sensors 2023-02-21 17:43:29 +01:00
jenkins 74c8c53b7c Merge PR #614: Enqueue priority jobs instead of prepending 2023-02-21 17:43:27 +01:00
jenkins b17c3fa992 Merge PR #613: Properly clean up the TCP server on shutdown 2023-02-21 17:43:26 +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
jenkins 27e6df3bab Merge PR #610: Improve debug logging filter arguments 2023-02-21 17:43:22 +01:00
jenkins 0ca34e91c3 Merge PR #594: Bind a client connection to the token given in the hello call. 2023-02-21 17:43:20 +01:00
Simon Stürz 7650b3ec23 Update MAC address database 2023-02-21 12:37:37 +01:00
Michael Zanetti 3a8fa74fcf Add location information to NymeaConfiguration 2023-02-18 22:35:02 +01:00
Michael Zanetti 15bcff1e6f Drop cloud settings which aren't used any more
Actually not bumping the jsonrpc version which in theory is a violation,
however, the largest part of this has been gone already with the bump to
7.0 and no known client applications are using this anways any more.
2023-02-16 14:07:35 +01:00
Michael Zanetti 5ea014a507 Allow users with ControlThings permission to read things logs 2023-02-13 14:29:03 +01:00
Michael Zanetti 2be6032718 Bind a client connection to the token given in the hello call.
This is a prerequisite for enabling dispatching notifications
based on user permissions.
2023-02-13 14:15:10 +01:00
Simon Stürz bba746c83c Fix method to convert phases from string 2023-02-10 22:15:30 +01:00
Michael Zanetti 51d08f94cf Stabilize logging tests 2023-02-08 19:45:14 +01:00
Michael Zanetti fe128723ae Create indices on entries table of log db
This greatly improves performance when querying logs for
a single thing or a single state/event/action.
2023-02-07 12:12:57 +01:00
Michael Zanetti 25e3975618 Manually check for Bluetooth before instantiating QtBluetooth 2023-02-02 11:37:22 +01:00
Simon Stürz 1ac8802035 NetworkDeviceMonitor: Fix initial reachable state using internal caches 2023-02-01 23:47:32 +01:00
jenkins b409fbe3be Jenkins release build 1.6.3 2023-02-01 12:17:51 +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
Simon Stürz 528d4c9919 Update copyright to 2023 2023-01-24 15:06:02 +01:00
jenkins 5ea0fbe156 Jenkins release build 1.6.2 2023-01-16 14:35:34 +01:00
Michael Zanetti 937b032f3c Use dynamic min/max values for io connections 2023-01-12 22:54:25 +01:00
Michael Zanetti fea635edcf Require min/max values for pressuresensors 2023-01-12 22:52:39 +01:00
Simon Stürz adf85cc15c network device monitor: clean up pending ping replies properly during shutdown 2023-01-12 15:56:03 +01:00
Michael Zanetti 08c0a09957 Require min/max values for co2sensors 2022-12-31 12:35:41 +01:00
Michael Zanetti 800d876655 Enqueue priority jobs instead of prepending
Keeping a second queue for priority jobs instead of just
prepending them to keep them properly sorted if multiple
priority jobs are coming in.
2022-12-27 23:53:27 +01:00
Michael Zanetti 68163f20de Properly clean up the TCP server on shutdown 2022-12-27 20:05:47 +01:00
Michael Zanetti 8e0c8eda41 Enable logging for thermostat states 2022-12-24 21:09:10 +01:00
jenkins d43b9dc737 Jenkins release build 1.6.1 2022-12-23 11:32:14 +01:00
Michael Zanetti 88aab9e639 Update translations 2022-12-23 10:59:30 +01:00
Michael Zanetti ebfbb75818 Improve debug logging filter arguments
This disables the info category by default, with the exception of the
Application category. And allows enabling info and debug categories
indidually. Also adds a -q (quiet) flag to silence even warnings.
For convenience, enabling a debug category will implicitly enable
the according info and warning categories.
2022-12-23 10:59:25 +01:00
Michael Zanetti 66ca0afa1f Add information for initialSetup and reconfigure to ThingSetupInfo 2022-12-14 23:39:29 +01:00
jenkins deef044909 Jenkins release build 1.6.0 2022-12-13 21:05:09 +01:00
jenkins c6b899ea63 Merge PR #609: Update mac address vendor database 2022-12-13 21:05:08 +01:00
jenkins 1d268e2205 Merge PR #608: Add vibrationsensor interface 2022-12-13 21:05:06 +01:00
jenkins 15ab9c06d1 Merge PR #606: Drop old nymea:cloud support 2022-12-13 21:05:05 +01:00
jenkins 00db64c9c4 Merge PR #605: NetworkDeviceDiscovery: Skip duplicated discovery if there are multiple network interfaces connected to the same network 2022-12-13 21:05:04 +01:00
jenkins ff1a841352 Merge PR #603: Fix a crash when the same plugin file is loaded twice 2022-12-13 21:05:02 +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 d2d61bfe58 Merge PR #599: Make init call for python plugins blocking 2022-12-13 21:04:58 +01:00
jenkins cff3e1ab08 Merge PR #593: Fix permissions for rules, tags and appdata api 2022-12-13 21:04:56 +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
jenkins 57f3c83445 Merge PR #585: Update systemd service dependecies to dbus.socket 2022-12-13 21:04:51 +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
Simon Stürz 436fe2c5d7 Update mac address vendor database 2022-12-12 09:47:22 +01:00
Michael Zanetti bbc8e54ebc Add vibrationsensor interface 2022-12-06 22:56:13 +01:00
Simon Stürz 285abcdd36 NetworkDeviceDiscovery: Skip duplicated discovery if there are multiple network interfaces connected to the same network 2022-12-05 09:14:05 +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 7c4b6494bb Drop old nymea:cloud support 2022-12-01 16:37:51 +01:00
Michael Zanetti 9296c1183c Fix permissions for tags and appdata
This ties those namespaces to the things permissions but won't
allow having different tags/appdata per user, which arguably would
be desirable. However, that's currently not that straight forward
to do, as at the moment there is no way to direct jsonrpc notifications
to a single user.
2022-11-30 15:30:50 +01:00
Michael Zanetti 5f8f8b2e62 Fix a crash when the same plugin file is loaded twice
If the same directory is passed twice QPluginLoader
would return the same object for the instance() call.
Deleting that would lead to deleting the instance for
the originally loaded plugin too.
2022-11-25 11:17:02 +01:00
Michael Zanetti 289362fefc Allow registering lists of ThingId on json rpc 2022-11-12 23:59:25 +01:00
Simon Stürz 8271e527eb NetworkDeviceDiscovery: wait for pending MAC address manufacturer lookups before finishing a discovery 2022-11-10 00:35:43 +01:00
Michael Zanetti a7e1ffca1f Make init call for python plugins blocking
We don't want to run setupThing() before init() is completed.
This also matches with how C++ plugins work.

Fixes #598
2022-11-09 15:12:18 +01:00
Michael Zanetti 6171a16157 Fix permissions for rules api 2022-11-07 22:48:12 +01:00
jenkins 8367f60886 Jenkins release build 1.5.1 2022-11-07 12:48:00 +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 3af830e559 Jenkins release build 1.5.0 2022-10-25 02:37:19 +02:00
jenkins 5c0783ef0e Merge PR #587: Update mac address database 2022-10-25 02:37:17 +02:00
jenkins d59a6edd27 Merge PR #584: Allow to override default paths using new env variable 2022-10-25 02:37:15 +02:00
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 d0e4811849 Merge PR #581: Improve warning information in thing manager 2022-10-25 02:37:11 +02:00
jenkins 8c67dd8bd8 Merge PR #580: Remove extern plugin info from testlib header 2022-10-25 02:37:10 +02:00
jenkins 064f567a60 Merge PR #579: Provide mock plugin with the test library, not with the tests. 2022-10-25 02:37:08 +02:00
jenkins 21999ba54b Merge PR #578: Network device discovery: fix potential crash on unregister non existing monitor 2022-10-25 02:37:07 +02:00
jenkins 8be69bdeb0 Merge PR #577: Fix editing user scopes 2022-10-25 02:37:05 +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 094c32ecf1 Merge PR #572: Add API to interact with ZigBee bindings 2022-10-25 02:37:01 +02:00
jenkins 6d30b69a13 Merge PR #570: Fix PyStdOutHandler class name in python engine 2022-10-25 02:37:00 +02:00
jenkins 0a571a63a9 Merge PR #566: Align gassensor interface wording 2022-10-25 02:36:58 +02:00
jenkins 68c0fad975 Merge PR #564: Expose Zigbee neighbor tables to jsonrpc 2022-10-25 02:36:57 +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
Simon Stürz 41b63b081b Update mac address database 2022-10-25 01:31:13 +02:00
Simon Stürz 52722d6cd9 Network device discovery: fix potential crash on unregister non existing monitor 2022-10-25 01:28:33 +02:00
Simon Stürz b7f5a260ac Update internal reply clean up order. Fix #588 2022-10-25 01:24:10 +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
Simon Stürz 149e5c8c49 Update systemd service dependecies to dbus.socket 2022-10-17 11:48:18 +02:00
Michael Zanetti 22e75b08df Add Thing and Things types to script engine 2022-10-13 15:18:06 +02:00
Simon Stürz 6734de4b45 Allow to override default paths using new env variable and rename additional paths to *EXTRA_PATH 2022-10-13 15:16:18 +02:00
Simon Stürz a3b3eecde8 Update debug prints and improve information given by warnings 2022-10-13 12:07:20 +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
Simon Stürz 219bb4c620 Provide mock plugin with the test library, not with the tests. 2022-10-03 14:23:59 +02:00
Simon Stürz 5272ab8b9c Add information instructions to bug report request message. 2022-10-03 11:28:18 +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 6965c66ef0 Fix editing user scopes 2022-09-29 10:15:17 +02:00
jenkins b4e396fae9 Jenkins release build 1.4.1 2022-09-23 16:33:50 +02:00
jenkins 373d734809 Merge PR #568: Fix warning messages in debug report page 2022-09-23 16:33:49 +02:00
Michael Zanetti a28e90ebd4 Fix PyStdOutHandler class name in python engine 2022-09-11 20:38:48 +02:00
Michael Zanetti be1d60e8a3 Fix warning messages in debug report page 2022-09-09 20:06:09 +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
Michael Zanetti 884dd2874f Align gassensor interface wording 2022-09-05 23:14:26 +02:00
jenkins 84163288b0 Jenkins release build 1.4.0 2022-08-26 12:58:14 +02:00
jenkins 62e0cd3195 Merge PR #563: Add electricity helper class to libnymea 2022-08-26 12:58:12 +02:00
jenkins 20860a020b Merge PR #561: Update readme.md to show nymea:app for ubuntu touch 2022-08-26 12:58:11 +02:00
jenkins 167506ebde Merge PR #560: Readme downloads update 2022-08-26 12:58:09 +02:00
jenkins b4e29a2388 Merge PR #559: Update mac address database 2022-08-26 12:58:08 +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 878a9f9042 Merge PR #553: Fix a python plugin crash when trying to login with empty credentials 2022-08-26 12:58:02 +02:00
jenkins c8760863d0 Merge PR #552: Check Info objects for finished after aborting them 2022-08-26 12:58:01 +02:00
jenkins 73b03b2430 Merge PR #551: Fix build failure in rpath setting with certain toolchains 2022-08-26 12:57:59 +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 942c41bc0b Merge PR #548: Allow apps to cache the GetPlugins call on JsonRpc 2022-08-26 12:57:55 +02:00
jenkins 23b83761b7 Merge PR #547: Update nymead server installation path prefix mechanism 2022-08-26 12:57:54 +02:00
jenkins ed7926f84e Merge PR #545: Add connected property to MqttChannel 2022-08-26 12:57:51 +02:00
jenkins 9697c6bbab Merge PR #544: Adjust timeout duration for actions, thing discovery and JSON-RPC replies 2022-08-26 12:57:49 +02:00
jenkins dc18996de9 Merge PR #543: NetworkDiscovery: Lookup the mac address vendor also if the cache has stored an empty mac vendor 2022-08-26 12:57:48 +02:00
jenkins 76d44c309c Merge PR #542: Fix NetworkDiscovery::hostAddressDiscovered not always being emitted 2022-08-26 12:57:46 +02:00
jenkins c4ea75a809 Merge PR #540: Provide experience manager access in core instance 2022-08-26 12:57:45 +02:00
jenkins 937c2902fb Merge PR #538: Add debian package for libnymea-core 2022-08-26 12:57:43 +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
apy7hst 964b0e027e
Update README.md 2022-08-24 20:05:44 +05:30
apy7hst a8eaf5c1bb
Update README.md 2022-08-24 20:02:06 +05:30
Michael Zanetti 22b8ed0e2a Update download links in the README 2022-08-23 17:05:58 +02:00
apy7hst 910402a24e
Update readme.md to show nymea:app for ubuntu touch 2022-08-23 19:21:12 +05:30
Simon Stürz 4e4131f5d6 Update mac address database 2022-08-17 15:46:33 +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
Michael Zanetti fc8c9df40e Fix a python plugin crash when trying to login with empty credentials 2022-08-07 12:29:48 +02:00
Simon Stürz 4ef0b68027 Add connected property to MqttChannel 2022-08-05 15:53:47 +02:00
Simon Stürz 0615808ee4 Provide access to the experience manager and offer possiblity for loading own plugin instance 2022-08-05 15:46:01 +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 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 291ae79c28 Fix build failure in rpath setting with certain toolchains 2022-08-02 00:48:34 +02:00
Michael Zanetti 1f35ddbff5 Fix logging level indicator character for debug prints 2022-08-01 20:05:38 +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 69fee48c23 Allow apps to cache the GetPlugins call on JsonRpc 2022-07-28 17:41:42 +02:00
Simon Stürz 13245e0e57 Add debian packages for libnymea-core 2022-07-26 10:08:05 +02:00
Simon Stürz ea2c87f3a5 Update nymead server default installation path using the QT_INSTALL_PREFIX 2022-07-25 15:45:30 +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
Simon Stürz d79f756ff1 NetworkDiscovery: Lookup the mac address vendor also if the cache has stored an empty mac vendor 2022-07-14 11:50:34 +02:00
Simon Stürz ae11ec32ea NetworkDiscovery: emit hostAddressDiscovered only if a new IP has been added to the discovery result #541 2022-07-14 08:12:47 +02:00
jenkins 5674ba7567 Jenkins release build 1.3.1 2022-07-11 15:35:08 +02:00
jenkins c5c9703247 Jenkins release build 1.3.0 2022-06-30 15:04:40 +02:00
jenkins eb32e2274a Merge PR #539: Add phaseCount state to electricvehicle interface 2022-06-30 15:04:39 +02:00
jenkins 2098203f73 Merge PR #537: Fix additional interface command line parameter 2022-06-30 15:04:38 +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
jenkins 68be029ede Merge PR #530: Add ping retry feature and provide it to the monitor 2022-06-30 15:04:34 +02:00
jenkins 5900f64b86 Merge PR #525: Migrate pluginid in thing settings when a thing class moves 2022-06-30 15:04:32 +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
Simon Stürz d1db6a3774 Fix network device cache housekeeping and sync the settings 2022-06-20 13:16:42 +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 d8c86c5767 Jenkins release build 1.2.0 2022-06-16 00:20:53 +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 1863bb8ddb Merge PR #523: Explicitly destroy experiences 2022-06-16 00:20:45 +02:00
jenkins c52e2ef6b8 Merge PR #522: Fix allowedValues for battery interface 2022-06-16 00:20:44 +02:00
jenkins adba1fdd41 Merge PR #521: Allow configuring warning/info/debug logging levels 2022-06-16 00:20:42 +02:00
jenkins bd7ea0cf8f Merge PR #517: Fix filters generating wrong data types 2022-06-16 00:20:41 +02:00
Michael Zanetti 48dd263cd9 Allow configuring warning/info/debug logging levels 2022-06-15 15:53:15 +02:00
Michael Zanetti 785f8cf43c Fix additional interface command line parameter 2022-06-10 17:20:50 +02:00
Simon Stürz fe317cfaae Inform about cache loading 2022-06-03 12:35:36 +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 db65beb202 Migrate pluginid in thing settings when a thing class moves between plugins 2022-05-13 11:27:21 +02:00
Michael Zanetti 8efe92e421 Explicitly destroy experiences on shutdown
Fixes an occational crash if an experience accesses
the thingmanager while it is being shut down.
2022-05-13 11:26:47 +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
jenkins 45081ad64e Jenkins release build 1.1.0 2022-05-03 23:27:19 +02:00
jenkins 569e9fa57d Merge PR #520: Fixes in permit joining timer handling 2022-05-03 23:27:18 +02:00
jenkins 4d16bba8ed Merge PR #519: Increase timeout for tests 2022-05-03 23:27:17 +02:00
jenkins 8a3f85ca25 Merge PR #518: Fix webserver tests 2022-05-03 23:27:15 +02:00
jenkins c71d66ccdb Merge PR #516: Add rpath to nymead binary 2022-05-03 23:27:14 +02:00
jenkins dbcbbfcf97 Merge PR #515: Allow modbus RTU plugins to request a connection reset 2022-05-03 23:27:13 +02:00
jenkins 2b32bca5cf Merge PR #513: Add a timeout to ModbusRtuReplies 2022-05-03 23:27:10 +02:00
jenkins eec7566d50 Merge PR #512: Remove smartmeterconsumer from evcharger 2022-05-03 23:27:09 +02:00
jenkins 06ed86bcdd Merge PR #511: Network device monitor 2022-05-03 23:27:07 +02:00
jenkins 44e2e36e16 Merge PR #509: Store the serveruuid as string 2022-05-03 23:27:06 +02:00
jenkins 7bc4d2ec2a Merge PR #508: Add support for listing and removing entries to PyPluginStorage 2022-05-03 23:27:04 +02:00
jenkins 1a06fabda2 Merge PR #507: Add support for datetime objects to pluginStorage in python plugins 2022-05-03 23:27:03 +02:00
Simon Stürz 17fc204122 Fix discovery behaviour if the resouce is not available 2022-05-03 14:30:01 +02:00
Simon Stürz 1d04da6205 Make sure the ping timer exists to prevent crash if not available 2022-04-26 16:45:07 +02:00
Simon Stürz f3760ff84a Fix networkdevicemonitor virtual destructor 2022-04-26 11:17:12 +02:00
Simon Stürz 66d62b87de Update debug categories and use qInfo, fix vietual destructor for the monitor 2022-04-25 17:07:48 +02:00
Simon Stürz 76b7bc1267 Fix ping crash if the host address is not valid 2022-04-25 15:27:35 +02:00
Simon Stürz 61bbd3cbdf Unfriend the discovery class from the monitor 2022-04-25 08:17:37 +02:00
Simon Stürz e4ff2d9422 Update mac address test naming 2022-04-25 08:06:17 +02:00
Michael Zanetti af3c928092 Fixes in permit joining timer handling
Emit ZigbeeNetworkChanged when it actually changes in the stack,
not directly after we request the stack to change something as
it may fail, or the effective parameters may be not what we think.
2022-04-23 23:34:39 +02:00
Michael Zanetti 0ca6286c5f Increase timeout for tests 2022-04-23 22:25:25 +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
Michael Zanetti 9c5a6fadb6 Add rpath to nymead binary
This allows to run it from the build directory without having to
specify LD_LIBRARY_PATH.

This is particularly useul when working with parts that require
special capabilities such as the NetworkDiscovery, given that
setcap on a binary disables LD_LIBRARY_LATH loading for security
reasons.

Building the dpkg package, the rpath will not be added.
2022-04-13 13:24:46 +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
Simon Stürz 14ea1bef4a Restructure network discovery and add discovery 2022-04-13 11:08:00 +02:00
Michael Zanetti 54c7cdcabf fix pull request template 2022-04-13 00:52:21 +02:00
Michael Zanetti b2cc7ac769 Add a timeout to ModbusRtuReply
QModbusReply seems to never finish in some rare cases:
For instance if a request is sent and before the reply arrives, the
modbus adapter is unplugged. This change should keep upper logic
working which relies on requests finishing eventually.

Also fixes the issue that we emit finished() multiple times if
QModbusClient retries multiple times and emits error() for each
attempt. We're only interested in a single result anyways.
2022-04-08 14:33:07 +02:00
Michael Zanetti 93f733311f Fix modbus RTU warning prints 2022-04-08 13:56:46 +02:00
Michael Zanetti 9b7e5e469d Allow modbus RTU plugins to request a connection reset 2022-04-06 23:28:54 +02:00
Michael Zanetti ffd0c7d690 Remove smartmeterconsumer from evcharger 2022-04-04 15:45:42 +02:00
Jenkins nymea bb03d17c79 Jenkins release build 1.0.0 2022-03-27 19:49:49 +02:00
Jenkins nymea 95c8ad5e3f Merge PR #506: DebugInterface: Fix process finished crash if the http reply timed out in the mean time 2022-03-27 19:49:45 +02:00
Jenkins nymea 8b87cf674f Merge PR #505: Fix crash for long taking mac address lookup 2022-03-27 19:49:44 +02:00
Jenkins nymea 1a57a6a5d9 Merge PR #504: Update mac address database and switch source information provider 2022-03-27 19:49:43 +02:00
Jenkins nymea 8fce019ee6 Merge PR #503: Update copyright to 2022 2022-03-27 19:49:41 +02:00
Jenkins nymea 10083c361b Merge PR #502: Remove apt.conf.d/99nymea also without purge option 2022-03-27 19:49:40 +02:00
Jenkins nymea f0fb4a7960 Merge PR #501: Increase timeout for auto tests 2022-03-27 19:49:39 +02:00
Jenkins nymea 3c8dd98400 Merge PR #500: Add debug prints to rule engine 2022-03-27 19:49:37 +02:00
Jenkins nymea 8153e551c1 Merge PR #499: Fix for ThingState which reports minValue instead of maxValue 2022-03-27 19:49:36 +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 013c94a907 Merge PR #495: Fix cleaning up things when a setup fails in python plugins 2022-03-27 19:49:31 +02:00
Jenkins nymea 443dbfb42b Merge PR #494: Split thing cache into individual files 2022-03-27 19:49:30 +02:00
Jenkins nymea 86c6026690 Merge PR #493: Fix some interface definitions (minimum/maximum vs min/max) 2022-03-27 19:49:28 +02:00
Jenkins nymea 5273d87c83 Merge PR #492: Add support for TI z-Stack based Zigbee adapters 2022-03-27 19:49:27 +02:00
Jenkins nymea 4cd37c4788 Merge PR #490: Fix encoding of ZigbeeHandler (Windows CRLF -> Unix LF) 2022-03-27 19:49:26 +02:00
Jenkins nymea 223c0c130b Merge PR #489: Make SSL certificate loading and generating more robust 2022-03-27 19:49:25 +02:00
Jenkins nymea de82c4aa8e Merge PR #487: Fix a crash when removing a currently connected transport 2022-03-27 19:49:23 +02:00
Jenkins nymea 37738bb022 Merge PR #455: Add tunnel proxy server for new remote connection mechanism 2022-03-27 19:49:22 +02:00
Jenkins nymea fca9ecee20 Merge PR #425: Add support fur user permissions 2022-03-27 19:49:21 +02:00
Michael Zanetti 5ca212130a Fix the apt hook 2022-03-27 01:07:03 +01:00
Michael Zanetti 80adc846dc Store the serveruuid as string 2022-03-24 10:25:04 +01:00
Michael Zanetti 1befe6166f Add support for removing entries and listing child keys in PyPluginStorage 2022-03-23 00:23:40 +01:00
Michael Zanetti b77b9a7bb6 Add support for datetime objects to pluginStorage in python plugins 2022-03-22 10:48:58 +01:00
Simon Stürz 7b9cbf14b8 Fix tracepath process finished 2022-03-21 13:42:45 +01:00
Simon Stürz 432130b0af Fix process finished crash if the http reply timed out in the mean time 2022-03-21 13:29:46 +01:00
Simon Stürz 64d347d921 Fix crash for long taking mac address loockup 2022-03-21 12:49:51 +01:00
Simon Stürz 1e2d4b33cf Add new line for proxy connection in order to support tcp paket splitting 2022-03-15 15:44:02 +01:00
Simon Stürz 8a9358f08d Update mac address database and switch source information provider 2022-03-10 09:10:23 +01:00
Simon Stürz d37000f446 Update copyright to 2022 2022-03-10 08:00:33 +01:00
Simon Stürz 836e0a5e14 Default remote connection to TCP connection and handle connection type appropriate 2022-03-09 17:45:42 +01:00
Michael Zanetti e423063fe9 Remove apt.conf.d/99nymea also without purge option 2022-03-09 12:40:14 +01:00
Simon Stürz 3eb3b8ad8a Fix tunnel proxy configuration and make it independent from the cloud configuration 2022-03-01 13:51:27 +01:00
Michael Zanetti ec22ec6268 Increase timeout for auto tests 2022-02-24 19:45:28 +01:00
Michael Zanetti 1f743b6671 Add debug prints to rule engine 2022-02-21 13:22:53 +01:00
doctorseus e76a2fe3d4 Fix: correctly report max instead of min value in ThingState 2022-02-16 14:19:19 +01: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
Simon Stürz 1e132a49ac Improve debug print for TunnelProxy 2022-02-08 11:00:09 +01:00
Michael Zanetti 3e94a1a4e8 fix typo 2022-02-08 11:00:09 +01:00
Michael Zanetti 47add31e63 Add configuration for the tunnel proxy server 2022-02-08 11:00:09 +01:00
Simon Stürz fea2ae0866 Add new line for json rpc data sending 2022-02-08 11:00:09 +01:00
Simon Stürz 106961557b Fix typo in several places 2022-02-08 11:00:09 +01:00
Simon Stürz 8b09f26ac3 Add 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 5077a3cb48 Add support for the TI Zigbee dongle 2022-02-07 14:00:14 +01:00
Michael Zanetti 2596eb46b6 Fix cleaning up things when a setup fails in python plugins 2022-02-06 19:47:44 +01:00
Michael Zanetti ecac5d9dc9 Fix some interface definitions (minimum/maximum vs min/max) 2022-02-02 14:35:12 +01:00
Michael Zanetti 96c8b55146 Fix encoding of ZigbeeHandler (Windows CRLF -> Unix LF) 2022-01-13 14:43:04 +01:00
Michael Zanetti 2ec72b21b8 Make SSL certificate loading and generating more robust 2022-01-11 13:02:13 +01:00
Michael Zanetti 8e9adec8d8 Fix a crash when removing a currently connected transport
Both, the TCP transport as well as the WebSocket transport were
crashing on this, but with different bugs.
2021-12-20 23:27:07 +01:00
Jenkins nymea 28d2f53261 Jenkins release build 0.30.0 2021-12-11 00:31:22 +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 becb5ea883 Merge PR #485: Fix dependency to libnymea-dev for nymea-sdk 2021-12-11 00:31:14 +01:00
Jenkins nymea b5e1228173 Merge PR #484: Remove cloud push notifications 2021-12-11 00:31:13 +01:00
Jenkins nymea 3d5c9b477b Merge PR #483: Add a providedInterfaces property to thingClass 2021-12-11 00:31:11 +01:00
Jenkins nymea b8e58511b9 Merge PR #482: Add more "by name" thing methods and c++11 list_initializers for lists 2021-12-11 00:31:10 +01:00
Jenkins nymea 77218553ae Merge PR #481: Add flag handling methods for the JSON RPC handler. 2021-12-11 00:31:09 +01:00
Jenkins nymea 787652aee9 Merge PR #479: Close log db if initialisation fails and discard entries. 2021-12-11 00:31:08 +01:00
Jenkins nymea 4b2676b5c0 Merge PR #477: Add unit ohm 2021-12-11 00:31:06 +01:00
Jenkins nymea bec0bd6d12 Merge PR #475: Change upgrade restart logic to also work on plugins and libs 2021-12-11 00:31:05 +01:00
Jenkins nymea b969f5f4fa Merge PR #474: Add phase count and session energy state to the evcharger interface 2021-12-11 00:31:04 +01:00
Jenkins nymea 020a2e968a Merge PR #473: Add min charging current to the electricvehicle interface 2021-12-11 00:31:03 +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 4f7a81e2dc Merge PR #471: Add charging state to evcharger interface 2021-12-11 00:31:00 +01:00
Jenkins nymea 16fb05d18d Merge PR #469: Add water level sensor interface 2021-12-11 00:30:59 +01:00
Jenkins nymea 8e16b26d09 Merge PR #468: Add heat pump interfaces 2021-12-11 00:30:58 +01:00
Jenkins nymea 00cfb88a74 Merge PR #464: Add support for dynamic min/max state values 2021-12-11 00:30:57 +01:00
Jenkins nymea 9bd4aa2a32 Merge PR #463: Add energystorage interface 2021-12-11 00:30:55 +01:00
Jenkins nymea 58e742420a Merge PR #462: 0.30 2021-12-11 00:30:54 +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 262e490b9b Add more "by name" thing methods and c++11 list_initializers for lists 2021-12-09 18:00:18 +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 b7331d25ec Fix dependency to libnymea-dev for nymea-sdk 2021-12-07 14:29:13 +01:00
Michael Zanetti 343d4a8c86 Remove cloud push notifications
Note: This doesn't remove 100% of the related code yet, just keeps
the minimum required to emit autoThingDisappeared() for all the
things and clean up users setups.

The rest of the CloudNotifications class code shall be removed
with 0.31 (or soonish after that).
2021-11-18 00:12:05 +01:00
Simon Stürz b03d4d155a Fix json typo in simple heat pump interface 2021-11-16 16:48:55 +01:00
Michael Zanetti e072084d23 0.30 2021-11-16 15:00:15 +01:00
Simon Stürz cd42d6b7dc Inhert simple heat pump from power interface 2021-11-16 14:41:49 +01:00
Simon Stürz 17371bdb7c Fix JSON typo in heatpump interface 2021-11-11 11:05:24 +01:00
Michael Zanetti 8ec5b4f464 Change upgrade restart logic to also work on plugins and libs 2021-11-11 01:41:20 +01:00
Michael Zanetti f2898b9fc8 Add a providedInterfaces property to thingClass 2021-11-10 12:57:28 +01:00
Simon Stürz e8e66c9b7f Add optional common states for heat pumps 2021-11-10 08:11:19 +01:00
Simon Stürz 1fc896def2 Add flag handling methods for the JSON RPC handler. 2021-11-05 18:49:20 +01:00
Michael Zanetti 412fc23dc9 Close log db if initialisation fails and discard entries. 2021-11-04 13:26:09 +01:00
Jenkins nymea bd7205866f Jenkins release build 0.29.2 2021-11-02 17:18:10 +01:00
Jenkins nymea 687b415e7f Merge PR #476: Fix a wrong error message from the plugininfocompiler 2021-11-02 17:18:09 +01:00
Michael Zanetti 7bd7e41ff2 Add unit Ohm 2021-11-02 12:22:09 +01:00
Michael Zanetti b5768c8bf0 Fix a wrong error message from the plugininfocompiler 2021-11-02 11:02:53 +01:00
Simon Stürz 81c1ba94d3 Update max charging current to uint 2021-10-28 08:05:52 +02:00
Simon Stürz 442f33e50d Allign minimal charging current to system naming 2021-10-27 17:34:34 +02:00
Simon Stürz b5dc78d9d3 Add session energy as optional sate for ev charger 2021-10-22 14:06:17 +02:00
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 249393241c Jenkins release build 0.29.1 2021-10-04 12:10:50 +02:00
Jenkins nymea 0be54eb451 Merge PR #467: Update mac address database 2021-10-04 12:10:47 +02:00
Jenkins nymea db501eebc9 Merge PR #466: Bump nymea version to 0.29.1 2021-10-04 12:10:46 +02:00
Jenkins nymea eaab3032a7 Merge PR #465: Fix action copy operator 2021-10-04 12:10: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
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 79ba02b317 Update mac address database 2021-10-04 11:31:14 +02:00
Simon Stürz c4b0fa00ca Bump nymea version to 0.29.1 2021-10-04 11:21:58 +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
Michael Zanetti 883c2e1c2a Use pkgconfig to find zigbee also for tests 2021-09-08 14:26:54 +02:00
Jenkins nymea 432ca3f883 Jenkins release build 0.29.0 2021-09-06 09:05:11 +02:00
Jenkins nymea f8645357b0 Merge PR #458: Fix myThings() not being updated before thingRemoved in python plugins 2021-09-06 09:05:08 +02:00
Jenkins nymea 06b020fe5a Merge PR #456: Prevent unspecific warnings during certificate loading 2021-09-06 09:05:07 +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 e0fc43b308 Merge PR #451: Add PluginTimer API to python plugins 2021-09-06 09:05:02 +02:00
Jenkins nymea 87dcd7484d Merge PR #450: Silence some spamming debug messages from project files 2021-09-06 09:05:00 +02:00
Jenkins nymea 4de0713f69 Merge PR #449: Force unit on humidity sensor interface 2021-09-06 09:04:59 +02:00
Jenkins nymea 633bd3bfc6 Merge PR #448: Fix TCP server internal signal connection 2021-09-06 09:04:58 +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
Jenkins nymea c63b31e4e4 Merge PR #442: Add O2, PH, ORP, CO and flammable gas sensor interfaces 2021-09-06 09:04:55 +02:00
Jenkins nymea c571aea399 Merge PR #441: Bump version to 0.29.0 2021-09-06 09:04:53 +02:00
Simon Stürz f993b0b68e Make use of gpio classes from libnymea-gpio 2021-09-04 19:10:35 +02:00
Michael Zanetti 59011c0387 Add PluginTimer API to python plugins 2021-08-26 14:15:43 +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 0e916ebbf7 Fix myCount() not being updated before thingRemoved in python plugins 2021-08-25 00:57:08 +02:00
Michael Zanetti 886f5c49f6 Add O2, PH, ORP, CO and flammable gas sensor interfaces 2021-08-20 23:57:22 +02:00
Simon Stürz a5c439008d Update certificate loading mechanism 2021-08-17 09:31:34 +02:00
Simon Stürz d16792e943 Prevent unspecific warnings during certificate loading 2021-08-17 09:23:36 +02:00
Michael Zanetti 332f15267c Bump version to 0.29.0 2021-08-12 10:41:15 +02:00
Michael Zanetti 9aef331330 Add an electricvehicle interface 2021-08-09 23:17:27 +02:00
Simon Stürz df42273ed1 Undo add pending connection 2021-08-09 16:28:35 +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 3a44714e34 Silence some spamming debug messages from project files 2021-08-06 19:57:37 +02:00
Michael Zanetti ab2b1fa4a0 Force unit on humidity sensor interface 2021-08-06 19:54:49 +02:00
Simon Stürz ad78a13303 Make use of addPendingConnection in order to keept the incomming connection mechanism working 2021-08-05 13:48:32 +02:00
Jenkins nymea 685450fdb3 Jenkins release build 0.28.1 2021-07-16 21:29:09 +02:00
Jenkins nymea 28fc2c262b Merge PR #446: Update mac address database 2021-07-16 21:29:08 +02:00
Jenkins nymea 0a01e14b77 Merge PR #445: Bump to 0.28.1 2021-07-16 21:29:07 +02:00
Simon Stürz 50c2a762ac Update mac address database 2021-07-16 15:05:06 +02:00
Simon Stürz 9788a1f6a3 Bump to 0.28.1 2021-07-15 08:53:39 +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 67b097f2fe Jenkins release build 0.28.0 2021-07-06 17:18:37 +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 76c035d71f Merge PR #431: Add missing changed notification for appdata 2021-07-06 17:18:24 +02:00
Jenkins nymea 9fb18494a3 Merge PR #430: Allow creating rules with exit actions and calendar items 2021-07-06 17:18:23 +02:00
Jenkins nymea a3d4e81f10 Merge PR #429: Fix time based rules not being initialized directly after creation 2021-07-06 17:18:22 +02:00
Jenkins nymea bd995bbb5e Merge PR #428: Fix action finishing in input types mock 2021-07-06 17:18:20 +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
Jenkins nymea 449b5c4cd5 Merge PR #417: Add more param getter functions to the python api 2021-07-06 17:18:17 +02:00
Jenkins nymea 7f5509debd Merge PR #415: 0.28 2021-07-06 17:18:16 +02:00
Jenkins nymea 8ff3d8766c Merge PR #390: Modbus RTU hardware resource 2021-07-06 17:18:15 +02:00
Jenkins nymea 152255d45c Merge PR #365: Zigbee node JSON RPC API 2021-07-06 17:18:14 +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 caed213cb7 Update mac database build script and README.md 2021-06-28 13:51:25 +02:00
Simon Stürz dea195045a Autodownload the mac address database information and make build script standalone 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
Simon Stürz 355dcd50d4 Update qmake udev build information message 2021-06-28 08:55:36 +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 856c352a43 Bump JSON API version and update api.json 2021-06-08 15:52:44 +02:00
Simon Stürz 81f9889178 Implement node changed notifications for zigbee JSONRPC API 2021-06-08 13:11:14 +02:00
Simon Stürz eef44c78c6 Continue node api development 2021-06-08 13:11:14 +02:00
Simon Stürz a0169b179d Add basic structure for zigbee nodes on jsonrpc api 2021-06-08 13:11:14 +02:00
Michael Zanetti 2731adc5c5 Bump jsonrpc api version 2021-06-07 22:16:38 +02:00
Simon Stürz 675782997c Move modbus RTU classes into hardware source code section 2021-06-06 00:43:37 +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 055ace3cc1 Fix building without modbus support 2021-06-06 00:43:37 +02:00
Simon Stürz 0cff50dc2c Update api.json to newest modbus changes 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 ee81b22350 Fix mussing logging category include 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 a69b819373 Implement modbus resource siganls and improve connected state notifications 2021-06-06 00:43:37 +02:00
Simon Stürz abcfd32feb Add support and fix modbus rtu storage cleanup 2021-06-06 00:43:37 +02:00
Simon Stürz 1f247b30be Fix building and JSON RPC for modbus management 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 0dcda9352b Add serial port build dependency for debian packaging 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 72a0db6d0d Implement ModbusRtu JSONRPC API 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 ab7579de42 Fix debian build dependency for serialbus 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 fc9c030ebc Update build information 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 53b61dad5b Add missing changed notification for appdata 2021-06-03 23:07:25 +02:00
Michael Zanetti a660bdd0e2 Allow creating rules with exit actions and calendar items 2021-05-29 00:28:22 +02:00
Michael Zanetti 4290e01b1f Fix time based rules not being initialized directly after creation 2021-05-29 00:26:57 +02:00
Michael Zanetti 449a092bd9 Fix action finishing in input types mock 2021-05-29 00:25:30 +02:00
Michael Zanetti f8f2cf8fc2 Add more flexible createChannel API to the MQTT provider resource 2021-05-28 16:31:00 +02:00
Michael Zanetti 8b51309c83 0.28 2021-05-28 16:00:26 +02:00
Jenkins nymea 1acd8ca808 Jenkins release build 0.27.1 2021-05-21 15:13:54 +02:00
Jenkins nymea d15d2f510d Merge PR #423: Fix erraneous state changes during thing setup 2021-05-21 15:13:52 +02:00
Jenkins nymea c5eee7844e Merge PR #422: Enable building on Ubuntu 21.04 2021-05-21 15:13:51 +02:00
Jenkins nymea b0c7122b2a Merge PR #421: Fix a threading related crash in python plugin param handling 2021-05-21 15:13:50 +02:00
Jenkins nymea bd570c58b9 Merge PR #420: Fix some includes to be more flexible on finding headers 2021-05-21 15:13:49 +02:00
Jenkins nymea fa7e03f541 Merge PR #419: Disable deprecation errors to allow building with gcc 10/Qt 5.15 2021-05-21 15:13:48 +02:00
Jenkins nymea 2b6d1b6f5a Merge PR #416: Better cloud reconnect 2021-05-21 15:13:46 +02:00
Simon Stürz 8067a3abfd Add air quality interfaces 2021-05-21 08:10:00 +02:00
Michael Zanetti 1e008fd60d Fix erraneous state changes during thing setup 2021-05-19 16:11:31 +02:00
Michael Zanetti 04c9ad8964 Make it build on hirsute 2021-05-14 16:53:43 +02:00
Michael Zanetti 167187a4fb Fix some includes to be more flexible on finding headers 2021-05-11 22:41:42 +02:00
Michael Zanetti 2b9b8cf725 Fix a threading related crash in python plugin param handling 2021-05-11 16:34:36 +02:00
Michael Zanetti c74ca7cbe6 Also disable it for plugins 2021-05-11 16:13:43 +02:00
Michael Zanetti a87cb6088f Disable deprecation errors to allow building with gcc 10 2021-05-10 18:22:06 +02:00
Michael Zanetti e7a5cf854b Add more param getter functions to the python api 2021-05-08 20:43:59 +02:00
Michael Zanetti 5964bfc598 Fix AWS reconnect if connecting stalls unexpectedly 2021-05-06 22:40:26 +02:00
Jenkins nymea be68d925be Jenkins release build 0.27.0 2021-04-19 11:38:38 +02:00
Jenkins nymea 12d83242e6 Merge PR #414: Use pkgconfig for libnymea-remoteproxyclient 2021-04-19 11:38:35 +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 e43af9a49d Merge PR #411: Add parentId member to pyThingDescriptor 2021-04-19 11:38:31 +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 d35765cb72 Merge PR #404: Clean up PyStdoutHandler on shutdown 2021-04-19 11:38:25 +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
Jenkins nymea 06eda01f86 Merge PR #399: Enable logging of barcode scanner events 2021-04-19 11:38:19 +02:00
Jenkins nymea 5be60b5b2b Merge PR #398: 0.27 2021-04-19 11:38:18 +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
Michael Zanetti a3e3d9a974 Use pkgconfig for libnymea-remoteproxyclient 2021-04-18 21:47:27 +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 8887e13d2e Add parentId member to pyThingDescriptor 2021-04-08 00:57:35 +02:00
Michael Zanetti b64ac431bf Update json api 2021-04-07 12:27:51 +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 193c647dc6 Also add api key storage api to python 2021-03-14 20:41:30 +01:00
Michael Zanetti 317467a05b Clean up PyStdoutHandler on shutdown 2021-03-14 20:20:59 +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
Michael Zanetti 66bc6a9fd4 0.27 2021-03-04 00:12:59 +01:00
Jenkins nymea 96ae3cd01a Jenkins release build 0.26.0 2021-02-25 11:27:18 +01:00
Jenkins nymea 52b8d478a7 Merge PR #395: Fix loading of JS plugins 2021-02-25 11:27:15 +01:00
Jenkins nymea a0abaa192d Merge PR #393: Allow disabling python via CONFIG+=withoutpython 2021-02-25 11:27:14 +01:00
Jenkins nymea fda79a7150 Merge PR #392: Update copyright to 2021 2021-02-25 11:27:13 +01:00
Jenkins nymea 832a0de9bd Merge PR #391: Allow calling ScriptAction::execute() without parameters 2021-02-25 11:27:11 +01:00
Jenkins nymea aa2dd592d5 Merge PR #389: Rename libnymea dev 2021-02-25 11:27:10 +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 600448f2eb Merge PR #383: Restructure nymea-sdk meta package 2021-02-25 11:27:06 +01:00
Jenkins nymea 2050ac23cb Merge PR #382: Silence plugin dir debug print 2021-02-25 11:27:05 +01:00
Jenkins nymea 4348390d50 Merge PR #381: Don't crash when a python plugin fails to load 2021-02-25 11:27:04 +01:00
Jenkins nymea b0d041b73e Merge PR #380: Add a watersensor interface 2021-02-25 11:27:02 +01:00
Jenkins nymea 2863b3ec53 Merge PR #379: 0.26 2021-02-25 11:27:00 +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
Jenkins nymea 01e9ad8916 Merge PR #337: Support for configuring logging and filtering states/events 2021-02-25 11:26:56 +01:00
Michael Zanetti dab8764584 Refresh setup status before proceeding 2021-02-24 17:42:16 +01:00
Michael Zanetti 29f88d744d Fix suggestLogging property for plugin devs 2021-02-24 13:41:41 +01:00
Michael Zanetti b2f9e911ad Don't cal thingRemoved() when a thing didn't complete the setup 2021-02-20 22:56:57 +01:00
Michael Zanetti 8274550eed Fix loading of JS plugins 2021-02-20 22:11:11 +01:00
Michael Zanetti c803dafb7f Add Breaks and Provides too to simplify migrations 2021-02-17 13:00:29 +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
Boernsman 3afdc2243c incorporated changes from reviewer 2021-02-09 16:30:36 +01:00
Boernsman 6e57f1ee20 added withoutpyhton config to libnymea-core 2021-02-08 22:11:45 +01:00
Michael Zanetti e3bba0534e Allow calling ScriptAction::execute() without parameters 2021-02-08 12:29:15 +01:00
Simon Stürz f661777079 Update copyright to 2021 2021-02-08 12:00:00 +01:00
Michael Zanetti 455ac25eff Rename libnymea1-dev to libnymea-dev 2021-02-04 00:36:03 +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 8900c69060 0.26 2021-02-01 10:04:19 +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
Jenkins nymea 493b211eec Jenkins release build 0.25.1 2021-01-29 15:42:59 +01:00
Jenkins nymea 7172ad1bed Merge PR #175: Fix TCP server warning and pointer initialization 2021-01-29 15:42:58 +01:00
Michael Zanetti 332188db5e Add units to weather interface 2021-01-26 14:10:23 +01:00
Michael Zanetti b47a0f9c15 Move plugin.pri to dev-tools package
It's not required to link to libnymea, but it is required when
running the plugininfo-compiler.
2021-01-18 20:35:11 +01:00
Michael Zanetti 1f4df62b7b Restructure nymea-sdk meta package
nymea-dev-tools depending on libnymea1-dev now, given it requires
the plugin.pri for translations support at least.

Instead, make the dependency to QtCreator related stuff optional (recommended).
2021-01-12 12:02:06 +01:00
Michael Zanetti a95b2de303 Silence plugin dir debug print
This is printed before logging filters are set because it's needed
for generating the --help text. There shouldn't be a debug print at
this place yet.
2021-01-09 11:48:59 +01:00
Michael Zanetti 3f0321f195 Don't crash when a python plugin fails to load 2021-01-09 11:38:26 +01:00
Michael Zanetti 62b87ee211 Add a watersensor interface 2021-01-06 16:39:36 +01:00
Michael Zanetti e52b45c815 fix tests 2021-01-04 18:02:26 +01:00
Michael Zanetti 386fa12a89 Bump api version 2021-01-04 17:20:07 +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 30a0469212 Update tests 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
Michael Zanetti bb86f12ab8 Fix mock thing 2020-12-30 16:07:49 +01:00
Simon Stürz 64a5ffbd37 Fix warning and pointer initialization 2020-12-30 00:15:08 +01:00
Jenkins nymea eaaf2e0188 Jenkins release build 0.25.0 2020-12-21 18:01:11 +01:00
Jenkins nymea 8f27d36698 Merge PR #375: Reorder shutdown 2020-12-21 18:01:07 +01:00
Jenkins nymea 56871ad7fd Merge PR #374: Cleanup scripts on shutdown 2020-12-21 18:01:06 +01:00
Jenkins nymea 5d6ca5a45a Merge PR #373: Fix memory off-by-one overflow 2020-12-21 18:01:04 +01:00
Jenkins nymea d48561ee89 Merge PR #372: Limit shutdown timeout of systemd service to 30 seconds 2020-12-21 18:01:03 +01:00
Jenkins nymea f1f75c9391 Merge PR #371: Remove SIGSEGV handling and backtrace printing for proper coredump cr… 2020-12-21 18:01:00 +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 42af51fc11 Merge PR #366: Silence the webserver even more 2020-12-21 18:00:57 +01:00
Jenkins nymea fab755f9af Merge PR #364: Allow filtering GetThingClasses for thingClassIds 2020-12-21 18:00:56 +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 abf5011688 Merge PR #359: Make python plugins optional during the build process 2020-12-21 18:00:53 +01:00
Jenkins nymea 8a2d9c7e95 Merge PR #358: Increase the maximum allowed message size in JSONRPC 2020-12-21 18:00:52 +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 873b1bdfcc Merge PR #353: Add a note for including extern-plugininfo.h for plugin developers 2020-12-21 18:00:46 +01:00
Jenkins nymea 103060b993 Merge PR #352: Drop the manually created -dbg package 2020-12-21 18:00:45 +01:00
Jenkins nymea db110396e8 Merge PR #351: 0.25 version bump 2020-12-21 18:00:44 +01:00
Jenkins nymea ee911e2824 Merge PR #349: Add state based value comparison in rules 2020-12-21 18:00:43 +01:00
Jenkins nymea 2d132ab57e Merge PR #346: Add ZigBee hardware resource and network management 2020-12-21 18:00:42 +01:00
Jenkins nymea 48bbe244a7 Merge PR #344: Add a command line argument for additional server interfaces 2020-12-21 18:00:41 +01:00
Simon Stürz 5ab371afdc Implement auto setup platform mechanism and add uart serialnumber verification 2020-12-18 15:35:57 +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 e32622dd2f Set minimum required libnymea-zigbee-dev version for building 2020-12-16 13:18:03 +01:00
Simon Stürz 72a68df345 Add docs and missing license header 2020-12-16 13:06:50 +01:00
Simon Stürz d51327b97a Update JSON RPC descriptions and rename Zigbee to ZigBee 2020-12-16 12:59:00 +01:00
Michael Zanetti 5e409be5b8 Reorder shutdown
The server manager might be used by things, so we need to destroy things first
2020-12-16 01:28:22 +01:00
Michael Zanetti f42aef106e Cleanup scripts on shutdown 2020-12-16 01:27:13 +01:00
Michael Zanetti 2898a08efd Fix memory off-by-one overflow 2020-12-15 22:30:03 +01:00
Simon Stürz 58de1d5715 Limit shutdown timeout of systemd service to 30 seconds 2020-12-15 10:47:50 +01:00
Simon Stürz 02edd475eb Remove SIGSEGV handling and backtrace printing for proper coredump creation 2020-12-15 10:32:07 +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 bf88664d90 Silence the webserver even more
Enough is enough. Now we only print warnings if there is something
wrong on our side, but not any more if the client sends bad
requests.
2020-12-11 13:07:30 +01:00
Simon Stürz 402ba069a1 Improve debug prints for better reading of joining nodes 2020-12-09 17:20:04 +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 4a41df3cf6 Allow filtering GetThingClasses for thingClassIds 2020-12-03 12:00:47 +01:00
Michael Zanetti 4ce5d773b0
remove broken images 2020-12-02 20:22:16 +01:00
Michael Zanetti 7be805aa2b
Fix Discord link 2020-12-02 19:54:47 +01:00
Michael Zanetti d1b57be370 Make python plugins optional during the build process 2020-11-30 20:00:04 +01:00
Simon Stürz bbc03066b4 Remove node reachable evaluation and move it to the network itself 2020-11-30 17:43:29 +01:00
Michael Zanetti b1ede004b3 Improve parameter validation for interface actions and events 2020-11-28 14:51:28 +01:00
Simon Stürz 66dbcc03af Remove node initializer since init process will be handled by the plugins 2020-11-28 14:28:23 +01:00
Michael Zanetti 73f4321e3e 0.25 version bump 2020-11-27 11:10:44 +01:00
Michael Zanetti 504b88eddd Increase the maximum allowed message size in JSONRPC
Turns out 10KB can be exceeded with scripting
2020-11-25 14:08:24 +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 527989fe7c Ignore the coordinator node in the zigbee resource 2020-11-19 14:37:44 +01:00
Michael Zanetti de5fec5950 Add a note for including extern-plugininfo.h for plugin developers 2020-11-18 17:07:59 +01:00
Simon Stürz 929ef2fb5d Update API json 2020-11-18 12:23:02 +01:00
Simon Stürz e2cbffeebd Make backend type dynamic and introduce GetAvailableBackends 2020-11-18 12:23:02 +01:00
Simon Stürz 2e6f68bc41 Fix typo in alert interface 2020-11-18 12:23:02 +01:00
Simon Stürz 97b1623e27 Add platform network creation 2020-11-18 12:23:02 +01:00
Michael Zanetti bfc4476019 allow the same plugin fetching a zigbeenode multiple times
inform the zigbeemanager about things finishing loading
2020-11-16 22:18:19 +01:00
Michael Zanetti 57ec37712a tell the zigbee resource when we're done loading things 2020-11-16 17:58:13 +01:00
Simon Stürz 0c4a23a487 Bump JSON ROC API version 2020-11-16 16:29:45 +01:00
Simon Stürz 897b49b1f3 Add zigbee notifications to enable/disable JSONRPC tests 2020-11-16 16:07:54 +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 255a6dc090 Move zigbeemanager include into the cpp 2020-11-16 14:50:16 +01:00
Simon Stürz 3ae8baaa40 Remove serialport module since not required any more in nymea 2020-11-16 12:50:56 +01:00
Simon Stürz 400239fc6c Add libnymea-zigbee-dev package to the build dependencies 2020-11-16 11:07:01 +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 ab9a497df8 Bump api version containing new Zigbee namespace 2020-11-16 10:20:58 +01:00
Simon Stürz 16bc4684e1 Experiment with binding and attribute report configuration 2020-11-16 07:55:33 +01:00
Simon Stürz 18d607319e Ping rx on when idle devices after network running 2020-11-12 17:48:53 +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
Simon Stürz 685948f8c8 Merge branch 'zigbee-hardware-resource' of github.com:guh/nymea into zigbee-hardware-resource 2020-11-12 11:42:04 +01:00
Simon Stürz a3ba16d111 Add node debugging and load network before starting it in any case 2020-11-12 11:33:06 +01:00
Michael Zanetti 4b493ac51d provisoric handling for node removal 2020-11-12 11:27:31 +01:00
Jenkins nymea bfaa85979d Jenkins release build 0.24.1 2020-11-11 10:55:29 +01:00
Jenkins nymea 0879d379e7 Merge PR #350: Allow second level domains in email addresses 2020-11-11 10:55:28 +01:00
Michael Zanetti 7a1fd9cd32 Drop the manually created -dbg package
We'll activate autodbgsym in crossbuilder instead
2020-11-09 17:19:48 +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 033d62a98d Fix double header and cpp definition due to rebase error 2020-11-06 19:04:52 +01:00
Simon Stürz 91d3ecbbf5 User NYMEA_LOGGING_CATEGORY for zigbee 2020-11-06 18:57:19 +01:00
Simon Stürz 5d467de47d Introduce centralized node initializer for unified network behaviour 2020-11-06 18:36:22 +01:00
Simon Stürz b6a6371021 Add enabled property for network as dummy for future implementation 2020-11-06 18:36:22 +01:00
Simon Stürz 203badf0c7 Improve zigbee api and add serial number 2020-11-06 18:36:22 +01:00
Simon Stürz 5ed9769427 Fix network added/removed notification parameter name 2020-11-06 18:36:22 +01:00
Simon Stürz ee00d31ce5 Add node added and removed signals into the zigbee manager without the coordinator node 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 cdf8b171f9 Finish zigbee network joining as first version 2020-11-06 18:36:22 +01:00
Simon Stürz 6edf6977a4 Add factory reset network and start implementing permit join mechanism 2020-11-06 18:36:21 +01:00
Simon Stürz 7585f30639 Basic network adding and removing working 2020-11-06 18:36:21 +01:00
Simon Stürz a7cb0e4e26 Add network settings loading and saving 2020-11-06 18:36:21 +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 61d0b96b42 Add GetAvailableAdapters to zigbee handler 2020-11-06 18:36:21 +01:00
Simon Stürz 4a520d8ba1 Rename Backend type and define ZigbeeNetworkState within the manager 2020-11-06 18:36:21 +01:00
Simon Stürz afc97fd244 Renabe libnymea-zigbee debug category for better understanding from where this category comes from 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
Michael Zanetti 228a4f9f9c fixx da build 2020-11-06 18:35:50 +01:00
Simon Stürz 9052472150 Sort source and header file for core lib 2020-11-06 18:35:50 +01:00
Simon Stürz 7cb995767c Add zigbee serial port for api 2020-11-06 18:34:54 +01:00
Simon Stürz fb74df8f81 Start integrating zigbee into nymea 2020-11-06 18:34:54 +01:00
Michael Zanetti 14516106b7 Allow second level domains in email addresses 2020-11-02 15:15:23 +01:00
Michael Zanetti d0935c8181 Add unit to batterylevel interface 2020-10-30 00:28:31 +01:00
Jenkins nymea ae6a548d68 Jenkins release build 0.24.0 2020-10-28 19:07:45 +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 a9c4717bfb Merge PR #343: Suppress recurring warning about missing user agents in http requests 2020-10-28 19:07:41 +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 e6b8d31d8d Merge PR #339: Add support for interface based script events and actions 2020-10-28 19:07:37 +01:00
Jenkins nymea 49e4c1caae Merge PR #338: Fix the webserver for serving static files 2020-10-28 19:07:36 +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
Jenkins nymea c6426af005 Merge PR #329: Introduce nymea-sdk meta package 2020-10-28 19:07:28 +01:00
Jenkins nymea e8ef096115 Merge PR #328: 0.24 2020-10-28 19:07:27 +01:00
Jenkins nymea 694b070f05 Merge PR #310: Add support for Python plugins 2020-10-28 19:07:25 +01:00
Jenkins nymea db98f60556 Merge PR #309: Don't call thingRemoved() on the plugin in case of reconfiguring 2020-10-28 19:07:24 +01:00
Jenkins nymea fd4b8cd249 Merge PR #293: Retry setup if it fails at startup (e.g. network isn't up yet) 2020-10-28 19:07:23 +01:00
Michael Zanetti 4c1361d10d Fix test target name 2020-10-28 17:38:10 +01:00
Michael Zanetti 61a07c3bb1 Add a command line argument for additional server interfaces 2020-10-27 09:44:00 +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 e53beffb4a Suppress recurring warning about missing user agents in http requests 2020-10-19 18:47:01 +02:00
Michael Zanetti 07b8515870 Force full linking of plugins at build time 2020-10-19 13:07:19 +02:00
Michael Zanetti befda2ec00 Revert back to qDebug, we're not ready for qInfo yet 2020-10-15 22:34:06 +02:00
Michael Zanetti 8aa2feb7c6 Make python plugins appear in the logging categories list 2020-10-15 22:34:06 +02:00
Michael Zanetti 15eead0976 Properly catch stdout and stderr and redirect it to qmessagelogger 2020-10-15 22:34:06 +02:00
Michael Zanetti 85f742a38d Add ThingActionInfo.paramValue() method 2020-10-15 22:34:06 +02:00
Michael Zanetti dbe5fab122 also build on bionic 2020-10-15 22:34:06 +02:00
Michael Zanetti a9ae885cfa Also accept python 3.7 2020-10-15 22:34:06 +02:00
Michael Zanetti bc04e455ac don't fail build on in-source builds 2020-10-15 22:34:06 +02:00
Michael Zanetti e50eece45c Fix metatype registering for old Qt versions 2020-10-15 22:34:06 +02:00
Michael Zanetti 9f49187dc1 Fix tests and xenial build 2020-10-15 22:34:06 +02:00
Michael Zanetti 16c4fa3345 fix issues in teardown. 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 fdbdb02c16 Make it compatible with python 3.5 2020-10-15 22:34:06 +02:00
Michael Zanetti be01d4c802 Restrict import paths to not use random python libs in the system 2020-10-15 22:34:06 +02:00
Michael Zanetti 75f4877f82 add settingChangedHandler, fix some issues, cleanup some warnings 2020-10-15 22:34:06 +02:00
Michael Zanetti 828250b85a Add dependency on python3 2020-10-15 22:34:06 +02:00
Michael Zanetti 2543191639 Add a todo file for stuff still missing in python plugins 2020-10-15 22:34:06 +02:00
Michael Zanetti 3436e9b998 drop usage of asyncio and run everything regularly threaded 2020-10-15 22:34:06 +02:00
Michael Zanetti 64e7d2784c checkpoint asyncio 2020-10-15 22:34:06 +02:00
Michael Zanetti 1018083052 add 2 missing data type conversions 2020-10-15 22:34:06 +02:00
Michael Zanetti 78e37f0d87 Fix shutdown 2020-10-15 22:34:06 +02:00
Michael Zanetti b870140608 Add tests, fix shutdown 2020-10-15 22:34:06 +02:00
Michael Zanetti 746f3e4121 fix actions cleanup 2020-10-15 22:34:06 +02:00
Michael Zanetti b0b480a539 drop some debugs 2020-10-15 22:34:06 +02:00
Michael Zanetti dadffcb784 some fixes 2020-10-15 22:34:06 +02:00
Michael Zanetti 3296d4b417 more work 2020-10-15 22:34:06 +02:00
Michael Zanetti f132c6b006 some 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 43ed283340 intermediate commit 2020-10-15 22:34:06 +02:00
Michael Zanetti 1ce5d5980d some fixes 2020-10-15 22:34:06 +02:00
Michael Zanetti 8aa91292fe more work 2020-10-15 22:34:06 +02:00
Michael Zanetti 85c9d93ccd Somoe type fixes 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 f97e5bf4d0 more work 2020-10-15 22:34:06 +02:00
Michael Zanetti 59c1c8e9f2 some more work 2020-10-15 22:34:06 +02:00
Michael Zanetti 68e9c82758 run a thread for each call 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 13d10b8aa0 some more python plugin work 2020-10-15 22:34:06 +02:00
Michael Zanetti 31cf425b79 intermediate 2020-10-15 22:34:06 +02:00
Michael Zanetti a2e6d9e185 Add an event loop 2020-10-15 22:34:06 +02:00
Michael Zanetti 380e962bd1 some more work on python plugins 2020-10-15 22:34:06 +02:00
Michael Zanetti a21315efc5 some more hacking 2020-10-15 22:34:06 +02:00
Michael Zanetti d17b44c83d Initial attempt to support python plugins 2020-10-15 22:34:06 +02:00
Michael Zanetti 8fee1bb2e5 Fix duplicate connections on case of retrying 2020-10-15 22:33:36 +02:00
Michael Zanetti 6aaab68cdc Retry setup if it fails at startup (e.g. network isn't up yet or similar) 2020-10-15 22:33:36 +02:00
Michael Zanetti 79dd00cb57 Add support for interface based script events and actions 2020-10-02 13:18:27 +02:00
Michael Zanetti 7010f3436f 0.24 2020-09-30 17:27:02 +02:00
Michael Zanetti 2f17a86506 Fix the webserver for serving static files 2020-09-23 00:49:37 +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
Jenkins nymea a0add78af0 Jenkins release build 0.23.1 2020-09-08 13:53:53 +02:00
Jenkins nymea eb291a47d5 Merge PR #334: Silence the warning about not being able to translate plugins 2020-09-08 13:53:52 +02:00
Jenkins nymea 15eed2f131 Merge PR #324: README.md: fix license version 2020-09-08 13:53:51 +02:00
Jenkins nymea 65de093c4a Merge PR #321: Make it build with Qt 5.14 and -Wno-deprecated 2020-09-08 13:53:50 +02:00
Michael Zanetti 81ac85dd55 Silence the warning about not being able to translate plugins 2020-09-08 12:06:16 +02:00
Michael Zanetti 39ea92a4ab Create nymea-sdk meta package to set up the dev env in one go 2020-09-07 23:47:37 +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
Michael Zanetti d529a27df1 fix mocks to properly deal with the new way of reconfiguring 2020-09-01 13:45:14 +02:00
Michael Zanetti 573a2c061a Don't call thingRemoved() on the plugin in case of reconfiguring
Reasoning:

a) Currently, the API behaves inconsistently. While reconfiguring
a "justAdd" thing, it did call thingRemoved, however, reconfiguring a thing
that uses pairing did not.

b) The old implementation did not consider childs. Reconfiguring a
justAdd thing which has childs was calling thingRemoved on the parent only
but not its childs.

c) If we'd fix this by calling thingRemoved() for all flows and childs
we'd end up in hells kitchen as we can't know about the new state of childs
after the reconfiguration, so we can't just automatically add all the childs
back ourselves, the plugin needs to do that. This in turn would mean that
childs would get new ids which then breaks rules and stuff.

So the conclusion has been to just re-run the setup and the plugin implementation
is in charge for then checking the existing childs and calling autoThingDisappeared()
as needed.

WARNING: This also implies that we need to fix some plugins which currently rely
on thingRemoved to be called for reconfiguration and might create duplicate
connections or similar now.
2020-09-01 13:45:14 +02:00
Radek Dostál 81d12ab372 README.md: fix license version
This should have been already included in commit
8f5536ba1a Update copyright

Signed-off-by: Radek Dostál <radek.dostal@streamunlimited.com>
2020-08-19 12:50:13 +02:00
Jenkins nymea 2ca4b2f32f Jenkins release build 0.23.0 2020-08-14 13:09:38 +02:00
Jenkins nymea 70c9c7f495 Merge PR #323: Fix cleanig up tags that are not needed any more 2020-08-14 13:09:34 +02:00
Jenkins nymea c803a1e81b Merge PR #322: Fix update busy flag in GetUpdateStatus API call 2020-08-14 13:09:34 +02:00
Jenkins nymea 7ba9bc2add Merge PR #320: Rework garage door interfaces 2020-08-14 13:09:34 +02:00
Jenkins nymea 54d186b7f0 Merge PR #319: Fix missing name method override for json handlers 2020-08-14 13:09:34 +02:00
Jenkins nymea 4dfe8eb37b Merge PR #317: 0.23 2020-08-14 13:09:34 +02:00
Jenkins nymea dc536db74e Merge PR #315: Use bindValue for composing query strings for the log DB 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 1066e768c9 Fix cleaning up of tags that are not needed any more 2020-08-13 17:40:08 +02:00
Simon Stürz dd16734ca7 Fix update busy flag in GetUpdateStatus API call 2020-08-07 08:01:30 +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 61871a729f Make it build with Qt 5.14 and -Wno-deprecated 2020-07-31 15:00:16 +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 db81d6f145 Bump version to 0.23 2020-07-23 17:30:52 +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
Simon Stürz 1334bb5bc7 Fix missing name override for json handlers 2020-07-14 16:36:03 +02:00
Michael Zanetti a4beed9aee Properly store stringlists 2020-07-10 23:15:05 +02:00
Michael Zanetti 98e5176393 Use bindValue for composing query strings for the log DB
Event/action param values might not be escaped properly otherwise
2020-07-05 12:29:38 +02:00
Michael Zanetti 75afab7eaf Add nymea logging categories as opposed to just Qt ones 2020-06-17 14:32:35 +02:00
826 changed files with 53573 additions and 29356 deletions

View File

@ -1,7 +1,7 @@
nymea:core pull request checklist:
Did you test the changes? If not (e.g. absence of required hardware), please mention a person to confirm it has been tested.
- [ ] Did you test the changes? If not (e.g. absence of required hardware), please mention a person to confirm it has been tested.
Did you update the documentation?
- [ ] Did you update translations (cd builddir && make lupdate)?
Did you update translations (cd builddir && make lupdate)?
- [ ] Did you update the website/documentation?

5
.gitignore vendored
View File

@ -8,6 +8,11 @@ snap/parts/
snap/prime/
snap/stage/
doc/interfacelist.qdoc
build/
# Never add downloaded json data
data/mac-database/macaddress.io-db.json
data/mac-database/mac-vendors-export.json
.crossbuilder/
debs*.tar

40
AGENTS.md Normal file
View File

@ -0,0 +1,40 @@
# Repository Guidelines
## Project Structure & Module Organization
- `server/`: nymead entry points, service glue, and startup helpers.
- `libnymea/`, `libnymea-core/`: reusable device APIs, JSON-RPC helpers, shared Qt utilities.
- `plugins/`: protocol modules, each with scoped sources, resources, and metadata (`*.json`).
- `tests/`: `auto/` (QtTest suites), `libnymea-tests/` (fixtures), `tools/` (harness utilities).
- `doc/`, `icons/`, `translations/`, `data/`: docs, assets, localization, sample configs; `debian*/`: packaging. Keep new code beside the layer it extends to avoid cross-module coupling.
## Build, Test, and Development Commands
```bash
qmake nymea.pro && make -j"$(nproc)" # full build
make install INSTALL_ROOT=$PWD/stage # staged install
./nymead -c data/nymead.conf # run locally
qmake tests/tests.pro && make check # run QtTest suites
```
Select the required Qt version before calling qmake (Qt 5 or Qt 6). Component-only work can be built from its subdir (e.g., `cd server && qmake server.pro`). Enable verbose logs with `QT_LOGGING_RULES="*.debug=true"`.
## Coding Style & Naming Conventions
- Qt style: 4-space indent, braces on their own line, `CamelCase` classes, `lowerCamelCase` functions/members.
- Prefer Qt containers/signals over STL; wrap log output in `NYMEA_LOGGING_CATEGORY`.
- C++/Qt: follow Qt conventions (camelCase, `m_` member prefixes, grouped/alphabetised includes, Qt containers, Qt logging macros).
- Keep plugin IDs, translation filenames, and resource prefixes aligned with their directory names.
- When user-visible text changes, refresh translations via `tools/update-translations.sh` (runs `lupdate`/`lrelease`).
## Testing Guidelines
- Tests sit in `tests/auto/<topic>/test*.cpp` and use `QTEST_MAIN`.
- `qmake tests/tests.pro` generates makefiles; `make check` executes every target (use `make -C tests/<suite>` for a slice).
- Mirror production directories when creating suites, mock I/O with helpers in `tests/tools/`, and cover both success paths and primary failure modes before sending a PR.
## Commit & Pull Request Guidelines
- Follow history conventions: imperative subjects under ~72 chars (“Add backup configuration…”).
- Bodies should mention motivation and key testing steps; tag related issues.
- PRs require scope summary, validation proof (`Tests: qmake tests && make check`), and screenshots or API traces whenever behavior changes.
- Call out configuration or packaging impacts (e.g., added plugin JSON, changed defaults) so reviewers can replicate.
## Security & Configuration Tips
- Grant network discovery rights after manual installs: `sudo setcap cap_net_admin,cap_net_raw=eip /path/to/nymead`.
- Store secrets in local overrides such as `/etc/nymea/*.conf` instead of `data/`.
- Review logging before submission to ensure credentials and tokens remain redacted, and describe any new capability or permission requirements inside the PR.

View File

@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at office@guh.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@nymea.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

1
COPYING Symbolic link
View File

@ -0,0 +1 @@
LICENSE.GPL3

1
COPYING.LESSER Symbolic link
View File

@ -0,0 +1 @@
LICENSE.LGPL3

View File

@ -6,8 +6,6 @@
</a>
</p>
nymea (/[n'aiːmea:]/ - is an open source IoT edge server. The plug-in based architecture allows to integrate protocols and APIs. With the build-in rule engine you are able to interconnect devices or services available in the system and create individual scenes and behaviours for your environment.
## Quick start
### Install nymea on a Raspberry Pi
@ -16,78 +14,68 @@ nymea (/[n'aiːmea:]/ - is an open source IoT edge server. The plug-in based arc
<img src="https://nymea.io/downloads/img/nymea-pi.svg" width=300 >
</p>
We have created an image for your Raspberry Pi (all models) that comes with an array of plugins for different smart devices!
[Download](https://downloads.nymea.io/images/raspberrypi/latest)
We have created an image for your Raspberry Pi that comes with an array of plugins for different smart devices!
Use the [Raspberry Pi imager](https://www.raspberrypi.com/software/) and select nymea as operating system.
Alternatively, the image can be downloaded and flashed manually from [here](https://downloads.nymea.io/images/raspberrypi/). We recommend
the latest Raspberry Pi OS Trixie [core](https://downloads.nymea.io/images/raspberrypi/nymea-core-image-raspios-trixie-latest.zip) image.
### Get nymea:app here:
<table align="middle">
<tr>
<td>
<p align="center">
<img src="https://nymea.io/downloads/img/community/app-shots/ios-app.png" width=300>
</p>
</td>
<td>
<p align="center">
<img src="https://nymea.io/downloads/img/community/app-shots/desktop-app.png?v=1555314733">
</p>
</td>
</tr>
</table>
<table align="middle">
<tr>
<td>
<p>
<a href="https://itunes.apple.com/us/app/nymea-app/id1400810250?mt=8">
<a href="https://apps.apple.com/us/app/nymea-app/id1400810250">
<img border="0" align="middle" alt="iOS Badge" src="https://nymea.io/downloads/img/app-store/appstore.png" width=200>
</p>
</td>
<td>
<p>
<a href="https://play.google.com/store/apps/details?id=io.guh.nymeaapp&hl=en&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">
<img border="0" align="middle" alt="Android Badge" src="https://nymea.io/downloads/img/app-store/playstore.png" width=200>
<a href="https://play.google.com/store/apps/details?id=io.nymea.nymeaapp&hl=en&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">
<img border="0" align="middle" alt="Android Badge" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" width=250>
</p>
</td>
<td>
<p>
<a href="https://downloads.nymea.io/nymea-app/nymea-app-osx-bundle.dmg">
<img border="0" align="middle" alt="macOS Badge" src="https://nymea.io/downloads/img/app-store/macos.png" width=200">
<a href="https://open-store.io/app/io.guh.nymeaapp">
<img border="0" align="middle" alt="Openstore Badge" src="https://open-store.io/badges/en_US.png" width=200>
</p>
</td>
<td>
<p>
<a href="https://snapcraft.io/nymea-app">
<img border="0" align="middle" alt="Snap Badge" src="https://nymea.io/downloads/img/app-store/snap-store.png" width=200>
</p>
</td>
<td>
<p>
<a href="https://downloads.nymea.io/nymea-app/nymea-app-win-installer.exe">
<a href="https://downloads.nymea.io/nymea-app/windows/latest">
<img border="0" align="middle" alt="Windows Badge" src="https://nymea.io/downloads/img/app-store/windows.svg" width=200>
</p>
</td>
</tr>
</table>
Manual download files of nymea:app can be found [here](https://downloads.nymea.io/nymea-app/).
A detailed description how to install and getting started with *nymea* can be found in the [nymea | user documentation](https://nymea.io/documentation/users/installation/getting-started).
## Getting help
If you want to present your project or want to share your newest developments you can share it in
[Our Forum](https://forum.nymea.io)
If you are facing any troubles, don't hesitate to reach out for us or the community members, we will be pleased to help you:
Chat with us on [Telegram](http://t.me/nymeacommunity) or [Discord](https://discord.com/channels/652494572298960926/652494572298960929)
## Developing with nymea
A detailed documentation on how to develop with *nymea* is available on the [nymea | developer documentation](https://nymea.io/documentation/developers/).
## Network discovery
When starting nymead as user without root privileges, the network device discovery will not available due to missing raw socket permission.
If you still want to make use of this feature, the binary capabilities need to be adjusted.
sudo setcap cap_net_admin,cap_net_raw=eip /usr/bin/nymead
This will allow nymead to create raw sockets for ARP and ICMP network discovery tools even when nymead gets started as user without root privileges.
## License
--------------------------------------------
> nymea is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License.
nymea is free software developed by chargebyte austria GmbH, former nymea GmbH.
Server components, tools, plugins and tests in this repository are licensed under the GNU General Public License version 3 or (at your option) any later version.
Public SDK libraries found in `libnymea/` and `libnymea-core/` are provided under the GNU Lesser General Public License version 3 or (at your option) any later version so they can be linked from external applications.
Copyright (C) 2013 - 2024, nymea GmbH
Copyright (C) 2024 - 2026, chargebyte austria GmbH
See `LICENSE.GPL3` and `LICENSE.LGPL3` for the complete license texts.

View File

@ -2,6 +2,7 @@
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<!-- Deprecated legacy service name kept for backwards compatibility. -->
<busconfig>
<policy user="root">
<allow own="io.guh.nymead"/>
@ -11,4 +12,3 @@
<allow send_destination="io.guh.nymead"/>
</policy>
</busconfig>

View File

@ -0,0 +1,13 @@
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="io.nymea.nymead"/>
<allow send_destination="io.nymea.nymead"/>
</policy>
<policy context="default">
<allow send_destination="io.nymea.nymead"/>
</policy>
</busconfig>

View File

@ -15,7 +15,7 @@
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="logo.svg"
inkscape:export-filename="/home/timon/guh/guh/guh/icons/guh-logo-512x512.png"
inkscape:export-filename="/home/timon/nymea/nymea/nymea/icons/nymea-logo-512x512.png"
inkscape:export-xdpi="92.160004"
inkscape:export-ydpi="92.160004">
<defs

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,12 +1,16 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2018-2019 Simon Stürz <simon.stuerz@nymea.io> *
* SPDX-License-Identifier: GPL-3.0-or-later *
* *
* Copyright (C) 2018 - 2024 nymea GmbH <contact@nymea.io> *
* Copyright (C) 2024 - 2025 chargebyte austria GmbH <contact@nymea.io> *
* *
* This file is part of nymea. *
* *
* nymea is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, version 2 of the License. *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* nymea is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
@ -14,7 +18,7 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with nymea. If not, see <http://www.gnu.org/licenses/>. *
* along with nymea. If not, see <https://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@ -145,23 +149,23 @@ function loadLoggingCategorySettings() {
for (var loggingCategory in responseMap['loggingCategories']) {
var loggingCategoryElement = document.getElementById("debug-category-" + loggingCategory)
loggingCategoryElement.checked = responseMap['loggingCategories'][loggingCategory]
console.log("Setting category", loggingCategory, "to", responseMap['loggingCategories'][loggingCategory])
loggingCategoryElement.value = responseMap['loggingCategories'][loggingCategory]
}
for (var loggingCategory in responseMap['loggingCategoriesPlugins']) {
var loggingCategoryElement = document.getElementById("debug-category-" + loggingCategory)
loggingCategoryElement.checked = responseMap['loggingCategoriesPlugins'][loggingCategory]
loggingCategoryElement.value = responseMap['loggingCategoriesPlugins'][loggingCategory]
}
}
}
}
function toggleLoggingCategory(categoryName) {
var switchElement = document.getElementById("debug-category-" + categoryName)
console.log("Toggle logging category", categoryName, switchElement.checked)
function toggleLoggingCategory(categoryName, obj) {
console.log("Select changed:", categoryName, obj.value)
var fileRequestUrl = "/debug/logging-categories?" + categoryName + "=" + (switchElement.checked ? "true" : "false");
var fileRequestUrl = "/debug/logging-categories?" + categoryName + "=" + obj.value;
// Request report file generation
var request = new XMLHttpRequest();
@ -422,4 +426,3 @@ window.onload = function() {
document.getElementById("informationTabButton").click();
loadLoggingCategorySettings();
};

View File

@ -1,12 +1,16 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2018-2019 Simon Stürz <simon.stuerz@nymea.io> *
* SPDX-License-Identifier: GPL-3.0-or-later *
* *
* Copyright (C) 2018 - 2024 nymea GmbH <contact@nymea.io> *
* Copyright (C) 2024 - 2025 chargebyte austria GmbH <contact@nymea.io> *
* *
* This file is part of nymea. *
* *
* nymea is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, version 2 of the License. *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* nymea is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
@ -14,7 +18,7 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with nymea. If not, see <http://www.gnu.org/licenses/>. *
* along with nymea. If not, see <https://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@ -283,6 +287,52 @@ button::-moz-focus-inner { border: 0; }
flex-grow: 1;
}
.debug-select {
box-sizing: border-box;
margin: 0;
border-radius: 4px;
font: inherit;
}
.debug-select {
max-width: 100%;
width: 100%;
border: 0 none;
padding: 0 10px;
background: #fff;
color: #666;
border: 1px solid #e5e5e5;
transition: .2s ease-in-out;
transition-property: color,background-color,border;
}
.debug-select:not([multiple]):not([size]) {
-webkit-appearance: none;
-moz-appearance: none;
padding-right: 20px;
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
background-repeat: no-repeat;
background-position: 100% 50%;
}
.debug-select:not([multiple]):not([size]) {
height: 40px;
vertical-align: middle;
display: inline-block;
}
.debug-select:not([multiple]):not([size]) option {
color: #666;
}
.debug-select:focus {
outline:0;
background-color: #fff;
color: #666;
border-color: #57baae;
}
/* The switch - the box around the slider */
.switch {
position: relative;

11
data/dpkg/nymea-upgrade-helper Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
if grep -q nymea
then
systemctl status nymead > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "A nymea package will be changed. Scheduling nymead restart after upgrade."
touch /tmp/nymea-restart-pending
fi
fi

View File

@ -12,15 +12,19 @@
#
### END INIT INFO
# SPDX-License-Identifier: GPL-3.0-or-later
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Copyright (C) 2015 Simon Stuerz <simon.stuerz@guh.guru> #
# Copyright (C) 2015 - 2024 nymea GmbH <contact@nymea.io> #
# Copyright (C) 2024 - 2025 chargebyte austria GmbH <contact@nymea.io> #
# #
# This file is part of nymea. #
# #
# nymea is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, version 2 of the License. #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# nymea is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
@ -28,12 +32,12 @@
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with nymea. If not, see <http://www.gnu.org/licenses/>. #
# along with nymea. If not, see <https://www.gnu.org/licenses/>. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Author: Simon Stuerz <simon.stuerz@guh.guru>
# Author: chargebyte austria GmbH <contact@nymea.io>
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script

View File

@ -0,0 +1,26 @@
# Building the MAC address database
The MAC address database can be created using the `build-database.py` script.
There are 2 online services supported:
* [https://maclookup.app](https://maclookup.app) default
* [https://macaddress.io](https://macaddress.io) not free any more, but still supported
The script will download the latest registered MAC address block information
from [https://maclookup.app](https://maclookup.app) and creates a size and access optimized
SQLITE database file.
The generated database is read performance optimized and tried to keep as small as possible for
searching MAC address OUIs (Organizationally Unique Identifiers) blocks and returning the registered company name.
$ python3 build-database.py
The final database will be named `mac-addresses.db`.
In nymea the `MacAddressDatabase` class will provide access to this generated database and provides an asynch threaded mechanism to get the company name for a given MAC address.
The database will be searched in the system default data location `${XDG_DATA_DIRS}/nymead/`.
On debian package based system the database file will be installed in `/usr/share/nymea/nymead/mac-addresses.db`.

View File

@ -0,0 +1,121 @@
#!/usr/bin/env python
# SPDX-License-Identifier: GPL-3.0-or-later
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# Copyright (C) 2013 - 2024, nymea GmbH
# Copyright (C) 2024 - 2025, chargebyte austria GmbH
#
# This file is part of nymea.
#
# nymea is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# nymea is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with nymea. If not, see <https://www.gnu.org/licenses/>.
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
import os
import sys
import json
import sqlite3
import requests
import argparse
# Note: this db is no longer free
databaseFileName = 'mac-addresses.db'
parser = argparse.ArgumentParser(description='Build mac address database from source.')
parser.add_argument('--macaddressio', action='store_true', help='Download and generate using macaddress.io as source (note: not free any more)')
args = parser.parse_args()
vendorInfoHash = {}
if args.macaddressio:
# Deprecated: not free any more, but would still work if you buy the db
downloadUrl='https://macaddress.io/database/macaddress.io-db.json'
jsonDataFileName = 'macaddress.io-db.json'
print('Downloading', downloadUrl, '...')
downloadRequest = requests.get(downloadUrl)
open(jsonDataFileName, 'wb').write(downloadRequest.content)
print('Reading JSON data..')
jsonDataFile = open(jsonDataFileName, 'r')
lines = jsonDataFile.readlines()
for line in lines:
vendorMap = json.loads(line)
vendorInfoHash[vendorMap['oui']] = vendorMap['companyName']
jsonDataFile.close()
else:
downloadUrl="https://maclookup.app/downloads/json-database/get-db"
jsonDataFileName = 'mac-vendors-export.json'
print('Downloading', downloadUrl, '...')
downloadRequest = requests.get(downloadUrl)
open(jsonDataFileName, 'wb').write(downloadRequest.content)
if not os.path.exists(jsonDataFileName):
print('Could not find %s. Please download the json data from https://maclookup.app/downloads/json-database and place it into this folder.')
print('Reading JSON data..')
# Example: {"macPrefix":"00:00:0C","vendorName":"Cisco Systems, Inc","private":false,"blockType":"MA-L","lastUpdate":"2015/11/17"}
jsonDataFile = open(jsonDataFileName, 'r')
jsonData = json.load(jsonDataFile)
jsonDataFile.close()
for vendorMap in jsonData:
vendorInfoHash[vendorMap['macPrefix']] = vendorMap['vendorName']
print(vendorMap['macPrefix'], vendorMap['vendorName'])
if os.path.exists(databaseFileName):
print('Delete old db file', databaseFileName)
os.remove(databaseFileName)
print('Build up database', databaseFileName)
connection = sqlite3.connect(databaseFileName)
cursor = connection.cursor()
cursor.execute('CREATE TABLE companyNames (companyName TEXT PRIMARY KEY, UNIQUE(companyName));')
cursor.execute('CREATE TABLE oui (oui TEXT PRIMARY KEY, companyNameIndex INTEGER, UNIQUE(oui)) WITHOUT ROWID;')
#cursor.execute('CREATE UNIQUE INDEX ouiIndex ON `oui` (`oui`);')
# Insert all vendor names alphabetically
print('Writing company names into database...')
sortedVendorHash = sorted(vendorInfoHash.items(), key=lambda x: x[1], reverse=False)
vendorCount = 0
for vendorInfo in sortedVendorHash:
insertQuery = 'INSERT OR IGNORE INTO companyNames (companyName) VALUES(?);'
cursor.execute(insertQuery, [vendorInfo[1]])
cursor.execute('SELECT COUNT(companyName) FROM companyNames;')
countResult = cursor.fetchall()
vendorCount = countResult[0][0]
connection.commit()
# Insert all oui with reference to company name
print('Writing OUI into database with company name reference...')
# Sort by oui for good binary search in the db
sortedOuiHash = sorted(vendorInfoHash.items(), key=lambda x: x[0], reverse=False)
ouiCount = 0
for vendorInfo in sortedOuiHash:
insertQuery = 'INSERT OR IGNORE INTO oui (oui, companyNameIndex) VALUES(?, (SELECT rowid FROM companyNames WHERE companyName = ?));'
cursor.execute(insertQuery, [vendorInfo[0].replace(':', ''), vendorInfo[1]])
cursor.execute('SELECT COUNT(oui) FROM oui;')
countResult = cursor.fetchall()
ouiCount = countResult[0][0]
connection.commit()
connection.close()
print('Finished successfully. Loaded', ouiCount, 'OUI values from', vendorCount, 'manufacturers into', databaseFileName)

Binary file not shown.

View File

@ -0,0 +1,7 @@
[Service]
Environment="INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:8086"
Environment="INFLUXDB_MONITOR_STORE_ENABLED=false"
Environment="INFLUXDB_HTTP_LOG_ENABLED=false"
Environment="INFLUXDB_CONTINUOUS_QUERIES_LOG_ENABLED=false"
Environment="INFLUXDB_CONTINUOUS_QUERIES_QUERY_STATS_ENABLED=false"
Environment="INFLUXDB_DATA_QUERY_LOG_ENABLED=false"

View File

@ -1,8 +1,9 @@
[Unit]
Description=nymead - IoT server
Documentation=https://wiki.nymea.io
After=network.target
Wants=network-online.target
Documentation=https://nymea.io
Requires=dbus.socket
After=network.target dbus.socket
Wants=network-online.target influxdb.service
[Service]
ExecStart=/usr/bin/nymead -n
@ -10,6 +11,7 @@ StandardOutput=journal
StandardError=journal
Restart=on-failure
Type=simple
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target

1
debian Symbolic link
View File

@ -0,0 +1 @@
debian-qt5

1443
debian-qt5/changelog Normal file

File diff suppressed because it is too large Load Diff

1
debian-qt5/compat Normal file
View File

@ -0,0 +1 @@
11

222
debian-qt5/control Normal file
View File

@ -0,0 +1,222 @@
Source: nymea
Section: utils
Priority: optional
Maintainer: chargebyte austria GmbH <contact@nymea.io>
Standards-Version: 4.6.0
Homepage: https://nymea.io
Vcs-Git: https://github.com/nymea/nymea.git
Build-Depends: debhelper,
dbus-test-runner,
dpkg-dev,
libnymea-mqtt-dev (>= 0.1.2),
libnymea-networkmanager-dev (>= 1.5.0~),
libnymea-remoteproxyclient-dev (>= 0.1.13),
libnymea-zigbee-dev (>= 0.1.0),
libnymea-gpio-dev,
libpython3-dev,
libqt5websockets5-dev,
libqt5bluetooth5,
libqt5sql5-sqlite,
libqt5dbus5 | libqt5dbus5t64,
libssl-dev,
rsync,
qml-module-qtquick2,
qtchooser,
qt5-qmake:native,
qtbase5-dev,
qttools5-dev-tools,
qtconnectivity5-dev,
qtdeclarative5-dev,
libqt5serialport5-dev,
libqt5serialbus5-dev,
influxdb:native,
libsystemd-dev,
Package: nymea
Architecture: any
Section: metapackages
Multi-Arch: same
Depends: nymead (= ${binary:Version}),
${misc:Depends}
Recommends: qml-module-qtquick2
Suggests: nymea-doc
Description: An open source IoT server - meta package
The nymea daemon is a plugin based IoT (Internet of Things) server.
The server works like a translator for devices, things and services
and allows them to interact.
Package: nymead
Architecture: any
Section: net
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
nymea-translations,
libnymea-core (= ${binary:Version}),
libnymea1 (= ${binary:Version}),
Recommends: nymea-cli,
nymea-data,
network-manager,
nymea-update-plugin-impl,
nymea-system-plugin-impl,
nymea-zeroconf-plugin-impl,
nymea-apikeysprovider-plugin-impl,
nymea-zwave-plugin-impl,
influxdb,
Description: An open source IoT server - daemon
The nymea daemon is a plugin based IoT (Internet of Things) server.
The server works like a translator for devices, things and services
and allows them to interact.
Package: nymea-data
Section: misc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymead
Description: Optional data for extending functionality in nymea daemon - data
Provides application data used by nymea:core
Package: nymea-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymea
Build-Profiles: <!nodoc>
Description: Documentation for the nymea library - documentation
This package contains documentation for developing nymea plugins.
Package: nymea-translations
Section: misc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymea
Description: Translation files for nymead - translations
Translation files for the nymea daemon.
Package: libnymea-tests
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea-core (= ${binary:Version})
Description: nymea-tests library - library
Shared resources for nymea-tests.
This package provides also the mock plugin for the tests.
Package: libnymea-tests-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea-tests (= ${binary:Version}),
libnymea-core-dev (= ${binary:Version})
Description: nymea-tests library - development files
Provides the nymea-tests development files for building
automated tests.
Package: nymea-tests
Section: devel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
nymea (= ${binary:Version}),
libnymea-tests (= ${binary:Version}),
influxdb,
Description: nymea automated tests - tests
Automated tests for the nymea daemon.
Package: libnymea1
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
Provides: nymea-update-plugin-api-1,
nymea-zeroconf-plugin-api-1,
nymea-system-plugin-api-3
Description: nymea shared resources - library
Shared resources for nymea plugins.
Package: libnymea-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea1 (= ${binary:Version}),
pkg-config,
qtbase5-dev,
Replaces: libnymea1-dev
Breaks: libnymea1-dev
Provides: libnymea1-dev
Description: nymea plugin development API library - development files
Shared resources for developing nymea plugins.
Package: libnymea-core
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
logrotate,
bluez,
tar,
iputils-tracepath,
iputils-ping,
qml-module-qtquick2,
libqt5sql5-sqlite,
libcap2-bin,
dnsutils,
Description: nymea:core internal - library
Internal library for nymea:core.
Package: libnymea-core-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea-core (= ${binary:Version}),
libnymea-dev (= ${binary:Version})
Description: nymea:core internal library - development files
Development files for the internal nymea:core library.
Package: nymea-dev-tools
Section: libdevel
Architecture: any
Multi-Arch: no
Depends: ${shlibs:Depends},
${misc:Depends},
qttools5-dev-tools,
rsync,
Description: Tools for developing nymea plugins.
This package will install the nymea-plugininfocompiler.
Package: nymea-sdk
Section: devel
Architecture: all
Multi-Arch: no
Depends: nymea-dev-tools (= ${binary:Version}),
libnymea-dev (= ${binary:Version}),
Recommends: nymea-qtcreator-wizards,
crossbuilder,
Suggests: libnymea-core-dev (= ${binary:Version})
Description: The nymea SDK.
Meta-Package for everything required to develop nymea integration plugins.

49
debian-qt5/copyright Normal file
View File

@ -0,0 +1,49 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: nymea
Upstream-Contact: chargebyte austria GmbH <contact@nymea.io>
Source: https://github.com/nymea/nymea.git
Download: https://github.com/nymea/nymea
Files: *
Copyright: 2013-2024, nymea GmbH <contact@nymea.io>
2024-2025, chargebyte austria GmbH <contact@nymea.io>
License: GPL-3+
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in `/usr/share/common-licenses/GPL-3`.
Files: server/*
tests/*
tools/*
plugins/*
doc/*
data/*
translations/*
debian/*
*.py
*.pro
License: GPL-3+
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in `/usr/share/common-licenses/GPL-3`.
Files: tests/libnymea-tests/*
License: LGPL-3+
On Debian systems, the complete text of the GNU Lesser General Public
License version 3 can be found in `/usr/share/common-licenses/LGPL-3`.
Files: libnymea/*
libnymea-core/*
License: LGPL-3+
On Debian systems, the complete text of the GNU Lesser General Public
License version 3 can be found in `/usr/share/common-licenses/LGPL-3`.
Files: server/qtservice/*
Copyright: 2013, Digia Plc
License: BSD-3-clause
On Debian systems, the complete text of the BSD license can be found in
`/usr/share/common-licenses/BSD`.
Files: doc/examples/*/debian/*
doc/examples/*/LICENSE
License: GPL-3+
On Debian systems, the complete text of the GNU General Public
License version 3 can be found in `/usr/share/common-licenses/GPL-3`.

View File

@ -0,0 +1,3 @@
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so
usr/include/nymea-core
usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/nymea-core.pc

View File

@ -0,0 +1,3 @@
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so.1.0
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so.1.0.0

View File

@ -0,0 +1,14 @@
usr/lib/@DEB_HOST_MULTIARCH@/libnymea.so
usr/include/nymea/*.h
usr/include/nymea/coap/*
usr/include/nymea/experiences/*
usr/include/nymea/hardware/*
usr/include/nymea/integrations/*
usr/include/nymea/jsonrpc/*
usr/include/nymea/logging/*
usr/include/nymea/network/*
usr/include/nymea/platform/*
usr/include/nymea/time/*
usr/include/nymea/types/*
usr/include/nymea/webserver/*
usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/nymea.pc

View File

@ -0,0 +1,3 @@
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so
usr/include/nymea-tests
usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/nymea-tests.pc

View File

@ -0,0 +1,4 @@
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so.1.0
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so.1.0.0
usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_integrationpluginmock.so

View File

@ -1,5 +1,5 @@
.\" Manpage for nymea-plugininfo.
.\" Contact simon.stuerz@guh.io to correct errors or typos.
.\" Contact chargebyte austria GmbH <contact@nymea.io> to correct errors or typos.
.TH man 1 "Jun 2019" "1.0.0" "nymea-plugininfocompiler man page"
.SH NAME
nymea-plugininfocompiler \- A precompiler for building nymea plugins.
@ -28,18 +28,20 @@ The extern-plugininfo.h output file with the uuid forward declarations.
.SH SEE ALSO
Full developer documentation at: <https://doc.nymea.io>
.br
Wiki on github: <https://github.com/guh/nymea/wiki>
Wiki on github: <https://github.com/nymea/nymea/wiki>
.SH "REPORTING BUGS"
Issue tracker on github: <https://github.com/guh/nymea/issues>
Issue tracker on github: <https://github.com/nymea/nymea/issues>
.br
How to report bugs: <https://github.com/guh/nymea/wiki/Reporting-bugs>
How to report bugs: <https://github.com/nymea/nymea/wiki/Reporting-bugs>
.SH AUTHOR
Written by Simon Stürz
.SH COPYRIGHT
Copyright \(co 2014-2020 nymea GmbH.
Copyright \(co 2013-2024 nymea GmbH.
.br
Copyright \(co 2024-2025 chargebyte austria GmbH.
.br
License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>.
License GPLv3+: GNU GPL version 3 or later <https://www.gnu.org/licenses/gpl-3.0.html>.
.br
This is free software: you are free to change and redistribute it.
.br

View File

@ -1,5 +1,5 @@
.\" Manpage for nymead.
.\" Contact simon.stuerz@guh.io to correct errors or typos.
.\" Contact chargebyte austria GmbH <contact@nymea.io> to correct errors or typos.
.TH man 1 "March 2019" "1.10" "nymead man page"
.SH NAME
nymead \- An open source IoT (Internet of Things) server
@ -138,10 +138,12 @@ Issue tracker on github: <https://github.com/nymea/nymea/issues>
.SH AUTHOR
Written by Simon Stürz and Michael Zanetti
.SH COPYRIGHT
Copyright \(co 2014-2020 nymea GmbH.
Copyright \(co 2013-2024 nymea GmbH.
.br
Copyright \(co 2024-2025 chargebyte austria GmbH.
.br
License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>.
License GPLv3+: GNU GPL version 3 or later <https://www.gnu.org/licenses/gpl-3.0.html>.
.br
This is free software: you are free to change and redistribute it.
.br

View File

@ -0,0 +1,2 @@
data/mac-database/mac-addresses.db usr/share/nymea/nymead/

View File

@ -1 +1,2 @@
usr/bin/nymea-plugininfocompiler
usr/include/nymea/plugin.pri

View File

@ -0,0 +1 @@
/usr/share/tests/nymea/*

View File

@ -0,0 +1,7 @@
usr/bin/nymead
data/systemd/nymead.service /lib/systemd/system/
data/systemd/influxdb.service.d/nymea-env.conf /etc/systemd/system/influxdb.service.d/
data/logrotate/nymead /etc/logrotate.d/
data/dbus-1/io.nymea.nymead.conf /etc/dbus-1/system.d/
data/dbus-1/io.guh.nymead.conf /etc/dbus-1/system.d/
data/dpkg/nymea-upgrade-helper /usr/libexec/

45
debian-qt5/nymead.postinst Executable file
View File

@ -0,0 +1,45 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-3.0-or-later
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Copyright (C) 2015 - 2024 nymea GmbH <contact@nymea.io> #
# Copyright (C) 2024 - 2025 chargebyte austria GmbH <contact@nymea.io> #
# #
# This file is part of nymea. #
# #
# nymea is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# nymea is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with nymea. If not, see <https://www.gnu.org/licenses/>. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Make sure user will be able to perform a networkdiscovery
# using ARP and ICMP sockets (raw_sock).
setcap cap_net_admin,cap_net_raw=eip /usr/bin/nymead
if [ $? -eq 0 ]; then
echo "Set raw socket network capabilities successfully for nymead."
else
echo "Failed to set raw socket network capabilities for nymead. Network device discovery will not be available for non root users."
fi
# nymea hook to restart nymead after upgrades that change nymea plugins or libraries
cat <<EOF > /etc/apt/apt.conf.d/99nymea
DPkg::Pre-Install-Pkgs {"/usr/libexec/nymea-upgrade-helper"; };
DPkg::Tools::Options::/usr/libexec/nymea-upgrade-helper::Version "1";
DPkg::Post-Invoke {"if [ -e /tmp/nymea-restart-pending ]; then systemctl restart nymead; rm /tmp/nymea-restart-pending; fi"; };
EOF
#DEBHELPER#
exit 0

25
debian/nymead.postinst → debian-qt5/nymead.prerm Executable file → Normal file
View File

@ -1,14 +1,18 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-3.0-or-later
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Copyright (C) 2015-2016 Simon Stuerz <simon.stuerz@guh.guru> #
# Copyright (C) 2015 - 2024 nymea GmbH <contact@nymea.io> #
# Copyright (C) 2024 - 2025 chargebyte austria GmbH <contact@nymea.io> #
# #
# This file is part of nymea. #
# #
# nymea is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, version 2 of the License. #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# nymea is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
@ -16,23 +20,14 @@
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with nymea. If not, see <http://www.gnu.org/licenses/>. #
# along with nymea. If not, see <https://www.gnu.org/licenses/>. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Restart the nymea daemon after update if it's running
systemctl daemon-reload
systemctl status nymead > /dev/null 2>&1
if [ $? -eq 0 ]; then
systemctl restart nymead
if [ $? -eq 0 ]; then
echo "Successfully restarted nymea daemon."
else
echo "FAILED to restart nymea daemon."
fi
fi
# apt remove doesn't remove files from /etc unless --purge is given
# but we want to remove /etc/apt/apt.conf.d/99nymea in any case
rm /etc/apt/apt.conf.d/99nymea
#DEBHELPER#
exit 0

View File

@ -14,18 +14,21 @@ $(info Building with DEB_BUILD_OPTIONS: [${DEB_BUILD_OPTIONS}])
MAKE_TARGETS=all lrelease
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
MAKE_TARGETS += doc
endif
endif
QMAKE_ADDITIONAL_ARGS=
QMAKE_ADDITIONAL_ARGS = CONFIG+=norpath
ifneq (,$(filter coverage,$(DEB_BUILD_OPTIONS)))
QMAKE_ADDITIONAL_ARGS += CONFIG+=coverage CONFIG+=debug
QMAKE_ADDITIONAL_ARGS += CONFIG+=coverage CONFIG+=debug
else
QMAKE_ADDITIONAL_ARGS += CONFIG+=release
QMAKE_ADDITIONAL_ARGS += CONFIG+=release
endif
DPKG_EXPORT_BUILDFLAGS = 1
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
NYMEA_DPKG_VERSION := $(shell dpkg-parsechangelog -SVersion)
QMAKE_ADDITIONAL_ARGS += NYMEA_VERSION=$(NYMEA_DPKG_VERSION)
include /usr/share/dpkg/buildflags.mk
PREPROCESS_FILES := $(wildcard debian/*.in)
@ -34,23 +37,25 @@ $(PREPROCESS_FILES:.in=): %: %.in
sed 's,/@DEB_HOST_MULTIARCH@,$(DEB_HOST_MULTIARCH:%=/%),g' $< > $@
override_dh_auto_configure:
dh_auto_configure -- "$(QMAKE_ADDITIONAL_ARGS)"
dh_auto_configure -- $(QMAKE_ADDITIONAL_ARGS)
override_dh_auto_build:
make -j$(DEB_PARALLEL_JOBS) $(MAKE_TARGETS)
override_dh_install: $(PREPROCESS_FILES:.in=)
# libnymea-core isn't public api... delete dev lib and just keep runtime libs.
rm $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnymea-core.so
dh_install --fail-missing
# installing the documentation as there is no extra install target
cp -a $(CURDIR)/doc/html $(CURDIR)/debian/nymea-doc/usr/share/doc/nymea/ || true
# Make sure the docs directory exists, even if we didn't build them
mkdir -p $(CURDIR)/doc/html
dh_install
# Note that this is the default with compat level 12.
override_dh_missing:
dh_missing --list-missing
override_dh_auto_test:
dh_auto_test -- -k TESTARGS="-m 120 -p -o -p -,txt -p -o -p test-results.xml,xunitxml" TESTRUNNER="dbus-test-runner --bus-type=both --task"
dh_auto_test --no-parallel -- -k TESTARGS="-m 600 -p -o -p -,txt -p -o -p test-results.xml,xunitxml" TESTRUNNER="dbus-test-runner --bus-type=both --task"
override_dh_strip:
dh_strip --dbg-package=nymea-dbg
override_dh_installsystemd:
dh_installsystemd --restart-after-upgrade
override_dh_auto_clean:
dh_auto_clean
@ -58,4 +63,4 @@ override_dh_auto_clean:
rm -rf $(PREPROCESS_FILES:.in=)
%:
dh $@ --buildsystem=qmake --parallel --with systemd
dh $@ --buildsystem=qmake --parallel

1
debian-qt6/changelog Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/changelog

1
debian-qt6/compat Normal file
View File

@ -0,0 +1 @@
13

222
debian-qt6/control Normal file
View File

@ -0,0 +1,222 @@
Source: nymea
Section: utils
Priority: optional
Maintainer: chargebyte austria GmbH <contact@nymea.io>
Standards-Version: 4.7.2
Homepage: https://nymea.io
Vcs-Git: https://github.com/nymea/nymea.git
Build-Depends: debhelper,
dbus-test-runner,
dpkg-dev,
libnymea-mqtt-dev (>= 0.1.2),
libnymea-networkmanager-dev (>= 1.5.0~),
libnymea-remoteproxyclient-dev (>= 0.1.13),
libnymea-zigbee-dev (>= 0.1.0),
libnymea-gpio-dev,
libpython3-dev,
qtchooser,
qt6-base-dev,
qt6-base-dev-tools,
qt6-websockets-dev,
qt6-connectivity-dev,
qt6-declarative-dev,
qt6-serialport-dev,
qt6-serialbus-dev,
qt6-5compat-dev,
qml6-module-qtquick,
libqt6bluetooth6,
libqt6sql6-sqlite,
libqt6dbus6 | libqt6dbus6t64,
libssl-dev,
rsync,
influxdb:native,
libsystemd-dev,
Package: nymea
Architecture: any
Section: metapackages
Multi-Arch: same
Depends: nymead (= ${binary:Version}),
${misc:Depends}
Recommends: qml6-module-qtquick
Suggests: nymea-doc
Description: An open source IoT server - meta package
The nymea daemon is a plugin based IoT (Internet of Things) server.
The server works like a translator for devices, things and services
and allows them to interact.
Package: nymead
Architecture: any
Section: net
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
nymea-translations,
libnymea-core (= ${binary:Version}),
libnymea1 (= ${binary:Version}),
Recommends: nymea-cli,
nymea-data,
network-manager,
nymea-update-plugin-impl,
nymea-system-plugin-impl,
nymea-zeroconf-plugin-impl,
nymea-apikeysprovider-plugin-impl,
nymea-zwave-plugin-impl,
influxdb,
Description: An open source IoT server - daemon
The nymea daemon is a plugin based IoT (Internet of Things) server.
The server works like a translator for devices, things and services
and allows them to interact.
Package: nymea-data
Section: misc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymead
Description: Optional data for extending functionality in nymea daemon - data
Provides application data used by nymea:core
Package: nymea-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymea
Build-Profiles: <!nodoc>
Description: Documentation for the nymea library - documentation
This package contains documentation for developing nymea plugins.
Package: nymea-translations
Section: misc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymea
Description: Translation files for nymead - translations
Translation files for the nymea daemon.
Package: libnymea-tests
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea-core (= ${binary:Version})
Description: nymea-tests library - library
Shared resources for nymea-tests.
This package provides also the mock plugin for the tests.
Package: libnymea-tests-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea-tests (= ${binary:Version}),
libnymea-core-dev (= ${binary:Version})
Description: nymea-tests library - development files
Provides the nymea-tests development files for building
automated tests.
Package: nymea-tests
Section: devel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
nymea (= ${binary:Version}),
libnymea-tests (= ${binary:Version}),
influxdb,
Description: nymea automated tests - tests
Automated tests for the nymea daemon.
Package: libnymea1
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
Provides: nymea-update-plugin-api-1,
nymea-zeroconf-plugin-api-1,
nymea-system-plugin-api-3
Description: nymea shared resources - library
Shared resources for nymea plugins.
Package: libnymea-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea1 (= ${binary:Version}),
pkg-config,
qt6-base-dev,
Replaces: libnymea1-dev
Breaks: libnymea1-dev
Provides: libnymea1-dev
Description: nymea plugin development API library - development files
Shared resources for developing nymea plugins.
Package: libnymea-core
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
logrotate,
bluez,
tar,
iputils-tracepath,
iputils-ping,
qml6-module-qtquick,
libqt6sql6-sqlite,
libcap2-bin,
dnsutils,
Description: nymea:core internal - library
Internal library for nymea:core.
Package: libnymea-core-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea-core (= ${binary:Version}),
libnymea-dev (= ${binary:Version})
Description: nymea:core internal library - development files
Development files for the internal nymea:core library.
Package: nymea-dev-tools
Section: libdevel
Architecture: any
Multi-Arch: no
Depends: ${shlibs:Depends},
${misc:Depends},
qt6-base-dev-tools,
rsync,
Description: Tools for developing nymea plugins.
This package will install the nymea-plugininfocompiler.
Package: nymea-sdk
Section: devel
Architecture: all
Multi-Arch: no
Depends: nymea-dev-tools (= ${binary:Version}),
libnymea-dev (= ${binary:Version}),
Recommends: nymea-qtcreator-wizards,
crossbuilder,
Suggests: libnymea-core-dev (= ${binary:Version})
Description: The nymea SDK.
Meta-Package for everything required to develop nymea integration plugins.

1
debian-qt6/copyright Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/copyright

View File

@ -0,0 +1 @@
../debian-qt5/libnymea-core-dev.install.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea-core.install.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea-dev.install.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea-tests-dev.install.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea-tests.install.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea1-dev.dirs.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea1-dev.manpages

View File

@ -0,0 +1 @@
../debian-qt5/libnymea1.dirs.in

View File

@ -0,0 +1 @@
../debian-qt5/libnymea1.install.in

1
debian-qt6/man Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/man

View File

@ -0,0 +1 @@
../debian-qt5/nymea-data.install

View File

@ -0,0 +1 @@
../debian-qt5/nymea-dev-tools.install.in

1
debian-qt6/nymea-doc.dirs Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/nymea-doc.dirs

View File

@ -0,0 +1 @@
../debian-qt5/nymea-doc.install

View File

@ -0,0 +1 @@
../debian-qt5/nymea-tests.dirs.in

View File

@ -0,0 +1 @@
../debian-qt5/nymea-tests.install.in

View File

@ -0,0 +1 @@
../debian-qt5/nymea-translations.dirs

View File

@ -0,0 +1 @@
../debian-qt5/nymea-translations.install

1
debian-qt6/nymead.dirs Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/nymead.dirs

View File

@ -0,0 +1 @@
../debian-qt5/nymead.install.in

1
debian-qt6/nymead.manpages Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/nymead.manpages

1
debian-qt6/nymead.postinst Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/nymead.postinst

1
debian-qt6/nymead.prerm Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/nymead.prerm

66
debian-qt6/rules Executable file
View File

@ -0,0 +1,66 @@
#!/usr/bin/make -f
# -*- makefile -*-
export DH_VERBOSE=1
export QT_QPA_PLATFORM=minimal
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
DEB_PARALLEL_JOBS ?= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
DEB_PARALLEL_JOBS += $(shell getconf _NPROCESSORS_ONLN)
endif
$(info Building with DEB_BUILD_OPTIONS: [${DEB_BUILD_OPTIONS}])
MAKE_TARGETS=all lrelease
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
MAKE_TARGETS += doc
endif
QMAKE_ADDITIONAL_ARGS = CONFIG+=norpath
ifneq (,$(filter coverage,$(DEB_BUILD_OPTIONS)))
QMAKE_ADDITIONAL_ARGS += CONFIG+=coverage CONFIG+=debug
else
QMAKE_ADDITIONAL_ARGS += CONFIG+=release
endif
DPKG_EXPORT_BUILDFLAGS = 1
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
NYMEA_DPKG_VERSION := $(shell dpkg-parsechangelog -SVersion)
QMAKE_ADDITIONAL_ARGS += NYMEA_VERSION=$(NYMEA_DPKG_VERSION)
include /usr/share/dpkg/buildflags.mk
PREPROCESS_FILES := $(wildcard debian/*.in)
$(PREPROCESS_FILES:.in=): %: %.in
sed 's,/@DEB_HOST_MULTIARCH@,$(DEB_HOST_MULTIARCH:%=/%),g' $< > $@
override_dh_auto_configure:
dh_auto_configure -- $(QMAKE_ADDITIONAL_ARGS)
override_dh_auto_build:
make -j$(DEB_PARALLEL_JOBS) $(MAKE_TARGETS)
override_dh_install: $(PREPROCESS_FILES:.in=)
# Make sure the docs directory exists, even if we didn't build them
mkdir -p $(CURDIR)/doc/html
dh_install
# Note that this is the default with compat level 12.
override_dh_missing:
dh_missing --list-missing
override_dh_auto_test:
dh_auto_test --no-parallel -- -k TESTARGS="-m 600 -p -o -p -,txt -p -o -p test-results.xml,xunitxml" TESTRUNNER="dbus-test-runner --bus-type=both --task"
override_dh_installsystemd:
dh_installsystemd --restart-after-upgrade
override_dh_auto_clean:
dh_auto_clean
find . -name *.qm -exec rm {} \;
rm -rf $(PREPROCESS_FILES:.in=)
%:
dh $@ --buildsystem=qmake6 --parallel

1
debian-qt6/source Symbolic link
View File

@ -0,0 +1 @@
../debian-qt5/source/

587
debian/changelog vendored
View File

@ -1,587 +0,0 @@
nymea (0.22.0) xenial; urgency=medium
[ Michael Zanetti ]
* Store state changes immediately when they change
* 0.22
* Allow emitting events from things directly
* Vaguely inform the plugin about the origin of actions.
* Fix time filter
-- Jenkins <jenkins@nymea.io> Tue, 14 Jul 2020 11:26:15 +0200
nymea (0.21.1) xenial; urgency=medium
[ Michael Zanetti ]
* Add venetianblind interface
* Convert recurring UPnP message to a debug print
-- Jenkins <jenkins@nymea.io> Fri, 26 Jun 2020 10:23:16 +0200
nymea (0.21.0) xenial; urgency=medium
[ Michael Zanetti ]
* Improve error messages when a plugin fails to load
* Add support for generic IO connections
* Reject duplicate ids in plugin json
* Add an irrigation interface
* Log DB schema 4
* Drop internal networkmanager and use libnymea-networkmanager instead
* Improve networking API
* Add an I2C hardware resource
* Add support for restarting nymea in the system api
* Fix thing class translations
* Check for cloud certificate file before trying to connect
* Add a helper function to more easily access ZeroConf txt records
* Cleanup license headers/files
* Don't directly link to libssl, we're using the Qt wrappers
* Fix UPnP discovery if wifi comes up late
* Add ventilation interface
-- Jenkins <jenkins@nymea.io> Sun, 07 Jun 2020 19:16:28 +0200
nymea (0.20.0) xenial; urgency=medium
[ Michael Zanetti ]
* Rename devices to Integrations/Things
* Add Radio Paradise icon support in the browser
* Fix param values getting lost in ScriptEvents
* Add better error reporting when a client fails to establish the
encryption channel
* Allow removal of discovered child things
* Add a displayMessage for errors to browsing operations
* Fix initialization of ScriptState values on startup
* Fix remving of things without plugin
-- Jenkins <jenkins@nymea.io> Sun, 05 Apr 2020 14:43:25 +0200
nymea (0.19.0) xenial; urgency=medium
[ Michael Zanetti ]
* Delete devices before plugin destruction
* Cleanup Rule definition in introspection
* Add more detailed setup status to API
* Improve heating interfaces
* Add Users API
* Fix some issues reported by valgrind
* Fix ScriptAction qqmlparserstatus
* Keep devices without plugins in the system
* Update copyright in --help text
* Bump version for 0.19
[ Simon Stürz ]
* Add units: newton, newtonmeter and rpm
[ Michael Zanetti ]
* Stabilize logging tests
-- Jenkins <jenkins@nymea.io> Sun, 23 Feb 2020 23:38:31 +0100
nymea (0.18.1) xenial; urgency=medium
[ Michael Zanetti ]
* Scriptengine
* Add System Time API
* Add discovery mode to userandpassword mock device
* Update company name
* Improve log DB housekeeping performance
* Support units in interfaces
* Update device names when changed by the plugin
* Subscribe to the entire device namespace in nymea:cloud MQTT
* Use a more unique nonce for the remote connection
[ Simon Stürz ]
* Update year and copyright
[ Michael Zanetti ]
* Generate a version.h file
* Disconnect all slots of nymea:core on shutdown
* Add Bluetooth media icon
* Qt versions
* Fix crash when removing a connected transport interface
* Update copyright
-- Jenkins <jenkins@nymea.io> Wed, 29 Jan 2020 21:44:40 +0100
nymea (0.18.0) xenial; urgency=medium
[ Michael Zanetti ]
* Scriptengine
* Add System Time API
* Add discovery mode to userandpassword mock device
* Update company name
* Improve log DB housekeeping performance
* Support units in interfaces
* Update device names when changed by the plugin
* Subscribe to the entire device namespace in nymea:cloud MQTT
* Use a more unique nonce for the remote connection
[ Simon Stürz ]
* Update year and copyright
[ Michael Zanetti ]
* Generate a version.h file
* Disconnect all slots of nymea:core on shutdown
* Add Bluetooth media icon
* Qt versions
* Fix crash when removing a connected transport interface
-- Jenkins <jenkins@nymea.io> Wed, 22 Jan 2020 23:47:19 +0100
nymea (0.17.0) xenial; urgency=medium
[ Michael Zanetti ]
* Allow more fine grained notification options
* More complete setup
* Drop old REST server
* Experience plugins
* Add a barcodescanner interface
* Don't load devices if the plugin dropped support for it
* Don't emit EventEmitted for invalid devices
* Threaded log database
* Weaken password requirements a bit
* Add some more plugin search paths to work better on non-debian
systems
-- Jenkins <jenkins@nymea.io> Sun, 01 Dec 2019 00:05:04 +0100
nymea (0.16.0) xenial; urgency=medium
[ Michael Zanetti ]
* Add account interface
* Rework devicemanager and plugin api
* Fix wrong wording of Hertz
* Improve json parse errors
* MQTT hardware resource api updates
* Always initialize device settings params
* Automatically enable nymead service in dpkg
[ Simon Stürz ]
* Improve debug report and report download mechanism
* Improve live logs in debug interface and rework logging rules
[ Michael Zanetti ]
* Add support for more media service icons
* Fix Browser icon definition in introspect
* Fix generating translation stubs
-- Jenkins <jenkins@nymea.io> Fri, 18 Oct 2019 14:57:25 +0200
nymea (0.15.1) xenial; urgency=medium
[ Michael Zanetti ]
* Add a powerswitch interface
* Add a doorbell interface
* Add an alert interface
* Fix a debug print to avoid spamming the log
-- Jenkins <jenkins@nymea.io> Fri, 13 Sep 2019 14:11:48 +0200
nymea (0.15.0) xenial; urgency=medium
[ Michael Zanetti ]
* Add support for browsing things
* Fix parenting mechanism for discovered devices
* Allow building the plugininfocompiler alone
* Export QT_LOGGING_CONF to /etc/nymea/logging.conf by default...
* Update navigationpad interface
* Write plugins doc update
* Autogenerate the ts file
* Prevent plugins from being loaded twice
* Verify events coming from plugins
* Rework button interface inheritance
* Require native qmake
* Remove build artefacts from gitignore.
* Fix dependencies
-- Jenkins <jenkins@nymea.io> Mon, 02 Sep 2019 18:01:54 +0200
nymea (0.14.0) xenial; urgency=medium
[ Michael Zanetti ]
* Bump minimum required TLS version to 1.2
* Add support for device settings
* Move devicemanager's implementation out of libnymea into libnymea-
core
* Add nymea-plugininfocompiler to replace nymea-generateplugininfo
* Update ZeroConf names when the server is renamed
-- Jenkins <jenkins@nymea.io> Mon, 22 Jul 2019 12:17:00 +0200
nymea (0.13.1) xenial; urgency=medium
[ Michael Zanetti ]
* Fix some typos
* Improve UPnP debug output for easier debugging
* Update link to image
-- Jenkins <jenkins@nymea.io> Fri, 28 Jun 2019 12:45:38 +0200
nymea (0.13.0) xenial; urgency=medium
[ Simon Stürz ]
* Add navigation pad interfaces
[ Michael Zanetti ]
* Fix make lupdate
* Don't rely on NetworkManager to determine the online status
* Fix include installs
* Don't use namespaces in headers in an inheritative way.
* System manager
[ Bernhard Trinnes ]
* Update readme
[ Simon Stürz ]
* Fix loading/saving of params using typeId
* Add new interface closablesensor
[ Michael Zanetti ]
* Rename vendor
* Move nymeatestbase into a nymea-testlib to speed up building
* Abstract ZeroConf into a platform plugin
* Add filterByDeviceClass to Devices
* Rename the target in the plugin.pri so plugin devs don't have to do
it
* Flush client buffers before terminating a connection
-- Jenkins <jenkins@nymea.io> Wed, 19 Jun 2019 23:52:23 +0200
nymea (0.12.1) xenial; urgency=medium
[ Michael Zanetti ]
* Fix docs for UnitBpm
* Fix documentation after API changes
* Don't set debian/ubuntu specific paths in project file
* Drop logic to retrieve dynamic turn credentials
* Improve translator debug
* Fix JsonRpc server breaking transports upon guard timer timeouts
* Do a more controlled teardown on shutdown
* Enable encryption and authentication for default configurations
* Add a warning message in JsonRpcServer when a call times out
-- Jenkins <jenkins@nymea.io> Thu, 02 May 2019 11:56:07 +0200
nymea (0.12.0) xenial; urgency=medium
[ Simon Stürz ]
* New interface: wirelessconnectable
* Change copyright year to 2019
* Unify API uuid to string convertion
[ Michael Zanetti ]
* Properly close the DB even on failures.
* Rework translation mechanism
[ Simon Stürz ]
* New interface: windspeedsensor
[ Michael Zanetti ]
* Drop deprecated api
* Fix the notification for deleting a web server configuration
* Fix TimeDescriptors getting lost when updating a rule
* Fix package to build with Qt 5.12
* Make the JsonRPC handshake mandatory for all new connections
* Add a method to filter Devices
[ Simon Stürz ]
* Add auto device reconfigure mechanism
[ Michael Zanetti ]
* Add support for state based rule action parameters
* Workaround zeroconf breaking because of broken multicast hardware
-- Jenkins <jenkins@nymea.io> Fri, 12 Apr 2019 13:42:35 +0200
nymea (0.11.1) xenial; urgency=medium
[ Simon Stürz ]
* Remove power from heating interface
* Fix pushbutton auth notification API declaration
[ Michael Zanetti ]
* Update the extended evcharger interface
* Support providing a custom remote proxy url
* Fix merging params for discovered devices with user overrides
* Fix Scenes getting activated by state changes
* Mock Plugin: Extend inputTypes mock device with states for all types
* Add unit to pressure sensor interface
* Make percentage unit mandatory for extendedheating
* Add units to conductivity and light sensor interfaces
* Remove redundant "close" action from garagegate interface
* Add a thermostat interface
* Add a deviceId to DeviceDescriptors to allow reconfiguring them
* Make color and colorTemperature in lights interfaces writable
* Handle binding loops in rules properly
* Drop Janus and WebRTC support
-- Jenkins <jenkins@nymea.io> Wed, 06 Mar 2019 21:13:34 +0100
nymea (0.11.0) xenial; urgency=medium
[ Simon Stürz ]
* Update webserver and debug server behaviour
[ Michael Zanetti ]
* Make loading and tearing down of the core more predictable
* Small fixes in AWS connection
* Split the smartlock and simpleclosable interfaces
* Discovery params override
* Add power socket interface
* add a daylight sensor interface
* Add a presencesensor interface
* Fix an issue where Rules might not be initialized properly at
startup
[ Simon Stürz ]
* Improve interfaces online documentation
[ Michael Zanetti ]
* rework media interfaces
-- Jenkins <jenkins@nymea.io> Thu, 17 Jan 2019 15:37:11 +0100
nymea (0.10.0) xenial; urgency=medium
[ Michael Zanetti ]
* emit a signal when a device name is changed so plugins can act on it
* Add an MQTT broker
* Add noisesensor and co2sensor interfaces
-- Jenkins <jenkins@nymea.io> Wed, 12 Dec 2018 14:44:45 +0100
nymea (0.9.39) xenial; urgency=medium
[ Jenkins ]
* Prepare for release
[ Simon Stürz ]
* Improve debuginterface and add more functionality
[ Michael Zanetti ]
* split color light interface into color temperature light
* add heating/evcharger interfaces
* Push 1.1
-- Jenkins <jenkins@nymea.io> Tue, 20 Nov 2018 14:32:29 +0100
nymea (0.9.38) xenial; urgency=medium
[ Jenkins ]
* Prepare for release
[ Michael Zanetti ]
* Smart meter interfaces
* The gateway interface now inherits connectable, add a system
interface
* add limits and offset to GetLogEntries
* Refactor packet fragmentation
[ Simon Stürz ]
* Call plugin init method after plugin configuration loading
[ Michael Zanetti ]
* initial take on a fingerprint reader interface
-- Jenkins <jenkins@nymea.io> Mon, 29 Oct 2018 14:19:41 +0100
nymea (0.9.37) xenial; urgency=medium
[ Jenkins ]
* Prepare for release
[ Simon Stürz ]
* Add notifications to introspect desciption. Fix #76
[ Michael Zanetti ]
* store the state type along with the value in the state cache
* fix introspect for TagError and UserError
* Enable usage of Qt logging filters
* remove rules which are left without any action after a device
removal
* don't emit connected() when we've already been connected
* more precise param namings and translation context strings
-- Jenkins <jenkins@nymea.io> Wed, 10 Oct 2018 04:38:07 +0200
nymea (0.9.36) bionic; urgency=medium
* Bump changelog to be in line with snap package
-- Michael Zanetti <michael.zanetti@nymea.io> Wed, 10 Oct 2018 03:58:10 +0200
nymea (0.9.0) xenial; urgency=medium
* Rename to nymea
-- Michael Zanetti <michael.zanetti@guh.io> Tue, 09 Oct 2018 22:54:50 +0200
guh (0.8.3) xenial; urgency=medium
* Add debug server
* Add interfaces
-- Simon Stürz <simon.stuerz@guh.io> Thu, 08 Feb 2018 23:10:42 +0100
guh (0.8.2) xenial; urgency=medium
* New hardware manager api
* Introduce push button authentication
-- Simon Stürz <simon.stuerz@guh.io> Fri, 01 Dec 2017 07:56:26 +0100
guh (0.8.1) xenial; urgency=medium
* Avahi interfaces and collision handling
* JSON RPC traffic standardized
* Settings fixed
-- Simon Stürz <simon.stuerz@guh.io> Mon, 02 Oct 2017 12:52:44 +0200
guh (0.8.0) xenial; urgency=medium
* Add support for SSL on all connection interfaces
* Add support for authentication on TCP and WebSocket Servers
* Allow fine grained configuration of server interfaces through config file
-- Michael Zanetti <michael.zanetti@guh.io> Wed, 06 Sep 2017 14:34:56 +0200
guh (0.7.10) xenial; urgency=medium
* Make it cross compilable
-- Michael Zanetti <michael.zanetti@guh.io> Wed, 12 Jul 2017 15:14:56 +0100
guh (0.7.9) xenial; urgency=medium
* Fixing some bugs
-- Simon Stürz <simon.stuerz@guh.io> Thu, 16 Feb 2017 15:12:56 +0100
guh (0.7.8) xenial; urgency=medium
* Add networkmanager
-- Simon Stürz <simon.stuerz@guh.io> Thu, 6 Oct 2016 14:31:48 +0200
guh (0.7.6) xenial; urgency=medium
* Add translations
* Add bluetooth server
-- Simon Stürz <simon.stuerz@guh.guru> Wed, 14 Sep 2016 15:43:22 +0200
guh (0.7.5) xenial; urgency=medium
* Configuration API and server settings
-- Simon Stürz <simon.stuerz@guh.guru> Mon, 11 Jul 2016 23:15:13 +0200
guh (0.7.4) xenial; urgency=medium
* Add cloud connection
* Add guhd configuration
-- Simon Stürz <simon.stuerz@guh.guru> Thu, 17 Jun 2016 18:35:02 +0200
guh (0.7.3) xenial; urgency=medium
* Add plugin property recommendations for client applications
-- Simon Stürz <simon.stuerz@guh.guru> Thu, 16 May 2016 11:24:06 +0200
guh (0.7.2) xenial; urgency=medium
* Add Avahi support
* Add guh-plugins-maker package
-- Simon Stürz <simon.stuerz@guh.guru> Thu, 28 Apr 2016 14:56:17 +0200
guh (0.7.1) wily; urgency=medium
* Add Timemanager
* Add Time based rules
-- Simon Stürz <simon.stuerz@guh.guru> Mon, 18 Apr 2016 13:43:01 +0200
guh (0.7.0) wily; urgency=medium
* Add CoAP
* Add OAuth2
* Parent/child device relation
-- Simon Stürz <simon.stuerz@guh.guru> Mon, 30 Nov 2015 11:29:03 +0100
guh (0.6.0) vivid; urgency=medium
* Add websocket server
-- Simon Stürz <simon.stuerz@guh.guru> Sat, 04 Aug 2015 16:13:43 +0200
guh (0.5.0) vivid; urgency=medium
* Add webserver and REST API
-- Simon Stürz <simon.stuerz@guh.guru> Sat, 01 Aug 2015 14:52:12 +0200
guh (0.4.0) vivid; urgency=medium
* add EditDevice and notifications
-- Simon Stürz <simon.stuerz@guh.guru> Wed, 06 May 2015 10:13:58 +0200
guh (0.3.0) utopic; urgency=medium
* update rule engine and many other small changes
-- Simon Stürz <simon.stuerz@guh.guru> Mon, 16 Mar 2015 09:52:40 +0100
guh (0.2.0) UNRELEASED; urgency=medium
* split plugins into dynamic libs and packages
-- Michael Zanetti <michael_zanetti@gmx.net> Sat, 11 Oct 2014 05:09:41 +0200
guh (0.1.8) utopic; urgency=medium
* allow calling AddRule with a single eventDescriptor but also with a list
-- Michael Zanetti <michael_zanetti@gmx.net> Sun, 15 Jun 2014 00:33:36 +0200
guh (0.1.7) utopic; urgency=medium
* implement StateEvaluators
-- Michael Zanetti <michael_zanetti@gmx.net> Sun, 08 Jun 2014 23:27:31 +0200
guh (0.1.6) utopic; urgency=medium
* state changes auto generate events now
-- Michael Zanetti <michael_zanetti@gmx.net> Sun, 08 Jun 2014 20:28:17 +0200
guh (0.1.5) utopic; urgency=medium
* align params/paramTypes with the rest of the type system
-- Michael Zanetti <michael_zanetti@gmx.net> Sun, 08 Jun 2014 20:24:25 +0200
guh (0.1.4) trusty; urgency=medium
* Add discoveryParams to DeviceClass
-- Michael Zanetti <michael_zanetti@gmx.net> Mon, 05 May 2014 20:30:49 +0200
guh (0.1.3) trusty; urgency=medium
* Added Actions.GetActionType(actionTypeId) to JSONRPC
-- Michael Zanetti <michael_zanetti@gmx.net> Mon, 05 May 2014 20:30:38 +0200
guh (0.1.2) trusty; urgency=medium
* Added Plugin configs
-- Michael Zanetti <michael_zanetti@gmx.net> Mon, 05 May 2014 20:26:46 +0200
guh (0.1.1) trusty; urgency=low
* Initial release.
-- Michael Zanetti <michael_zanetti@gmx.net> Sat, 27 Apr 2014 22:00:53 +0100

1
debian/compat vendored
View File

@ -1 +0,0 @@
9

210
debian/control vendored
View File

@ -1,210 +0,0 @@
Source: nymea
Section: utils
Priority: optional
Maintainer: Simon Stuerz <simon.stuerz@guh.io>
Standards-Version: 3.9.7
Homepage: https://nymea.io
Vcs-Git: https://github.com/guh/guh.git
Build-Depends: debhelper (>= 9.0.0),
dbus-test-runner,
dh-systemd,
dpkg-dev (>= 1.16.1~),
libnymea-mqtt-dev (>= 0.1.2),
libnymea-networkmanager-dev (>= 0.4.0),
libnymea-remoteproxyclient-dev,
libqt5websockets5-dev,
libqt5bluetooth5,
libqt5sql5-sqlite,
libqt5dbus5,
libssl-dev,
rsync,
qml-module-qtquick2,
qtchooser,
qt5-default,
qt5-qmake:native,
qtbase5-dev,
qttools5-dev-tools,
qtconnectivity5-dev,
qtdeclarative5-dev,
Package: nymea
Architecture: any
Section: metapackages
Multi-Arch: same
Depends: nymead (= ${binary:Version}),
${misc:Depends}
Recommends: qml-module-qtquick2
Suggests: nymea-doc
Replaces: guh
Description: An open source IoT server - meta package
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package will install the server and the default plugins.
Package: nymead
Architecture: any
Section: net
Multi-Arch: same
Depends: libqt5network5,
libqt5gui5,
libqt5sql5,
libqt5xml5,
libqt5dbus5,
libqt5websockets5,
libqt5bluetooth5,
libqt5sql5-sqlite,
logrotate,
bluez,
tar,
iputils-tracepath,
iputils-ping,
qml-module-qtquick2,
dnsutils,
nymea-translations,
libnymea1 (= ${binary:Version}),
${shlibs:Depends},
${misc:Depends}
Recommends: nymea-cli,
network-manager,
nymea-update-plugin-impl,
nymea-system-plugin-impl,
nymea-zeroconf-plugin-impl,
Replaces: guhd
Description: An open source IoT server - daemon
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package will install the daemon.
Package: nymea-dbg
Priority: extra
Architecture: any
Section: debug
Multi-Arch: same
Depends: nymea (= ${binary:Version}),
${misc:Depends}
Replaces: guh-dbg
Description: An open source IoT server - debug symbols
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package provides all debug symbols for nymea.
Package: nymea-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymea
Replaces: guh-doc
Build-Profiles: <!nodoc>
Description: Documentation for the nymea package (on-site) - documentation
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package contains documentation for developing nymea.
Package: nymea-translations
Section: misc
Architecture: all
Depends: ${misc:Depends}
Recommends: nymea
Replaces: guh-translations
Description: Translation files for nymead and plugins - translations
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package provides the translation files for nymead and for the plugins.
Package: nymea-tests
Section: devel
Architecture: any
Multi-Arch: same
Depends: nymea (= ${binary:Version}),
${shlibs:Depends},
${misc:Depends}
Replaces: guh-tests
Description: Tests and mock plugin for the nymea daemon - tests
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package will install the mock-plugin and the corresponding tests.
Package: libnymea1
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
Replaces: libguh1
Provides: nymea-update-plugin-api-1,
nymea-zeroconf-plugin-api-1,
nymea-system-plugin-api-2
Description: An open source IoT server - core library
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package will install shared libraries for nymea.
Package: libnymea1-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea1 (= ${binary:Version}),
pkg-config,
Replaces: libguh1-dev
Description: An open source IoT server - development files
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package will install the development files for nymea.
Package: nymea-dev-tools
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends},
${misc:Depends},
libnymea1 (= ${binary:Version}),
qttools5-dev-tools,
rsync,
Description: An open source IoT server - development files
The nymea daemon is a plugin based IoT (Internet of Things) server. The
server works like a translator for devices, things and services and
allows them to interact.
With the powerful rule engine you are able to connect any device available
in the system and create individual scenes and behaviors for your environment.
.
This package will install the development tools for nymea.

51
debian/copyright vendored
View File

@ -1,51 +0,0 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: nymea
Upstream-Contact: nymea GmbH <contact@nymea.io>
Copyright: 2013-2020, nymea GmbH
Download: http://www.github.com/nymea/nymea
Source: https://github.com/nymea/nymea.git
License: GPL-3
On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL-3'.
License: LGPL-3
On Debian systems, the complete text of the GNU Lesser General
Public License can be found in `/usr/share/common-licenses/LGPL-3'.
License: BSD
On Debian systems, the complete text of the BSD
License can be found in `/usr/share/common-licenses/BSD'.
Files: server/*
License: GPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>
Files: server/qtservice/*
License: BSD
Copyright: 2013, Digia Plc
Files: tests/*
License: GPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>
Files: translations/*
License: LGPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>
Files: doc/*
License: GPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>
Files: debian/*
License: GPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>
Files: libnymea/*
License: LGPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>
Files: plugins/*
License: GGPL-3
Copyright: 2013-2020, nymea GmbH <contact@nymea.io>

View File

@ -1,4 +0,0 @@
usr/lib/@DEB_HOST_MULTIARCH@/libnymea.so
usr/include/nymea/* usr/include/nymea
libnymea/integrations/plugin.pri usr/include/nymea/
usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/nymea.pc

View File

@ -1,3 +0,0 @@
usr/tests/* usr/lib/@DEB_HOST_MULTIARCH@/nymea/tests
usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_integrationpluginmock.so
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-testlib.so*

View File

@ -1,7 +0,0 @@
usr/bin/nymead
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so.1
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so.1.0
usr/lib/@DEB_HOST_MULTIARCH@/libnymea-core.so.1.0.0
data/systemd/nymead.service /lib/systemd/system/
data/logrotate/nymead /etc/logrotate.d/
data/dbus-1/io.guh.nymead.conf /etc/dbus-1/system.d/

File diff suppressed because it is too large Load Diff

View File

@ -4,11 +4,10 @@ Upstream-Contact: Developer Name <developer.name@example.com>
Copyright: 2018, Developer Name
License: LGPL-2.1
On Debian systems, the complete text of the GNU Lesser General
Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
License: GPL-3+
On Debian systems, the complete text of the GNU General Public
License version 3 can be found in `/usr/share/common-licenses/GPL-3'.
Files: *
License: LGPL-2.1
License: GPL-3+
Copyright: Developer Name <developer.name@example.com>

View File

@ -1,24 +1,26 @@
// SPDX-License-Identifier: GPL-3.0-or-later
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2018 Developer Name <developer.name@example.com> *
* *
* This file is part of nymea. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; If not, see *
* <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
*
* Copyright (C) 2013 - 2024, nymea GmbH
* Copyright (C) 2024 - 2025, chargebyte austria GmbH
*
* This file is part of nymea.
*
* nymea is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* nymea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with nymea. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "devicepluginsimplebutton.h"
#include "plugininfo.h"

View File

@ -1,24 +1,26 @@
// SPDX-License-Identifier: GPL-3.0-or-later
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2018 Developer Name <developer.name@example.com> *
* *
* This file is part of nymea. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; If not, see *
* <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
*
* Copyright (C) 2013 - 2024, nymea GmbH
* Copyright (C) 2024 - 2025, chargebyte austria GmbH
*
* This file is part of nymea.
*
* nymea is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* nymea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with nymea. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef DEVICEPLUGINSIMPLEBUTTON_H
#define DEVICEPLUGINSIMPLEBUTTON_H

View File

@ -4,7 +4,7 @@
"id": "28c7b102-3ac8-41f6-8dc0-f4787222a186",
"vendors": [
{
"name": "guh",
"name": "nymea",
"displayName": "nymea",
"id": "2062d64d-3232-433c-88bc-0d33c0ba2ba6",
"deviceClasses": [
@ -44,4 +44,3 @@
}

View File

@ -1,8 +1,26 @@
/* This file is generated by the nymea build system. Any changes to this file will
* be lost.
*
* If you want to change this file, edit the plugin's json file.
*/
// SPDX-License-Identifier: GPL-3.0-or-later
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright (C) 2013 - 2024, nymea GmbH
* Copyright (C) 2024 - 2025, chargebyte austria GmbH
*
* This file is part of nymea.
*
* nymea is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* nymea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with nymea. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef EXTERNPLUGININFO_H
#define EXTERNPLUGININFO_H
@ -11,7 +29,7 @@
// Id definitions
extern PluginId pluginId;
extern VendorId guhVendorId;
extern VendorId nymeaVendorId;
extern DeviceClassId simplebuttonDeviceClassId;
extern ActionTypeId simplebuttonPressActionTypeId;
extern EventTypeId simplebuttonPressedEventTypeId;

View File

@ -1,8 +1,26 @@
/* This file is generated by the nymea build system. Any changes to this file will
* be lost.
*
* If you want to change this file, edit the plugin's json file.
*/
// SPDX-License-Identifier: GPL-3.0-or-later
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Copyright (C) 2013 - 2024, nymea GmbH
* Copyright (C) 2024 - 2025, chargebyte austria GmbH
*
* This file is part of nymea.
*
* nymea is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* nymea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with nymea. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef PLUGININFO_H
#define PLUGININFO_H
@ -14,7 +32,7 @@
// Id definitions
PluginId pluginId = PluginId("28c7b102-3ac8-41f6-8dc0-f4787222a186");
VendorId guhVendorId = VendorId("2062d64d-3232-433c-88bc-0d33c0ba2ba6");
VendorId nymeaVendorId = VendorId("2062d64d-3232-433c-88bc-0d33c0ba2ba6");
DeviceClassId simplebuttonDeviceClassId = DeviceClassId("c16ba02d-c982-4b45-8ca2-1945d94d8e66");
ActionTypeId simplebuttonPressActionTypeId = ActionTypeId("64c4ced5-9a1a-4858-81dd-1b5c94dba495");
EventTypeId simplebuttonPressedEventTypeId = EventTypeId("f9652210-9aed-4f38-8c19-2fd54f703fbe");

File diff suppressed because it is too large Load Diff

View File

@ -4,11 +4,10 @@ Upstream-Contact: Developer Name <developer.name@example.com>
Copyright: 2018, Developer Name
License: LGPL-2.1
On Debian systems, the complete text of the GNU Lesser General
Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
License: GPL-3+
On Debian systems, the complete text of the GNU General Public
License version 3 can be found in `/usr/share/common-licenses/GPL-3'.
Files: *
License: LGPL-2.1
License: GPL-3+
Copyright: Developer Name <developer.name@example.com>

View File

@ -1,24 +1,26 @@
// SPDX-License-Identifier: GPL-3.0-or-later
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2018 Developer Name <developer.name@example.com> *
* *
* This file is part of nymea. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; If not, see *
* <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
*
* Copyright (C) 2013 - 2024, nymea GmbH
* Copyright (C) 2024 - 2025, chargebyte austria GmbH
*
* This file is part of nymea.
*
* nymea is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* nymea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with nymea. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "plugininfo.h"
#include "deviceplugintemplate.h"

View File

@ -1,24 +1,26 @@
// SPDX-License-Identifier: GPL-3.0-or-later
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2018 Developer Name <developer.name@example.com> *
* *
* This file is part of nymea. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; If not, see *
* <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
*
* Copyright (C) 2013 - 2024, nymea GmbH
* Copyright (C) 2024 - 2025, chargebyte austria GmbH
*
* This file is part of nymea.
*
* nymea is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* nymea is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with nymea. If not, see <https://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef DEVICEPLUGINEXAMPLE_H
#define DEVICEPLUGINEXAMPLE_H

View File

@ -4,7 +4,7 @@
"id": "00000000-0000-0000-0000-000000000000",
"vendors": [
{
"name": "guh",
"name": "nymea",
"displayName": "nymea",
"id": "2062d64d-3232-433c-88bc-0d33c0ba2ba6",
"deviceClasses": [
@ -36,4 +36,3 @@
}

View File

@ -1,25 +1,27 @@
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# SPDX-License-Identifier: GPL-3.0-or-later
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Copyright (C) 2018 Simon Stuerz <simon.stuerz@guh.io> #
# #
# This file is part of nymea. #
# #
# nymea is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, version 2 of the License. #
# #
# nymea is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with nymea. If not, see <http://www.gnu.org/licenses/>. #
# #
#
# Copyright (C) 2013 - 2024, nymea GmbH
# Copyright (C) 2024 - 2025, chargebyte austria GmbH
#
# This file is part of nymea.
#
# nymea is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# nymea is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with nymea. If not, see <https://www.gnu.org/licenses/>.
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
import argparse

View File

@ -1,25 +1,27 @@
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# SPDX-License-Identifier: GPL-3.0-or-later
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Copyright (C) 2018 Simon Stuerz <simon.stuerz@guh.io> #
# #
# This file is part of nymea. #
# #
# nymea is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, version 2 of the License. #
# #
# nymea is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with nymea. If not, see <http://www.gnu.org/licenses/>. #
# #
#
# Copyright (C) 2013 - 2024, nymea GmbH
# Copyright (C) 2024 - 2025, chargebyte austria GmbH
#
# This file is part of nymea.
#
# nymea is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# nymea is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with nymea. If not, see <https://www.gnu.org/licenses/>.
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
import argparse

Some files were not shown because too many files have changed in this diff Show More