# US 11,129,256 B2 · Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,129,256 B2
- Document ID: US11129256B2
- Status: Granted
- Kind: B2
- Application number: 15/413,128
- Filed: 2017-01-23
- Published: 2017-07-27
- Granted: 2021-09-21
- Earliest claimed: 2016-01-22
- Assignees: Hayward Industries, Inc.
- Applicants: Hayward Industries, Inc.
- Inventors: Kevin Potucek; James Murdock; James Carter; Gregory Fournier; Arthur W. Johnson, III; David Blaine; Jason DeBruin; Bruce Aubrey; Scott Petty; Jason Parcell; Craig Horrocks
- Web page: https://patentgrep.com/patent/US11129256B2

## CPC

- H05B 47/105: in response to determined parameters
- A61H 33/005: {Electrical circuits therefor}
- A61H 33/0087: {Therapeutic baths with agitated or circulated water}
- A61H 33/0095: {Arrangements for varying the temperature of the liquid}
- B25J 9/161: {Hardware, e.g. neural networks, fuzzy logic, interfaces, processor}
- B25J 9/1694: {characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion}
- E04H 4/10: Coverings of flexible material
- E04H 4/12: Devices or arrangements for circulating water {, i.e. devices for removal of polluted water, cleaning baths or for water treatment}
- E04H 4/1245: {Recirculating pumps for swimming pool water}
- E04H 4/1272: {Skimmers integrated in the pool wall}
- E04H 4/1281: {Devices for distributing chemical products in the water of swimming pools}
- E04H 4/129: {Systems for heating the water content of swimming pools (solar collectors using pools F24S10/17, F24S10/10; by solar radiation F24S20/02)}
- E04H 4/148: {Lighting means}
- E04H 4/16: specially adapted for cleaning
- E04H 4/1654: {Self-propelled cleaners}
- F04D 15/0066: {by changing the speed, e.g. of the driving engine}
- F04D 15/0077: {Safety measures (F04D15/02 takes precedence)}
- F04D 15/0088: {Testing machines}
- F04D 15/0218: {the condition being a liquid level or a lack of liquid supply}
- F04D 15/0281: {responsive to a condition not otherwise provided for}
- F04D 29/708: {specially for liquid pumps}
- F16K 37/0041: {for measuring valve parameters (F16K37/0033 takes precedence)}
- F16K 37/005: {for measuring fluid parameters (F16K37/0033 takes precedence)}
- G05B 15/02: electric
- G05B 19/042: using digital processors (G05B19/05 takes precedence)
- G05B 19/0423: {Input/output}
- G05B 21/02: electric
- G05D 7/0629: {characterised by the type of regulator means}
- G05D 7/0635: {by action on throttling means (G05D7/0688, G05D7/0694 take precedence)}
- G05D 21/02: characterised by the use of electric means
- G08B 21/182: {Level alarms, e.g. alarms responsive to variables exceeding a threshold}
- G08B 25/08: using communication transmission lines {(G08B13/19658, G08B21/0286, G08B25/016 take precedence)}
- G08C 17/02: using a radio link
- H02J 13/1311: {using the power network as support for the transmission}
- H04L 43/0817: by checking functioning
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 67/025: for remote control or remote monitoring of applications
- H04L 67/04: specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/125: involving control of end-device applications over a network
- H04L 67/53: using third party service providers
- H04Q 9/00: Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- H05B 47/11: by determining the brightness or colour temperature of ambient light
- H05B 47/19: via wireless transmission
- H05B 47/1965: {using handheld communication devices}
- A61H 2033/0008: {Arrangement for cleaning the installation before or after use}
- A61H 2033/0083: {Illumination}
- A61H 2201/5007: computer controlled
- A61H 2201/501: connected to external computer devices or networks
- A61H 2201/5012: using the internet
- A61H 2201/5048: Audio interfaces, e.g. voice or music controlled
- A61H 2201/5058: Sensors or detectors
- A61H 2201/5061: Force sensors
- A61H 2201/5071: Pressure sensors
- A61H 2201/5079: Velocity sensors
- A61H 2201/5082: Temperature sensors
- A61H 2201/5087: Flow rate sensors
- A61H 2201/5097: wireless
- B05B 17/08: Fountains (drinking fountains E03B9/20; wash fountains E03C1/16)
- G05B 2219/13: Plc programming
- G05B 2219/25022: LAN local area network for controllers
- G05B 2219/25032: CAN, canbus, controller area network bus
- G05B 2219/25268: PLD programmable logic device
- G05B 2219/2642: Domotique, domestic, home control, automation, smart house
- G05B 2223/06: Remote monitoring
- H04L 2101/69: using geographic information, e.g. room number
- H04Q 2209/40: using a wireless architecture
- H04Q 2209/84: Measuring functions
- H05B 47/197: {Sound control or voice control}
- Y02B 20/40: Control techniques providing energy savings, e.g. smart controller or presence detection
- Y04S 40/18: Network protocols supporting networked applications, e.g. including control of end-device applications over a network
- H05B: ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- A61H: PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY (electrotherapy, magnetotherapy, radiation therapy or ultrasound therapy A61N)
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- E04H: BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL (foundations E02D)
- F04D: NON-POSITIVE-DISPLACEMENT PUMPS (engine fuel-injection pumps F02M; ion pumps H01J41/12; electrodynamic pumps H02K44/02)
- F16K: VALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING {(devices for emptying and evacuating the excess liquid in valves or conduits F16L55/07)}
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G08B: SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08C: TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS (fluid pressure transmitting systems F15B; mechanical means for transferring the output of a sensing member into a different variable G01D5/00; mechanical control systems G05G)
- H02J: ELECTRIC POWER NETWORKS; CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)
- B05B: SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES (spray-mixers with nozzles B01F25/72; processes for applying liquids or other fluent materials to surfaces by spraying B05D)
- Y02B: CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y04S: SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS

## Abstract

Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment are provided. “Internet-of-Things” (IoT) functionality is provided for pool and spa equipment in a flexible and cost-effective manner. Network connectivity and remote monitoring/control of pool and spa equipment is provided by various components such as a network communication and local control subsystem installed in pool/spa equipment, and other components. Also disclosed are various control processes (“pool logic”) which can be embodied as software code installed in any of the various embodiments of the present disclosure.

## Claims

### Claim 1

A method for monitoring and controlling equipment for a pool or a spa by a pool or spa pump assembly, comprising the steps of:
providing a pool or spa pump assembly capable of monitoring and controlling one or more pool or spa devices remote from the pump assembly, the pump assembly including (i) a pump; (ii) a pump motor operatively coupled to the pump; (iii) a processor for controlling the pump motor and the one or more remote pool or spa devices; and (iv) a network communication subsystem for communicating with the one or more remote pool or spa devices and for providing direct communication between the processor and the Internet, the one or more pool or spa devices consisting of at least one of a heater, a sanitization system, a water feature, a cleaner, an underwater light, and a second pump assembly;
establishing a network connection between the processor of the pump assembly and the one or more remote pool or spa devices;
monitoring the one or more remote pool or spa devices over the network connection; and
controlling the one or more remote pool or spa devices from the pump assembly over the network connection based on data received by the processor, said data comprising operational data obtained from both the pump assembly and the one or more remote pool or spa devices.

### Claim 2 (depends on 1)

The method of claim 1, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 3 (depends on 2)

The method of claim 2, further comprising determining by the processor the location of the pump assembly based on an IP address of the pump assembly and location data received at the processor from the remote device, on ZIP code data received at the processor from the remote device, or on GPS data received at the processor from the remote device.

### Claim 4 (depends on 2)

The method of claim 2, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime.

### Claim 5 (depends on 2)

The method of claim 2, further comprising retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 6 (depends on 1)

The method of claim 1, further comprising determining by the processor if current ambient light is above a minimum ambient light setpoint based on operational data received at the processor from the remote device.

### Claim 7 (depends on 6)

The method of claim 6, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if the current ambient light is above the minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 8 (depends on 1)

The method of claim 1, further comprising determining by the processor if pool occupants are present based on operational data received at the processor from the remote device.

### Claim 9 (depends on 8)

The method of claim 8, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 10 (depends on 1)

The method of claim 1, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 11 (depends on 10)

The method of claim 10, further comprising prompting the user to elect automatic system implementation of the recommendation for all future alerts and saving the user election to a memory.

### Claim 12 (depends on 1)

The method of claim 1, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service providers.

### Claim 13 (depends on 12)

The method of claim 12, further comprising determining by the processor if a pool service provider was previously selected by the user.

### Claim 14 (depends on 13)

The method of claim 13, further comprising transmitting an alert to the previously selected service provider via the Internet.

### Claim 15 (depends on 1)

The method of claim 1, further comprising determining by the processor if a filter needs to be backwashed based on operational data received from the remote device and controlling a valve to initiate backwash filtering if the filter needs to be backwashed.

### Claim 16 (depends on 1)

The method of claim 1, further comprising receiving at the processor operational data on debris location from the remote device, determining by the processor a location of debris, and controlling a skimmer to remove debris from the location of debris.

### Claim 17 (depends on 1)

The method of claim 1, further comprising determining optimal flow rate for a water feature based on water feature parameters retrieved by the processor from a memory and user input on water feature customization and transmitting the optimal flow rate to a pump control routine.

### Claim 18 (depends on 1)

The method of claim 1, further comprising remotely actuating valves to bypass a heater based on operational data on water temperature received at the processor from the remote device and heater operation water temperature setpoints retrieved by the processor from a memory.

### Claim 19 (depends on 1)

The method of claim 1, further comprising retrieving by the processor a flow rate setpoint range for heater operation from a memory, receiving at the processor operational flow rate data from the remote device, determining by the processor if the flow rate is within the setpoint range for heater operation, and controlling the pump to increase flow if the flow rate is not within the setpoint range for heater operation.

### Claim 20 (depends on 1)

The method of claim 1, further comprising controlling operation of the pump based on operational data received at the processor from a pool cover system, pool configuration parameters retrieved by the processor from a memory, and determining by the processor a decreased chlorination rate due to lack of direct sunlight.

### Claim 21 (depends on 1)

The method of claim 1, further comprising retrieving a pool water level setpoint parameter from a memory, receiving at the processor operational data on water level from the remote device, determining by the processor if the water level is within the water level setpoint parameters, and controlling operation of the pump to maintain the water level within the water level setpoint parameters.

### Claim 22 (depends on 1)

The method of claim 1, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 23 (depends on 1)

The method of claim 1, further comprising determining by the processor the number of bathers in the pool or spa based on operational data received from the remote device and determining by the processor a correct speed of the pump based on the number of bathers in the pool or spa.

### Claim 24 (depends on 1)

The method of claim 1, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 25 (depends on 24)

The method of claim 24, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 26 (depends on 24)

The method of claim 24, further comprising calculating by the processor periods of hydraulic inefficiencies and automatically controlling the speed of the pump to improve efficiency of the remote device.

### Claim 27 (depends on 1)

The method of claim 1, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 28 (depends on 1)

The method of claim 1, further comprising retrieving by the processor factory specified parameters for the remote device from a memory, receiving operational data from the remote device, and determining if a flow rate is within the factory specified parameters for the remote device.

### Claim 29 (depends on 28)

The method of claim 28, further comprising controlling the pump to increase speed periodically if the flow rate is not within the factory specified parameters for the remote device.

### Claim 30 (depends on 1)

The method of claim 1, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 31 (depends on 1)

The method of claim 1, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.

### Claim 32 (depends on 1)

The method of claim 1, wherein the one or more pool or spa devices is the heater.

### Claim 33 (depends on 32)

The method of claim 32, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 34 (depends on 33)

The method of claim 33, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime or retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 35 (depends on 32)

The method of claim 32, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if current ambient light is above a minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 36 (depends on 35)

The method of claim 35, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 37 (depends on 32)

The method of claim 32, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 38 (depends on 32)

The method of claim 32, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service providers.

### Claim 39 (depends on 38)

The method of claim 38, further comprising determining by the processor if a pool service provider was previously selected by the user and transmitting an alert to the previously selected service provider via the Internet.

### Claim 40 (depends on 32)

The method of claim 32, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 41 (depends on 32)

The method of claim 32, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 42 (depends on 41)

The method of claim 41, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 43 (depends on 41)

The method of claim 41, further comprising calculating by the processor periods of hydraulic inefficiencies and automatically controlling the speed of the pump to improve efficiency of the remote device.

### Claim 44 (depends on 32)

The method of claim 32, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 45 (depends on 32)

The method of claim 32, further comprising retrieving by the processor factory specified parameters for the remote device from a memory, receiving operational data from the remote device, and determining if a flow rate is within the factory specified parameters for the remote device.

### Claim 46 (depends on 45)

The method of claim 45, further comprising controlling the pump to increase speed periodically if the flow rate is not within the factory specified parameters for the remote device.

### Claim 47 (depends on 32)

The method of claim 32, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 48 (depends on 32)

The method of claim 32, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.

### Claim 49 (depends on 1)

The method of claim 1, wherein the one or more pool or spa devices is the sanitization system.

### Claim 50 (depends on 49)

The method of claim 49, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 51 (depends on 50)

The method of claim 50, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime or retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 52 (depends on 49)

The method of claim 49, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if current ambient light is above a minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 53 (depends on 52)

The method of claim 52, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 54 (depends on 49)

The method of claim 49, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 55 (depends on 49)

The method of claim 49, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service providers.

### Claim 56 (depends on 55)

The method of claim 55, further comprising determining by the processor if a pool service provider was previously selected by the user.

### Claim 57 (depends on 56)

The method of claim 56, further comprising transmitting an alert to the previously selected service provider via the Internet.

### Claim 58 (depends on 49)

The method of claim 49, further comprising controlling operation of the pump based on operational data received at the processor from a pool cover system, pool configuration parameters retrieved by the processor from a memory, and determining by the processor a decreased chlorination rate due to lack of direct sunlight.

### Claim 59 (depends on 49)

The method of claim 49, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 60 (depends on 49)

The method of claim 49, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 61 (depends on 60)

The method of claim 60, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 62 (depends on 60)

The method of claim 60, further comprising calculating by the processor periods of hydraulic inefficiencies and automatically controlling the speed of the pump to improve efficiency of the remote device.

### Claim 63 (depends on 49)

The method of claim 49, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 64 (depends on 49)

The method of claim 49, further comprising retrieving by the processor factory specified parameters for the remote device from a memory, receiving operational data from the remote device, and determining if a flow rate is within the factory specified parameters for the remote device.

### Claim 65 (depends on 64)

The method of claim 64, further comprising controlling the pump to increase speed periodically if the flow rate is not within the factory specified parameters for the remote device.

### Claim 66 (depends on 49)

The method of claim 49, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 67 (depends on 49)

The method of claim 49, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.

### Claim 68 (depends on 1)

The method of claim 1, wherein the one or more pool or spa devices is the water feature.

### Claim 69 (depends on 68)

The method of claim 68, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 70 (depends on 69)

The method of claim 69, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime or retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 71 (depends on 68)

The method of claim 68, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if current ambient light is above a minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 72 (depends on 71)

The method of claim 71, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 73 (depends on 68)

The method of claim 68, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 74 (depends on 68)

The method of claim 68, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service provider.

### Claim 75 (depends on 74)

The method of claim 74, further comprising determining by the processor if a pool service provider was previously selected by the user.

### Claim 76 (depends on 75)

The method of claim 75, further comprising transmitting an alert to the previously selected service provider via the Internet.

### Claim 77 (depends on 68)

The method of claim 68, further comprising determining optimal flow rate for the water feature based on water feature parameters retrieved by the processor from a memory and user input on water feature customization and transmitting the optimal flow rate to a pump control routine.

### Claim 78 (depends on 68)

The method of claim 68, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 79 (depends on 68)

The method of claim 68, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 80 (depends on 79)

The method of claim 79, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 81 (depends on 79)

The method of claim 79, further comprising calculating by the processor periods of hydraulic inefficiencies and automatically controlling the speed of the pump to improve efficiency of the remote device.

### Claim 82 (depends on 68)

The method of claim 68, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 83 (depends on 68)

The method of claim 68, further comprising retrieving by the processor factory specified parameters for the remote device from a memory, receiving operational data from the remote device, and determining if a flow rate is within the factory specified parameters for the remote device.

### Claim 84 (depends on 83)

The method of claim 83, further comprising controlling the pump to increase speed periodically if the flow rate is not within the factory specified parameters for the remote device.

### Claim 85 (depends on 68)

The method of claim 68, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 86 (depends on 68)

The method of claim 68, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.

### Claim 87 (depends on 1)

The method of claim 1, wherein the one or more pool or spa devices is the cleaner.

### Claim 88 (depends on 87)

The method of claim 87, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 89 (depends on 88)

The method of claim 88, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime or retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 90 (depends on 87)

The method of claim 87, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if current ambient light is above a minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 91 (depends on 90)

The method of claim 90, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 92 (depends on 87)

The method of claim 87, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 93 (depends on 87)

The method of claim 87, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service provider.

### Claim 94 (depends on 93)

The method of claim 93, further comprising determining by the processor if a pool service provider was previously selected by the user.

### Claim 95 (depends on 94)

The method of claim 94, further comprising transmitting an alert to the previously selected service provider via the Internet.

### Claim 96 (depends on 87)

The method of claim 87, further comprising determining optimal flow rate for a water feature based on water feature parameters retrieved by the processor from a memory and user input on water feature customization and transmitting the optimal flow rate to a pump control routine.

### Claim 97 (depends on 87)

The method of claim 87, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 98 (depends on 87)

The method of claim 87, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 99 (depends on 98)

The method of claim 98, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 100 (depends on 98)

The method of claim 98, further comprising calculating by the processor periods of hydraulic inefficiencies and automatically controlling the speed of the pump to improve efficiency of the remote device.

### Claim 101 (depends on 87)

The method of claim 87, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 102 (depends on 87)

The method of claim 87, further comprising retrieving by the processor factory specified parameters for the remote device from a memory, receiving operational data from the remote device, and determining if a flow rate is within the factory specified parameters for the remote device.

### Claim 103 (depends on 102)

The method of claim 102, further comprising controlling the pump to increase speed periodically if the flow rate is not within the factory specified parameters for the remote device.

### Claim 104 (depends on 87)

The method of claim 87, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 105 (depends on 87)

The method of claim 87, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.

### Claim 106 (depends on 1)

The method of claim 1, wherein the one or more pool or spa devices is the underwater light.

### Claim 107 (depends on 106)

The method of claim 106, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 108 (depends on 107)

The method of claim 107, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime or retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 109 (depends on 106)

The method of claim 106, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if current ambient light is above a minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 110 (depends on 109)

The method of claim 109, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 111 (depends on 106)

The method of claim 106, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 112 (depends on 106)

The method of claim 106, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service provider.

### Claim 113 (depends on 112)

The method of claim 112, further comprising determining by the processor if a pool service provider was previously selected by the user.

### Claim 114 (depends on 113)

The method of claim 113, further comprising transmitting an alert to the previously selected service provider via the Internet.

### Claim 115 (depends on 106)

The method of claim 106, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 116 (depends on 106)

The method of claim 106, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 117 (depends on 116)

The method of claim 116, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 118 (depends on 106)

The method of claim 106, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 119 (depends on 106)

The method of claim 106, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 120 (depends on 106)

The method of claim 106, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.

### Claim 121 (depends on 1)

The method of claim 1, wherein the one or more pool or spa devices is the second pump assembly.

### Claim 122 (depends on 121)

The method of claim 121, further comprising receiving at the processor from the Internet data on sunrise and sunset times based on the location of the pump assembly and determining by the processor if a current time of day is daytime or evening based on current time and date data received at the processor and the data on sunrise and sunset times.

### Claim 123 (depends on 122)

The method of claim 122, further comprising retrieving by the processor setpoints for daytime operation from a memory if the current time of day is daytime or retrieving by the processor setpoints for evening operation from a memory if the current time of day is evening.

### Claim 124 (depends on 121)

The method of claim 121, further comprising retrieving by the processor setpoints for a first sun exposure operating mode if current ambient light is above a minimum ambient light setpoint and retrieving by the processor setpoints for a second sun exposure operating mode if the current ambient light is below the minimum ambient light setpoint.

### Claim 125 (depends on 124)

The method of claim 124, further comprising determining by the processor if ambient noise is above a maximum setpoint based on operational data received at the processor and controlling the pump to decrease output if the ambient noise is above the maximum setpoint.

### Claim 126 (depends on 121)

The method of claim 121, further comprising transmitting to a user a recommendation for addressing an alert and prompting the user to elect automatic system implementation of the recommendation.

### Claim 127 (depends on 121)

The method of claim 121, further comprising determining by the processor that the pump is in need of service, determining by the processor the location of the pump, receiving at the processor data on local service providers from the Internet, and prompting a user to select one of the service providers.

### Claim 128 (depends on 127)

The method of claim 127, further comprising determining by the processor if a pool service provider was previously selected by the user.

### Claim 129 (depends on 128)

The method of claim 128, further comprising transmitting an alert to the previously selected service provider via the Internet.

### Claim 130 (depends on 121)

The method of claim 121, further comprising determining optimal flow rate for a water feature based on water feature parameters retrieved by the processor from a memory and user input on water feature customization and transmitting the optimal flow rate to a pump control routine.

### Claim 131 (depends on 121)

The method of claim 121, further comprising controlling activation and deactivation of the remote device based on the number of bathers in the pool or spa.

### Claim 132 (depends on 121)

The method of claim 121, further comprising determining by the processor a system curve based on multiple speeds of the pump.

### Claim 133 (depends on 132)

The method of claim 132, further comprising assigning at least one system efficiency mode to a push-button.

### Claim 134 (depends on 132)

The method of claim 132, further comprising calculating by the processor periods of hydraulic inefficiencies and automatically controlling the speed of the pump to improve efficiency of the remote device.

### Claim 135 (depends on 121)

The method of claim 121, further comprising controlling by the processor operation of the pump based on parameters of a utility company received by the processor via the Internet.

### Claim 136 (depends on 121)

The method of claim 121, further comprising retrieving by the processor factory specified parameters for the remote device from a memory, receiving operational data from the remote device, and determining if a flow rate is within the factory specified parameters for the remote device.

### Claim 137 (depends on 136)

The method of claim 136, further comprising controlling the pump to increase speed periodically if the flow rate is not within the factory specified parameters for the remote device.

### Claim 138 (depends on 121)

The method of claim 121, further comprising controlling the pump to operate at a specified speed, receiving operational data from the pump, determining if water is detected at the pump and controlling the pump to deactivate and then controlling the pump to re-prime at a maximum speed if water is not detected at the pump.

### Claim 139 (depends on 121)

The method of claim 121, wherein said data received by the processor further comprises web data received from the Internet via the network communication subsystem.
