41 Commits

Author SHA1 Message Date
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
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
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
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
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
86db15b8a1 Improve reachable handling and buffered message handling 2020-12-14 14:15:52 +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
4e8254fcb9 Add network node evaluation and readd node if nwk address changed 2020-11-30 17:44:12 +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
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
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
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
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
b8b2b00e4f Replace Qt::endl for backwards compatibility 2020-10-13 12:17:39 +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
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
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
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
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
74995ce401 Implement NWL Layer error handling 2020-05-30 16:30:39 +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
4e897686bb Implement basic cluster comands and commuication 2020-05-25 22:25:49 +02:00