Commit Graph

80 Commits (landing-silo)

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