SYSTEM AND A METHOD FOR CONTROLLING POOL EQUIPMENT

Information

  • Patent Application
  • 20250163713
  • Publication Number
    20250163713
  • Date Filed
    November 20, 2024
    10 months ago
  • Date Published
    May 22, 2025
    4 months ago
Abstract
A system and a method are provided for controlling one or more pool devices. An example system for controlling the pool device may include a receiver designed to receive information from at least one mobile application of a mobile device, wherein the information is associated with a swimming pool from one or more mobile applications. The system may further include a controller in communication with the receiver and the at least one pool device associated with the swimming pool, wherein the controller is designed to determine a schedule of a user based at least in part on the information and receive a signal indicating a status of the pool device, and determine an action associated with the pool device based at least in part on the status of the pool device and the schedule of the user.
Description
TECHNICAL FIELD

The present disclosure relates to the control of a device in communication with an aquatic application such as a swimming pool. More particularly, the present disclosure relates to a system and a method for controlling pool devices in an intelligent manner.


BACKGROUND

Aquatic applications such as a swimming pool are often equipped with several devices such as a heater, a pump, and the like to control operation thereof. A user of a swimming pool may control the pool device using a mobile application. For instance, the user may remotely provide a command through the mobile application for turning on the pump of the swimming pool. In this way, the mobile device provides a convenient way to the user for controlling the pool device, even when the user is away from a location of the swimming pool.


However, existing approaches require the user to remember a time for remotely controlling the pool device. That is, the user has to remember when to start a particular piece of device and when to stop the pool device. For instance, the user needs to remember to turn on a pool heater before the user has reached home to heat the pool to the desired temperature. This manual approach of having to remember to turn on and/or remotely control the pool device time-consuming, difficult, and may lead to forgetting to operate the pool device.


SUMMARY

A system for controlling pool device is provided. The system may include a receiver designed to receive information from at least one mobile application of a mobile device, wherein the information is associated with a swimming pool from one or more mobile applications. The system may further include a controller in communication with the receiver and a device associated with the swimming pool. The controller may be designed to determine a schedule of a user based at least in part on the information and receive a signal indicating a status of the device. The controller may be further designed to determine an action associated with the device based at least in part on the status of the device and the schedule of the user.


In some examples, the controller may be further designed to perform the determined action associated with the device, wherein the action includes changing a power state of the device or changing the status of the device.


In some examples, the system may further include a transmitter in communication with the controller, wherein the transmitter may be designed to output an indication of the determined action to the mobile device. The signal may be a first signal, and the receiver may be further designed to receive a second signal associated with the determined action from the mobile device.


In additional examples, the controller may be further designed to apply a weightage to the information from the at least one mobile application based at least in part on an availability of the information, wherein the controller designed to determine the action associated with the at least one pool device is further based at least in part on the weightage.


A method for controlling pool device is also provided. The method may include receiving information associated with a user of a swimming pool from a mobile application of a mobile device and determining a schedule of the user based at least in part on the information. The method may also include receiving a status of a pool device associated with the swimming pool and determining an action associated with the pool device based at least in part on the status of the pool device and the schedule of the user.


In some examples, the method may include performing the determined action associated with the pool device. In some examples, the determined action changes a power state of the pool device or changes the status of the pool device.


In additional examples, the method may further include outputting an indication of the determined action to the mobile device. The method may further include receiving a signal from the mobile device, wherein the signal is associated with approval of the determined action. The method may also include applying a weightage to the information from the at least one mobile application based at least in part on an availability of the information, wherein the action associated with the pool device is further based at least in part on the weightage.


A swimming pool controller is provided. The swimming pool controller may include one or more memories storing processor-executable code. The swimming pool controller may also include one or more processors in communication with the one or more memories and individually or collectively operable to execute the code to cause the swimming pool controller to receive a first signal that indicates information associated with a schedule of a user of a swimming pool from one or more mobile applications of a mobile device. The code may also cause the swimming pool controller to receive a second signal that indicates a status of a pool device associated with the swimming pool. The code may also cause the swimming pool controller to output a third signal that indicates an action associated with the pool device based at least in part on the status of the pool device and the schedule of the user.


Means for controlling pool devices are provided. The means for controlling the pool device may include means for receiving information associated with a user of a swimming pool from at least one mobile application of a mobile device and determining a schedule of the user based at least in part on the information. The means for controlling the pool device may also include means for receiving a status of a pool device associated with the swimming pool and determining an action associated with the pool device based at least in part on the status of the pool device and the schedule of the user.


In some examples, the means for controlling the pool device may include means for performing the determined action associated with the pool device. In some examples, the determined action changes a power state of the pool device or changes the status of the pool device.


In additional examples, the means for controlling the pool device may include means for outputting an indication of the determined action to the mobile device. The means for controlling the pool device may include means for receiving a signal from the mobile device, wherein the signal is associated with approval of the determined action. The means for controlling the pool device may include means for applying a weightage to the information from the at least one mobile application based at least in part on an availability of the information, wherein the action associated with the at least one pool device is further based at least in part on the weightage.


In some examples of the system, method, means, and swimming pool controller, the information may be associated with at least one of one or more calendar appointments, one or more meeting invites, travel booking information, location information, and social network information. Examples of the at least one mobile application may include at least one of one or more swimming pool mobile applications, one or more email mobile applications, one or more calendar mobile applications, one or more social network mobile applications, and one or more location mobile applications. Examples of the at least one pool device may include at least one of a heater, a salt chlorine generator, a blower, a chemical feeder, one or more pool lights, one or more filters, one or more pool cleaners, one or more pumps, and one or more automatic valves. In some examples, the schedule of the user corresponds to an in-home schedule or an out-of-home schedule.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic diagram of an example system architecture of a system for controlling swimming pool device according to disclosed examples;



FIG. 2 is a swim diagram of an example method for controlling swimming pool device according to disclosed examples;



FIG. 3 is an example block diagram of a device that supports systems and methods for controlling swimming pool device according to disclosed examples; and



FIG. 4 is a flow diagram of an example method for controlling swimming pool device according to disclosed examples.





DETAILED DESCRIPTION

Before examples within this disclosure are explained in detail, it is to be understood that the disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The disclosure is capable of other examples and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” “supported,” and “coupled” and variations thereof are used broadly and encompass both direct and indirect mountings, connections, supports, and couplings. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.


The following discussion is presented to enable a person skilled in the art to make and use examples of the disclosure. Various modifications to the illustrated examples will be readily apparent to those skilled in the art, and the generic principles herein can be applied to other examples and applications without departing from examples of the disclosure. Thus, examples of the disclosure are not intended to be limited to examples shown but are to be accorded the widest scope consistent with the principles and features disclosed herein. The following detailed description is to be read with reference to the figures, in which like elements in different figures have like reference numerals. The figures, which are not necessarily to scale, depict selected examples and are not intended to limit the scope of examples of the disclosure. It is to be understood that the examples provided herein have many useful alternatives and fall within the scope of examples of the disclosure.


Additionally, while the following discussion may describe features associated with specific devices, it is understood that additional devices and/or features can be used with the described systems and methods, and that the discussed devices and features are used to provide examples of possible embodiments, without being limited.



FIG. 1 is a schematic diagram of an example system architecture of a system 100 for controlling aquatic devices (e.g., swimming pool devices) according to disclosed examples. A swimming pool 142 with water is shown. As used herein “swimming pool” or “pool” refers to a body in which the water is accumulated and is used for the purpose of swimming, bathing, or the like. For example, the system 100 may be provided in the form of a swimming pool 142 and include pool devices 102 designed for use with a swimming pool 142. In other examples, the system 100 may be provided in the form of a spa and include pool devices 102 designed for use with a spa. In other instances, the system 100 may be provided in the form of a pool and a spa and include components that may be used with a pool and spa system. In yet other instances, the system 100 may be provided in the form of pool or spa devices designed for use with a pool or a spa in a residential setting or a commercial setting. More particularly, the system 100 may be provided as a commercial or resident swimming pool, a hot tub, a spa, a plunge pool, and other recreational water venues not specifically discussed herein. When used throughout the disclosure, it will be understood that a “swimming pool” may refer to any of these alternatives.


The pool devices 102 of the system 100 may be provided in communication with each other and the swimming pool 142 to form a fluid circuit 144. The fluid circuit 144 may facilitate water movement from the swimming pool 142 through the pool devices to accomplish various tasks including, for example, pumping, cleaning, heating, sanitizing, lighting, filtering, and the like. Additional arrangements of the system 100 besides those shown in FIG. 1 are also contemplated.


As seen in FIG. 1, the components may include one or more of the following pool devices 102 utilized for operating and maintaining a residential aquatic system like a pool or spa: a pump 103, a booster pump 104, one or more filters 106, a solar controller 108, one or more solar panels 110, one or more heaters 112, one or more sanitizers 114, a water quality monitor 116, a pH regulator 118, a water feature 120, a pool cleaner 122, a pool skimmer 124, a pool drain 126, a pool light 128, a salt chlorine generator 134, and other device 130. The other device 130 may also include a pool controller 140. At least some of the pool devices 102 may be connected to one or more power sources and may be in communication with another of the one or more of the pool devices 102.


In some examples, more than one of each type of the pool devices 102 may be included. In instances with more than one of each type of pool device 102, there may be variations between the duplicates of the types of pool devices 102 or they may be the same. In other examples, fewer or more pool devices 102 than those shown in the example of FIG. 1 may be used.


The system 100 may include a controller 140 that may control one or more of the pool devices 102 of the system 100. The controller 140 may control the pool devices 102 by providing signals that include instructions to the pool devices 102 that cause the pool devices 102 to perform a variety of actions. For example, the controller 140 may send a signal to the heater 312 to increase or decrease the heating to change the temperature of the water. In another example, the controller 140 may instruct a sanitizer 314 to alter a chemical output of the sanitizer 314 to change the sanitization of the water. And yet further examples, the controller 140 may signal the pump 302 or the booster pump 304 to change their pump flow rates or speeds. The aforementioned are just some examples of how the controller 140 may control the pool devices 102, and many others are contemplated. For example, the controller 140 may be able to adjust any electronically controllable component of any of the pool devices 102.


The controller 140 is designed to interface with a mobile device 146. The mobile device 146 may be associated with a user 160 of the system 100. The mobile device 146 may be provided in the form of, or may be referred to as, a user device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where the “device” may also be referred to as a unit, a station, a terminal, or a client, among other examples. A mobile device 146 may also include or may be referred to as a personal electronic device such as a cellular phone, a personal digital assistant (PDA), a tablet computer, a laptop computer, or a personal computer. In some examples, a mobile device 146 may include or be referred to as a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, or a machine type communications (MTC) device, among other examples, which may be implemented in various objects such as appliances, vehicles, or meters, among other examples.


The controller 140 may be in communication with the mobile device 146 over one or more communication links 152. In some examples, the controller 140 may communicate with the mobile device 146 directly via a device-to-device (D2D) communication link (for example, in accordance with a peer-to-peer (P2P), D2D, or sidelink protocol).


In some examples, the controller 140 may communicate with the mobile device 146 through a network 150. The communication links 152 may include downlink transmissions (e.g., forward link transmissions) from the network 150 to the controller 140 or the mobile device 146, uplink transmissions (e.g., return link transmissions) from the mobile device 146 or the controller 140 to the network 150, or both, among other configurations of transmissions.


The network 150 may be provided in the form of, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, cloud networks, or other suitable networks, or any combination of two or more such networks. For example, such networks may include cellular networks, satellite networks, cable networks, Wi-Fi networks, Ethernet networks, RS485 connections, and other types of networks. In some instances, network 150 may be operating in accordance with a Long Term Evolution (LTE) network, an LTE-Advanced (LTE-A) network, an LTE-A Pro network, a New Radio (NR) network, or other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein. In some instances, the network 150 may be provided in the form of a short-range network (such as Bluetooth, Near-field communication (NFC), etc.). In one embodiment, the network 150 may be an isolated private network utilizing a private Internet Protocol (IP) address and limiting access to the network 150. In some examples, the network 150 may include one or more computing devices that may be arranged, for example, in one or more server banks or computer banks, or other arrangements.


In some instances, the mobile device 146 may be connected with the server 154 through the network 150. In some examples, the network 150 may be more than one network, and may be a different network than those connected to the pool devices 102.


The mobile device 146 may store and execute one or more mobile applications 148. The one or more mobile applications 148 may include one or more of swimming pool mobile applications, email mobile applications, calendar mobile applications, social network mobile applications, and location mobile applications. Additionally, other mobile applications 148 may be executed at the mobile device 146.


The pool devices 102 may further include one or more valves 132 to effectuate control thereof. The valves 132 may be controlled manually or remotely via the pool controller 140, the user device 146, individual pool devices 102, or any combination thereof.


Each of the pool devices may be associated with identification information, which may include information about the type of pool device 102 (for example, device type) and other features, settings, options, parameters, characteristics, or distinguishing aspects of the device. The identification element may be assigned by a manufacturer, by the user 160, or by a system engine of the pool device 102. The identification information may further include a product serial number, be assigned when a user 160 registers the component, or otherwise be associated with a specific user 160 account after installation.


Each of the pool devices 102 may further include one or more sensors 162162. The sensors 162 may be provided in the form of an integrated sensor, an external sensor, a sensing unit connected to or in communication with the pool device 102, or a combination thereof. The term “sensor” as used throughout the specification may include several different sensors 162, sensor configurations, or other monitoring or measuring devices. This may include a sensor unit with an individual sensor, a sensor unit with multiple sensors 162, a single sensor 162 with multiple sensing capabilities, or a combination thereof.


In various examples, a sensor 162 integrated with or removably attached to the pool devices may be designed to monitor operating parameters of the pool devices. Multiple sensors 162 may be installed based on the size, specifications, and complexity of the system 100 to collect accurate information. The sensor 162 may be provided in the form of one or more of a power sensor, a temperature sensor, a pressure sensor, a gyroscope, an accelerometer, a vibration sensor, a flow sensor, a current sensor, a voltage sensor, a power sensor, a frequency sensor, an energy sensor, a fault sensor, an audio sensor, an optic sensor, a piezoelectric sensor, a capacitance sensor, or a combination thereof. In some examples, the sensor 162 may include more than one of a particular type of sensor. Moreover, the sensor 162 may be connected to, and designed to collect data from, one or more of the pool devices 102. In this instance, the sensor 162 may further include different types of sensing components to collect and extract information related to the operating parameters and send the data set to the controller 140 or another system component 102 via a wireless or wired connection. In other examples, the sensor 162 may be disposed at a different geographic location than the respective pool devices 102. The one or more sensors 162 may send data to the controller 140 regarding status of the respective pool devices 102.


Each of the pool devices 102 may collect, send, and receive data sets to and from the other pool devices 102 or to the controller 140. The data collected and sent from the pool devices may include, at least, specific component information from the manufacturer for the system component 102 and operating parameters. As described above, this may include information entered either directly or indirectly from the user 160, but may also include information from the manufacturer, such as routine maintenance schedules, system updates, sensor data, or subscription settings. The data collected and sent via the pool devices 102 may further include operating parameters collected from the sensors 162 associated with and connected to each of the pool devices 102. Some or all of this data may be provided to the controller 140.


Some of the pool devices 102 shown in FIG. 1 may include the sensor 162 that may be provided in the form of an integrated sensor 162 or an external sensor 162 for collecting and extracting data associated with the identification element and operating parameters for the pool devices 102. Non-limiting examples of the pool devices 102 and the extracted data are described herein, but additional pool devices 102 and operating parameters are contemplated herein.


As an example, the pool pump 103 and booster pump 104 may include one or more sensors 162 designed to detect power, vibration, current, flow, pressure, temperature, frequency, or a combination thereof. The power sensor 162 may measure when the pool pump 103 and booster pump 104 are connected to power, and whether the pump(s) are activated. Additionally, some pool pumps 102 and booster pumps 104 have a soft start mode or similar controlled or reduced power mode, which may be measured and detected by the power sensor. The vibration sensor 162 may measure vibration levels to identify electromagnetic or mechanical imbalance, loose components, rubbing parts, part failure, cavitation, or resonance. Some examples may further include an accelerometer to detect if a pool device 102 becomes unlevel or sustains an impact force. A current sensor 162 may measure the current flowing through the pump(s) using a non-intrusive method. A flow sensor 162 may measure the flow of water that is pumped by a motor of the pool pump 103 and the booster pump 104 and determine a health of the motor by determining if the flow rate is unexpectedly high or low based on the particular application and various threshold metrics. The flow sensor 162 may also include a flow switch or a fluid velocity sensor 162 to detect abnormal flow rates.


A pressure sensor 162 may monitor the pressure in air compressors, heat exchangers, and similar that all use pumps to push air or water through their respective systems. The pressure sensor 162 may further measure an input and differential pressure at the head of the pool pump 103 or the booster pump 104. The sensor 162 may be designed to overcome the faults and monitor the pool pump 103 and booster pump 104. Further, the temperature sensor 162 may monitor the temperature and help to detect any abnormal temperature rise or fall due to any malfunction or failure, this may include but is not limited to temperature measurements at the inlet, outlet, and motor. The frequency sensor 162 may measure the frequency of the pool pump 103 and the booster pump 104 and may be used for controlling Variable Frequency Drives (VFDs) that may be associated with or connected to either the pool pump 103 or the booster pump 104. In some examples, an encoder may be used to measure and monitor the velocity of a rotor/impeller of the pool pump 103 and the booster pump 104. Other sensors 162, such as the voltage sensor, may monitor the input voltage and calculate the power factor of a motor of the pool pump 103 and the booster pump 104 using both current and voltage values of the system 100 or the values detected by the sensors 162 connected to each of the pool pump 103 and the booster pump 104.


In another instance, the filter 106 may include a sensor 162 designed to detect: pressure, flow, fluid velocity, or a combination thereof. The pressure sensor 162 may detect and monitor differential pressure to identify when the filter 106 may be dirty or clogged with debris. Routine maintenance alerts may be provided to regularly clean the filter 106 and extend the life of the filter 106. The flow sensor 162 may include a flow switch or a fluid velocity sensor 162 to measure the flow status and flow rate at the inlet, outlet, and backwash ports of the filter 106. Additionally, the flow sensor 162 may measure the flow rate to help detect potential leaks in the filter 106 and a filter compartment that houses the filter 106.


In some instances, the solar controller 108 may include a sensor 162 designed to detect: power, voltage, current, temperature, or a combination thereof. The power sensor 162 may determine when the solar controller 108 is connected to power, and whether it is activated. The voltage sensor 162 may monitor the input voltage and detect any upstream electrical system faults. The voltage sensor 162 may also measure the control voltage and verify the output signal to a solar valve actuator is within an acceptable range and may verify the solar controller 108 relay voltage is within an acceptable range. In other examples, other ranges may be used. A temperature sensor 162 may be used to monitor an internal temperature of the solar controller 108 and identify if any internal components, including electronic components, are overheating.


In another example, the solar panels 110 may include a sensor 162 designed to detect: power, voltage, current, solar radiation, or a combination thereof. The power sensor 162 may measure when the solar panels 110 are activated. The voltage and current sensors 162 may be used to detect power generation and the power output of the solar panels 110. In addition to the data analytics techniques described herein, the data collected by the sensor(s) may be used to produce energy reports and historical usage data displayed on the mobile device 146. The data may also be used by the other pool devices to evaluate performance and propose updates. A photosensor 162 may be used to detect levels of solar radiation (for example, the photosensor 162 may determine if it is a sunny day or a cloudy day).


In yet another instance, the heater 112 may include a sensor 162 designed to detect: power, voltage, current, temperature, pressure, or a combination thereof. The power sensor 162 may measure when the heater 112 is connected to power, and whether it is activated. The voltage sensor 162 may monitor the input voltage and detect any upstream electrical system faults. The voltage sensor 162 may also measure voltage drop to determine the power consumption of the heater 112. The current sensor 162 may detect potential shorts in the heater 112 by identifying abnormal power consumption or current spikes. The temperature sensor 162 may be used to monitor the internal temperature of the heater 112 including the heating elements. The temperature sensor 162 may also measure the temperature at an inlet and an outlet to verify the water temperature is being heated according to the heater 112 controls and settings. The pressure sensor 162 may measure differential pressure between different pool devices to identify scale accumulation or fouling of a water passage in the heater 112.


In another instance, the water quality monitor 116 may include a sensor 162 designed to detect: power, voltage, flow, resistance, water chemistry, or a combination thereof. The power sensor 162 may measure when the water quality monitor 116 is connected to power, and whether it is activated. The voltage sensor 162 may monitor the input voltage and detect any upstream electrical system faults. The voltage sensor 162 may also measure a battery level if the water quality monitor 116 is battery-powered or includes a battery pack. The flow sensor 162 may also include a flow switch and may monitor water flow at an input and an output of the water quality monitor 116 and may identify potential clogs in the monitoring system. The flow sensor 162 may further determine if the flow velocity is sufficient for proper operating conditions for the water quality monitor 116.


In another example, the sanitizer 114 may include a sensor 162 designed to detect: power, radiant energy, resistance, voltage, current, pressure, or a combination thereof. The power sensor 162 may measure when the sanitizer 114 is connected to power, and whether it is activated. In some examples, the sanitizer 114 is an Ultraviolet (UV) Light sanitizing device and a photosensor 162 may be used to measure the radiant energy of the sanitizer 114 to also determine if the sanitizer 114 is activated. The resistance sensor 162 may determine the electrical resistance across the UV bulb to verify the bulb is properly installed and within a functional range. Irregular resistance measurements may indicate a replacement bulb is needed for the sanitizer 114. The voltage sensor 162 may monitor an input voltage and detect any upstream electrical system faults. The voltage sensor 162 may also measure voltage drop to determine the power consumption of the sanitizer 114. The current sensor 162 may measure the current in the sanitizer 114 system to verify the circuit is working properly. Low or non-existent current measurements may indicate that a replacement bulb is needed for the sanitizer 114. The pressure sensor 162 may measure differential pressure to detect scale or fouling through a water passage in the sanitizer 114.


In a further instance, the pH regulator 118 may include a sensor 162 designed to detect: power, voltage, current, level, chemistry, flow, or a combination thereof. The power sensor 162 may measure when the pH regulator 118 is connected to power, and whether it is activated. The voltage sensor 162 may monitor the input voltage and detect any upstream electrical system faults. The current sensor 162 may measure the current in the pH regulator 118 system to verify that the circuit is working properly. Abnormal current measurements or an abnormal power consumption reading may indicate a malfunction. A chemical tank level associated with the pH regulator 118 may be measured by a level sensor, such as but not limited to: a float switch, force sensor, or similar. The chemical sensor 162 may be used to identify chemical properties within the chemical tank. In some examples, one or more electrodes, or similar, may be used to measure a difference in the electrical potential between a pH electrode and a reference electrode. The flow sensor 162 may include a flow switch or a fluid velocity sensor 162 to measure the rate at which chemicals are dispensed through the pH regulator 118 system. In some examples, the flow sensor 162 may also be integrated with, or otherwise communicate with, the chemical sensor 162 to measure the type and quantity of chemical(s) dispensed. In some examples, an encoder may be used to measure, monitor, or detect the rotational position and velocity of a dispensing component of the pH regulator 118.


In another example, the water feature 120 may include a sensor 162 designed to detect: power, flow, pressure, or a combination thereof. The power sensor 162 may measure when the water feature 120 is connected to power, and whether it is activated. The flow sensor 162 may include a flow switch or fluid velocity sensor, or similar, to measure the flow rate through the water feature 120. The pressure sensor 162 may be used to detect a water depth at a bottom surface of the water feature 120. The pressure sensor 162 may also communicate with the flow sensor 162 to measure the flow rate through the water feature 120.


In yet another example, the pool cleaner 122 may include a sensor 162 designed to detect: power, voltage, pressure, or a combination thereof. The sensor 162 may also determine if debris should be emptied from the cleaner. The power sensor 162 may measure when the pool cleaner 122 is connected to power, and whether it is activated. The voltage sensor 162 may monitor the input voltage and detect any upstream electrical system faults. The pressure sensor 162 may measure a suction level in a suction line of the pool cleaner 122. An encoder may be used to detect whether one or more spinning motors of the pool cleaner 122 are rotating properly. As with the other pool devices described herein, the monitored measurements may vary depending on the manufacturer and type of pool cleaner 122.


In a further instance, the pool skimmer 124 may include a sensor 162 designed to detect pressure. A differential pressure sensor 162 may detect if there is a clog in a skimmer basket of the pool skimmer 124 or if debris is interfering with air being induced in an equalizer line of the pool skimmer 124. In some examples, an encoder may be used to detect a position of a weir installed in the pool skimmer 124.


In yet another example, the pool drain 126 may include a sensor 162 designed to detect: temperature, flow, pressure, or a combination thereof. The temperature sensor 162 may measure the temperature of the water output flowing through the pool drain 126. The flow sensor 162 may include a flow switch or fluid velocity sensor, or similar, to measure the flow rate of water through the pool drain 126. The pressure sensor 162 may measure a pool water level. The pressure sensor 162 may also measure a differential pressure to detect if the pool drain 126 may be clogged.


In another example, the pool light 128 may include a sensor 162 designed to detect one or more of power, voltage, current, resistance, ambient light, or a combination thereof. The power sensor 162 may measure when the pool light 128 is connected to power, and whether it is activated. The voltage sensor 162 may measure the input voltage to the pool light 128 and detect any upstream electrical system faults. The current sensor 162 may measure the current through the pool light 128 and may be used with the voltage sensor 162 to measure power consumption. The voltage sensor 162 or the current sensor 162 may also detect when there is an abnormal power consumption measurement, which may indicate a malfunction with the pool light 128. The ambient light sensor 162 may detect a brightness level of the area surrounding the pool or spa and may send one or more signals to the pool light 128 to turn on when the ambient light drops below an ambient light threshold. In some examples, the pool light 128 may include multiple pool lights and may also include advanced lighting controls such as animation, color, dimming, timer controls, etc. The advanced lighting control features for the pool light 128 may include a sensor 162 to detect and measure system variables or other operating parameters associated with the one or more lighting control features. In some examples, the resistance may also be measured to identify electrical shorts, faults, or when a light bulb or diode needs to be replaced.


In another instance, the valve(s) may include a sensor 162 designed to detect: voltage, current, position, flow, or a combination thereof. The voltage sensor 162 may monitor the input voltage and detect any upstream electrical system faults. The voltage sensor 162 may also measure the control voltage and verify the output signal to a valve actuator is within a range. In other examples, other ranges may be used. The current sensor 162 may measure the current in the valve system and detect if there is an abnormal current measurement. Abnormal current measurements or an abnormal power consumption reading may indicate a malfunction in the valve(s). The position of a valve actuator or shaft may be detected using a position sensor, encoder, or similar. The flow switch may measure the flow rate through the valve(s) and detect if a valve port is not receiving an expected flow.


In a further instance, the other device 130 may include a sensor 162 designed to detect operating parameters associated with components of the other device 130 (for example, power status, operational mode, flow, pressure, chemical composition, calibration status, and other parameters).


In another example, the sensor 162 (for example, any of the sensing components, sensors 162, or other monitoring devices discussed above) may send data associated with the operating parameters and historical data of the pool devices continuously, at scheduled intervals, or in response to a request or other system event. In this example, the request or system event may include user 160 input received at the mobile application 148, which may be provided to the controller 140. For example, if a user 160 wanted to check the current temperature of the pool or spa, the mobile application 148 may receive this request and transmit a command to the controller 140 which may in turn provide an instruction to the sensor 162 that is in communication with the pool devices 102 and/or water of the pool, to collect the current temperature reading and transmit the information back to the mobile device 146 and process the data to generate a display to be displayed on the mobile device 146.


Further, each of the one or more pool devices 102 may be connected to a server 154 through a network 150. The one or more pool devices 102 may transmit a status associated with the one or more pool devices 102 to the server through a network 150. The status may be defined by a latest status, current status, or a previous status. In some examples, a status associated with the one or more pool devices 102 corresponds to a turn-on status, a turn-off status, a turn-on time status, a turn-off time status, light color status, temperature setpoints of heaters or chillers, a speed of pumps, a percentage output of chlorine generators, speed of blowers, feed rate of chemical feeders, position of automatic valves, etc.


In some examples, each of the one or more pool devices 102 may iteratively transmit the status associated with the one or more pool devices 102 to the server 154 within a pre-defined time interval. For instance, the one or more pool devices 102 may transmit the latest status to the server 154, which may be via the controller 140, periodically based on a time interval, such as once every thirty minutes.


In other examples, the one or more pool devices 102 may transmit the latest status associated with the one or more pool devices 102 to the server on an occurrence of an event. For instance, the one or more pool devices 102 may transmit the status to the server 154 only when there is a change in a status. For instance, when a particular pool device 102 is turned on, that particular pool device 102 may transmit this turn-on status to the server 154. As another example, the one or more pool devices 102 may transmit the latest status to the server 154 when the particular pool device 102 is left turned on even after the expiration of its respective turn-on time. Such “turn-on time” may be the time for which a particular pool device 102 is expected to be turned on. For example, the pool light 128 may be expected to be turned off during daytime or daylight hours (e.g., from 6:00 AM to 5:00 PM). As another example, the pool heater 312 may be expected to be continuously turned on only for 2 hours.


The controller 140 may receive information associated with a user 160 of the system 100 from at least one mobile application 148 of the mobile device 146. The controller 140 may determine a schedule of the user 160 based at least in part on the information. The controller 140 may receive a status of at least one pool device 102 associated with the swimming pool 142. The controller 140 may determine an action associated with the at least one pool device 102 based at least in part on the status of the at least one pool device 102 and the schedule of the user 160.



FIG. 2 is a swim diagram of an example method 200 for controlling swimming pool devices according to disclosed examples. The method 200 may implement or be implemented by aspects of the system 100. For example, the method 200 may be implemented within a pool device 102, a controller 140, and a mobile device 146, which may be similar to or include aspects of the pool devices 102, the controller 140, and the mobile device 146 as illustrated by or described with reference to FIG. 1. In other examples, the communications and messages described herein may be sent from or between different devices (e.g., between two or more pool devices 102, between one or more networks, or combinations thereof).


At 205, the mobile device 146 may run one or more mobile applications 148. The mobile device 146 may run one or more specific mobile applications 148 designed to manage and control one or more pool devices. Some of these applications may serve as a user 160 interface, allowing the user 160 to input preferences, schedules, and other relevant data. The mobile applications 148 may be responsible for sending and receiving requests with the controller 140 or initiating a communication process for pool device management.


The mobile device 146 of the user 160 may store and execute one or more mobile applications 148. The one or more mobile applications 148 may include swimming pool mobile applications 272, email mobile applications 274, calendar mobile applications 276, social network mobile applications 278, social media mobile applications 280, and location mobile applications 282. Additionally, other mobile applications 148 may be executed at the mobile device 146.


The controller 140 may optionally send a request 210 to the mobile device 146 to receive information relevant to the system 100. The request 210 may include a query to the mobile device 146 to send information to the controller 140 so that the controller 140 may improve operations of the system 100. The request 210 may include a query for one or more of data such as a current status of the user 160, a current location of the user 160, a weather report, scheduling information for the user 160, scheduling information for other family members or friends of the user 160, user preferences regarding the swimming pool 142, or any other relevant information related to controlling one or more pool devices. In some examples, the request 210 may include relevant information needed to determine an operational status of the pool 142 or specific pool devices.


Upon receiving the request 210, the mobile device 146 may send information 215 to the controller 140. The information 215 may be associated with a swimming pool from one or more mobile applications 148. In some examples, the mobile device 146 may send the information 215 to the controller 140 without a request.


The security and permissions status of the user 160 is taken into account. In some examples, the user 160 may opt-in to the feature of sending information 215 to the controller 140. In some examples, an opt-in authorization may be required before the mobile device 146 sends any information 215 to the controller 140 or before the controller 140 requests the information 215. In some examples, the user 160 may select several types of information 215 that may be sent to the controller 140. For example, the user 160 may authorize the controller 140 to receive calendar appointments 260, but not social network information 270 such as contact information or social media information 270 (e.g., social media posts). The user 160 may restrict the time periods that allow information 215 to be shared with the controller 140. The user 160 may also authorize or deny the controller 140 to receive location information 266 that may be associated with the whereabouts of the user 160. In some examples, the information 215 is sent to the controller 140 using encryption techniques.


In other examples, the information 215 related to the user 160 of the swimming pool 142 may be from one or more mobile applications 148. The information 215 may include calendar appointments 260, meeting invite information 262, travel booking information 264, location information 266, social network information 268, social media information 270, or other information that may be relevant to operation of the system 100. In particular, the calendar appointments 260, the meeting invite information 262, or the travel booking information 264 may be retrieved from one or more email mobile applications or the calendar mobile applications. The travel booking information 264, the location information 266, the social network information 268, and the social media information 270 may be retrieved from one or more social network mobile applications or one or more location mobile applications.


Examples of information 215 may be as follows, although many different examples and variations are contemplated. Meeting invite information 262 may include an in-person meeting with the user 160 of the swimming pool 142 scheduled on Monday, November 21, from 04:00 PM to 05:00 PM. Travel booking information may include a booking of a start flight on Tuesday, November 21, scheduled from 06:00 PM to 10:00 PM as well as a booking of a return flight on Friday, November 25, scheduled from 04:00 PM to 08:00 PM. Social network information may include a status, a post, a reel, or a story of the user 160 on a social network mobile application indicative of a current or forthcoming schedule of the user 160. Such status, post, reel, or story may mention that the user 160 is watching a movie at a particular theatre, that the user 160 has checked into a hotel, that the user 160 is in the same geographical location with a particular friend (who was tagged with the user 160), that a friend tagged the user 160 while participating in an activity, and the like. In some examples, the information 215 may include weather information relevant to a location of the swimming pool 142. A calendar appointment 260 of the user 160 may also include event information (such as participation of the user 160 in a sporting event, etc.), an appointment with a doctor, a surgery scheduled in upcoming weeks, a parent-teacher meeting event, a children's day event, and the like.


Location information 266 may include a current or latest location of the mobile device 146. In some examples, the information 215 may be sent including a location when the user 160 is within a distance range of the swimming pool 142. For example, when a mobile application 148 determines that the mobile device 146 is within a certain distance from home (for example, within 10 kilometers), the mobile application 148 may send the information 215 with an indication that the user 160 may be on their way home. Based on the user 160 potentially being on the way home, the controller 140 may provide one or more instructions to the system 100 to prepare the swimming pool 142 for use.


In addition to the above information related to the user 160, other kinds of location information 266 related to the user 160 of the swimming pool 142 is also taken into consideration. Other kinds of location information 266 related to the user 160 such as daily, weekly, monthly, and yearly historical data of the user 160, including habits and routines (e.g., daily gym timings of the user 160 or visiting a salon every Sunday of each week based on the location information of the user 160), may be taken into consideration. As another example, activities (such as walking, sleeping, etc.) of the user 160 may also be tracked using an accelerometer of the mobile device 146. Such activities of the user 160 may also provide useful information to the controller 140 regarding the schedule of the user 160 as it relates to the swimming pool 142. For instance, the user 160 may be located at home, where the swimming pool 142 may be located, but may be walking near a street outside the home. As another example, the user 160 may be at home but is sleeping.


Moreover, the information 215 related to the user 160 of the swimming pool 142 from these one or more mobile applications 148 may be retrieved in any of several ways. In some examples, a swimming pool mobile application 148 executed in the mobile device 146 of the user 160 may place application programming interface (API) calls to another one of the mobile applications 148 executed in the mobile device 146. In other examples, the server 154 through the network 110 may communicate with the rest of the one or more mobile applications 148 for retrieving the information 215 related to the user 160 from the mobile applications 148.


At 220, upon receiving the information 215, the controller 140 may analyze it to determine the upcoming schedule of the user 160. For example, the controller 140 may determine the schedule of the user 160 based on the received information. This may involve assessing user preferences, historical usage patterns, and any other data that may help predict recommended or convenient times for pool device operation. In some examples, the controller 140 may align the functionality of the pool devices 102 functionality with the schedule, needs, and preferences of the user 160. In some examples, the controller 140 may act as central hub that collects and processes data in order to instruct the pool devices 102 on their functionality based on the information.


In some examples, a swimming pool mobile application 272 executed in the mobile device 146 of the user 160 or the server 154 may perform an analysis on the retrieved information related to the user 160 of the swimming pool 142. The retrieved information related to the user 160 may be analyzed to determine a schedule of the user 160. The schedule of the user 160 may correspond to a free schedule or a busy schedule of the user 160. The free schedule may indicate that the user 160 is not involved in any activity inside or outside the home. Likewise, the busy schedule of the user 160 may indicate that the user 160 is involved in any activity at home or outside the home.


The pool device 102 may send one or more status signals 225 to the controller 140. In some examples, the pool device 102 may send the one or more status signals 225 without receiving any request by the controller 140. In another example, the controller 140 may request the one or more status signals 225 from the pool device 102. In some examples, the pool device 102 may periodically send the one or more status signals 225 to the controller 140. In other examples, the pool device 102 may send the one or more status signals 225 when there has been a status change at the respective pool device 102. In some examples, the controller 140 may forward the status signals 225 to the mobile device 146.


At 230, the controller 140 may identify a status of the pool device 102 based at least in part on the one or more status signals 225. The one or more status signals 225 may include indication of one or more operational parameters of the pool device 102 or power states (for example, powered on, powered off, in a sleep mode). In some examples, the controller 140 may update to the pool device 102 based on the status of the pool device 102. The controller 140 may identify any necessary updates or changes to the pool device 102 based on the status and in some instances other data. The other data may be, for example, statuses of one or more other pool devices 102, a time of day, a weather, a previous use of the swimming pool 142, and the like. In some examples, the controller 140 may evaluate a current status of the pool device 102 against a desired operational status or other parameters and determine if any modifications are needed to improve performance or efficiency.


At 235, the controller 140 may determine one or more actions for the pool device 102 based at least in part on the status of the pool device 102 and the user's schedule. The action may include adjusting one or more settings, initiating, or terminating various functions, or scheduling future operations. The controller 140 may ensure that the pool devices 102 are synchronized with the schedule and requirements of the user 160.


Based on the latest status and the schedule of the user 160, the controller 140, or alternatively the swimming pool mobile application 272 or the server 154, may determine an action for the one or more pool devices 102. For instance, if the schedule of the user 160 determines to be the busy schedule due to the in-person meeting on Monday, November 21 from 04:00 PM to 05:00 PM and if the latest status of a heater 312 of the swimming pool 142 is turned on at around 03:30 PM on the same day, then the controller 140, or alternatively the swimming pool mobile application 272 or the server 154, may determine an action for turning off the heater 312 of the swimming pool 142 for that period of 04:00 PM to 05:00 PM. This may result in energy savings for the user 160.


In one instance, if the schedule of the user 160 is determined to be the busy schedule due to the involvement in a gym activity on Tuesday, November 22 from 04:00 PM to 05:00 PM and if the latest status of the heater 312 is turned-off at around 04:30 PM on the same day, then the controller 140, or alternatively the swimming pool mobile application 272 or the server 154, may determine an action for turning on the heater 312 from the period of 04:30 PM for pre-heating the swimming pool 142 before the user 160 reaches his or her home. When the user 160 arrives home, the water of the swimming pool 142 will be heated by that time and the swimming pool 142 will be ready for use without requiring the user 160 to wait.


In another instance, if the schedule of the user 160 is determined to be the free schedule because the user 160 shown to be uninvolved in any activity, and if the latest status of the heater 312 is turned off at around 10:00 AM on the same day, then the controller 140, or alternatively the swimming pool mobile application 272 or the server 154, does not determine any action in such scenario.


In some examples, the controller 140, mobile application 272, and/or server 154 determines the action by providing weightage to an availability of the information 215 from the one or more mobile applications 148. Example Table 1 below explains a weighing approach that the controller 140 may use. As used herein, the term “available” refers to availability of the information 215 from a mobile application 148. That is, the latest information 215 may be retrieved from that mobile application 148. As used herein, the term “not available” refers to non-availability of the information 215 from a mobile application 148. That is, the latest information 215 could not be retrieved from that mobile application 148.















TABLE 1





Information








of User A of


Swimming


Pool ABC
Calendar
Meeting
Travel

Social


located at
Appointments
Invites
Booking
Location
Network


XYZ location
Information
Information
Information
Information
Information
Weightage







Scenario 1
Not
Not
Not
Not
Not
 0%



available
available
available
available
available


Scenario 2
Not
Not
Not
Available
Not
20%



available
available
available

available


Scenario 3
Not
Not
Not
Available
Available
40%



available
available
available


Scenario 4
Not
Not
Available
Available
Available
60%



available
available


Scenario 5
Available
Not
Not
Available
Not
40%




available
available

available


Scenario 6
Not
Available
Not
Available
Not
40%



available

available

available


Scenario 7
Not
Not
Available
Available
Not
40%



available
available


available









Scenario 1 describes a situation when no information 215 is available from any of the one or more mobile applications 148. In such a situation, 0% weightage is given for the non-availability of information 215 and the controller 140 does not determine an action.


Scenario 2 describes a situation when the location information 266 is available, and the rest of the information 215 is not available. In such a situation, 20% weightage is given for availability of the location information 266 and non-availability of the rest of the information 215 and then, the controller 140 determines an action but with low weightage.


Scenario 3 describes a situation when the location information 266 as well the social network information 268 both are available, and the rest of the information 215 is not available. In such a situation, 40% weightage is given for availability of the two types of information 215 and non-availability of the rest of the information 215. In this scenario, the controller 140 determines an action but with medium weightage.


Scenario 4 describes a situation when the location information 266, travel booking information 264 as well as social network information 268 are all available, and the rest of the information 215 is not available. In such a situation, 60% weightage is given for the availability of the three types of information 215 and non-availability of the rest of the information 215. In this scenario, the controller 140 may determine an action with high weightage.


Scenario 5 describes a situation when the location information 266 as well as the calendar appointment information 260 are both available, and the rest of the information 215 is not available. In such a situation, 40% weightage is given for availability of the two types of information 215 and non-availability of the rest of the information 215. In scenario 5, the controller 140 determines an action but with medium weightage.


Similarly, Scenario 6 describes a situation when the location information 266 as well the meeting invite information 262 are both available, and the rest of the information 215 is not available. In such a situation, 40% weightage is given for availability of the two types of information 215 and non-availability of the rest of the information 215. In this scenario, the controller 140 may determine an action but with medium weightage.


Likewise, Scenario 7 describes a situation when the location information 266 as well as the travel booking information 264 are both available, and the rest of the information 215 is not available. In such a situation, 40% weightage is given for availability of the two types of information 215 and non-availability of the rest of the information 215. In this example, the controller 140 may determine an action but with medium weightage.


As described herein, low weightage (i.e., below or about 20%) may mean that the reliability of the information 215 is low. This may result in the determined action to potentially be the correct action to take (that is, an action that the user 160 would prefer) or it may be that it would be an incorrect action (that is, an action that the user 160 would not prefer). Low weightage may indicate low reliability of accurate information. However, even with the low weightage, the controller 140 may determine and/or execute an action according to the present disclosure. Further, medium and high weightage (for example, those above 20%) may mean that the action determined to be correct based on a higher instance of corroboration from the information 215.


In some examples, when the controller 140 determines that there is a low weightage, and therefore a low reliability of the action being correct, the controller 140 may send a request to the mobile device 146. The request may provide an indication to the user 160 that the controller 140 has identified the potential action and wishes to confirm the user 160 wants the action performed before the controller 140 instructs the pool device 102 to perform the action. When the mobile device 146 receives the request, it may display an option for the user 160 to accept or reject the action. The mobile device 146 may send a response to the controller 140 accepting or rejecting the action based on input from the user 160. The low reliability may be based on a threshold weightage.


In some cases, the controller 140 may request approval or denial of the actions from the mobile device 146 regardless of the weightage. For example, the controller 140, the swimming pool mobile application 148 or the server 154 may render the determined action to the user 160 on the mobile device 146 via the swimming pool mobile application 148 as a recommendation via text or audio commands. Recommendation such as “Your swimming pool heater is left on. Would you like to turn it off?” is rendered on the mobile device 146 for the user 160. The user 160 either accepts (“yes”) or denies (“no”) the rendered action via a text or an audio command. And, accordingly, a response from the user 160 for the action associated with the one or more pool devices 102 is received by the server 154 via the swimming pool mobile application 148 or by the swimming pool mobile application 272. If the user 160 accepts (“yes”) by providing a text or an audio command, the rendered action associated with the swimming pool heater 312 is performed. For example, the swimming pool heater 312 is turned off after the controller 140 or the server 154 transmits a command to the swimming pool heater 312. If the user 160 denies (“no”) by providing a text or an audio command, then no further action is taken and the swimming pool heater 312 is left on.


In an alternative example, the swimming pool mobile application 148 or the server 154 may not render the determined action to the user 160 as a recommendation. Instead, the determined action may be implemented directly by the swimming pool mobile application 148 or the server 154 without making any recommendation to the user 160. Considering the example described above where the determined action is for turning off the heater 312 for period of 04:00 PM to 05:00 PM, then the controller 140, the swimming pool mobile application 148, or the server 154 may directly transmit the command to the heater 312 to turn it off.


In some examples, the determined action corresponds to a change in a most up-to-date status of the one or more pool devices 102. For example, turning one or more lights on or off, change in the color of lights, change in temperature setpoints of heaters or chillers, change in the speed of pumps, change in percentage output of chlorine generators, change in the speed of blowers, change in the feed rate of chemical feeders, change in position of automatic valves, and the like.


The controller 140 may send one or more control signals 240 to the pool device 102. The control signal 240 may include at least one indication of the one or more action for the pool device 102 to perform. The control signal 240 may include instructions for precise commands that direct the pool device 102 on how to alter its operations. For example, the control signal 240 may instruct the pool device 102 to power on, power off, start a process, end a process, change a setting, collect sensor data, or the like. At 245, the pool device 102 may perform the one or more actions indicated in the one or more control signals 240.


The pool device 102 may send a notification 250 to the controller 140 that the one or more actions has been performed. In some examples, the pool device 102 may send a notification 250 to the controller 140 that the one or more actions has not been performed and may include an indication as to why the one or more actions were not performed. The controller 140 may provide a notification 255 to the mobile device 146 indicating any relevant data regarding the pool devices 102, such as, but not limited to, an indication of whether the one or more actions were performed, an expected time of an action being completed (such as when the pool water is expected to raise to an identified temperature), sensor data, malfunction data, maintenance data, and the like. In some examples, the pool devices 102 may send the notification 255 directly to the mobile device 146. These notifications 250 and 255 may confirm that the adjustments have been made and provide the user 160 with updates on the status of the pool devices 102. This feedback loop may ensure transparency and keep the user 160 informed of any changes or actions taken by the system 100, including those by the controller 140.



FIG. 3 is an example block diagram 300 of a device 305 that supports systems and methods for controlling the swimming pool devices. The device 305 may be an example of aspects of a controller 140 as described herein. The device 305 may include a receiver 315, a transmitter 310, a communications manager 320, a schedule manager 325, and a pool device manager 330. The device 305, or one or more components of the device 305 (e.g., the transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330), may include at least one processor 335, which may be connected with at least one memory 340, to, individually or collectively, support or enable the described techniques. Each of these components may be in communication with one another via one or more buses 350.


The receiver 315 may provide a means for receiving information such as packets, user data, control information, other signals, and any combination thereof associated with various information channels (for example, control channels, data channels, information channels, wired or wireless channels, and the like). Information may be passed on to other components of the device 305. The receiver 315 may utilize a single antenna or a set of multiple antennas. The receiver 315 may be designed to receive information related to the user 160 of the swimming pool 142 from one or more mobile applications. The receiver 315 may also be designed to receive a latest status of one or more pool devices 102.


The transmitter 310 may provide a means for transmitting signals generated by other components of the device 305. For example, the transmitter 310 may transmit information such as packets, user data, control information, other signals, or any combination thereof associated with various information channels (e. for example, control channels, data channels, information channels, wired or wireless channels, and the like). In some examples, the transmitter 310 may be co-located with a receiver 315 in a transceiver module. The transmitter 310 may utilize a single antenna or a set of multiple antennas.


The transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330 or various combinations or components thereof may be examples of means for performing various aspects of a method to control pool device as described herein. For example, the transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330, or various combinations or components thereof may be capable of performing one or more of the functions described herein.


In some examples, the transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330, or various combinations or components thereof may be implemented in hardware (e.g., in communications management circuitry). The hardware may include at least one of a processor, a digital signal processor (DSP), a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device (PLD), a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure. In some examples, at least one processor and at least one memory in communication with the at least one processor may be configured to perform one or more of the functions described herein (e.g., by one or more processors, individually or collectively, executing instructions stored in the at least one memory 340). In some examples, the one or more processors 335 may be provided in the form of a single-core processor, a dual-core processor, a quad-core processor, a hexa-core processor, an octa-core processor, a deca-core processor, or any other type of processor.


In some examples, the memory 340 may refer to a read access memory (RAM), read only memory (ROM), a flash memory, or any other type of memory. The memory 340 may be designed to store or otherwise save a latest status of the one or more pool devices 102, the schedule of the user 160, and the determined action associated with the one or more pool devices 102.


Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A non-transitory storage medium may be any available medium that may be accessed by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Also, any connection may be properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of computer-readable medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc. Disks may reproduce data magnetically, and discs may reproduce data optically using lasers. Combinations of the above are also included within the scope of computer-readable media. Any functions or operations described herein as being capable of being performed by a memory may be performed by multiple memories that, individually or collectively, are capable of performing the described functions or operations.


Additionally, or alternatively, the transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330, or various combinations or components thereof may be implemented in processor executable code 345 (e.g., as communications management software or firmware) executed by the at least one processor 335 (e.g., referred to as a processor-executable code 345). If implemented in code executed by at least one processor 335, the functions of the transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330, or various combinations or components thereof may be performed by a general-purpose processor, a DSP, a CPU, an ASIC, an FPGA, a microcontroller, or any combination of these or other programmable logic devices (e.g., configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure).


In some examples, the communications manager 320 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the transmitter 310, the receiver 315, or both. For example, the communications manager 320 may receive information from the receiver 315, send information to the transmitter 310, or be integrated in combination with the transmitter 310, the receiver 315, or both to obtain information, output information, or perform various other operations as described herein.


The communications manager 320 may support the techniques for controlling pool devices in accordance with examples as disclosed herein. The communications manager 320 is capable of, configured to, or operable to support a means for receiving information associated with a user of a swimming pool from at least one mobile application of a mobile device. The communications manager 320 is capable of, configured to, or operable to support a means for receiving a status of at least one pool device associated with the swimming pool.


In some examples, the communications manager 320 is further capable of, configured to, or operable to support a means for outputting an indication of the determined action to the mobile device. In additional examples, the communications manager 320 is also capable of, configured to, or operable to support a means for receiving a signal from the mobile device, wherein the signal is associated with approval of the determined action.


The schedule manager 325 may support the techniques for controlling the pool devices in accordance with examples as disclosed herein. The schedule manager 325 is capable of, configured to, or operable to support a means for determining a schedule of the user based at least in part on the information. The schedule manager 325 is further capable of, configured to, or operable to support a means for applying a weightage to the information from the at least one mobile application based at least in part on an availability of the information, wherein the action associated with the at least one pool device is further based at least in part on the weightage. The schedule manager 325 may be designed to determine a schedule of the user 160 based on an analysis of the retrieved information. The schedule manager 325 may also be designed to determine an action for the one or more pool devices 102 based on the latest status and the schedule of the user 160.


The pool device manager 330 may support the techniques for controlling the pool devices in accordance with examples as disclosed herein. The pool device manager 330 is capable of, configured to, or operable to support a means for determining an action associated with the at least one pool device based at least in part on the status of the at least one pool device and the schedule of the user.


The pool device manager 330 is further capable of, configured to, or operable to support a means for performing the determined action associated with the at least one pool device. In some examples, the pool device itself performs the determined action associated with the at least one pool device. In some instances, the determined action changes a power state of the at least one pool device or changes the operational status (e.g., adjusts a parameter) of the at least one pool device.


By including or configuring the communications manager 320, the schedule manager 325, and the pool device manager 330 in accordance with examples as described herein, the device 305 (e.g., at least one processor controlling or otherwise coupled with the transmitter 310, the receiver 315, the communications manager 320, the schedule manager 325, and the pool device manager 330, or a combination thereof) may support techniques for controlling the pool devices using scheduling information of a user.



FIG. 4 is a flow diagram of an example method 400 for controlling one or more swimming pool devices according to disclosed examples. The operations of the method 400 may be implemented by the system 100 or its components as described herein. For example, the operations of the method 400 may be performed by the controller 140, the server 154, the swimming pool mobile application 272, the network 150, the mobile device 146, the pool device 102, or any combination thereof as described with reference to FIGS. 1-3. In some examples, the controller 140, the network 150, the mobile device 146, or the pool device 102 may execute a set of instructions to control the functional elements of the controller 140, the network 150, the mobile device 146, or the pool device 102 to perform the described functions. Additionally, or alternatively, the controller 140, the network 150, the mobile device 146, or the pool device 102 may perform aspects of the described functions using special-purpose hardware. In other examples, other components of the system 100 may perform aspects of the described functions.


At 405, the method 400 may include receiving information associated with a user of a swimming pool from at least one mobile application of a mobile device. In some examples, the server 154 or the swimming pool mobile application 272 may retrieve information related to the user 160 of the swimming pool 142 from one or more mobile applications 148. As explained above in FIG. 1, the information related to the user 160 may be provided in the form of calendar appointments, meeting invites, travel booking information, location information, social network information, and social media information. The operations of 405 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 405 may be performed by the controller 140, the server 154 and/or the swimming pool mobile application 272 as described at least with reference to FIG. 1.


At 410, the method 400 may include determining a schedule of the user based at least in part on the information. In some examples, the controller 140, the server 154 or the swimming pool mobile application 272 may determine a schedule of the user 160 based on an analysis of the retrieved information. An analysis may be performed on the retrieved information related to the user 160 of the swimming pool 142 from these one or more mobile applications 148. The retrieved information related to the user 160 may be analyzed to determine a schedule of the user 160. The schedule of the user 160 may correspond to a free schedule or a busy schedule of the user 160. The operations of 410 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 410 may be performed by the controller 140, the server 154 or the swimming pool mobile application 272 as described at least with reference to FIG. 1.


At 415, the method 400 may include receiving a status of at least one pool device associated with the swimming pool. In some examples, the controller 140, the server 154 or the swimming pool mobile application 272 may receive the status of at least one pool device associated with the swimming pool. In some instances, the controller 140, the server 154, or the swimming pool mobile application 272 may receive a latest status of one or more pool devices 102. In some examples, the latest status associated with the one or more pool devices 102 may correspond to a turn-on status, a turn-off status, a turn-on time status, a turn-off time status, light color status, temperature setpoints of heaters or chillers, a speed of pumps, a percentage output of chlorine generators, speed of blowers, feed rate of chemical feeders, position of automatic valves, etc., as explained herein. The operations of 415 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 415 may be performed by the controller 140, the server 154 or the swimming pool mobile application 272 as described at least with reference to FIG. 1.


At 415, the method 400 may include determining an action associated with the at least one pool device based at least in part on the status of the at least one pool device and the schedule of the user. In some examples, the controller 140, the server 154 or the swimming pool mobile application 272 may determine an action for the one or more pool devices 102 based on the latest status of the one or more pool devices 102 and the schedule of the user 160. For instance, if the schedule of the user 160 is determined to be the busy schedule due to the in-person meetings and if the latest status of a heater of the swimming pool 142 is turned on at around the same time on the same day, then the controller 140, the swimming pool mobile application 272, or the server 154 may determine an action for turning off the heater of the swimming pool 142 for that time period, as explained herein. The operations of 420 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 420 may be performed by the controller 140, the server 154 or the swimming pool mobile application 272 as described at least with reference to FIG. 1.


In some examples, the method 400 further includes performing the determined action associated with the at least one pool device. In some instances, the determined action changes a power state of the at least one pool device or changes the status (e.g., an operational parameter) of the at least one pool device.


In some instances, the method 400 may further include outputting an indication of the determined action to the mobile device. The method 400 may further include receiving a signal from the mobile device, wherein the signal is associated with approval of the determined action. In some examples, the method 400 may also include applying a weightage to the information from the at least one mobile application based at least in part on an availability of the information, wherein the action associated with the at least one pool device is further based at least in part on the weightage.


In some instances, the information is associated with at least one of one or more calendar appointments, one or more meeting invites, travel booking information, location information, and social network information. In some examples, the at least one mobile application includes at least one of one or more swimming pool mobile applications, one or more email mobile applications, one or more calendar mobile applications, one or more social network mobile applications, and one or more location mobile applications. In some examples, the at least one pool device is provided in the form of a heater, a salt chlorine generator, a blower, a chemical feeder, one or more pool lights, one or more filters, one or more pool cleaners, one or more pumps, and one or more automatic valves. In some instances, the schedule of the user corresponds to an in-home schedule or an out-of-home schedule.


The present disclosure may reduce or eliminate a need for a user to remember a time to remotely control their pool device. The present disclosure also provides control of the swimming pool device even when a user is remote or away from a location of the swimming pool. Techniques described herein can improve a user's experience of their swimming pool or spa system. The techniques described herein can also reduce energy consumption and resulting cost of energy for the user. The techniques described herein may also result in improved longevity of the pool devices due to reduced wear-and-tear and improved maintenance.


Information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the description may be represented by electromagnetic waves, voltages, currents, magnetic fields or particles, optical fields or particles, or any combination thereof.


The various illustrative blocks and components described in connection with the disclosure herein may be implemented or performed using a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor but, in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration). Any functions or operations described herein as being capable of being performed by a processor may be performed by multiple processors that, individually or collectively, are capable of performing the described functions or operations.


The functions described herein may be implemented using hardware, software executed by one or more processors, firmware, or any combination thereof. If implemented using software executed by one or more processors, the functions may be stored as or transmitted using one or more instructions or code of a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein may be implemented using software executed by one or more processors, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.


As used herein, including in the claims, “or” as used in a list of items (e.g., a list of items prefaced by a phrase such as “at least one of” or “one or more of”) indicates an inclusive list such that, for example, a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Also, as used herein, the phrase “based on” shall not be construed as a reference to a closed set of conditions. For example, an example step that is described as “based on condition A” may be based on both a condition A and a condition B. For example, as used herein, the phrase “based on” shall be construed in the same manner as the phrase “based at least in part on.”


As used herein, including in the claims, the article “a” before a noun is open-ended and understood to refer to “at least one” of those nouns or “one or more” of those nouns. Thus, the terms “a,” “at least one,” “one or more,” and “at least one of one or more” may be interchangeable. For example, if a claim recites “a component” that performs one or more functions, each of the individual functions may be performed by a single component or by any combination of multiple components. Thus, the term “a component” having characteristics or performing functions may refer to “at least one of one or more components” having a particular characteristic or performing a particular function. Subsequent reference to a component introduced with the article “a” using the terms “the” or “said” may refer to any or all of the one or more components. For example, a component introduced with the article “a” may be understood to mean “one or more components,” and referring to “the component” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components.” Similarly, subsequent reference to a component introduced as “one or more components” using the terms “the” may refer to any or all of the one or more components. For example, referring to “the one or more components” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components.”


The term “determine” or “determining” encompasses a variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (such as via looking up in a table, a database, or another data structure), identifying, ascertaining, and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data stored in memory), retrieving, and the like. Also, “determining” can include resolving, obtaining, selecting, choosing, establishing, and other such similar actions.


In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If just the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label or other subsequent reference label.


The description set forth herein, in connection with the appended drawings, describes example configurations and does not represent all the examples that may be implemented or that are within the scope of the claims. The term “example” used herein means “serving as an example, instance, or illustration” and not “preferred” or “advantageous over other examples.” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, may be practiced without these specific details. In some figures, known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.


In other instances, other configurations of the systems and methods described herein are possible. For example, those of skill in the art will recognize, according to the principles and concepts disclosed herein, that various combinations, sub-combinations, and substitutions of the components discussed above can provide appropriate control for a variety of different configurations of robotic platforms for a variety of applications.


It will be appreciated that while the system has been described above in connection with particular examples and examples, the system is not necessarily so limited and that numerous other examples, examples, uses, modifications, and departures from the examples, examples, and uses are intended to be encompassed by the claims attached hereto. The entire disclosure of each patent and publication cited herein is incorporated by reference as if each such patent or publication were individually incorporated by reference herein. Various features and advantages of the system are outlined in the following claims.

Claims
  • 1. A system for controlling a pool device, comprising: a receiver designed to receive information from at least one mobile application of a mobile device, wherein the information is associated with a swimming pool from one or more mobile applications; anda controller in communication with the receiver and a pool device associated with the swimming pool, wherein the controller is designed to: determine a schedule of a user based at least in part on the information;receive a signal indicating a status of the pool device; anddetermine an action associated with the pool device based at least in part on the status of the pool device and the schedule of the user.
  • 2. The system of claim 1, wherein the controller is further designed to: perform the determined action associated with the pool device, wherein the action includes changing a power state of the pool device or an operational parameter of the pool device.
  • 3. The system of claim 1 further comprising a transmitter in communication with the controller, wherein the transmitter is designed to output an indication of the determined action to the mobile device.
  • 4. The system of claim 3, wherein the signal indicating the status of the pool device is a first signal, and wherein the receiver is further designed to receive a second signal associated with the determined action from the mobile device.
  • 5. The system of claim 1, wherein the controller is further designed to apply a weightage to the information from the at least one mobile application based at least in part on an availability of the information, and the controller determines the action associated with the pool device based at least in part on the weightage.
  • 6. The system of claim 1, wherein the information is associated with at least one of one or more calendar appointments, one or more meeting invites, travel booking information, location information, or social network information.
  • 7. The system of claim 1, wherein the at least one mobile application is provided in the form of at least one of one or more swimming pool mobile applications, one or more email mobile applications, one or more calendar mobile applications, one or more social network mobile applications, and one or more location mobile applications.
  • 8. The system of claim 1, wherein the pool device is provided in the form of at least one of a heater, a salt chlorine generator, a blower, a chemical feeder, one or more pool lights, one or more filters, one or more pool cleaners, one or more pumps, or one or more automatic valves.
  • 9. The system of claim 1, wherein the schedule of the user corresponds to an in-home schedule or an out-of-home schedule.
  • 10. A method for adjusting the operational condition of a swimming pool device associated with a swimming pool, comprising: receiving information associated with a user of the swimming pool from at least one mobile application of a mobile device;determining a schedule of the user based at least in part on the information;receiving a current status of the pool device associated with the swimming pool; anddetermining an action associated with the pool device based at least in part on the current status of the pool device and the schedule of the user.
  • 11. The method of claim 10, further comprising performing the determined action associated with the pool device.
  • 12. The method of claim 11, wherein the determined action changes a power state of the pool device or changes an operational parameter of the pool device.
  • 13. The method of claim 10, further comprising outputting an indication of the determined action to the mobile device.
  • 14. The method of claim 13, further comprising receiving a signal from the mobile device that is associated with approval of the determined action.
  • 15. The method of claim 10, further comprising: applying a weightage to the information from the at least one mobile application based at least in part on an availability of the information, wherein the action associated with the pool device is further based at least in part on the weightage.
  • 16. The method of claim 10, wherein the information is associated with at least one of one or more calendar appointments, one or more meeting invites, travel booking information, location information, or social network information.
  • 17. The method of claim 10, wherein the at least one mobile application is provided in the form of at least one of one or more swimming pool mobile applications, one or more email mobile applications, one or more calendar mobile applications, one or more social network mobile applications, or one or more location mobile applications.
  • 18. The method of claim 10, wherein the pool device is provided in the form of at least one of a heater, a salt chlorine generator, a blower, a chemical feeder, one or more pool lights, one or more filters, one or more pool cleaners, one or more pumps, or one or more automatic valves.
  • 19. The method of claim 10, wherein the schedule of the user corresponds to an in-home schedule or an out-of-home schedule.
  • 20. The method of claim 10, wherein a display may be provided to the user on the mobile device to accept or reject the determined action.
CROSS REFERENCE TO RELATED APPLICATIONS

The present Application for Patent claims the benefit of U.S. Provisional Patent Application No. 63/600,913 entitled “SYSTEM AND A METHOD FOR CONTROLLING POOL DEVICE,” filed Nov. 20, 2023, the contents of which are incorporated by reference for all purposes.

Provisional Applications (1)
Number Date Country
63600913 Nov 2023 US