Commit Graph

263 Commits (landing-silo)

Author SHA1 Message Date
Michael Zanetti daa462863b Remove 1 from lib name 2022-01-10 00:35:51 +01:00
Jenkins nymea 09f4f5ef80 Merge PR #26: More work on OnOff, LevelControl and ScenesCluster 2021-12-11 00:30:27 +01:00
Jenkins nymea 6e912af594 Merge PR #25: Remove a duplicate debug print and fix some typos 2021-12-11 00:30:26 +01:00
Jenkins nymea 4c44f314b8 Merge PR #24: Print node manufacturer code 2021-12-11 00:30:25 +01:00
Jenkins nymea d7db4f235d Merge PR #23: Add a clear method to channel mask 2021-12-11 00:30:23 +01:00
Jenkins nymea ec8c13ad33 Merge PR #22: Add support for IAS Zone enrollment 2021-12-11 00:30:22 +01:00
Michael Zanetti a22fdcedde Add manufacturer specific philips cluster 2021-12-07 20:36:24 +01:00
Michael Zanetti 6afc214202 More work on OnOff, LevelControl and ScenesCluster
This alignes the OnOff cluster with the LevelControl cluster in terms
of signal behavior: Previously, the OnOff cluster would fire a generic
commandSent() signal for some commands and specific signals for others.
Effectively forcing the user to connect multiple signals even if only
the command would be of interest.

The LevelControl cluster instead always fired a generic commandSent()
signal and *additionally* more specific signals for parsed parameters.

This changes the OnOff cluster to be in line with the LevelCluster
as and making the API a bit simpler to use when parameters are not of
interest.

Also it completes the specific parsing for all 3 clusters.
2021-12-07 10:14:02 +01:00
Michael Zanetti 9782ad5eac Remove a duplicate debug print and fix some typos 2021-11-06 15:47:29 +01:00
Michael Zanetti 5582b6c599 Print the manufacturer code in the node debug prints 2021-10-22 00:32:37 +02:00
Michael Zanetti b6301ab9c9 Add a clear method to channel mask 2021-10-21 18:47:22 +02:00
Michael Zanetti e7d533b9e8 Add support for IAS Zone enrollment 2021-10-15 17:01:14 +02:00
Jenkins nymea db4961f2af Merge PR #17: Improve node removed behavior 2021-06-30 12:42:39 +02:00
Simon Stürz 2f8af57d4e Add invalid measurment filtering for measurement clusters 2021-05-21 08:54:49 +02:00
Simon Stürz 76d43fc99e Improve node removed behavior 2021-05-11 09:00:13 +02:00
Simon Stürz 5072ad7c1e Add develco profile and manufacturer, implement manufacturer specific cluster methods, improve binary input cluster 2021-04-28 13:39:07 +02:00
Simon Stürz d2f2f8c727 Implement missing deconz firmware parameters and fix configuration. Factory reset works now properly 2021-01-27 14:40:44 +01:00
Simon Stürz a75bf9c18a Rework init process and fix firmware version request to make it work on newest firmware revisions.
Fix firmware version read request
2021-01-25 16:28:23 +01:00
Simon Stürz 16d4bfa0e0 Add serialnumber member to network class and extend deconz backend rectry range 2020-12-18 15:35:32 +01:00
Simon Stürz 1dd3406120 Update IAS Zone cluster 2020-12-15 16:44:06 +01:00
Simon Stürz 108898053e Make default response a gloabl command in the frame control header field 2020-12-15 15:21:39 +01:00
Simon Stürz 1c30c1de8b Implement ZCL default response for clusters and improve ISA zone cluster 2020-12-15 15:17:41 +01:00
Simon Stürz 2edfaa402a Fix buffered message clean up on finished 2020-12-15 09:37:42 +01:00
Simon Stürz e2d5910e30 Fix deconz init interrupion due to timeout or uart flickering and retry 3 times before giving up 2020-12-14 18:49:24 +01:00
Simon Stürz b65386be19 Process firmware ACK packages for NXP networking 2020-12-14 15:04:52 +01:00
Simon Stürz 86db15b8a1 Improve reachable handling and buffered message handling 2020-12-14 14:15:52 +01:00
Simon Stürz 94539c0d02 Add scene cluster basic structure 2020-12-11 18:06:43 +01:00
Simon Stürz 2893f39e61 Improve reachable refresh behaviour 2020-12-10 18:22:03 +01:00
Simon Stürz f57ce01664 Update node initialization and finish the initialization in any case with the given information 2020-12-09 17:20:50 +01:00
Simon Stürz 2ed1487053 Handle network address changes and remove unrecognized nodes from the network once and for all if they show up again 2020-12-09 13:33:03 +01:00
Simon Stürz 85856eaaa8 Fix optional building with or without libudev 2020-12-09 10:58:53 +01:00
Simon Stürz 40d6fdaa90 Move common data process mechanism to network base class 2020-12-09 10:53:33 +01:00
Simon Stürz 3997b5a5de Make udev optional and provide basic cluster information in node object 2020-12-04 14:15:35 +01:00
Simon Stürz 72150b6bfb Make use of TX options in the NXP backend and send permit join to short address broadcast, not group 2020-12-03 10:44:31 +01:00
Simon Stürz 1eed81562a Fix initialization error due to timeout issue and improve debugging 2020-12-02 12:03:44 +01:00
Simon Stürz 4e8254fcb9 Add network node evaluation and readd node if nwk address changed 2020-11-30 17:44:12 +01:00
Simon Stürz 9e3bbc55ca Add warning for occupancy sensor value convertion 2020-11-28 17:05:09 +01:00
Simon Stürz cc725a9533 Improve debug output and add level cluster signals 2020-11-26 18:32:07 +01:00
Simon Stürz 5901dc06b5 Add multistate value cluster 2020-11-26 13:16:53 +01:00
Simon Stürz ae18e793e6 Add multistate output cluster 2020-11-26 13:13:30 +01:00
Simon Stürz 6c2bccd775 Add binary value cluster 2020-11-26 13:08:19 +01:00
Simon Stürz e2ac3a48ea Add binary output cluster 2020-11-26 13:03:50 +01:00
Simon Stürz 6762d0e007 Add binary input cluster 2020-11-26 12:58:52 +01:00
Simon Stürz 8bfdaaae44 Add analog value cluster 2020-11-26 12:53:10 +01:00
Simon Stürz 62b491fca8 Add analog output cluster 2020-11-26 12:47:37 +01:00
Simon Stürz 3854be170e Add analog input cluster 2020-11-26 12:38:47 +01:00
Simon Stürz a651ece1cf Add multistate input cluster and improve internal endpoint initialization 2020-11-26 12:01:26 +01:00
Simon Stürz e245f7c845 Introduce binding management and cleaning 2020-11-25 13:06:31 +01:00
Simon Stürz 61114fc773 Restructure error handling depnding on layer and add MAC layer errors to replies 2020-11-24 18:14:54 +01:00
Simon Stürz 0768903b07 Add group cluster and fix reply handling in NXP backend 2020-11-24 12:45:20 +01:00
Simon Stürz 66637cc389 Add read binding tables for testing 2020-11-23 18:26:19 +01:00
Simon Stürz 6f04230028 Check for offline in network requests, not for running to allow initial requests during network start 2020-11-19 13:51:18 +01:00
Simon Stürz 4b7e6a0ddb Return error if zigbee network is not online yet and fix crash if reply is already finished before getting a response 2020-11-19 11:11:25 +01:00
Simon Stürz 0acc4d667f Simplify adapter monitor 2020-11-18 19:24:59 +01:00
Simon Stürz 28878adb73 Improve adapter monitor and skipp all virtual devices 2020-11-18 18:54:31 +01:00
Simon Stürz 467d2cc715 Make debian package multi-arch 2020-11-17 10:11:26 +01:00
Michael Zanetti 9de4f1485b Add thermostat settings attributes 2020-11-16 23:43:16 +01:00
Simon Stürz b436710568 Move libudev include into cpp file 2020-11-16 13:05:08 +01:00
Simon Stürz 5c3470e9d3 Update out of spec cluster handling and fix debian control 2020-11-16 12:11:35 +01:00
Simon Stürz 0814624216 Add bind group to ZDO 2020-11-16 07:54:45 +01:00
Simon Stürz be292a67f6 Extend color cluster with color temperature property 2020-11-13 10:36:42 +01:00
Simon Stürz 008fd0c55b Rename to reachable and set state on messages received and prepare lqi request 2020-11-12 17:48:12 +01:00
Simon Stürz 4eafe285b0 Clean up clusters and implement default get methods for now 2020-11-12 13:27:37 +01:00
Simon Stürz af26efac17 Add pressure cluster and improve nxp backend APS handling 2020-11-11 15:50:56 +01:00
Michael Zanetti 339719c03c Add thermostat cluster (unfinished) 2020-11-11 15:43:58 +01:00
Michael Zanetti 40512509ae Fix some typos 2020-11-11 14:43:26 +01:00
Michael Zanetti a81cd7c4fd fix typo 2020-11-07 00:24:31 +01:00
Simon Stürz 231c1d134f Improve debug prints 2020-11-06 19:19:46 +01:00
Simon Stürz 6b92b27c1f Add basic structure of DoorLock cluster for testing 2020-11-06 19:19:46 +01:00
Simon Stürz 0c6924e3f2 Implement command responding over cluster api and implement OTA server for default responses 2020-11-06 19:19:46 +01:00
Simon Stürz 9381a5dcef Add serial number to uart information 2020-11-06 19:19:46 +01:00
Michael Zanetti 8225687369 Force less includes on users of the lib 2020-11-03 23:39:54 +01:00
Simon Stürz e46630f9e2 Rework permit join mechanism and remove infinit joining 2020-11-02 15:14:22 +01:00
Simon Stürz 3d62162f5e Improve debug prints and rename adapter members 2020-11-01 22:17:59 +01:00
Simon Stürz d64b4711d1 Minor changes for the nymea integration and add network destroy 2020-10-29 18:13:23 +01:00
Simon Stürz db146a38d0 Remove settings and leave that to the stack using application 2020-10-29 11:45:28 +01:00
Simon Stürz 097254756e Add zigbee uart monitor 2020-10-28 16:53:07 +01:00
Simon Stürz 5e2426165c Add defs compiler flag and extend zigbee adapter properties 2020-10-28 12:43:30 +01:00
Simon Stürz f883e24f51 Rename backend type enum 2020-10-28 11:42:33 +01:00
Simon Stürz 6ffd8a61db Introduce adapter and improve network manager 2020-10-28 09:56:46 +01:00
Simon Stürz 531d8075d4 Fix database loading error for node model identifier 2020-10-28 08:18:00 +01:00
Simon Stürz a9d55b18fb Clean up debug prints from update provider handler 2020-10-24 11:19:21 +02:00
Simon Stürz 7918d4de2d Implement initially flashed property and reqork update provider 2020-10-24 11:08:41 +02:00
Simon Stürz 09fdd20dbd Use nymea path as default settings directory 2020-10-23 16:20:00 +02:00
Simon Stürz 304de13c92 Revoce QOverload for older Qt versions 2020-10-23 10:21:00 +02:00
Simon Stürz 9483610386 Implement auto update mechanism for the nxp controller and initial flash if communication is not possible 2020-10-23 09:53:35 +02:00
Simon Stürz 5f2560d380 Fix serial port error declaration for older qt versions 2020-10-21 08:39:35 +02:00
Simon Stürz 0847bb35a5 Fix serial port error meta type 2020-10-20 19:28:53 +02:00
Simon Stürz 86a5579ff8 Basic networking working with NXP modem firmware 2020-10-20 16:37:32 +02:00
Simon Stürz a3256af29d Continue NXP uart integrations and finish basic network handling 2020-10-14 18:04:11 +02:00
Simon Stürz b8b2b00e4f Replace Qt::endl for backwards compatibility 2020-10-13 12:17:39 +02:00
Simon Stürz f900420470 Implement up to start network for nxp 2020-10-13 11:56:53 +02:00
Simon Stürz 974911db06 Fix channel mask set and unser channel 2020-10-07 14:50:34 +02:00
Simon Stürz e00a1ffea0 Implement basic initialization of NXP network 2020-10-07 14:43:17 +02:00
Simon Stürz a219fa46ef Merge branch 'nxp-backend' of github.com:nymea/nymea-zigbee into nxp-backend 2020-10-05 16:37:27 +02:00
Simon Stürz ae306b2e77 Update to qt 5.15 and continue device implementation 2020-10-05 16:37:08 +02:00
Simon Stürz cb4347f9b5 Merge branch 'nxp-backend' of github.com:guh/nymea-zigbee into nxp-backend 2020-10-01 08:47:34 +02:00
Simon Stürz df7260fe41 Add write attribute command for cluster 2020-10-01 08:45:00 +02:00
Simon Stürz 40ce1667c6 Continue with uart protocol 2020-09-30 10:48:25 +02:00
Simon Stürz 9ef73e407b Test get version command for initial communication tests 2020-09-25 13:42:55 +02:00
Simon Stürz 1d3eb034e4 Add basic structure for nxp backend 2020-09-24 17:26:31 +02:00
Simon Stürz 8e7af1f5e8 Add zigbee interface for NXP modem controller 2020-09-24 15:55:08 +02:00
Simon Stürz 9f7a71ab8e Clear data cache buffer on CRC checksum mismatch and clear UART buffers after connecting 2020-07-03 12:38:11 +02:00
Simon Stürz 5cc83bb956 Update database and add lqi and timestamp for nodes 2020-07-01 15:14:34 +02:00
Simon Stürz ed5517fbf1 Implement reply timeout and restructure uart communication queue 2020-06-30 16:49:09 +02:00
Simon Stürz 8f1043ba9f Implement lqi updating of nodes and finishe on/off and level cluster 2020-06-14 14:39:10 +02:00
Simon Stürz cdd7a1a1aa Implement power configuration cluster 2020-06-13 21:18:01 +02:00
Simon Stürz 0992028a8a Rework entire uart communication flow and prepare level cluster command execution signals 2020-06-06 14:09:11 +02:00
Simon Stürz 275e4c8b97 Implement color control cluster and improve uart communication 2020-06-05 18:58:11 +02:00
Simon Stürz b3f5a13548 Move entirely to db storage and fix attribute loading 2020-06-05 13:11:33 +02:00
Simon Stürz 9dc50acbd5 Finalize first db schema without redundant information 2020-06-05 09:18:33 +02:00
Simon Stürz 5085487bda Implement first attempt for network database loading and saving 2020-06-04 21:58:21 +02:00
Simon Stürz 80d4b1416e Restructure the descriptor handling and implement level control cluster server side 2020-06-03 19:50:47 +02:00
Simon Stürz b5b6709da3 Implement multiple attributes report parsing 2020-05-30 18:30:28 +02:00
Simon Stürz 74995ce401 Implement NWL Layer error handling 2020-05-30 16:30:39 +02:00
Simon Stürz 71675df1c7 Improve IAS zone cluster attribute updating and implement generic cluster attribute changed signal for endpoints 2020-05-30 10:57:41 +02:00
Simon Stürz 67c07f674c Add occupancy and illuminance measument clusters 2020-05-29 17:46:56 +02:00
Simon Stürz c565a25be2 Fix endpoint initialization order and move back to sorted list 2020-05-29 16:23:09 +02:00
Simon Stürz 8105a9082b Add identify and iaszone cluster implementations 2020-05-29 13:55:00 +02:00
Simon Stürz 9196ff83cf Make built with gcc9 and fix compiler deprecated warnings 2020-05-29 09:21:34 +02:00
Simon Stürz 4c4f540f21 Finish humidity sensor and update attribute internally at attribute read 2020-05-28 21:03:49 +02:00
Simon Stürz 69ed7e3496 Implement new clusters and restructure ZCL frame flow and implement attribute reports 2020-05-28 18:03:33 +02:00
Simon Stürz 7e5643a1cf Add on off cluster and use zigbedatatype for atributes 2020-05-27 21:56:41 +02:00
Simon Stürz ab560a9c55 Start implementing data type converter 2020-05-26 15:58:12 +02:00
Simon Stürz 396c86a0d2 Implement data parsing and continue with basic cluster 2020-05-26 11:15:12 +02:00
Simon Stürz 4e897686bb Implement basic cluster comands and commuication 2020-05-25 22:25:49 +02:00
Simon Stürz 029ca76bae Make basic node adding mechanism work 2020-05-20 19:54:58 +02:00
Simon Stürz 7cdf772b1a Start implementing clusters 2020-05-06 12:33:26 +02:00
Simon Stürz 3e8da8ee26 Add ZCL basics 2020-04-15 17:59:01 +02:00
Simon Stürz 882023198a Fix indication matching and rely handling in network instance 2020-04-13 13:46:11 +02:00
Simon Stürz 118cdedc6a Implement first ZDO call 2020-04-08 21:34:05 +02:00
Simon Stürz 4472700160 First version of deconz network start procedure and factory reset 2020-04-07 15:41:24 +02:00
Simon Stürz c9cdbb4413 Start with ADPU creating and prepare first ASP communication 2020-04-05 22:48:59 +02:00
Simon Stürz 6449654820 Introduce channel mask class and continue deCONZ UART protocol 2020-04-05 16:13:30 +02:00
Simon Stürz 95caaab5ce Add deCONZ backend and implement basic uart communication and begin network initialization 2020-04-02 20:42:11 +02:00
Michael Zanetti 43fb5bef92 Disable very red temperatures for now 2020-03-31 10:43:46 +02:00
Simon Stürz 18f879e02a Remove default response parsing since not reliable 2020-03-27 16:35:00 +01:00
Simon Stürz f9e0308618 Reenable default response 2020-03-27 13:48:18 +01:00
Simon Stürz 8d42cdb195 Introduce ZigbeeNetworkReply on endpoints 2020-03-27 12:11:33 +01:00
Simon Stürz c2d58a6c8d Make node init state more reliable and fix uninitialized node list 2020-03-19 17:26:08 +01:00
Simon Stürz ab47c18c86 Make build using gcc 9 2020-03-17 15:57:43 +01:00
Simon Stürz fd37b55710 Add missing license headers 2020-03-17 15:43:41 +01:00
Simon Stürz b211dbf347 Implement basic cluster fetching 2020-03-17 14:24:11 +01:00
Simon Stürz 9174ff39c4 Implement cluster creation and handle some things for out of spec devices 2020-03-13 13:14:58 +01:00
Simon Stürz 511d9c641a Add xy color mechanism 2020-03-09 20:16:58 +01:00
Simon Stürz dbdb606734 Add firmware and continue controler function implementation 2020-03-08 22:56:04 +01:00
Simon Stürz 080e89cf94 Restore basic node adding and start node initialization 2020-02-28 17:28:49 +01:00
Simon Stürz 7c7ba4f13a Restored basic network starting and resetting 2020-02-28 11:41:03 +01:00
Simon Stürz 899ad4e3b9 Continue restructuring and reach compilable state 2020-02-27 21:53:53 +01:00
Simon Stürz f870c705af Begin restructuring for abstraction 2020-02-27 19:08:58 +01:00