Skip to main content

Calculate pool filtering pump duration and schedule

Project description

PyPoolPump

License: MIT

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypool_pump-0.0.1.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

pypool_pump-0.0.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for pypool_pump-0.0.1.tar.gz
Algorithm Hash digest
SHA256 bd40ae3d364a73ab076259919758d9498b5bae389e45414b2711c0c9f235fff1
MD5 446794b15586071ab5850fc84cc57cd2
BLAKE2b-256 72787d157f9af2bd4635bd99d0cf755973951f38e398d14cf69560c77dc8db54

See more details on using hashes here.

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

Hashes for pypool_pump-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 16c2f6c4f0262df3886907c13740793f9f7a7b1dcbcb4a7cf8b8fa1a3d864ff6
MD5 b1fbb95416591d12c78b8ba08308b4b5
BLAKE2b-256 6d0e7437636abfd4d9a0efd997d24173d2beb803b8dc9577a574610391c0fa0b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page