From 7245ed3c722da5a8b81d69889438e05f24a9bcf7 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 21:53:16 +0000 Subject: [PATCH 1/4] docs: modernize README.md with GitHub Actions and Home Assistant Co-authored-by: lostcontrol <983305+lostcontrol@users.noreply.github.com> --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c9994db..f1f4d5c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Poupool - The swimming pool controller -[![Build Status](https://travis-ci.com/lostcontrol/poupool.svg?branch=master)](https://travis-ci.com/lostcontrol/poupool) +[![Poupool](https://github.com/lostcontrol/poupool/actions/workflows/poupool.yml/badge.svg)](https://github.com/lostcontrol/poupool/actions/workflows/poupool.yml) [![codecov](https://codecov.io/gh/lostcontrol/poupool/branch/master/graph/badge.svg)](https://codecov.io/gh/lostcontrol/poupool) Poupool is a swimming pool control software. @@ -8,7 +8,7 @@ Poupool is a swimming pool control software. It is based on [Transitions](https://github.com/pytransitions/transitions), [Pykka](https://www.pykka.org) and [Paho MQTT](https://github.com/eclipse/paho.mqtt.python). The user interface is built using the excellent home automation server -[openHAB](http://www.openhab.org). Though, any MQTT client could be used to interact with the +[Home Assistant](https://www.home-assistant.io/). Though, any MQTT client could be used to interact with the system. ![The swimming pool](docs/images/pool-01.jpg) @@ -37,12 +37,12 @@ Several other features are available like a wintering state stiring the pool to possible to have the water freezing, a stiring feature when the cover is closed to dissipate the heat forming just under the cover, the control of a swimming pump and more. -Here is a screenshot of the main menu in openHAB 2.5M1: +Here is a screenshot of the main menu in Home Assistant: -![openHAB main menu](docs/images/openhab-01.png) +![Home Assistant main menu](docs/images/openhab-01.png) -Of course, you can use the iOS or Android openHAB clients, write your own HABPanel interface or -even use the REST API provided by openHAB. +Of course, you can use the iOS or Android Home Assistant companion apps, write your own Lovelace dashboards or +even use the REST API provided by Home Assistant. ## Dependencies @@ -64,7 +64,7 @@ Raspberry Pi: User interface: -* openHAB 2.5 +* Home Assistant Development tools: From b36fb0940e706b5722ba00bef662e46e64a36ccb Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 21:59:37 +0000 Subject: [PATCH 2/4] docs: restore openHAB references alongside Home Assistant Co-authored-by: lostcontrol <983305+lostcontrol@users.noreply.github.com> --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f1f4d5c..0649643 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ Poupool is a swimming pool control software. It is based on [Transitions](https://github.com/pytransitions/transitions), [Pykka](https://www.pykka.org) and [Paho MQTT](https://github.com/eclipse/paho.mqtt.python). -The user interface is built using the excellent home automation server -[Home Assistant](https://www.home-assistant.io/). Though, any MQTT client could be used to interact with the +The user interface is built using an excellent home automation server like +[openHAB](http://www.openhab.org) or [Home Assistant](https://www.home-assistant.io/). Though, any MQTT client could be used to interact with the system. ![The swimming pool](docs/images/pool-01.jpg) @@ -37,12 +37,12 @@ Several other features are available like a wintering state stiring the pool to possible to have the water freezing, a stiring feature when the cover is closed to dissipate the heat forming just under the cover, the control of a swimming pump and more. -Here is a screenshot of the main menu in Home Assistant: +Here is a screenshot of the main menu in openHAB 2.5M1: -![Home Assistant main menu](docs/images/openhab-01.png) +![openHAB main menu](docs/images/openhab-01.png) -Of course, you can use the iOS or Android Home Assistant companion apps, write your own Lovelace dashboards or -even use the REST API provided by Home Assistant. +Of course, you can use the iOS or Android openHAB clients or Home Assistant companion apps, write your own HABPanel or Lovelace dashboards, or +even use the REST API provided by these systems. ## Dependencies @@ -64,7 +64,7 @@ Raspberry Pi: User interface: -* Home Assistant +* openHAB 2.5 or Home Assistant Development tools: From e78d9508d5888583b9269625ca71daf9db26a200 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 06:26:20 +0000 Subject: [PATCH 3/4] docs: add emojis and better formatting to README.md Co-authored-by: lostcontrol <983305+lostcontrol@users.noreply.github.com> --- README.md | 64 ++++++++++++++++++++++++++----------------------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 0649643..783b7ce 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# Poupool - The swimming pool controller +# 🏊 Poupool - The swimming pool controller [![Poupool](https://github.com/lostcontrol/poupool/actions/workflows/poupool.yml/badge.svg)](https://github.com/lostcontrol/poupool/actions/workflows/poupool.yml) [![codecov](https://codecov.io/gh/lostcontrol/poupool/branch/master/graph/badge.svg)](https://codecov.io/gh/lostcontrol/poupool) -Poupool is a swimming pool control software. +**Poupool** is a swimming pool control software. It is based on [Transitions](https://github.com/pytransitions/transitions), [Pykka](https://www.pykka.org) and [Paho MQTT](https://github.com/eclipse/paho.mqtt.python). @@ -13,28 +13,28 @@ system. ![The swimming pool](docs/images/pool-01.jpg) -This is meant as a personal project and will likely never be a fully-featured software. However, it -would be awesome to see it running somewhere else. Poupool runs on a Raspberry Pi 3 Model B and most -of the hardware is COTS (commercial off-the-shelf). If you want more information, feel free to +This is meant as a *personal project* and will likely never be a fully-featured software. However, it +would be awesome to see it running somewhere else. Poupool runs on a **Raspberry Pi 3 Model B** and most +of the hardware is COTS (*commercial off-the-shelf*). If you want more information, feel free to contact me. -Originally, I wanted to experiment with asyncio but finally chose to go with some more traditional +Originally, I wanted to experiment with `asyncio` but finally chose to go with a more traditional approach (actor model and finite state machines). -Poupool currently controls filtration (including backwash), heating (heat pump), pH and -chlorination, cover, lights and all the pumps and valves of the system. It is used for an overflow +Poupool currently controls **filtration** (including backwash), **heating** (heat pump), **pH and +chlorination**, **cover**, **lights** and all the pumps and valves of the system. It is used for an overflow swimming pool so that adds some complexity to the control process (e.g. monitoring of the retention tank water level). The main interaction with the system is done through modes. Here are some of the main ones: -* **eco** : cover close, filtration, pH, chlorination and heating are automatic -* **standby** : cover open, no overflow -* **overflow** : cover open, overflow, chlorination is forced -* **comfort** : cover open, no overflow, heating is forced +* 🌿 **eco** : cover close, filtration, pH, chlorination and heating are automatic +* ⏸️ **standby** : cover open, no overflow +* 🌊 **overflow** : cover open, overflow, chlorination is forced +* πŸ›‹οΈ **comfort** : cover open, no overflow, heating is forced -Several other features are available like a wintering state stiring the pool to avoid as long as -possible to have the water freezing, a stiring feature when the cover is closed to dissipate the +Several other features are available like a **wintering state** stirring the pool to avoid as long as +possible having the water freeze, a stirring feature when the cover is closed to dissipate the heat forming just under the cover, the control of a swimming pump and more. Here is a screenshot of the main menu in openHAB 2.5M1: @@ -44,29 +44,25 @@ Here is a screenshot of the main menu in openHAB 2.5M1: Of course, you can use the iOS or Android openHAB clients or Home Assistant companion apps, write your own HABPanel or Lovelace dashboards, or even use the REST API provided by these systems. -## Dependencies +## πŸ“¦ Dependencies -These are the external dependencies that can be installed via `uv`. You will also need Python 3.11+. +These are the external dependencies that can be installed via `uv`. You will also need **Python 3.11+**. Best is to setup a virtual environment by running `uv sync`. -Frameworks: +### πŸ—οΈ Frameworks: +* **Pykka** +* **transitions** +* **paho-mqtt** +* **astral** -* Pykka -* transitions -* paho-mqtt -* astral +### πŸ“ Raspberry Pi: +* **RPi.GPIO** +* **adafruit-circuitpython-ads1x15** +* **adafruit-circuitpython-mcp4725** -Raspberry Pi: +### πŸ“± User interface: +* **openHAB 2.5** or **Home Assistant** -* RPi.GPIO -* adafruit-circuitpython-ads1x15 -* adafruit-circuitpython-mcp4725 - -User interface: - -* openHAB 2.5 or Home Assistant - -Development tools: - -* ruff -* pytest +### πŸ› οΈ Development tools: +* **ruff** +* **pytest** From b8f64330d1d75733d4c17fc36a95b240432378c7 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 07:47:02 +0000 Subject: [PATCH 4/4] docs: address PR feedback and prepare for merge Co-authored-by: lostcontrol <983305+lostcontrol@users.noreply.github.com>