IP Library Granted Patent US 11,426,325
Granted Patent B2
US 11,426,325 · App. 14/213,172 · Granted Aug 30, 2022

System and method for dynamic device discovery and address assignment

Inventors: David M. Blaine (North Kingston, RI); Kenneth W. White, Jr. (East Dennis, MA); Craig Andrew Horrocks (North Kingstown, RI); James Murdock (Wakefield, RI); Douglas M. Sawyer, Jr. (Seekonk, MA); Carl Brunetti (Manville, RI); Robert Donald Heon (Warwick, RI); Linnette Rivera (Tyngsborough, MA)
Assignee: Hayward Industries, Inc.
A61H33/005G05B15/02G05B19/0423H04L12/2809H04L41/046H04L61/2038H04L67/10A61H33/0095A61H2033/0083A61H2201/501A61H2201/5007A61H2201/5012A61H2201/5015A61H2201/5043A61H2201/5097G05B2219/21081G05B2219/25096H04L61/103H04L2012/285
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,426,325
App. No.
14/213,172
Granted
Aug 30, 2022
Kind
B2
Abstract

A pool or spa system includes networked pool or spa devices that can be dynamically configured with network address by a controller. The controller can transmit a device discovery request on a network and can receive a discovery response from pool or spa devices that require a network address. The system determines and assigns the network addresses for the pool or spa devices based on unique device identifiers associated with the responding pool or spa devices. The network addresses assigned to the pool or spa device are transmitted to the pool or spa device to be used by the pool or spa devices to communicate with the controller over the network. The system can be used to discover and assign addresses to various types of pool or spa devices, such as pumps, underwater lights, chlorinators, water feature controllers, remote controllers, and/or other types of devices.

Claims (39)

1. A pool or spa system including a plurality of components operatively coupled via a communications network supporting dynamic device discovery, the system comprising:

a pool or spa;

a plurality of pool or spa slave devices, each of the plurality of pool or spa slave devices being operable to perform one or more operations with respect to the pool or spa, each of the plurality of pool or spa slave devices being un-configured and having a unique device identifier; and

a master controller operatively coupled to the plurality of pool or spa slave devices to form a network, the master controller being programmed to assign each of the plurality of pool or spa slave devices a network address based on the unique device identifier of each of the plurality of pool or spa slave devices and in response to bidirectional communication between the master controller and the plurality of pool or spa slave devices to configure the plurality of pool or spa slave devices and enable addressed communication between the master controller and the plurality of pool or spa slave devices,

wherein, in response to a device discovery request transmitted from the master controller to the plurality of pool or spa slave devices, a responding pool or spa slave device transmits a response packet to the master controller describing at least one pool or spa device capability of the responding pool or spa slave device, and

wherein the unique device identifier is transmittable from the responding pool or spa slave device to the master controller as a plurality of data fields within the response packet, said plurality of data fields comprising a first data field and a second data field, said first data field being a pool or spa device type identifier which identifies a type of the responding pool or spa slave device, and said second data field distinguishing the responding pool or spa slave device from other pool or spa slave devices of the same type.

2. The system of claim 1 , wherein the master controller correlates the unique device identifier received from the responding pool or spa slave device with an available network address, assigns the available network address to the responding pool or spa slave device, and transmits a message on the network that includes the unique device identifier of the responding pool or spa slave device and the available network address.

3. The system of claim 2 , wherein the responding pool or spa slave device receives the message, compares the unique device identifier in the message to the unique device identifier of the responding pool or spa slave device, and stores the available network address as the network address of the responding pool or spa slave device based on a determination that the unique device identifier included in the message matches the unique device identifier of the responding pool or spa slave device.

4. The system of claim 1 , wherein the responding pool or spa slave device does not retain the network address assigned by the master controller when the responding pool or spa slave device is powered down.

5. The system of claim 1 , wherein the master controller is programmed to periodically determine whether the network includes a pool or spa slave device requiring configuration.

6. The system of claim 1 , wherein the master controller maintains at least one table correlating the unique device identifier of the plurality of the responding pool or spa slave device with a network address assigned to the responding pool or spa slave device.

7. The system of claim 1 , further comprising a gateway device operatively coupled between the plurality of the responding pool or spa slave device and the master controller, wherein the gateway device communicates with the master controller on behalf of the responding pool or spa slave device to facilitate assignment of a network address to the responding pool or spa slave device.

8. The system of claim 1 , wherein the plurality of pool or spa slave devices include at least one of a pump, a filter, a sensor, or a heater.

9. The system of claim 1 , wherein the unique device identifier comprises of a serial number which is built into the responding pool or spa slave device through a manufacturing process.

10. The system of claim 1 , wherein the device discovery request is a family-specific discovery request including a family-specific discovery request header and a pool or spa device type identifier field, the master controller broadcasting the family-specific discovery request to each of the plurality of pool or spa slave devices.

11. The system of claim 10 , wherein the responding pool or spa slave device receives the family-specific discovery request, compares the device type identifier field of the family-specific discovery request to the device type identifier of its own unique device identifier, and transmits a family-specific discovery response packet to the master controller including a family-specific discovery response header and its own unique device identifier based on a determination that the device type identifier field of the family-specific discovery request matches the device type identifier of its own unique device identifier.

12. The system of claim 11 , wherein the master controller receives the family-specific discovery response packet from the responding pool or spa slave device, correlates the unique device identifier within the family-specific discovery response packet received from the responding pool or spa slave device with an available network address, and broadcasts a command on the network that includes the unique device identifier received from the responding pool or spa slave device and the available network address.

13. The system of claim 12 , wherein the responding pool or spa slave device receives the command, compares the unique device identifier in the command to its own unique device identifier, and stores the available network address as its own network address based on a determination that the unique device identifier included in the command matches its own unique device identifier.

14. A system for dynamic discovery of a plurality of pool or spa devices in a pool or spa system, the system comprising:

a non-transitory computer-readable medium storing computer executable instructions for a process of dynamically discovering a plurality of pool or spa devices in a pool or spa system;

a processing device programmed to execute the computer executable instructions to:

transmit a broadcast message to the plurality of pool or spa devices in the pool or spa system, the broadcast message including a device discovery request;

receive a response packet from an un-configured pool or spa device of the plurality of pool or spa devices in the pool or spa system, the response packet including a unique device identifier associated with the un-configured pool or spa device and a pool or spa device capability of the un-configured pool or spa device, the unique device identifier being transmittable from the un-configured pool or spa device to the processing device as a plurality of data fields within the response packet, said plurality of data fields comprising a first data field and a second data field, said first data field being a pool or spa device type identifier which identifies a type of the un-configured pool or spa device, and said second data field distinguishing the un-configured pool or spa device from other pool or spa devices of the same type;

correlate the unique device identifier of the un-configured pool or spa device with a network address; and

transmit the network address to the un-configured pool or spa device to transform the un-configured pool or spa device to a configured pool or spa device.

15. The system of claim 14 , wherein the processing device transmits the broadcast message with a time period that defines a quantity of time after the broadcast message that the processing device waits for the response packet from the un-configured pool or spa device.

16. The system of claim 14 , wherein the processing device receives the response packet from the un-configured pool or spa device through a gateway device.

17. The system of claim 14 , wherein the processing device correlates the unique device identifier of the un-configured pool or spa device with the network address in at least one table maintained by the processing device.

18. The system of claim 14 , wherein the processing device is programmed to execute the computer executable instructions to periodically transmit the broadcast message to discover further un-configured pool or spa devices in the pool or spa system.

19. The system of claim 14 , wherein the unique device identifier comprises of a serial number which is built into the un-configured pool or spa device through a manufacturing process.

20. A method of dynamically discovering a plurality of pool or spa devices in a pool or spa system, the method comprising:

transmitting a broadcast message to a plurality of pool or spa devices in a pool or spa system, the message including a device discovery request;

receiving a response packet from an un-configured pool or spa device of the plurality of pool or spa devices in the pool or spa system, the response packet including a unique device identifier associated with the un-configured pool or spa device and a pool or spa device capability of the un-configured pool or spa device, the unique device identifier being transmittable from the un-configured pool or spa device as a plurality of data fields within the response packet, said plurality of data fields comprising a first data field and a second data field, said first data field being a pool or spa device type identifier which identifies a type of the un-configured pool or spa device, and said second data field distinguishing the un-configured pool or spa device from other pool or spa devices of the same type;

correlating the unique device identifier of the un-configured pool or spa device with a network address; and

transmitting the network address to the un-configured pool or spa device to transform the un-configured pool or spa device to a configured pool or spa device.

21. The method of claim 20 , further comprising the step of transmitting the broadcast message with a time period that defines a quantity of time after the broadcast message that the processing device waits for the response packet from the un-configured pool or spa device.

22. The method of claim 20 , further comprising the step of receiving the response packet through a gateway device.

23. The method of claim 20 , further comprising the step of transmitting, periodically, the broadcast message to discover further un-configured pool or spa devices in the pool or spa system.

24. The method of claim 20 , comprising the step of including a serial number in the unique device identifier which is built into the un-configured pool or spa device through a manufacturing process.

Assignments (6)
ASSIGNEE CHANGE OF ADDRESS Recorded Aug 24, 2021
From: HAYWARD INDUSTRIES, INC.
To: HAYWARD INDUSTRIES, INC.
Reel/Frame 057291/0950 →
RELEASE OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 3, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: HAYWARD INDUSTRIES, INC.; GSG HOLDINGS, INC.
Reel/Frame 056122/0218 →
SECURITY INTEREST Recorded Sep 11, 2017
From: HAYWARD INDUSTRIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043812/0694 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 8, 2017
From: HAYWARD INDUSTRIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043790/0558 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 7, 2017
From: HAYWARD INDUSTRIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 043796/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: BLAINE, DAVID M.; WHITE, KENNETH W., JR.; HORROCKS, CRAIG ANDREW; MURDOCK, JAMES; SAWYER, DOUGLAS M., JR.; BRUNETTI, CARL; HEON, ROBERT DONALD; RIVERA, LINNETTE
To: HAYWARD INDUSTRIES, INC.
Reel/Frame 033650/0183 →