A hub designed for wireless communication with end-devices at intermediate ranges, each of the end-devices implementing a control or a sensing function, said hub and end-devices all utilizing a set of discrete radio-frequency channels, the channels optionally including a set of digital spread-spectrum frequencies, said hub comprising:
- a radio-frequency transceiver functional for wireless communication over the set of discrete radio-frequency channels;
- an electronic circuit implementing a state machine immutable to power-transient events;
- a port by which end-device registry information can be received;
- and
- a memory wherein may be stored an end-device registry and a set of registered device objects;
- wherein the state machine of said hub is configured to sequence through a set of states to implement the functions of:
- (a) initializing said hub electronic circuit and radio-frequency transceiver into a power-on state,
- (b) accessing the end-device registery,
- (c) maintaining a registered device object containing communications parameters for each listed and registered end-device,
- (d) individually servicing paired end-devices,
- (e) in the course of said servicing, monitoring for a condition of outbound traffic to an end-device being serviced,
- (f) in the course of said servicing, sending a packet to an end-device,
- (g) in the course of said servicing and after the sending of a packet to an end-device, attempting to receive a response from that end-device,
- (h) in the course of said servicing and after attempting to receive a response from an end-device, testing for an error-in-communication event,
- (i) in the course of said servicing and following a successful attempt to receive a response from an end-device, adjusting a metric for that end-device in a predetermined decay to indicate better communication quality,
- (j) in the course of said servicing and following a detection of an error in an attempt to receive a response from an end-device, adjusting a metric for that end-device in a predetermined accumulation to indicate worse communication quality,
- (k) following an adjustment to a communication quality metric for an end-device to indicate better communication quality, testing that metric for having subsided below a predetermined R− threshold,
- (l) following the testing of a communication quality metric for an end-device against a predetermined R− value, testing for acceptability of a reduction in communication redundancy for that end-device,
- (m) following the testing for acceptability of a reduction in communication redundancy for an end-device, queuing an indication to reconfigure that end-device to communications parameters with less redundancy than are presently configured,
- (n) following an adjustment to a communication quality metric for an end-device to indicate worse communication quality, testing that metric for having exceeded a predetermined R+ threshold,
- (o) following the testing of a communication quality metric for an end-device against a predetermined R+ value, testing for acceptability of an increase in communication redundancy for that end-device,
- (p) following the testing for acceptability of an increase in communication redundancy for an end-device, queuing an indication to reconfigure that end-device to communications parameters with more redundancy than are presently configured,
- (q) following the queuing an indication to reconfigure an end-device to new communications parameters with different redundancy than are presently configured, transmitting a command to that end-device to effect a change to the new communications parameters, and
- (r) where a command has been transmitted to an end-device to effect a change to new communications parameters, updating the object containing communications parameters for that end-device.