Skip to content

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 03:47
· 12 commits to main since this release

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[Unreleased]

[0.2.1] - 2025-09-11

Fixed

  • Auxiliary equipment control now uses correct enable bit 2 instead of bit 0
  • Commands should now receive proper ACK responses from controller hardware

Added

  • Auxiliary equipment control commands for aux1-aux8 circuits
  • compoolctl set-aux <aux_name> <state> command for controlling auxiliary equipment
  • Real-time auxiliary equipment status display in monitor output
  • Auxiliary equipment state parsing from heartbeat packets (aux1_on-aux8_on using 3820 system layout)
  • Service mode safety check - all commands are blocked when service mode is active
  • Comprehensive test coverage for all auxiliary equipment functionality and safety features

[0.1.2] - 2025-01-18

Added

  • Heater control command set-heater for controlling heating modes
  • Support for four heating modes: off, heater, solar-priority, solar-only
  • Comprehensive unit tests for heater control functionality
  • Extended timeout support for monitoring to handle connection delays
  • get_status() method to PoolController for retrieving single heartbeat packet status
  • Development workflow guidance in CLAUDE.md
  • CI workflow optimization to skip documentation-only changes

Fixed

  • Packet buffering issues in monitor causing burst delivery of stale packets
  • Reduced read chunk size from 64 to 24 bytes for smoother real-time monitoring
  • Linting issues with trailing whitespace in test files

Changed

  • Monitor timeout increased from 1s to 30s to handle longer delays between packets
  • Improved monitoring stability for network-based serial connections

[0.1.1] - 2024-12-18

Added

  • Comprehensive CHANGELOG.md with version history
  • MIT LICENSE file for open source compliance
  • CONTRIBUTING.md with development guidelines
  • Pre-commit configuration for local development
  • Comprehensive GitHub Actions CI/CD workflows with PyPI trusted publishing

Fixed

  • MyPy type annotation errors in connection.py and monitor.py
  • Import organization and code formatting issues
  • Removed .coverage file from version control

Changed

  • Updated release workflow to use PyPI trusted publishing (more secure)
  • Enhanced release workflow with full quality checks
  • Updated CLAUDE.md with development best practices and troubleshooting

[0.1.0] - 2024-12-18

Added

  • Initial release of pycompool
  • RS-485 communication with Pentair/Compool LX3xxx controllers
  • Pool and spa temperature control commands
  • Real-time heartbeat packet monitoring
  • Command-line interface with Fire framework
  • Protocol parsing for temperature and status data
  • Serial connection management with context managers
  • Comprehensive test suite with mocked connections
  • Modern Python packaging with pyproject.toml
  • Ruff linting and mypy type checking
  • Documentation and README

Features

  • compoolctl set-pool <temp> - Set pool temperature
  • compoolctl set-spa <temp> - Set spa temperature
  • compoolctl monitor - Real-time monitoring of heartbeat packets
  • Support for both hardware RS-485 and network connections
  • Temperature encoding/decoding (0.25°C for water, 0.5°C for air/solar)
  • Graceful signal handling for monitoring mode

Technical Details

  • Supports Python 3.9-3.13
  • Built with modern tooling (uv, ruff, pytest, mypy)
  • Modular architecture separating protocol, connection, and control logic
  • Comprehensive error handling and logging
  • Type hints throughout codebase

What's Changed

  • Add auxiliary equipment control for aux1-aux6 circuits by @mcolyer in #3
  • Fix auxiliary equipment control enable bit by @mcolyer in #4

Full Changelog: v0.1.2...v0.2.1