Comments (25)
The Conbee2 fw does not support it yet. But it will come soon. And then it will also be implemented in zigbee herdsman deconz adapter.
from deconz-serial-protocol.
Hi, the MAC + derived Link Key is indeed what is used also on the serial protocol side.
The firmware doesn't know anything about Install Codes itself and the Link Key is derived as shown in above PR. Formerly this was done with a command line tool from the Zigbee Alliance but this was meh.
The Link Key parameter 0x19 is in the firmware since a long time, also for ConBee I, where we did our initial tests for a student diploma with various real devices. Here we also found that Install Codes sometimes are invalid/non standard, e.g. byte order of the checksum was wrong.
But I'd like to put a big warning on using the 0x19 parameter yet, while it does work it could also make the configuration in the firmware messy, e.g. after setting it classical joining of devices might not work any longer until the trust center MAC address + link key is set again. Fixing this is on the bucket list but doesn't have a high priority currently, since there are too many other pressing things on the todo list.
from deconz-serial-protocol.
Any news on this? Unfortunately the Bosch Thermostat 2 only supports pairing via install code :/
from deconz-serial-protocol.
We don't use the binary deCONZ library in ZHA or Z2M though and we instead directly interact with the coordinator over the documented serial protocol. The deCONZ
object is a higher-level API so while this code is straightforward:
#if DECONZ_LIB_VERSION >= 0x010B00
QVariantMap m;
m["mac"] = uniqueid.toULongLong(&ok, 16);
m["key"] = mmoHash;
if (ok && mmoHash.size() == 32)
{
ok = deCONZ::ApsController::instance()->setParameter(deCONZ::ParamLinkKey, m);
}
#endif
Writing the hashed link key and a joining device's IEEE address to this specific parameter and then permitting joins still results in the Conbee sending the network key as usual for me. So unless I'm making some simple mistake somewhere, there may be something else happening in the background within the library or a specific sequence in which this parameter write needs to be sent when permitting joins.
Various questions:
- Does this command need to be sent before permitting joins? After?
- How do you clear a link key? If you can't, is it cleared automatically after the join window closes? How many can you write at once?
- What firmware version was this feature introduced in?
And while I could spend the time to reverse engineer deCONZ by intercepting traffic between it and the Conbee, it's a lot nicer to not have to do this.
from deconz-serial-protocol.
So you are saying all that is missing is the documentation for the deconz serial protocol?
I more or less said the exact opposite: I don't know anything about the deconz serial protocol.
Mixed signals(?); as according to @ChrisHae support for using install code is not yet implemented in the deconz serial protocol:
Originally posted by @ChrisHae in Koenkk/zigbee2mqtt#17492 (comment)
It is not yet implemented in the serial protocol. When it is, it can be added to z2mqtt deconz adapter.
Again, deconz firmware for ConBee and RaspBee does not yet seem to implement Zigbee install code support in the deconz serial protocol and therefore ConBee/RaspBee does not currently offer feature-partity with with serial protocols for Texas Instruments Z-Stack and Silicon Labs EmberZNet for Zigbee Gateway host applications such as the ZHA integration in Home Assistant (which is turn depends on the zigpy and zigpy-deconz libraries) and Zigbee2MQTT (which in turn depends on zigbee-herdsman).
Any updates or news on this from dresden-elektronik's developers?
Can you assist with getting Zigbee install code support working in ZHA (zigpy-deconz) and Zigbee2MQTT(zigbee-herdsman)? See:
and
from deconz-serial-protocol.
Can anyone confirm or disconfirm if Zigbee install code support is enabled in the current or latest ConBee/RaspBee firmware?
dresden-elektronik/deconz-rest-plugin#6791
dresden-elektronik/deconz-rest-plugin@24c7ff9
https://github.com/dresden-elektronik/deconz-rest-plugin/releases/tag/v2.22.0-beta
If and when it has can you then please also update the deconz-serial-protocol documentation to include all the commands for it?
Developers of Home Assistant's ZHA integration and Zigbee2MQTT need it to implement it in zigpy-deconz and zigbee-herdsman:
from deconz-serial-protocol.
Any updates on this? ...AFAIK, install code is still not supported for ConBee in Home Assistant's ZHA integration or Zigbee2MQTT?
Support for commissioning Zigbee 3.0 devices via “Install Code” or “QR Code” via the ‘zha.permit’ service has so far only been implemented for ‘ezsp’ (Silicon Labs EmberZNet) or ‘znp’ (Texas Instruments Z-Stack) radio type adapters in the ZHA integration in Home Assistant (that depends on zigpy-deconz) and Zigbee2MQTT (that depends zigbee-herdsman) . Other radio types are missing support in their respective radio libraries for zigpy or manufacturer’s firmware commands/APIs.
https://www.home-assistant.io/integrations/zha#limitations
from deconz-serial-protocol.
I think that you have to set the network parameter 'Link Key' at 0x19
(page 12). However I don't have a Conbee Adapter to test it out
from deconz-serial-protocol.
Unfortunately, Link Key (0x19)
is the Trust Center Link Key, which is always ZigBeeAlliance09
. There needs to be a specific API to add a link key for a specific IEEE address, to replace the well-known key during transport key exchange.
from deconz-serial-protocol.
@ChrisHae Can you tell if deconz adapter/driver in zigbee-herdsman (used by Zigbee2MQTT and IoBroker) supports install codes?
https://github.com/Koenkk/zigbee-herdsman
https://github.com/Koenkk/zigbee-herdsman/tree/master/src/adapter/deconz
from deconz-serial-protocol.
No same problem in z2m
https://github.com/Koenkk/zigbee-herdsman/blob/master/src/adapter/deconz/adapter/deconzAdapter.ts#L187
from deconz-serial-protocol.
The Conbee2 fw does not support it yet. But it will come soon. And then it will also be implemented in zigbee herdsman deconz adapter.
Great to hear! If possible please update the documentation then also ping the zigpy developers too -> zigpy/zigpy-deconz#214
from deconz-serial-protocol.
Bumping here. Still waiting for the support of pairing via install code to get my devices up and running. Any info on the current state?
from deconz-serial-protocol.
@pdsccode
It seems like it's included in the latest version: https://github.com/dresden-elektronik/deconz-rest-plugin/releases/tag/v2.22.0-beta
But it's still in Beta-Status. Waiting for the version to be finally released.
from deconz-serial-protocol.
@xam-ps
Thanks for the info. Didn't see that obviously 😂
from deconz-serial-protocol.
What makes you think this has anything to do with the device firmware? You can see all the necessary changes to make the install codes work from the referenced PR. To my knowledge, last changes involving the firmware were about a year ago or so and none of the change log entries reference install codes.
Generally, I cannot comment on the serial protocol, since I have no clue about it.
from deconz-serial-protocol.
So you are saying all that is missing is the documentation for the deconz serial protocol?
What makes you think this has anything to do with the device firmware?
That is what ChisHae wrote above:
Originally posted by @ChrisHae in #20 (comment)
The Conbee2 fw does not support it yet. But it will come soon. And then it will also be implemented in zigbee herdsman deconz adapter.
Again, this interface information is needed in the deconz serial protocol documentation in order zigpy and zigbee-herdsman for third parties to be able to communicate with the Zigbee devices via ConBee/RaspBee as Zigbee Coordinator adapters:
https://github.com/dresden-elektronik/deconz-serial-protocol/blob/master/README.md
zigpy is for example used by Home Assistant's ZHA integration, the Zigbee Plugin for Domoticz, and Zigbee Plugin for Jeedom.
https://github.com/zigpy/zigpy (see zigpy-deconz feature request -> zigpy/zigpy-deconz#214 )
zigbee-herdsman is for example used by Zigbee2MQTT and IoBroker:
https://github.com/Koenkk/zigbee-herdsman (see Zigbee2MQTT feature request -> Koenkk/zigbee2mqtt#17492 )
from deconz-serial-protocol.
So you are saying all that is missing is the documentation for the deconz serial protocol?
I more or less said the exact opposite: I don't know anything about the deconz serial protocol. Please read my previous reply again.
Other than that, I also cannot comment if for other software any changes on the firmware might be necessary. For deconz itself, the PR documents the necessary changes to make it work. Nothing more, nothing less 🙂
from deconz-serial-protocol.
Can we get an update on this?
from deconz-serial-protocol.
I would be also very happy this there was a solution for this. Thank you in advance!
from deconz-serial-protocol.
Any update on this?
from deconz-serial-protocol.
Hi, any updates on this?
from deconz-serial-protocol.
Related Issues (20)
- No response from the conbee 2 HOT 3
- Frame counter not being set by both deCONZ and directly with serial protocol HOT 3
- How to enable the Conbee ZigBee Controller to enable joining as a controller. HOT 5
- Unsolicited command 0x19 HOT 3
- Serial port settings for RaspBee.. HOT 2
- CRC calculation for Metadata (command 0x0D) is incorrect. HOT 1
- No reception of data HOT 5
- [SUGGESTION] Team up with "Zigbee for Domoticz" developers who is developing a zigpy based plugin for Domoticz HOT 41
- network_key read and write takes extra byte
- Reconfig as a repeater HOT 4
- Query send data response incorrect frame length in docs
- Endpoint count limitation still 2? HOT 1
- Conbee2 to router (z2m) ? HOT 1
- [REQUEST] Energy detection scan with documented API in deconz serial protocol
- Receiving commands from Sunricher Zigbee directly with ConBee II HOT 4
- Unknown Command ID 0x1F HOT 2
- Fix/Add: device reset command HOT 1
- Conbee II not detected after host reboot
- DeviceState reports 0xA6, but what does the highest bit mean ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deconz-serial-protocol.