Calculate pool filtering pump duration and schedule
Project description
PyPoolPump
PyPoolPump is a python module providing classes for computing the duration needed for a swimming pool filtering pump. This module will provide methods to define the filtering daily schedule.
Each classes is an implementation of a different algorithm found when searching Internet to find best way to compute the filtering pump duration.
Classes description
Base class
FilteringDuration()
class is the base class with no duration computation. It gather all the common code for each implementation.
You will find a way to add a percentage modifier on the duration computed and a way to construct the daily filtering schedule.
You should not call directly this class except if you want to implement a new algorithm.
Dumb algorithm
DumbFilteringDuration()
is child class with an implementation of the common known algorithm using only the water temperature as parameter:
filtering duration (in hour) = water temperature (in °C) / 2.
Reference: the poster delivered with my swimming pool
Basic algorithm
BasicFilteringDuration()
is child class with an implementation of the previous algorithm with some optimizations:
- No need to filter if water temperature below 10°C
- Between 10°C and 14°C we can reduce the duration (water temperature in °C / 3)
- Between 14°C and 30°C we use the standard rule (water temperature in °C / 2)
- Above 30°C continuous filtering.
Reference: To be completed
Abacus based algorithm
AbacusFilteringDuration()
is a child class with an implementation of a water temperature based abacus. I found this when searching potential existing module on Github.
Reference: this abacus is used in the Jeedom pool addon by @scadinot.
Advanced algorithm
PumpCaracteristicFilteringDuration()
is a child class with an implementation of an algorithm based on the pool dimension, the pump characteristics and the water temperature.
Contribute
If you want to contribute to the development:
- Start by cloning this repository.
- Setup a virtual environment
- Install the python package in edition mode:
pip install -e .
- Create a branch for your feature
- Test your change using
tox
- Send a PR when ready.
License
This software is under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pypool_pump-0.0.1.tar.gz
.
File metadata
- Download URL: pypool_pump-0.0.1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd40ae3d364a73ab076259919758d9498b5bae389e45414b2711c0c9f235fff1 |
|
MD5 | 446794b15586071ab5850fc84cc57cd2 |
|
BLAKE2b-256 | 72787d157f9af2bd4635bd99d0cf755973951f38e398d14cf69560c77dc8db54 |
File details
Details for the file pypool_pump-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: pypool_pump-0.0.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16c2f6c4f0262df3886907c13740793f9f7a7b1dcbcb4a7cf8b8fa1a3d864ff6 |
|
MD5 | b1fbb95416591d12c78b8ba08308b4b5 |
|
BLAKE2b-256 | 6d0e7437636abfd4d9a0efd997d24173d2beb803b8dc9577a574610391c0fa0b |