80 Commits

Author SHA1 Message Date
Simon Stürz
3798cbb380 Update license text and add SPDX identifier 2025-11-14 15:21:23 +01:00
Simon Stürz
9ccaff3c2f Add Qt6 support 2025-08-21 15:26:39 +02:00
Michael Zanetti
34ade62e4e Improve Deconz backend version number representation
Dresden Electronics themselves seem to be using the hex
representation in most places. Users are confused why
nymea prints the version so different than the conbee website.
2023-06-11 13:14:25 +02:00
Michael Zanetti
22837865f1 Fixes reconnecting the ZigBee controller after a reset during runtime
Resets may occur by unplugging the stick or calling a softReset() from
the software side.

Additionally resets the stick when 5 subsequent timeouts happen
as there are firmwares of the CC2652 available which tend to
crash occationally.
2022-12-30 20:49:45 +01:00
Michael Zanetti
b797b883e5 Fix an occational crash in the deconz backend
May happen if the queue runs full and controller requests time out
2022-11-19 00:36:05 +01:00
jenkins
16b9ea03eb Merge PR #72: Register the OTA server cluster on the TI backend 2022-10-17 11:20:04 +02:00
jenkins
705bf28cc3 Merge PR #71: Silence a warning about unhandled callbacks 2022-10-17 11:20:02 +02:00
jenkins
4ea83aa44c Merge PR #70: Update all debug operators and make use of state saver 2022-10-17 11:20:00 +02:00
Michael Zanetti
7ebe593379 Register the OTA server cluster on the TI backend
This is required by some devices (at least Tradfri) in order to
query us for images.
2022-10-15 01:28:43 +02:00
Michael Zanetti
9f96e2cc2c Handle controller busy states properly 2022-10-15 01:22:54 +02:00
Michael Zanetti
f0c7172755 Silence a warning about unhandled callbacks
The firmware provides parsed messages for those responses but
we don't use them as nymea-zigbee parses this on its own.
2022-10-14 22:40:35 +02:00
Simon Stürz
2aa22ee262 Update all debug operators and make use of state saver 2022-10-13 12:48:43 +02:00
Michael Zanetti
e16e04d79e queue requests that are sent before the stack is ready 2022-10-12 12:16:10 +02:00
Michael Zanetti
23f53f38ee Fix permit joining in deconz backend
The router broadcast address 0xFFFC is not a group addres, but a
"regular" address. Setting the destinationAddressMode to GroupAddress
caused the message to not be broadcastet and permit joining was only
enabled on the coordinator.

This caused mainly the issue that joining a network would not work
if the coordinator is out of reach.
In addition to that, there are quite a bit of end devices out there
which behave badly in finding new parents and will stick to the node
they joined in the first place forever, causing them to have bad
signal if further away from the coordinator, even though there
would be routers with much better LQI.

Additionally it fixes a permit joining issue in the TI backend which would
prevent a call to setPermitJoining(0) to explicitly allow joining
only on the coordinator.

The change of radius from 10 to 30 probably isn't needed for 99% of the
networks, however, it may still help for that one percent that does
indeed have a network depth of > 10. Looking at other implementations
out there, 30 seems to be the common sense.
2022-09-10 20:12:17 +02:00
Simon Stürz
7acb35d11c Fix release file parsing and allow multiple release files as list 2022-08-09 14:25:45 +02:00
jenkins
2883080413 Merge PR #55: Fix a crash if the controller takes too long to start 2022-06-30 15:03:57 +02:00
Michael Zanetti
e9d594ee5b Fix a crash if the controller takes too long to start
This may happen on very rare occations after a nymea restart
if the controller is taking too long to initialize but still succeeds
in the end. Also increases the timeout for the procedure.
2022-06-08 23:30:05 +02:00
jenkins
3bd8787e41 Merge PR #54: Make NXP update provider independent from the chip module type 2022-06-07 23:06:20 +02:00
Simon Stürz
874c55f809 Make NXP update provider independent from the chip module type 2022-05-17 14:55:34 +02:00
Michael Zanetti
e0bf02b115 Fix a debug message 2022-05-12 17:11:51 +02:00
Jenkins nymea
2af5d1a759 Merge PR #43: Consolidate permit joining timer 2022-03-10 12:33:48 +01:00
Jenkins nymea
5ccf077941 Merge PR #36: deConz: Remove unused/redundant firmware version string members 2022-03-10 12:33:42 +01:00
Michael Zanetti
961008027d Consolidate permit joining timer
Starting/stopping the permit joining duration timer is not something
each backend should do on it's own. So making the timer a private
member of ZigbeeNetwork and taking control over it internally.

Also reduce some logic about the remaining duration by merging the
related methods into one and hiding the "remaining" duration from
backend implementations completely.
2022-03-07 11:22:59 +01:00
Michael Zanetti
b84f37e7d8 Add support for TI z-Stack based adapters 2022-03-07 11:22:05 +01:00
Michael Zanetti
45eb4de576 deConz: Remove unused/redundant firmware version string member variable and functions 2022-01-30 14:06:22 +01:00
Michael Zanetti
9782ad5eac Remove a duplicate debug print and fix some typos 2021-11-06 15:47:29 +01: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
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
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
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
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
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
40512509ae Fix some typos 2020-11-11 14:43:26 +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