I’m trying to use the an XBee S2C chip with both modern ZigBee HA / Smart Energy devices & older legacy ZigBee hardware.
When configuring the XBee, the modern hardware that conform to the HA specification requires that the EO
bitmask is set to 02
to use a trust center when joining. Whereas, the legacy devices require that the EO
Bitmask is set to 01
to transmit an unencrypted Network key when devices are joining.
Is there a way to change the Bitmask via an AT command without resetting the current network, and loosing connectivity with the existing devices?
Or can the XBee be configured to support both 01
and 02
? I’ve tried the obvious value of 06
but it appears to set the chip to use a trust center and not support the joining of the leacy devices.
I’ve been able to workaround the network reset by issuing an AT EO 01
command when first setting up the network, but not sending an AT WR
command, so the change is not persistent.
In this initial state, I am able to get all the legacy devices to join the network. Once all my legacy devices have joined, I’m able to issue an FR
AT command to Soft Reset the chip. Having soft reset the chip, the Trust Center is enabled again and the non-legacy devices can join as normal.
Once all of the devices have joined the network it’s stable and I’m able to control both types of devices and allow they to interact with each other.
However, if the legacy device needs a battery change or for some reason become detached, it’s not possible to reattach it without having to re-configure the entire network.
As the workaround only works until a legacy device needs to be re-joined, it appears my only other option is to use 2 seperate XBee chips and 2 seperate ZigBee networks, which given that it’s only to support the joining of devices, feels like an overkill.
Is it technically possible to support both the Trust center and, when necessary, use a plain text / unencrypted network key when a device joins?