EP-4468662-B1 - SYSTEM AND METHOD FOR DYNAMIC DEVICE DISCOVERY AND ADDRESS ASSIGNMENT
Inventors
- BLAINE, DAVID M.
- WHITE, Kenneth W. Jr.
- HORROCKS, CRAIG ANDREW
- MURDOCK, JAMES
- SAWYER, Douglas M. Jr.
- BRUNETTI, Carl
- HEON, ROBERT DONALD
- RIVERA, Linnette
Dates
- Publication Date
- 20260513
- Application Date
- 20140314
Claims (15)
- A method of dynamically discovering a pool or spa device in a pool or spa system, comprising the steps of: receiving at a communication interface of an un-configured pool or spa slave device a discovery request packet from a master controller over a network connection; transmitting a discovery request response packet from the communication interface of the pool or spa slave device to the master controller over the network connection, the discovery request response packet including a first unique device identifier associated with the pool or spa slave device, the first unique device identifier being transmitted as a plurality of data fields within the discovery request response packet, said plurality of data fields comprising a first data field identifying a device type of the pool or spa slave device and a second data field distinguishing the pool or spa slave device from one or more other pool or spa slave devices of the same device type; receiving a configuration command packet at the communication interface of the pool or spa slave device from the master controller, the configuration command packet including a second unique device identifier and an available network address; determining if the second unique device identifier matches the first unique device identifier; and configuring the pool or spa slave device to communicate using the available network address based on a determination that the second unique device identifier matches the first unique device identifier, thereby enabling addressed communication between the pool or spa slave device and the master controller.
- The method of claim 1, wherein the discovery request response packet describes at least one capability of the pool or spa slave device.
- The method of claim 1, wherein the discovery request response packet comprises a header corresponding to a discovery request response and a data portion including the first unique device identifier associated with the pool or spa slave device.
- The method of claim 1, comprising the steps of: correlating the first unique device identifier received from the pool or spa slave device with the available network address; assigning the available network address to the pool or spa slave device by the master controller based on said correlation; and transmitting the configuration command packet from the master controller to the communication interface of the pool or spa slave device over the network connection, the configuration command packet including the first unique device identifier received from the pool or spa slave device and the available network address assigned by the master controller.
- The method of claim 1, comprising the step of periodically determining by the master controller whether another pool or spa slave device in communication therewith requires configuration.
- The method of claim 1, comprising the step of maintaining at least one table correlating the first unique device identifier associated with the pool or spa slave device with the available network address.
- The method of claim 1, comprising the step of establishing a connection with a gateway device operatively coupled between the communication interface of the pool or spa slave device and the master controller, the gateway device communicating with the master controller on behalf of the pool or spa slave device to facilitate assignment of the available network address to the pool or spa slave device.
- The method of claim 1, comprising the step of establishing a network between the pool or spa slave device, the master controller, and one or more additional pool or spa slave devices, the additional pool or spa slave devices including at least one of a pump, a filter, a sensor, or a heater.
- The method of claim 1, wherein the pool or spa slave device is a pump.
- The method of claim 1, wherein the communication interface communicates with the master controller over an RS-485 serial connection.
- The method of claim 1, wherein the communication interface is in wireless communication with the master controller.
- The method of claim 1, further comprising executing by the processor a random backoff timer to reduce packet collisions during a discovery period.
- A pool or spa system supporting dynamic device discovery, the system comprising: a pool or spa slave device operable to perform one or more operations with respect to a pool or spa, the pool or spa slave device being un-configured and having a first unique device identifier, the pool or spa slave device including: a communication interface configured for bidirectional communication with a master controller via a network; and a processor configured to perform the method of any preceding claim.
- The system of claim 13, wherein the pool or spa slave device does not retain the available network address when the pool or spa slave is powered down.
- The system of claim 13, further comprising the master controller.
Description
CROSS REFERENCE TO RELATED APPLICATIONS The present application claims priority to U.S. Provisional Patent Application Serial No. 61/787,809, filed on March 15, 2013. FIELD OF THE INVENTION The present invention relates to device discovery and address assignment for various devices on a network. More particularly, the present invention relates to a system and method for dynamic device discovery and address assignment for pool/spa equipment interconnected via a network. BACKGROUND OF THE INVENTION Typically, discovery of devices on a half-duplex serial bus is accomplished by incrementing through a pre-defined address range, sending a response request to devices that are connected to a network, and recording the devices that respond. The Modbus communications protocol is one example of this approach. In Modbus and other similar incremental addressing schemes, device enrollment can present some problematic conditions. For example, each device must be pre-addressed with a unique address to prevent multiple devices from having an identical address. This requirement makes setup and configuration of a network both a time consuming and error prone process. Therefore, it would be desirable to provide a network device discovery protocol that does not require pre-assignment of device addresses, yet allows any number of like devices to be added to the network. US 2012/239206 A1 concerns assigning network addresses for ventilators in a network. US 2013/027176 A1 concerns a load control system to control the amount of power delivered to a plurality of electronic loads from an AC power source. SUMMARY OF THE INVENTION The present invention is defined in the independent claims. Preferred embodiments are defined in the dependent claims. The present invention overcomes the disadvantages and shortcomings of the prior art by providing a system and method for dynamic device discovery and address assignment for a network. The system transmits a device discovery request from a master device on a network, such as a pool/spa system controller, and receives a discovery response from a slave device which includes an pre-configured identifier. The system determines a network address based on the slave device identifier, and transmits an enrollment instruction with the network address to be used by the slave device. The system could be used to discover and assign addresses to various types of devices on a pool/spa network, such as pumps, underwater lights, chlorinators, water feature controllers, remote controllers, and/or other types of devices. A pool or spa system for a pool or spa is disclosed that includes components operatively coupled via a communications network supporting dynamic device discovery. The system can include slave devices and a master controller. Each slave device is configured to perform one or more operations with respect to the pool or spa. Each of the slave devices are initially unconfigured and have a unique device identifier associated therewith. The master controller is operatively coupled to the slave devices to form a network. The master controller is programmed to assign each of the slave devices a network address based on the unique identifier of each of the slave devices and in response to bidirectional communication between the master controller and the slave devices to configure the slave devices and enable addressed communication between the controller and the slave devices. The slave devices could include a pump, a filter, a sensor, a heater, or other equipment. The master controller can broadcast a device discovery request on the network requesting a response from the slave devices and can receive, in response to the device discovery request, a response from a first device of the slave devices including the unique identifier associated with the first device. The master controller can correlate the device identifier received from the first device with an available network address, assign the network address to the first device, and can transmit a message on the network that includes the device identifier and the network address. The first device can receive the message, compare the device identifier in the message to the device identifier of the first device, and store the network address as the network address of the first device based on a determination that the device identifier included in the message matches the device identifier of the first device. At least one slave device can be configured such that it does not retain the network address assigned by the master controller when the slave device is powered down. The master controller can be programmed to periodically determine whether the network includes a slave device requiring configuration and/or can be programmed to maintain at least one table correlating the unique device identifier of each of the slave devices with the network address assigned to each of the slave devices. The pool or spa system can include a gateway device operatively