The present disclosure generally relates to a sump pump system, and, more specifically, to techniques for implementing machine learning and adaptive learning techniques to a sump pump system.
A sump pump is a type of pump used to remove water that has accumulated in a lower level (e.g., a basement, a ground floor level, a sub-ground floor level, etc.) of a property (e.g., a home, an office, or any other building or structure). The sump pump sends the water into pipes that lead away from the property so that potential lower-level flooding may be avoided. As such, failures in the sump pump can have disastrous consequences including water damages and insurance losses. However, sump pump failures often occur without prior warning or may not be discovered until significant damage has already been done. Unfortunately, many currently available sump pump systems are not designed or equipped to automatically detect impending sump pump failures, or remedy such failures even if they are detected.
The described methods and systems enable implementation of adaptive learning and machine learning techniques to facilitate improved control of sump pumps. A sump pump system may implement the described techniques to generate, train, and/or implement a machine-learning (ML) model that is capable of predicting or estimating one or more conditions of the sump pump system (e.g., water level in the basin, motor malfunction, stuck impeller, geyser effect, blocked outlet pipe, faulty level sensor/switch, faulty bearing, failure to engage pump at high-water mark, etc.) based on one or more detected input variables (e.g., acceleration or vibration patterns detected in water, on a pump, or on a pipe; capacitance values of water; audio signatures; electrical signatures, such as power or current draw; pump motor rotation speed; water pressure signatures or values, such as those detected at the bottom of a sump basin; etc.).
In an embodiment, a sump pump system is configured to implement adaptive learning or machine learning techniques. The sump pump system may include a sump pump in a sump basin. The sump pump system may include a sump pump control system that is coupled to the sump pump that is configured to activate and deactivate the sump pump based on water levels (e.g., at high-water and low-water marks). The sump pump control system may include a first sensor, disposed in the sump basin, that is configured to detect water levels. The sump pump control system may include a second sensor, disposed in the sump basin, that is configured to detect motion or acceleration of the second sensor (e.g., an accelerometer or force sensor). The sump pump control system may include one or more processors, coupled to the first sensor, that are configured to develop a ML model and implement the ML model. In developing the ML model, the sump pump control system may acquire, via the first sensor, one or more sets of first data indicative of levels of water in a sump basin; acquire, via the second sensor, one or more sets of second data indicative of detected acceleration patterns; and/or utilize the one or more sets of first data and the one or more sets of second data as training data for the ML model to train the ML model to discover one or more relationships between the one or more levels of water and the one or more acceleration patterns. In implementing the ML model, the sump pump control system may activate or deactivate the sump pump based on one or more estimated or predicted water levels that are estimated or predicted via the ML model based on (i) acceleration data collected during operation of the sump pump and (ii) the one or more discovered relationships.
In an embodiment, a method for implementing adaptive learning in a sump pump system is implemented. The method may include any one or more of: (A) developing a machine-learning (ML) model, including: acquiring, via a first sensor, one or more sets of first data indicative of levels of water in a sump basin; acquiring, via a second sensor, one or more sets of second data indicative of detected acceleration patterns; and/or utilizing the one or more sets of first data and the one or more sets of second data as training data for the ML model to train the ML model to discover one or more relationships between the one or more levels of water and the one or more acceleration patterns; and/or (B) implementing the ML model, including activating or deactivating the sump pump based on one or more predicted water levels that are predicted via the ML model based on (i) acceleration data collected during operation of the sump pump and (ii) the one or more discovered relationships.
In an embodiment, A method for implementing adaptive learning in a sump pump system is implemented. The method may include any one or more of: (A) developing a machine-learning (ML) model, including: acquiring, via a first sensor, one or more sets of first data indicative of levels of water in a sump basin; acquiring, via a second sensor, one or more sets of second data indicative of detected capacitance values of water in the sump basin; and/or utilizing the one or more sets of first data and the one or more sets of second data as training data for the ML model to train the ML model to discover one or more relationships between the one or more levels of water and the one or more capacitance values; and/or (B) implementing the ML model, including activating or deactivating the sump pump based on one or more predicted water levels that are predicted via the ML model based on (i) capacitance values detected during operation of the sump pump and (ii) the one or more discovered relationships between water levels and capacitance values.
Note, this summary has been provided to introduce a selection of concepts further described below in the detailed description. As explained in the detailed description, certain embodiments may include features and advantages not described in this summary, and certain embodiments may omit one or more features or advantages described in this summary
Each of the figures described below depicts one or more aspects of the disclosed system(s) or method(s), according to an embodiment. The detailed description refers to reference numerals included in the following figures.
The described methods and systems enable implementation of adaptive learning and machine learning techniques to facilitate improved control of sump pumps. A sump pump system may implement the described techniques to generate, train, and/or implement a machine-learning (ML) model that is capable of predicting or estimating one or more conditions of the sump pump system (e.g., water level in the basin, motor malfunction, stuck impeller, geyser effect, blocked outlet pipe, faulty level sensor/switch, faulty bearing, failure to engage pump at high-water mark, etc.) based on one or more detected input variables (e.g., acceleration or vibration patterns detected in water, on a pump, or on a pipe; capacitance values of water; audio signatures; electrical signatures, such as power or current draw; pump motor rotation speed; water pressure signatures or values, such as those detected at the bottom of a sump basin; etc.).
Generally speaking, sump pumps are used in areas where lower level (e.g., ground level or below ground level) flooding may be a problem and/or is a recurring problem. A typical sump pump system comprises a submersible impeller type pump disposed in a sump basin. The sump basin is a holding cavity formed by digging a recess into the floor of a lower level of a property, such as a ground level or below ground level (e.g., a basement) of a property (e.g., a home, an office, or any other building or structure). The sump basin acts both to house the sump pump and to collect accumulated water. Water may accumulate in the sump basin when excessive amounts of rain, snow melt or ground water saturate the soil adjacent to the property and/or property lower level floor. Water may also enter the sump basin via drainage or inlet pipes that have been placed into the ground to divert any excess water into the sump basin before the water can begin to permeate foundation walls, floors, etc., or water may enter the sump basin through porous or cracked walls, floors, etc. Generally speaking, the sump basin is installed in a basement such that the top of the sump basin is lower than the lowest floor level in the basement. Accordingly, when the water table underneath and around the property rises, water flows into the sump basin to then be pumped away from the area, thereby avoiding the water table rising above the basement floor (which can result in leaks and flooding due to the typically porous nature of basement walls). In any event, after the sump pump basin fills and the water reaches a high-water mark, the sump pumping action of a sump pump removes the accumulated water in the sump basin via one or more outlet or discharge pipes that carries the pumped water to an area away from the property (such as into a municipal storm drain, a dry well, a water retention area, etc.), thereby avoiding potential flooding inside the building. Ideally, the sump basin fills and empties at a rate fast enough to prevent the water table from rising above the basement floor.
Turning to the figures,
The example sump pump system 100 includes a sump pump 102 located in a sump basin 104. The sump pump 102 and a sump pump motor 103 are enclosed in a housing 105. The sump pump motor 103 may also be referred to herein as the motor 103, and the sump pump 102 may also be referred to herein as the pump 102. While the sump pump 102 in
Generally, the sump pump 102 may be electrically powered and hardwired into the electrical system of the property 150. Additionally and/or alternatively, the sump pump 102 may be powered by a battery or other independent power source (not shown for clarity of illustration). The operation of the sump pump 102 is controlled by a pump activation switch 122 in response to a water level in the basin 104. For example, the sump activation switch 122 may activate the sump pump 102 when a water level in the sump basin 104 reaches a preset level. The preset level is determined by the placement of the sump pump activation switch 122. In illustrated example of
As shown in
When the sump pump 102 and/or the motor 103 fails, flooding may ensue as water fills up the sump basin 104 and overflows above the floor level 106 of the property 150. The amount of water that overflows can vary from a few inches to several feet, which may result in substantial water damage to the structures of property 150, as well as personal belongings. Accordingly, the ability to maintain sump pumps, and to detect and resolve impending sump pump failures before they occur is of great importance to the property owners and the building and/or property insuring parties.
The sump pump 102 may fail because of a failure in the motor 103, which renders the entire sump pump 102 inoperable. The failure in the motor 103 may be caused by various factors such as age, fatigue, overheating, poor maintenance, etc. Aside from the failure of the motor 103, the sump pump 102 may fail because of other soft mechanical failures of the components of the sump pump system 100. For example, sediment or debris build-up may cause the motor impeller 117 and/or another sump pump component to stall, thus, rendering the sump pump 102 unable to pump water even though the motor 103 is operational. Additionally or alternatively, the sump pump activation switch 122 may fail to engage in response to the rising water level and subsequently fail to actuate the motor 103. Additionally or alternatively, the check valve 114 may malfunction, and back flow of the discharged water into the sump pump basin 104 may equal or exceed the amount of water being pumped out by the sump pump 102. Additionally or alternatively, there might be a blockage in the discharge pipe 112, preventing water flow to the outlet 110. Additionally and/or alternatively, an air pocket may cause the sump pump 102 to run dry. As such, mechanisms to maintain the sump pump and/or detect impending sump pump failures may include monitoring for the occurrence of such failures.
Generally, soft mechanical failures may be identified or detected indirectly. In an embodiment, soft mechanical failures may be detected by using properly placed sensors, such as sensors 124, 126, 128, 130, 132 and 134 of
Example remedies to soft mechanical failures (such as a blockage or stuck impeller) may include activating a shaker, altering a speed of a pump impeller, reversing a direction of spin of the pump impeller, gradually accelerating the impeller, or alternating gradual accelerations of the impeller with gradual decelerations. If desired, the sump pump system 100 may include a variable speed motor or controller for the sump pump 102. In an embodiment, the sump pump motor 103 is a variable speed motor; in an embodiment, it is not. Similarly, in an embodiment, the sump pump controller 138 is a variable speed controller; in an embodiment, it is not.
For example, in embodiments in which the pump impeller is reversed or adjusted in speed, a variable speed motor or controller may be included for controlling the pump and/or pump impeller in such a manner. In some embodiments, a variable speed motor or controller may detect a blocked impeller by sensing that the position of the rotor or impeller is not changing even though power is applied. To dislodge the mechanical blockage, the controller may spin the motor in reverse direction or alternate gradual acceleration with gradual deceleration in opposite directions. Gradual acceleration upon motor activation and gradual deceleration upon motor disengagement may reduce initial step level force impact of the pump turning on or off, which may benefit the system by lengthening the serviceable life of the motor and the marginal pipe infrastructure.
As shown in
The sensor 124 may be a water level sensor, placed a short distance (e.g., 10, 20, 30, or 50 mm above) above the high water level or mark 142 in the sump basin 104. In operation, if the water level sensor 124 does not detect water, then the water level in the basin 104 is deemed adequate. In other words, the sump pump 102 is either working properly to constantly pump water out of the basin 104, or the water level is not yet high enough to activate the sump pump 102. In any event, it can be assumed that the sump pump 102 is not experiencing any soft mechanical failure. On the other hand, if the water level sensor 124 detects water, then water may be on the rise in the basin 104, and may overflow the sump basin 104. In other words, a dangerous level of water is present in the sump basin 104, which may be due to either a failure of the sump pump 102, a failure to activate the sump pump 102, and/or a soft mechanical failure that has rendered the sump pump 102 unable to pump out adequate amount of water.
The sensor 124 may include magnetic or mechanical floats, pressure sensors, optical, ultrasonic, radar, capacitance, electroconductive and/or electrostatic sensors. The sensor 124 may be a continuous or a point level switch. A continuous liquid level switch or sensor provides a continuous feedback showing liquid level within a specified range. A point level switch detects whether a liquid level is above or below a certain sensing point. In embodiments, the sensor 124 may be a reed switch, or a mercury switch, a conductive level sensor, and/or any type of a suitable switch that changes a state from inactive to active as liquid level reaches a certain level relative to the switch position.
In some embodiments, the sensor 124 may be a continuous liquid level switch providing a measurement of the height of the water level inside the sump basin 104. The controller 138 can use these measurements, taken at time intervals (e.g., at 1, 5, or 10 second intervals), to estimate the volume of water being pumped, deposited, or backflowing in the sump basin 104. For example, knowing the sump pump basin 104 dimensions, such as a diameter (if the basin is a cylinder), or the bottom diameter, a top diameter, and a height (if the basin is a graduated cylinder) or width and length measurements (if the basin is a rectangular prism), and water level height over time will yield a measurement of water volume increase or decrease over time. The controller 138 may utilize any suitable volume formula to calculate changes in volume (e.g., volume=πr2h for a cylinder). For example, if the basin 104 is a cylinder basin, the controller 138 may be programmed to assume a known radius (e.g., 8 inches). The controller 138 may identify the distance from the bottom of the basin 104 to the water level (e.g., based on a water level sensor). This distance may be used for the “h” variable in the volume formula, enabling the controller 138 to calculate volume at any given time it can detect the “height” of the water level. In some instances, the controller 138 may be configured to account for displacement that occurs due to the pump itself being submerged within water. For example, a known volume of the pump (which is generally static) may be subtracted from a formula that assumes a perfect cylinder.
Additionally, knowing the sump basin 104 capacity (e.g., in gallons) and water volume increase over time, the controller 138 may calculate an estimate of when the sump pump basin may overflow. For example, in a sump basin with a capacity of 26 gallons and an initial water volume of 0 gallons, the controller 128 may calculate that a water volume increase at 0.1 gallons per second would result in a sump basin overflow in 260 seconds or 4 minutes and 20 seconds. The sump pump controller 138 may generate an alert, communicating an approximated time of the critical event of the sump basin 104 overflowing, or communicating the time (e.g., in minutes or seconds) remaining until the estimated overflow.
Additionally, functions of the sump pump controller 138 of
The sensor 126 may be a force sensor or transducer, configured to detect a water rise or fall rate in the sump basin 104, or water disturbance (e.g., splashing) in the sump basin 104. The sensor 126 may be, for example a piezoelectric crystal, a pneumatic, a hydraulic, an inductive, a capacitive, a magnetostrictive, or a strain gage load cell, or an accelerometer, or any other suitable sensor capable of transducing a force into an electrical signal. In an embodiment, an accelerometer of the sensor 126, which may include a gyroscope or an inertial measurement unit (IMU) that measures inertial acceleration, from which water rise rate in the sump basin 104 can be determined.
The sensor 126 may be placed above the initial or low water level or mark 140 and, for example, below the high water level or mark 142 in the sump basin 104. Alternatively, the sensor 126 may be placed above the high water level or mark 142 in the sump basin 104.
In operation, a rising water level in the sump basin 104 would exert a load on the sensor 126, from which a rise or fall rate of the water level in the sump basin 104 can be determined. If the sensor 126 does not detect any force exerted on it, there may be no water at the level of the sensor 126. Alternatively, the water level at the sensor 126 in the sump basin 104 may be constant. In other words, water rise rate, or inflow rate may equal the rate of water pumped out through the discharge pipe 112 by the sump pump 102. In an alternative scenario, the sensor 126 may sense an upward force of the rising water level when the sump pump 102 is operational, and an inlet sensor 130 (described later in more detail) detects water entering the sump basin 104 from the inlet 108, indicating that the inflow rate is greater than the rate of water pumped out through the discharge pipe 112 by the sump pump 102. In yet another scenario, the sensor 126 may sense rising water, the inlet sensor 130 may not detect any water inflow into the sump basin 104, and at the same time the sump pump 102 may be engaged, the scenario indicating that the water level is rising due to additional inflow (e.g., back flow from the discharge pipe, or the vent 120, or through the floor 106 opening of an uncovered sump basin).
The sump pump system 100 may include a vibration sensor 128, placed in direct or indirect contact with the sump pump 102 or pump motor 103.
The inlet sensor 130 and the outlet sensor 132 of the sump pump system 100 may be water level sensors, analogous to the water level sensor 124. In operation, the sensor 130 detects presence of water in the inlet pipe 108, or inflow. If the sensor 130 does not detect water in the inlet pipe 108, there is no water flowing into the sump basin 104 via the inlet pipe 108.
The outlet sensor 132 detects presence of water in the discharge pipe 112 before the check valve 114, monitoring whether the check valve 114 is working properly, i.e., preventing the back flow of water into the sump basin 104 when the motor 103 is disengaged and the sump pump 102 is not operating.
The sensor 134 may be a water level sensor, placed at a level or mark 136 in the sump basin 104 corresponding to the bottom 137 of the impeller 117 and/or another sump pump component of the sump pump 102, which is below the low or initial water level or mark 140. In operation, if the sensor 134 does not detect water, then the current water level in the basin 104 may be deemed adequately low to avoid, prevent, reduce, etc. corrosion of the impeller 117 and/or another sump pump component due to standing water in the sump basin 104. On the other hand, if the water level sensor 134 detects water, then at least a portion of the impeller 117 and/or another sump pump component may be currently exposed to water and a condition for potential corrosion may exist. Alternatively, the sensor 134 may be a force sensor or transducer and configured to detect a water rise or fall rate, water movement (e.g., a disturbance, splashing, sloshing, ripples, etc.) in the sump basin 104 due to the sump pump 102 running, etc. at the level or mark 136.
The sensor 134 may include magnetic or mechanical floats, pressure sensors, optical, ultrasonic, radar, capacitance, electroconductive or electrostatic sensors. The sensor 134 may be a continuous or a point level switch. A continuous liquid level switch or sensor provides a continuous feedback showing liquid level within a specified range. A point level switch detects whether a liquid level is above or below a certain sensing point. In some embodiments, the sensor 134 may be a reed switch, or a mercury switch, a conductive level sensor, or any type of a suitable switch that changes a state from inactive to active as liquid level reaches a certain level relative to the switch position.
Each of the sensors 124, 126, 128, 130, 132 and 134 may include one or more associated circuits, as well as packaging elements. The sensors 124, 126, 128, 130, 132 and 134 may be electrically or communicatively connected with each other (e.g., via one or more busses or links, power lines, etc.), and may cooperate to enable “smart” functionality described within this disclosure.
In some examples, the sump pump controller 138 maintains, tests, etc. the sump pump system 100 by periodically (e.g., every 14 days) running the motor 103 for at least a short duration (e.g., 30 seconds), regardless of the amount of water in the sump basin 104.
To reduce, avoid, prevent, etc. corrosion of the impeller 117 and/or another sump pump component due to extended exposure of the impeller 117 and/or another sump pump component to standing, potentially dirty water, in some examples, the sump pump controller 138 periodically activates the motor 103 (e.g., every 14 days) until a current level of water in the sump basin 104 as detected by, for example, the sensor 134 is below the bottom 137 of the impeller 117 and/or another sump pump component. When the sensor 134 is a level sensor, the level of water in the sump basin 104 may be detected as being below the impeller 117 and/or another sump pump component when the sensor 134 fails to sense any water. When the sensor 134 is a force sensor, the level of water in the sump basin 104 may be detected as above the bottom 137 of the impeller 117 and/or another sump pump component when the sensor 134 senses a falling water level, water movement (e.g., sloshing, splashing, ripples, etc.) due to pump vibrations, etc.
Additionally and/or alternatively, following a water event, the sump pump controller 138 runs the motor 103 until a current level of the water in the sump basin 104 as detected by, for example, the sensor 134 is below the bottom 137 of the impeller 117 and/or another sump pump component. Example water events include, but are not limited to, a storm, a flood, a plumbing failure, etc. that initially causes an initial inrush of incoming water, followed by a slower flow of incoming water. An example method of detecting a water event includes: (i) during a first time period, detecting that a rate at which water is rising in the sump basin exceeds a first threshold; (ii) during a second, later time period, detecting that a rate at which water is rising in the sump basin 104 is less than a second, lower threshold; and (iii) optionally detecting that water has stopped rising in the sump basin. In some examples, the force sensor 126 is configured to determine the water rise rate in the sump basin 104. The rate at which water is rising in the sump basin 104 may, additionally and/or alternatively, be determined by counting the number of activations of the motor 103 in a period of time to, for example, maintain a current level of water in the sump basin 104 below the water level or mark 142.
The sump pump system 100 may include a mechanical shaker 101 that is physically attached to the sump pump 102 and/or the discharge pipe 112. When engaged, the shaker 101 vibrates at a given frequency for the purpose of transferring motion to the sump pump 102 or the pipe 112 in order to cause the pump 102 or the pipe 112 to vibrate in a manner sufficient to “break loose” a blockage that is blocking the impeller 117 or the pipe 112. The mechanical shaker 101 may be in the form of an electromechanical vibration device (e.g. a linear motor) that physically agitates or shakes the sump pump. The intensity and duration of the vibration produced by the mechanical shaker 101 may be set or adjusted as desired. For example, the mechanical shaker 101 may be set to vibrate intensely and continuously for a short burst of time. As another example, the mechanical shaker 101 may be set to vibrate in multiple operating cycles (e.g., 3 or 5 cycles), with each cycle producing a different level of vibration intensity (e.g., an increase in the level of intensity going from the first cycle to the last cycle). Further, different types of vibration profiles may be specified such as a sine sweep, random vibration, synthesized shock, etc. The mechanical shaker 101 may be a standalone unit that may be retrofitted or added to the sump pump 102. In some embodiments, the mechanical shaker 101 may be integrated with or be part of the sump pump 102. Further, both the mechanical shaker 101 and the water level sensor(s) in the system 100 may be connected to the controller 138 so that the controller 138 can control the operation of the mechanical shaker 101 and the water level sensor(s).
The mechanical shaker 101 may be automatically activated in response to detected soft mechanical failures, such as when water overflow is detected by water level sensor or when the motor 103 runs too long in the absence of any water overflow detection. The mechanical shaker 101 may also be automatically activated in response to the controller 138 detecting potential problems with the motor 103. For example, the controller 138 may detect a vibration or acceleration pattern (e.g., of the water or of the sump pump or sump pipe) indicative of a problem (e.g., a blockage), and may respond by activating the shaker 101.
As shown in the illustrated example of
The sump pump controller 138 may convey data, updates, alerts, etc. related to the sump pump system 100 to a smart home hub 152 at the property 150 via any number and/or type(s) of local network(s) 154. The smart home hub 152 may connect to smart home devices (e.g., the sump pump controller 138, the sump pump system 100, doorbells, lights, locks, security cameras, thermostats, etc.) to enable a user 156 (e.g., a homeowner) to install, configure, control, monitor, etc. such devices via an electronic device 158, such as a smartphone, a tablet, a personal computer, or any other computing device. In some embodiments, the smart home hub 152 may send alerts, updates, notifications, etc. when certain conditions occur (e.g., when the sump pump controller 138 detects a potential failure conditions) to the user 156 via their electronic device 158. Additionally and/or alternatively, alerts, status updates, notifications, etc. may be provided remotely via any number and/or type(s) of remote network(s) 162, such as the Internet. Thus, the user 156 may receive alerts, status updates, notifications, etc. via their electronic device 158 both when they are at the property 150 and when they are away. Moreover, alerts, status updates, notifications, etc. may be sent to a remote processing server 164 (e.g., a server or servers associated with insurance provider or providers) via the remote network(s) 162 for remote monitoring, control, etc.
While examples disclosed herein are described with reference to the sump pump controller 138 receiving and processing data from the sensors 124, 126, 128, 130, 132 and 134 to maintain and/or detect failures of the sump pump system 100, additionally and/or alternatively, data from the sensors 124, 126, 128, 130, 132 and 134 may be sent to the remote processing server 164 for processing to control, maintain and/or detect failures of the sump pump system 100, etc. In some examples, the remote processing server 164 may be part of security system monitoring server.
In some examples, data from the sensors 124, 126, 128, 130, 132 and 134, and/or alerts, status updates, notifications, trends, etc. determined by the sump pump controller 138 are stored in a cache, datastore, memory, etc. 144 for subsequent recall.
While the example sump pump controller 138 and/or, more generally, the example sump pump system 100 for monitoring sump pumps for failures and/or maintaining sump pumps are illustrated in
The computing system 200 includes, among other things, a processor 202, memory 204, input/output (I/O) interface(s) 206 and network interface(s) 208, all of which are interconnected via an address/data bus 210. The program memory 204 may store software and/or machine-readable instructions that may be executed by the processor 202. It should be appreciated that although
The memory 204 may include volatile and/or non-volatile memory(-ies) or disk(s) storing software and/or machine-readable instructions. For example, the program memory 204 may store software and/or machine-readable instructions that may be executed by the processor 202 to implement the sump pump controller 138 and/or, more generally, the sump pump system 100. In some examples, the memory 204 is used to store the datastore 140.
Example memories 204 include any number or type(s) of volatile or non-volatile tangible, non-transitory, machine-readable storage medium or disks, such as semiconductor memory, magnetically readable memory, optically readable memory, a hard disk drive (HDD), an optical storage drive, a solid-state storage device, a solid-state drive (SSD), a read-only memory (ROM), a random-access memory (RAM), a compact disc (CD), a CD-ROM, a DVD, a Blu-ray disk, a redundant array of independent disks (RAID) system, a cache, a flash memory, or any other storage medium or storage disk in which information may be stored for any duration (e.g., permanently, for an extended time period, for a brief instance, for temporarily buffering, for caching of the information, etc.).
As used herein, the term non-transitory, machine-readable medium is expressly defined to include any type of machine-readable storage device and/or storage disk, to exclude propagating signals, and to exclude transmission media.
The processing platform 200 of
The I/O interface(s) 206 of
The network interface(s) 208 enable communication with other systems (e.g., the smart home hub 152 of
To provide, for example, backup power for the example sump pump controller 138 and/or, more generally, the example sump pump system 100, the example computing system 200 may include any number and/or type(s) of battery(-ies) 212.
To determine the time between events, the example computing system 200 includes any number and/or type(s) of timer(s) 214. For example, a timer 214 may be used to periodically trigger (e.g., every 14 days) the activation of the motor 103 for maintenance purposes. A timer 214 may, additionally and/or alternatively, be used to determine the rate at which water is rising in the sump basin (e.g., number of activations of the motor 103 required) during a period of time.
Generally speaking, the phrases “adaptive learning” and “machine learning” refer to methods of data analysis that automate analytical model building. Specifically, machine learning generally refers to the algorithms and models that computer systems use to effectively perform a specific task without using explicit instructions, relying on patterns and inference instead. While traditional programs may be thought of as producing a set of outputs based upon specifically designed logic (e.g., embodied by the routines or instructions of the program) to produce a set of outputs, the process of developing machine-learning models may be thought of as producing logic based upon observed relationships between inputs and corresponding known outputs.
Machine learning algorithms learn through a process called induction or inductive learning. Induction is a reasoning process that makes generalizations (a model) from specific information (training data—i.e., data including inputs and corresponding known outputs). Generalization is required because the model that is prepared by a machine-learning algorithm, such as the model 101 shown in
Depending on the implementation, the system 100 may implement supervised learning, unsupervised learning, or semi-supervised learning when developing the model 101. Supervised learning is a learning process for generalizing on problems where a prediction is required. A “teaching process” compares predictions by the model to known answers (labeled data) and makes corrections in the model. In such an embodiment, and depending on what the model is being trained for, features or patterns (e.g., acceleration patterns or water capacitance values) in the training data may be labeled according to known conditions corresponding to those patterns (e.g., water levels in a sump basin).
By contrast, unsupervised learning is a learning process for generalizing the underlying structure or distribution in unlabeled data. During unsupervised learning, natural structures are identified and exploited for relating instances to each other. In an embodiment utilizing unsupervised learning, the system 100 may analyze unlabeled input data or attributes (e.g., representing acceleration patterns or detected capacitance values) and observed conditions during operation (e.g., water levels detected at high-water and low-water marks) to identify relationships between the input attributes and conditions.
Semi-supervised learning can use a mixture of supervised and unsupervised techniques. This learning process discovers and learns the structure in the input variables, where typically some of the input data is labeled, and most is unlabeled. The training operations discussed herein may rely on any one or more of supervised, unsupervised, or semi-supervised learning with regard to the impairment data and driving data, depending on the embodiment.
Returning to
In some embodiments, the first or the second training data sets are indicative of detected motor control characteristics such as power or current draw and pump motor rotation speed corresponding to water rise rate in the sump basin. The controller 138 may analyze motor control characteristics such as current draw and pump motor 103 rotation speed. Based on the analysis, the system 100 may determine whether the pump 102 is pumping water or air. The controller 138 can utilize the dry/submerged status of the pump 102 to calculate a fill rate and/or a level of water (e.g., without directly sensing a water level via a level sensor).
For example, the controller 138 may calculate (or be configured to store) a high-water volume (i.e., the volume of water in the basin when the water reaches the high-water mark). Similarly, the controller 138 may calculate (or be configured to store) a dry-pump volume (i.e., the volume of water in the basin when the water drops low enough to result in the pump 102 pumping air rather than water). The difference between the high-water volume and the dry-pump volume may be referred to as the delta volume (the controller 138 may be configured to store the delta volume, or it may be configured to calculate the delta volume). For example, the delta volume may be 2.5 gallons. The controller 138 may detect when the high-water volume exists (because the time at which the pump 102 is activated is likely the same time at which the high-water volume is achieved). Further, using the described techniques, the controller 138 may detect a moment at which an active pump or impeller starts pumping air instead of water. The controller 138 may calculate the time (e.g., 30 seconds or ½ minute) between these two moments and may divide the known delta volume (e.g., 2.5 gallons) by the calculated time (½ minute) to arrive at a fill rate (e.g., 5 gallons per minute).
Further, the controller 138 may utilize the calculated fill rate to estimate the level in the basin. For example, the controller 138 may start a timer when the water level reaches a known sensed level. For example, the low-water mark may be a known height. After a level sensor detects the low-water mark (e.g., the mark at which the pump 102 typically stops pumping), it may start the timer to track a time and may multiply the time by the fill rate to estimate the level at the time. This may be done multiple times if desired (e.g., continuously). Likewise, the controller 138 may be configured to store a known height just below the pump or impeller (i.e., the “dry-pump mark”). The controller 138 may utilize the disclosed techniques to detect (e.g. via motor control characteristics or power/current draw) a moment at which the pump starts to dry pump. The controller 138 may then assume the water level is at the dry-pump mark, and may utilize a timer and the fill rate to calculate or track an estimated water level (e.g., continuously if desired). The estimated water level may be used as a secondary or back-up level tracking (e.g., in case the primary level sensor faults). In other words, if an estimated water level indicates the water is above the high-water mark and a primary level sensor has not detected water at the high-water mark, the controller 138 may nevertheless activate the pump 102 to prevent flooding. If desired, the controller 138 may generate an alarm to notify someone (e.g., a user 156 or a home insuring party) that the level sensor may be faulty.
In some embodiments, one or more training data sets may include sourced weather data or rainfall data. Training the ML model on weather or rainfall data may categorize a relationship between functional status of the components of the system 100 and water inflow into the system 100 as a function of weather conditions. For example, a predicted rainfall of 1 inch over 5 hours usually results in a certain pattern of the pump 102 activating after a certain period of time (e.g., 20 minutes) after initial rainfall and running on and off for several hours (e.g., 6 hours). Pump operating characteristics, such as pump activation signature, that do not conform to the characteristics predicted by the ML model, may indicate a blocked inlet pipe 108, or a blocked outlet pipe 110, or a malfunctioning check valve 114.
In any event, at the step 328, the system 100 may receive test/validation data for testing the ML model (e.g., 101). In short, the test data is utilized to verify that the developed model is capable of generating reliable predictions. In some instances, the system 100 does not implement the step 328.
The system 100 may develop the ML model at the step 304, which may include any one or more steps or sub-steps 342-346. In a typical example, at the step 342, the system 100 trains the ML model using the training data sets described above. At the step 344, the system 100 evaluates the developed ML model, and at the step 346, the system 100 determines whether or not the developed ML model is ready for deployment before either proceeding to step 306 or returning to step 342 to further develop, test, or validate the ML model.
Regarding the sub-step 342 of the step 304, developing the ML model typically involves the system 100 training the ML model using training data. At a high level, machine-learning models are often utilized to discover relationships between various observable features (e.g., between predictor features [such as acceleration patterns] and target features [such as water levels] that are theoretically predictable based upon the predictor features) in a training dataset.
After “learning” these relationships, the system 100 may develop a representative formula or algorithm characterizing the relationships. This formula or algorithm may then be applied to an input dataset to predict unknown values for one or more target features (e.g., for a water level) given the known values for the predictor features (e.g., given acceleration patterns from water in the sump basin or from a sump pump or sump pipe).
Regarding the sub-step 344 of the step 304, evaluating the ML model typically involves testing or validating the model using testing/validation data. Testing/validation data typically includes both predictor feature values and target feature values, enabling comparison of target feature values predicted by the model to the actual target feature values, enabling one to evaluate the performance of the model. This testing/validation process is valuable because the ML model, when implemented, will generate target feature values for future input data that may not be easily checked or validated.
Thus, it is advantageous to check one or more accuracy metrics of the ML model on data for which the target answer is already known (e.g., testing data or validation data), and use this assessment as a proxy for predictive accuracy on future data. Exemplary accuracy metrics include key performance indicators, comparisons between historical trends and predictions of results, cross-validation with subject matter experts, comparisons between predicted results and actual results, etc.
Regarding the sub-step 346 of the step 304, the system 100 may utilize any suitable set of metrics to determine whether or not to proceed to the step 306 for model deployment. Generally speaking, the decision to proceed to the step 306 or to return to the step 342 will depend on one or more accuracy metrics generated during evaluation (the step 344). After the sub-steps 342-346 of the step 304 have been completed, the system 100 may implement the step 306.
The step 306 may include any one or more steps or sub-steps 362-368, which may be implemented in any suitable order. In a typical example, the system 100 collects input data (step 362), loads the input data into the ML model (step 364), runs the model with the input data (step 366), and stores results generated from running the model to memory (step 368).
Note, the method 300 may be implemented in any desired order and may be at least partially iterative. That is, the step 302 may be implemented after the step 304 or after the step 306 (e.g., to collect new data for training, testing, or validation), and the step 304 may be implemented after the step 306 (e.g., to further improve the model via training or other development after deployment). The method 300 may include additional, less, or alternate actions, including those discussed elsewhere herein.
When implemented in software, any of the applications, services, and engines described herein may be stored in any tangible, non-transitory computer readable memory such as on a magnetic disk, a laser disk, solid state memory device, molecular memory storage device, or other storage medium, in a RAM or ROM of a computer or processor, etc. Although the example systems disclosed herein are disclosed as including, among other components, software or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware, software, and firmware components could be embodied exclusively in hardware, exclusively in software, or in any combination of hardware and software. Accordingly, while the example systems described herein are described as being implemented in software executed on a processor of one or more computer devices, persons of ordinary skill in the art will readily appreciate that the examples provided are not the only way to implement such systems.
Referencing the method 300 specifically, the described functions may be implemented, in whole or in part, by the devices, circuits, or routines of the system 100 shown in
Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently in certain embodiments.
As used herein, any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
Further, the phrase “wherein the system includes at least one of X, Y, or Z” means the system includes an X, a Y, a Z, or some combination thereof. Similarly, the phrase “wherein the component is configured for X, Y, or Z” means that the component is configured for X, configured for Y, configured for Z, or configured for some combination of X, Y, and Z.
In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This description, and the claims that follow, should be read to include one or at least one. The singular also includes the plural unless it is obvious that it is meant otherwise.
Further, the patent claims at the end of this document are not intended to be construed under 35 U.S.C. § 112(f) unless traditional means-plus-function language is expressly recited, such as “means for” or “step for” language being explicitly recited in the claim(s). At least some aspects of the systems and methods described herein are directed to an improvement to computer functionality, and improve the functioning of conventional computers.
This application claims priority to (i) U.S. Provisional Application Ser. No. 63/148,783, filed Feb. 12, 2021, entitled “DETECTING AND UTILIZING A RISE RATE FOR SUMP PUMP SYSTEM CONTROL,” (ii) U.S. Provisional Application Ser. No. 63/148,880, filed Feb. 12, 2021, entitled “DETECTING AND UTILIZING WATER VIBRATIONS IN SUMP PUMP SYSTEM CONTROL,” (iii) U.S. Provisional Application Ser. No. 63/148,885, filed Feb. 12, 2021, entitled “DETECTING AND UTILIZING VIBRATION PATTERNS OF SUMP PUMPS,” (iv) U.S. Provisional Application Ser. No. 63/148,894, filed Feb. 12, 2021, entitled “ADAPTIVE LEARNING SYSTEM FOR IMPROVING SUMP PUMP CONTROL,” (v) U.S. Provisional Application Ser. No. 63/148,909, filed Feb. 12, 2021, entitled “DETERMINING AND UTILIZING A DESIRED FREQUENCY FOR A MECHANICAL SHAKER FOR A SUMP PUMP SYSTEM,” (vi) U.S. Provisional Application Ser. No. 63/148,923, filed Feb. 12, 2021, entitled “SYSTEMS AND METHODS FOR MANIPULATING CONTROL OF SUMP PUMPS TO EXTEND LIFESPANS OF SUMP PUMPS,” and (vii) U.S. Provisional Application Ser. No. 63/148,926, filed Feb. 12, 2021, entitled “SUMP PUMP SMART HOME INTEGRATION,” the entire disclosures of which are expressly incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4624280 | DePirro | Nov 1986 | A |
5591010 | van Zyl | Jan 1997 | A |
5672050 | Webber et al. | Sep 1997 | A |
6330525 | Hays et al. | Dec 2001 | B1 |
7309216 | Spadola, Jr. et al. | Dec 2007 | B1 |
8380355 | Mayleben et al. | Feb 2013 | B2 |
8490006 | Reeser et al. | Jul 2013 | B1 |
8527306 | Reeser et al. | Sep 2013 | B1 |
8533144 | Reeser et al. | Sep 2013 | B1 |
8640038 | Reeser et al. | Jan 2014 | B1 |
8665084 | Shapiro et al. | Mar 2014 | B2 |
8890680 | Reeser et al. | Nov 2014 | B2 |
8892263 | Morris et al. | Nov 2014 | B1 |
8917186 | Grant | Dec 2014 | B1 |
8976937 | Shapiro et al. | Mar 2015 | B2 |
9049168 | Jacob et al. | Jun 2015 | B2 |
9057746 | Houlette et al. | Jun 2015 | B1 |
9117349 | Shapiro et al. | Aug 2015 | B2 |
9142119 | Grant | Sep 2015 | B1 |
9152737 | Micali et al. | Oct 2015 | B1 |
9183578 | Reeser et al. | Nov 2015 | B1 |
9202363 | Grant | Dec 2015 | B1 |
9262909 | Grant | Feb 2016 | B1 |
9274530 | Morris | Mar 2016 | B1 |
9286772 | Shapiro et al. | Mar 2016 | B2 |
9344330 | Jacob et al. | May 2016 | B2 |
9424737 | Bailey et al. | Aug 2016 | B2 |
9443195 | Micali et al. | Sep 2016 | B2 |
9472092 | Grant | Oct 2016 | B1 |
9589441 | Shapiro et al. | Mar 2017 | B2 |
9609003 | Chmielewski et al. | Mar 2017 | B1 |
9665892 | Reeser et al. | May 2017 | B1 |
9666060 | Reeser et al. | May 2017 | B2 |
9699529 | Petri et al. | Jul 2017 | B1 |
9739813 | Houlette et al. | Aug 2017 | B2 |
9786158 | Beaver et al. | Oct 2017 | B2 |
9798979 | Fadell et al. | Oct 2017 | B2 |
9798993 | Payne et al. | Oct 2017 | B2 |
9800570 | Bleisch | Oct 2017 | B1 |
9800958 | Petri et al. | Oct 2017 | B1 |
9812001 | Grant | Nov 2017 | B1 |
9888371 | Jacob | Feb 2018 | B1 |
9892463 | Hakimi-Boushehri et al. | Feb 2018 | B1 |
9898168 | Shapiro et al. | Feb 2018 | B2 |
9898912 | Jordan, II et al. | Feb 2018 | B1 |
9911042 | Cardona et al. | Mar 2018 | B1 |
9923971 | Madey et al. | Mar 2018 | B2 |
9942630 | Petri et al. | Apr 2018 | B1 |
9947202 | Moon et al. | Apr 2018 | B1 |
9978033 | Payne et al. | May 2018 | B1 |
9997056 | Bleisch | Jun 2018 | B2 |
10002295 | Cardona et al. | Jun 2018 | B1 |
10042341 | Jacob | Aug 2018 | B1 |
10047974 | Riblet et al. | Aug 2018 | B1 |
10055793 | Call et al. | Aug 2018 | B1 |
10055803 | Orduna et al. | Aug 2018 | B2 |
10057664 | Moon et al. | Aug 2018 | B1 |
10073929 | Vaynriber et al. | Sep 2018 | B2 |
10102584 | Devereaux et al. | Oct 2018 | B1 |
10102585 | Bryant et al. | Oct 2018 | B1 |
10107708 | Schick et al. | Oct 2018 | B1 |
10112222 | Davis et al. | Oct 2018 | B1 |
10142394 | Chmielewski et al. | Nov 2018 | B2 |
10176705 | Grant | Jan 2019 | B1 |
10181160 | Hakimi-Boushehri et al. | Jan 2019 | B1 |
10186134 | Moon et al. | Jan 2019 | B1 |
10198771 | Madigan et al. | Feb 2019 | B1 |
10217068 | Davis et al. | Feb 2019 | B1 |
10229394 | Davis et al. | Mar 2019 | B1 |
10244294 | Moon et al. | Mar 2019 | B1 |
10249158 | Jordan, II et al. | Apr 2019 | B1 |
10282787 | Hakimi-Boushehri et al. | May 2019 | B1 |
10282788 | Jordan, II et al. | May 2019 | B1 |
10282961 | Jordan, II et al. | May 2019 | B1 |
10295431 | Schick et al. | May 2019 | B1 |
10296978 | Corder et al. | May 2019 | B1 |
10297138 | Reeser et al. | May 2019 | B2 |
10304313 | Moon et al. | May 2019 | B1 |
10323860 | Riblet et al. | Jun 2019 | B1 |
10325473 | Moon et al. | Jun 2019 | B1 |
10332059 | Matsuoka et al. | Jun 2019 | B2 |
10346811 | Jordan, II et al. | Jul 2019 | B1 |
10353359 | Jordan, II et al. | Jul 2019 | B1 |
10356303 | Jordan, II et al. | Jul 2019 | B1 |
10387966 | Shah et al. | Aug 2019 | B1 |
10388135 | Jordan, II et al. | Aug 2019 | B1 |
10412169 | Madey et al. | Sep 2019 | B1 |
10446000 | Friar et al. | Oct 2019 | B2 |
10467476 | Cardona et al. | Nov 2019 | B1 |
10469282 | Konrardy et al. | Nov 2019 | B1 |
10480825 | Riblet et al. | Nov 2019 | B1 |
10482746 | Moon et al. | Nov 2019 | B1 |
10506411 | Jacob | Dec 2019 | B1 |
10514669 | Call et al. | Dec 2019 | B1 |
10515372 | Jordan, II et al. | Dec 2019 | B1 |
10522009 | Jordan, II et al. | Dec 2019 | B1 |
10546478 | Moon et al. | Jan 2020 | B1 |
10547918 | Moon et al. | Jan 2020 | B1 |
10565541 | Payne et al. | Feb 2020 | B2 |
10573146 | Jordan, II et al. | Feb 2020 | B1 |
10573149 | Jordan, II et al. | Feb 2020 | B1 |
10579028 | Jacob | Mar 2020 | B1 |
10586177 | Choueiter et al. | Mar 2020 | B1 |
10607295 | Hakimi-Boushehri et al. | Mar 2020 | B1 |
10634576 | Schick et al. | Apr 2020 | B1 |
10664922 | Madigan et al. | May 2020 | B1 |
10679292 | Call et al. | Jun 2020 | B1 |
10685402 | Bryant et al. | Jun 2020 | B1 |
10699346 | Corder et al. | Jun 2020 | B1 |
10699348 | Devereaux et al. | Jun 2020 | B1 |
10726494 | Shah et al. | Jul 2020 | B1 |
10726500 | Shah et al. | Jul 2020 | B1 |
10733671 | Hakimi-Boushehri et al. | Aug 2020 | B1 |
10733868 | Moon et al. | Aug 2020 | B2 |
10735829 | Petri et al. | Aug 2020 | B2 |
10740691 | Choueiter et al. | Aug 2020 | B2 |
10741033 | Jordan et al. | Aug 2020 | B1 |
10750252 | Petri et al. | Aug 2020 | B2 |
10795329 | Jordan, II et al. | Oct 2020 | B1 |
10796557 | Sundermeyer et al. | Oct 2020 | B2 |
10802477 | Konrardy et al. | Oct 2020 | B1 |
10804700 | Cohen et al. | Oct 2020 | B2 |
10818105 | Konrardy et al. | Oct 2020 | B1 |
10823458 | Riblet et al. | Nov 2020 | B1 |
10824971 | Davis et al. | Nov 2020 | B1 |
10825320 | Moon et al. | Nov 2020 | B1 |
10825321 | Moon et al. | Nov 2020 | B2 |
10832225 | Davis et al. | Nov 2020 | B1 |
10846800 | Bryant et al. | Nov 2020 | B1 |
10907844 | Ribbich et al. | Feb 2021 | B2 |
10922756 | Call et al. | Feb 2021 | B1 |
10922948 | Moon et al. | Feb 2021 | B1 |
10943447 | Jordan, II et al. | Mar 2021 | B1 |
10970990 | Jacob | Apr 2021 | B1 |
10990069 | Jacob | Apr 2021 | B1 |
11003334 | Conway et al. | May 2021 | B1 |
11004320 | Jordan, II et al. | May 2021 | B1 |
11015997 | Schick et al. | May 2021 | B1 |
11017480 | Shah et al. | May 2021 | B2 |
11042137 | Call et al. | Jun 2021 | B1 |
11042942 | Hakimi-Boushehri et al. | Jun 2021 | B1 |
11043098 | Jordan, II et al. | Jun 2021 | B1 |
11049078 | Jordan, II et al. | Jun 2021 | B1 |
11049189 | Shah et al. | Jun 2021 | B2 |
11074659 | Hakimi-Boushehri et al. | Jul 2021 | B1 |
11100594 | West et al. | Aug 2021 | B1 |
11118812 | Riblet et al. | Sep 2021 | B1 |
11126708 | Reimer | Sep 2021 | B2 |
11164257 | Devereaux et al. | Nov 2021 | B1 |
11232873 | Aspro et al. | Jan 2022 | B1 |
11277465 | Chmielewski et al. | Mar 2022 | B2 |
11348193 | Konrardy et al. | May 2022 | B1 |
11417212 | Farooqui et al. | Aug 2022 | B1 |
20030049134 | Leighton et al. | Mar 2003 | A1 |
20040064012 | Yanai | Apr 2004 | A1 |
20040090197 | Schuchmann | May 2004 | A1 |
20040221647 | Sabatino | Nov 2004 | A1 |
20090074338 | Hagshenas et al. | Mar 2009 | A1 |
20090123295 | Abbott | May 2009 | A1 |
20090265193 | Collins et al. | Oct 2009 | A1 |
20110110794 | Mayleben et al. | May 2011 | A1 |
20120260729 | Bayley et al. | Oct 2012 | A1 |
20130197700 | Kochan et al. | Aug 2013 | A1 |
20140266669 | Fadell et al. | Sep 2014 | A1 |
20150061859 | Matsuoka et al. | Mar 2015 | A1 |
20150347910 | Fadell et al. | Dec 2015 | A1 |
20160076535 | Clifton | Mar 2016 | A1 |
20160333884 | Hussain et al. | Nov 2016 | A1 |
20170075363 | Steinke | Mar 2017 | A1 |
20170100632 | Castelo Branco et al. | Apr 2017 | A1 |
20170335550 | Sterling et al. | Nov 2017 | A1 |
20170342812 | Kuhn | Nov 2017 | A1 |
20180247513 | Calvert et al. | Aug 2018 | A1 |
20180363639 | Cathell et al. | Dec 2018 | A1 |
20180375680 | Wright et al. | Dec 2018 | A1 |
20190101427 | Beger et al. | Apr 2019 | A1 |
20190251520 | Bentley, III et al. | Aug 2019 | A1 |
20190353156 | Ward | Nov 2019 | A1 |
20200003217 | Wilds | Jan 2020 | A1 |
20200302549 | Jordan, II et al. | Sep 2020 | A1 |
20200327791 | Moon et al. | Oct 2020 | A1 |
20210035432 | Moon et al. | Feb 2021 | A1 |
20210042843 | Bryant et al. | Feb 2021 | A1 |
20210158671 | Jordan, II et al. | May 2021 | A1 |
20210262185 | Adler | Aug 2021 | A1 |
20210279811 | Waltman et al. | Sep 2021 | A1 |
20210312789 | Linn | Oct 2021 | A1 |
20220101275 | Aspro et al. | Mar 2022 | A1 |
Number | Date | Country |
---|---|---|
111626536 | Sep 2020 | CN |
113138558 | Jul 2021 | CN |
2003157357 | May 2003 | JP |
20150129845 | Nov 2015 | KR |
WO-2014159131 | Oct 2014 | WO |
WO-2016081511 | May 2016 | WO |
WO-2017173463 | Oct 2017 | WO |
WO-2021087185 | May 2021 | WO |
Entry |
---|
Adafruit, “Assembled Adafruit HUZZAH32—ESP32 Feather Board—with Stacking Headers,” Retrieved from the Internet at: <https://www.adafruit.com/product/3619> on Apr. 26, 2021. |
APG, Automation Products Group, Inc., “5 Tips on Using an Ultrasonic Level Sensor in a Lift Station,” Retrieved from the Internet at: <http://romtecutilities.com/pressure-transducers-for-pump-lift-stations/> on Apr. 26, 2021. |
Flowline™, “Municipal Sewer Pump Station Radar Level Sensor,” Retrieved from the Internet at: <https://www.flowline.com/municipal-sewer-lift-station-radar-level-transmitter/> on Apr. 26, 2021. |
LevelGuard, Fluid Control Products, “Reliable Liquid Level Sensing Solutions,” Retrieved from the Internet at: <https://www.levelguardproducts.com/> on Apr. 26, 2021. |
Romtec Utilities, “Pressure Transducers for Pump & Lift Stations,” Retrieved from the Internet at: <https://www.flowline.com/municipal-sewer-lift-station-radar-level-transmitter/> on Apr. 26, 2021. |
The Basement Watchdog, “Connected Pumps,” Retrieved from the Internet at: <https://www.adafruit.com/product/3619> on Apr. 26, 2021. |
The Home Depot, “1/2 HP Submersible 12-Volt DC WiFi Connected Battery Backup Sump Pump and Monitoring System,” Retrieved from the Internet at: <https://www.homedepot.com/p/PumpSpy-1-2-HP-Submersible-12-Volt-DC-WiFi-Connected-Battery-Backup-Sump-Pump-and-Monitoring-System-PS2000/310520482> on Apr. 26, 2021. |
Number | Date | Country | |
---|---|---|---|
63148923 | Feb 2021 | US | |
63148783 | Feb 2021 | US | |
63148909 | Feb 2021 | US | |
63148885 | Feb 2021 | US | |
63148880 | Feb 2021 | US | |
63148926 | Feb 2021 | US | |
63148894 | Feb 2021 | US |