Automatic Channel Allocation

The best allocation of channels to the various networks is determined automatically by the control system during the installation process.

The WiFi built into the Raspberry Pi is used to automatically scan the signal strength of each WiFi channel, which also covers most of the ZigBee channels. On this basis, the control system determines the optimum channels for use by the Raspberry Pi WiFi and the ZigBee networks automatically. In most home, there should only be one main WiFi network, so an algorithm determines the channel allocations for the networks to be used by the control system.

If there is more than one home WiFi channel, such that the system is unable to locate a sufficient number of channels with low radio noise levels, then this is reported back to the user.

Once the channels have been allocated in this way, and devices have been attached to the networks, these can be changed only by repeating the installation process. This entails re-joining every device to their networks, which is when they scan the channels automatically for their network.

In theory, it should be possible for the hub software to instruct the devices attached to a network to search for a new channel, and for the hub to switch to that channel. This enables the channel to be moved, when the current channel cease to have the lowest background radio noise.

In practice, the procedure is too complicated for most users, so the preferred approach is to disconnect all of the devices, create a new network, and then re-attach the devices. This should be a very rare event, and, when the need does arise, the control system alerts the user accordingly.