The Pool Monitor is a small additional device to show current pool data using e-ink displays:
- Temperature of the pool water
- Temperature of solar storage
- Pool pump status (on/off)
- Solar heating status (on/off)
- configurable MQTT server
- automatically connect to MQTT messages of pool controller
- open hotspot (captivate / hotspot) to configure WiFi and MQTT server
- Home Assistant MQTT Discovery compatible (reads pool-controller state topics)
- Timesync via NTP (europe.pool.ntp.org)
- solar powering using solar panel
- nice case to place outdoor at pool
- support of different displays
- ability to switch on/off solar heating
- ability to switch on/off pool pump
- ability to change controller mode (auto, manual , ...)
- ability to configure pool controller
Run the local quality gates before pushing changes so lint findings are fixed before CI:
- Install Python-based linters once with
python3 -m pip install --user cpplint yamllint markdownlint-cli2andjscpdare executed on demand vianpx- Stage your changes first, then run the following Bash-only snippet (
mapfile, arrays andgit diff --cachedrequire Bash)
platformio check --environment LILYGO_T5_V231 --skip-packages
platformio run --environment LILYGO_T5_V231
mapfile -t cpp_files < <(git diff --cached --name-only -- '*.cpp' '*.hpp' '*.h')
((${#cpp_files[@]})) && cpplint "${cpp_files[@]}"
mapfile -t md_files < <(git diff --cached --name-only -- '*.md')
((${#md_files[@]})) && npx --yes markdownlint-cli2 "${md_files[@]}"
mapfile -t yaml_files < <(git diff --cached --name-only -- '*.yml' '*.yaml')
((${#yaml_files[@]})) && yamllint "${yaml_files[@]}"
npx --yes jscpd --config .jscpd.json src .github/workflows
python -m json.tool .jscpd.json > /dev/nullsee: https://github.com/smart-swimmingpool/smart-swimmingpool.github.io/discussions